Document digital input pins
This commit is contained in:
		
							parent
							
								
									bcceac91c3
								
							
						
					
					
						commit
						82e6fdf194
					
				|  | @ -1,6 +1,11 @@ | |||
| --- | ||||
| gitea: none | ||||
| include_toc: true | ||||
| --- | ||||
| 
 | ||||
| # PuzzleFW FPGA firmware | ||||
| 
 | ||||
| The PuzzleFW firmware provides the following functionality: | ||||
| The FPGA firmware provides the following functionality: | ||||
| 
 | ||||
| * Collect ADC samples at 125 MSa/s with configurable decimation or averaging. | ||||
| * Trigger on external digital input and collect a configurable number of samples. | ||||
|  | @ -12,7 +17,7 @@ The PuzzleFW firmware provides the following functionality: | |||
| 
 | ||||
| LED0 to LED7 are the first 8 yellow LEDs from left to right on the side of the Red Pitaya. | ||||
| 
 | ||||
| LED0 blinks at a rate of 1 Hz when the PuzzleFW firmware is active. | ||||
| LED0 blinks at a rate of 1 Hz when the FPGA firmware is active. | ||||
| Its purpose is to provide a minimal indication that the FPGA is active. | ||||
| 
 | ||||
| LED1 is on when the analog acquisition chain is enabled (register `ACQUISITION_EN`). | ||||
|  | @ -213,10 +218,8 @@ It marks the point in the message sequence where an unknown number of messages h | |||
| # Timetagger | ||||
| 
 | ||||
| The timetagger has 4 digital input signals. | ||||
| If a rising or falling edge occurs on one of these signals, a timestamp is assigned to that event and a message is emitted and transferred via DMA. | ||||
| 
 | ||||
| A 4-cycle glitch filter is applied to the digital input signals. | ||||
| This filter rejects digital pulses shorter than 4 clock cycles (32 ns). | ||||
| If a rising or falling edge occurs on one of these signals, a timestamp is assigned to that event. | ||||
| Timestamped event messages are transferred via DMA. | ||||
| 
 | ||||
| Messages are only emitted for _enabled_ event types. | ||||
| Rising edges and falling edges can be separately enabled or disabled for each digital input channel. | ||||
|  | @ -226,6 +229,14 @@ The messages are queued in a FIFO buffer inside the FPGA before being transferre | |||
| This FIFO is necessary to hold messages for a short time while the DMA engine sets up a DMA transfer. | ||||
| It has room for 4096 messages. | ||||
| 
 | ||||
| ## Digital input signals | ||||
| 
 | ||||
| The 4 digital input channels are connected to the digital I/O connector of the Red Pitaya. | ||||
| Digital input channels 0 to 3 correspond to pins `DIO0_P` to `DIO3_P`. | ||||
| 
 | ||||
| A 4-cycle glitch filter is applied to the digital input signals. | ||||
| This filter rejects digital pulses shorter than 4 clock cycles (32 ns). | ||||
| 
 | ||||
| ## Output data format | ||||
| 
 | ||||
| The output from the timetagger is a sequence of 64-bit messages. | ||||
|  | @ -926,7 +937,7 @@ Therefore, the smallest unit of data transferred via DMA is a 64-bit word. | |||
| The size of every DMA transfer is a multiple of 8 bytes, and the address of every transfer is aligned to a multiple of 8 bytes. | ||||
| 
 | ||||
| (This is an implementation choice in the firmware. | ||||
| It is possible in principle to transfer smaller amounts of data via the AXI bus, but the PuzzleFW firmware is designed to transfer 64-bit words in all cases.) | ||||
| It is possible in principle to transfer smaller amounts of data via the AXI bus, but this firmware is designed to transfer 64-bit words in all cases.) | ||||
| 
 | ||||
| Data are temporarily queued in a FIFO RAM block inside the FPGA until the DMA engine is ready to start a transfer. | ||||
| This is necessary because DMA operates in bursts, and it may take some time before the DMA engine can initiate a burst. | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue