Skip to content
JamesNewton edited this page Aug 6, 2018 · 44 revisions

"Gateware" is what we call the FPGA programming that makes Dexter stunningly responsive. It allows feedback from encoder to motor in as little as 200 nanoseconds.

Dexters gateware configures the Xilinx Inc. XC7Z010-1CLG400C FPGA from the image of the micro SD card on the microzed board.

The SD card image has multiple partitions, one is the actual hard drive image when running in the robot. Another is the FAT partition which contains UBOOT, ZIMAGE, DTS (Device Tree) and the Gateware .BIT file. Those can be updated individually.

The DexRun.c firmware communicates with the gateware by setting and reading memory mapped registers through the 'w' command oplet

Addr Function
5 ACCELERATION_MAXSPEED
42 COMMAND_REG
Bits:
1:CapCalibrateBase
2:CapCalibrateEnd
3:CapCalibratePivot
4: GoMove
5: SelectMoveChange
6: EnableLoop
7: AClrLoop
8: CAL_RUN
9: ResetMotorPosition
10: ResetForce
13-14: DiffAxisEnable
79 PID? Timebase Divisor
80 Physics J123? Timebase Divisor
81 Physics J45? Timebase Divisor

Clone this wiki locally