Skip to content
JamesNewton edited this page Mar 11, 2021 · 25 revisions

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).

Specs

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:

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.

Clone this wiki locally