FPGA IIC HYGRO Tester Version 1
by Timothy Stotts
Note that this project is deprecated. The most recent project, with wider hardware support and occasional updates, is Version 3 and is located at: fpga-iic-hygro-tester-3
A small FPGA project of different implementations for testing Temperature and Relative Humidity readings of a I2C sensor. The design targets the Digilent Inc. Arty-A7-100T FPGA development board containing a Xilinx Artix-7 FPGA. Three peripherals are used: Digilent Inc. Pmod HYGRO, Digilent Inc. Pmod CLS., Digilent Inc. Pmod SSD.
The design is broken into two groupings.
The folder HYGRO-Tester-Design-AXI contains a Xilinx Vivado IP Integrator plus Xilinx SDK design. A Microblaze soft CPU is instantiated to talk with board components, a temperature and relative humidity sensor, a 16x2 character LCD peripheral, and a two-digit Seven Segment Display. A Xilinx SDK project contains a very small Standalone program in C; drivers for the peripherals, a main loop to operate and poll the sensor, poll the switches and buttons, update LCD, update 7SD, and color-mix RGB LEDs.
The folder HYGRO-Tester-Design-Verilog contains a Xilinx Vivado project with sources containing only Verilog-2001 modules. Plain HDL without a soft CPU or C code is authored to talk with board components, a temperature and relative humidity sensor peripheral, a 16x2 character LCD peripheral, and a 2-digit 7-segment display.
These two groupings of design provide equivalent functionality, excepting that the HDL designs provide additional animation effect of the board's three-emitter RGB LEDs. Both designs are in a prerelease state and can be cloned or downloaded with the tag Hygro_Tester_Both_Prerelease_1A.
The Pmod CLS peripheral used in this project connects via a standard bus technology design called SPI. The use of MOSI/MISO terminology is considered obsolete. COPI/CIPO is now used. The MOSI signal on a controller can be replaced with the title 'COPI'. Master and Slave terms are now Controller and Peripheral. Additional information can be found here. The choice to use COPI and CIPO instead of SDO and SDI for single-direction bus signals is simple. On a single peripheral bus with two data lines of fixed direction, the usage of the signal name "SDO" is dependent on whether the Controller or the Peripheral is the chip being discussed; whereas COPI gives the exact direction regardless of which chip is being discussed. The author of this website agrees with the open source community that the removal of offensive language from standard terminology in engineering is a priority.
./HYGRO Sensor Readings Tester.pdf
HYGRO Sensor Readings Tester info
./HYGRO-Tester-Design-Documents/HYGRO-Tester-Design-Diagrams.pdf
HYGRO Tester Design Diagrams info