FPGA Transmitter

From UConn PAN
Revision as of 19:03, 16 May 2008 by Senderovich (talk | contribs)
Jump to navigation Jump to search

(101) Transmit "S"

This block compiles the status values into a single packet by loading them into the CP2200/1 in a defined order and format, including padding/converting any values that need it. Once the packet has been sent, the block transitions to state 010.

inputs

  • Clk: clock
  • /Rst: asynchronous, active-low reset
  • State: 3-bit state value

internal signals

  • S_En: state enable, S_En <= not (St(2) or St(1) or St(0))
  • Go: when S_En goes high Go pulses for one cycle

blocks

  • Temp Loader
    • This block reads the temperature value from the internal registers and loads it to the transmit buffer.
    • inputs
      • Clk: clock
      • /Rst: asynchronous, active-low reset
      • Go: pulse to begin; feeds from Go internal signal of block 101
      • D_in: 16-bit data bus from internal registers
      • TxRx_Done: Done signal from transceiver
    • ouputs
      • TxRx_Go: Go signal on transceiver
      • TxRx_R/W: R/W signal on transceiver
      • TxRx_A: A_in bus on transceiver
      • TxRx_D: D_in bus on transceiver
      • Done: pulse to signal completion
  • ADC Loader
    • This block reads the ADC values from the internal registers and loads them to the transmit buffer in order: channel zero to channel seven.
    • inputs
      • Clk: clock
      • /Rst: asynchronous, active-low reset
      • Go: pulse to begin; feeds from Done signal of Temp Loader
      • D_in: 16-bit data bus from internal registers
      • TxRx_Done: Done signal from transceiver
    • ouputs
      • Sel: 3-bit select bus for internal registers
      • TxRx_Go: Go signal on transceiver
      • TxRx_R/W: R/W signal on transceiver
      • TxRx_A: A_in bus on transceiver
      • TxRx_D: D_in bus on transceiver
      • Done: pulse to signal completion
  • Padder
    • This block pads the packet to the minimum 46 bytes. Only 19 bytes have been loaded by this point (1 byte "S", 2 byte temperature, 8 x 2 byte ADC), so 27 bytes of padding (zero) must be loaded.
    • inputs
      • Clk: clock
      • /Rst: asynchronous, active-low reset
      • Go: pulse to begin; feeds from Done signal of ADC Loader
      • TxRx_Done: Done signal from transceiver
    • outputs
      • TxRx_Go: Go signal on transceiver
      • TxRx_R/W: R/W signal on transceiver
      • TxRx_A: A_in bus on transceiver
      • TxRx_D: D_in bus on transceiver
      • Done: pulse to signal completion
  • Sender
    • This block tells the CP2200/1 to send the completed packet.
    • inputs
      • Clk: clock
      • /Rst: asynchronous, active-low reset
      • Go: pulse to begin; feeds from Done signal of Padder
      • TxRx_Done: Done signal from transceiver
    • outputs
      • TxRx_Go: Go signal on transceiver
      • TxRx_R/W: R/W signal on transceiver
      • TxRx_A: A_in bus on transceiver
      • TxRx_D: D_in bus on transceiver
      • Done: pulse to signal completion