====== Arty Z7 DMM Shield Oled Demo User Guide ====== Digilent provides an OLED demo for DMM Shield Zynq library for Digilent's Arty Z7-20 FPGA system board, to be used with the Xilinx SDK development tool.\\ It accesses the DMM Shield hardware in order to implement DMM Shield functionality. \\ It uses DMM Shield library, see [[/add-ons/dmm-shield/zynqlibraryuserguide|Zynq Library]].\\ The demo uses the basic UART command interpretter provided in [[#dmmcmd_module|DMMCMD module]] of the DMM Shield library.\\ Basic DMM information is displayed on the PmodOLED, which is used according to [[/learn/programmable-logic/tutorials/pmod-ips/start|Pmod IPs tutorial]]\\ The library is designed to run on the Digilent Arty Z7-20 board, which acts as a system board for the DMM Shield. The DMM Shield is attached to the Arty Z7-20, that is accessing DMM Shield using digital pins.\\ The PmodOLED is attached to JA Pmod connector. ===== Overview ===== ==== Description ==== The Arty Z7 DMM Shield Oled demo is demonstrating the functionality of the DMM Shield with Arty Z7 as a system board. The Pmod Oled is used to display the values read by the DMM Shield. The DMM Shield Zynq library was used as a starting point.\\ The following changes were performed:\\ * The [[#hardware_configuration|Hardware configuration]] was modified in order to include PmodOLED IP core. * The [[#dmmcmd_module|DMMCMD Module]] was modified in order to initialize and display the basic DMM information on the PmodOLED. ==== Features Used ==== | ^ Not Used ^ Used ^ ^ 2 user switches | X | | ^ 2 user LEDs | X | | ^ 2 user RGB LEDs | X | | ^ 4 user push buttons | X | | ^ USB-UART Bridge | | X | ^ Micro SD card connector | X | | ^ HDMI Sink and HDMI Source | X | | ^ PWM mono audio out w/ 3.5mm jack | X | | ^ 10/100/1000 Ethernet PHY | X | | ^ 512MiB 1050Mb/s DDR3 Memory | X | | ^ Quad-SPI Flash | X | | ^ Two Pmod ports | | X | ^ chipKIT connector | | X | ^ USB HID Host | X | | ------- ===== Prerequisites ===== ===Hardware=== * **Arty Z7-20 board** * **Micro-USB cable** * **DMM Shield** * **Pmod OLED** * **Banana Cables** * **5k Ohm Resistor** ===Software=== * **Vivado Design Suite & Xilinx SDK 2016.4** * //Version 2016.4 must be used to generate the project// * **Digilent Board Support Files for Vivado** * Follow the [[vivado:boardfiles|Vivado Board Files for Digilent 7-Series FPGA Boards]] guide on how to install Board Support Files for Vivado. ----- ===== Downloads ===== Arty Z7-20 DMM Shield OLED Project Repository -- [[https://github.com/Digilent/ArtyZ7-20-DMMShield-OLED-Demo/archive/master.zip|ZIP]] [[https://github.com/Digilent/ArtyZ7-20-DMMShield-OLED-Demo.git|Git Repo]] ------- ===== Download and Launch the Arty Z7 DMM Shield OLED Demo ===== >1) Follow the [[learn:programmable-logic:tutorials:github-demos:start:|Using Digilent Github Demo Projects]] Tutorial. >2) Plug the DMM Shield in the Chipkit connector of the Arty Z7 board >3) Plug a banana cable into Voltage/Ohm banana connector of the DMM Shield. Do the same for the COM connector. >4) Connect the end of the cables to a through-hole resistor of a desired value. Ex 5k Ohm >5) Turn on your board and open a serial terminal (such as TeraTerm) on your computer to receive status messages. Setup the serial port to connect to the appropriate port for your board, with a baud rate of 115200, 8 data bits, no parity bit and 1 stop bit. >6) Enter //DMMConfig Resistance5k// command in the terminal. Then enter //DMMMeasureAvg//. The resistance value will be displayed both on terminal and on the Pmod OLED //Note: This is a simple example of measuring a resistance. The demo will work with every scale of resistances/voltage/current/diode/continuity/ in the correct configuration. For more details regarding the scales and UART commands please see: [[#library_modules|Library Modules]]// ===== Hardware Structure ===== The Vivado hardware configuration implemented for this demo has the following features: * basic Zynq configuration, having UART_PS0 checked * AXI_GPIO core having 2 GPIO channels: GPIO0 for the 6 output IO signals (CS_Eprom, CS_DMM, SPI_CLK, DI, RLU, RLD, RLI) and GPIO2 for the input signal DO. These GPIO pins are used for the communication between Arty Z7-20 board and DMM Shield. * PmodOLED core connected to JA Pmod connector. The following image shows the block design.\\ {{ :reference:add-ons:dmm-shield:blocdesign.png?800 |}} ===== DMMCMD Module ===== The DMMCMD module interprets the same set of commands as in the original version of the file, provided in the DMM Shield library. Additional, it was modified in the following manner:\\ - The PmodOLED is properly initialized. - Basic DMM information is displayed on the PmodOLED: * current selected scale (or “No scale”, if no scale is selected). * current measured value (or “No value”, if no measure was performed). ---- ===== Additional Resources ===== {{topic> oled +resources}} {{topic>dmmshield dmm dmm-shield-zynq-lib dmm-pic32-lib +doc}} ---- {{tag>doc dmm-shield-zynq-demo dmm}}