Difference between revisions of "MRI lab: FPGA controller documentation"
From Course Wiki
(→Control registers) |
|||
(2 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
==System== | ==System== | ||
− | The design is based on the [http://www.altera.com/products/devkits/altera/kit-cyc3-dsp.html Altera DSP Development kit], [http://www.altera.com/products/devices/cyclone3/cy3-index.jsp Cyclone III | + | The design is based on the [http://www.altera.com/products/devkits/altera/kit-cyc3-dsp.html Altera DSP Development kit], [http://www.altera.com/products/devices/cyclone3/cy3-index.jsp Cyclone III] edition. The kit includes the [http://www.altera.com/products/devkits/altera/kit-cyc3.html#documentation Cyclone III development board] plus the [http://www.altera.com/literature/manual/rm_data_conversion_hsmc.pdf Data conversion HSMC card]. |
− | + | ||
− | + | ||
+ | See: [[FPGA Design Environment]] | ||
==Control registers== | ==Control registers== | ||
Line 18: | Line 17: | ||
{{ControlRegister|Name=Pulse2On|Bits=31:0|Function=Duration of second pulse|Device=/dev/pio_pulse2On}} | {{ControlRegister|Name=Pulse2On|Bits=31:0|Function=Duration of second pulse|Device=/dev/pio_pulse2On}} | ||
{{ControlRegister|Name=Pulse2Off|Bits=31:0|Function=Minimum interval between end of second pulse and first pulse repeat|Device=/dev/pio_pulse2off}} | {{ControlRegister|Name=Pulse2Off|Bits=31:0|Function=Minimum interval between end of second pulse and first pulse repeat|Device=/dev/pio_pulse2off}} | ||
+ | |||
+ | |||
+ | {{ControlRegister|Name=adcDelay1|Bits=31:0|Function= | Device=}} | ||
+ | {{ControlRegister|Name=adcCapture1|Bits=31:0|Function=|Device=}} | ||
+ | {{ControlRegister|Name=adcDelay2|Bits=31:0|Function=|Device=}} | ||
+ | {{ControlRegister|Name=adcCapture2|Bits=31:0|Function=|Device=}} | ||
+ | |||
{{ControlRegister|Name=PulseControl||Control bits for pulse generator and digitizer|Device=/dev/pio_pulseControl}} | {{ControlRegister|Name=PulseControl||Control bits for pulse generator and digitizer|Device=/dev/pio_pulseControl}} | ||
{{ControlRegister|Bits=13|Field=Digitizer Reset|Function=0 = normal operation; 1 = reset digitizer}} | {{ControlRegister|Bits=13|Field=Digitizer Reset|Function=0 = normal operation; 1 = reset digitizer}} |
Latest revision as of 21:26, 12 April 2011
System
The design is based on the Altera DSP Development kit, Cyclone III edition. The kit includes the Cyclone III development board plus the Data conversion HSMC card.
Control registers
Register | Field | Bits | Function | device |
---|---|---|---|---|
PhaseIncrement | 31:0 | Set frequency of generated sinewave | /dev/pio_phaseIncrement | |
Pulse1On | 31:0 | Duration of first pulse | /dev/pio_pulse1On | |
Pulse1Off | 31:0 | Interval between first and second pulses | /dev/pio_pulse1Off | |
Pulse2On | 31:0 | Duration of second pulse | /dev/pio_pulse2On | |
Pulse2Off | 31:0 | Minimum interval between end of second pulse and first pulse repeat | /dev/pio_pulse2off
| |
adcDelay1 | 31:0 | |||
adcCapture1 | 31:0 | |||
adcDelay2 | 31:0 | |||
adcCapture2 | 31:0 | |||
PulseControl | /dev/pio_pulseControl | |||
13 | 0 = normal operation; 1 = reset digitizer | |||
12:11 | 00 = adc input (normal operation); 01 = adc test signal (count); 10 = test mode (DAC output); 11 = test mode (constant 0xDEADBEEF) | |||
10:8 | not yet implemented | |||
7 | 0 = do not wait; 1 = wait for fifo to empty | |||
6 | 0 = normal operation; 1 = ignore | |||
5 | 0 = normal operation; 1 = continuous operation | |||
4 | Start digitizer on positive edge | |||
3 | Set to 0 | |||
2 | 0 = carrier; 1 = trigger | |||
1 | 0 = generate single pulse sequence; 1 = run continuously | |||
0 | Pulse starts on positive edge. |