Changes

Jump to navigation Jump to search
m
Line 79: Line 79:  
[[FPGA_Querier|Querier (status query module)]]
 
[[FPGA_Querier|Querier (status query module)]]
   −
 
+
[[FPGA_Transmitter|Packet Transmitter]]
      Line 93: Line 93:       −
== (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
      
== (110) Program DAC ==
 
== (110) Program DAC ==
1,004

edits

Navigation menu