Programming the SPI

From UConn PAN
Jump to navigation Jump to search

This page discusses a project currently under development. Please be aware that information on this page may change as the project progresses.


ADC/Temperature Sensor Integration

The ADC (AD7928) and Temperature Sensor (AD7314) communicate over very similar, SPI-like interfaces. It was therefore decided that the controllers for these chips should be merges into a single module in the FPGA. The combined module serves to abstract the details of the communication protocol with these sensors.

  • inputs
    • Clk: Clock
    • /Rst: asynchronous, active-low reset
    • Go: pulse to begin sensor data request process
    • T_/A: Chip select: high-Temp, low-ADC
    • Addr: 3-bit address of the desired ADC line (ignored if not applicable)
    • SDO: serial data from the sensors
  • outputs
    • SCLK: Clock output
    • /Rsi_out: asynchronous, active low reset output
    • SDI: serial control word line
    • A_/CS: active low chip select line for the ADC
    • T_CE: active high chip select line for the Temperature Sensor
    • Done: pulse to signal data availability on appropriate bus
    • A_Q: 12-bit ADC data output bus
    • A_A: 3-bit address of the ADC line returning data
    • T_Q: 10-bit Temperature sensor data output bus



This module aims to merge the ADC and temperature sensor modules into a single module. Both modules communicate over a shared SPI-like bus, and there are many structural and functional similarities between the two. However, this is a partially completed project. The current VHDL files (which are mostly written but need to be tested) can be found at:

The subprojects (i.e. earlier versions of the separate ADC and temperature sensor modules) can be found at: