-
Notifications
You must be signed in to change notification settings - Fork 85
MicroZed
Dexter's "brain" is a ZedBoard.org MicroZed board. The 7020 commercial version, NOT the 7010. Schematic Rev F, Hardware Guide.
With Dexter upright, the Ethernet and USB connectors are at the bottom. Board show as if Dexter Joint 2 at 90 degrees.
Note: The SD Card slot is directly under the Micro USB connector, on the opposite side of the board. To boot from the SD card, the jumpers must be set as follows: JP1: 1-2, JP2: 2-3, JP3: 2-3. Note: An internal diagnostic boot from the onboard QSPI is available by moving JP2: 1-2. This is only useful when connected via the micro USB port.
Before powering up your Dexter, make sure the SD card is in place (powering on a microZed without an SD card will destroy it).
Processor: Zynq™-7000 AP SoC XC7Z020-CLG400-1, with a dual core ARMv7 Cortex A9 processor at 576MHz (Like an Intel Celeron or a RasPi B3 per core) and an FPGA
Memory: - 1 GB DDR3 - 128 Mb Quad-SPI Flash - microSD card (just under the contains the "Xillinux" Ubuntu operating system, DexRun firmware, and the .bit files to load the FPGA
I/O:
- 10/100/1000 Ethernet
- USB 2.0 A Host port (under Ethernet) for things like a WebCam or other IO
- USB-UART Micro B port for console connection
- 2 MicroHeader connectors (108 single-ended, 48 differential pairs, Agile Mixed Signaling (AMS)) which connect to the Motor Driver PCB hardware.
- Digilent Pmod™ Compatible header (8 MIO)
Clocking: 33.33333 MHz clock source for PS, CPU clock is 576Mhz.
Configuration and Debug: Xilinx Platform Cable JTAG connector
General Purpose I/O: 1 user LED, 1 push button (SW1). The Getting Started Guide Chapter 9 contains extesive examples of IO via file read and write to /sys/class/gpio "folder". e.g. to turn on the red LED on the main board, which is connected to GPIO pin 47, from the command prompt after logging into Dexter:
echo 47 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio47/direction
echo 1 > /sys/class/gpio/gpio47/value
SW1 (or other GPIO lines) is available for input:
echo 51 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio51/direction
cat /sys/class/gpio/gpio51/value
Since all of these are just reading and writing files, and DexRun has read_from_robot and write_to_robot, we can access any available GPIO pin on the MicroZed board. For example, the following job in DDE will read the position of SW1:
new Job({name: "read_sw1",
do_list: [
Dexter.write_to_robot("51", "/sys/class/gpio/export"),
Dexter.write_to_robot("in", "/sys/class/gpio/gpio51/direction"),
Dexter.read_from_robot("/sys/class/gpio/gpio51/value", "sw1"),
function(){out("sw1 on the zedboard is:" + this.user_data.sw1)},
Dexter.write_to_robot("51", "/sys/class/gpio/unexport")
]})
GPIO pins 9-15 are routed to the PMOD connector J5. If not used for a PMOD device, those IO pins could be accessed there.
To search the Wiki, use the main search box in the black bar at the top, then select WiKi to filter the results or go to https://github.com/HaddingtonDynamics/Dexter/search?type=Wikis&q= and then add your search terms to the end of the URL.
To report errors, or request additional data, please chat with us on discord and/or raise a new issue