Difference between revisions of "MRI lab: FPGA controller documentation"

From Course Wiki
Jump to: navigation, search
Line 16: Line 16:
 
{{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=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=6|Field=Digitizer Reset|Function=0 = normal operation; 1 = reset digitizer}}
+
{{ControlRegister|Bits=13|Field=Digitizer Reset|Function=0 = normal operation; 1 = reset digitizer}}
{{ControlRegister|Bits=5:4|Field=ADC Test mode|Function=00 = adc input (normal operation); 01 = adc test signal (count); 10 = test mode (DAC output); 11 = test mode (constant 0xDEADBEEF)}}
+
{{ControlRegister|Bits=12:11|Field=ADC Test mode|Function=00 = adc input (normal operation); 01 = adc test signal (count); 10 = test mode (DAC output); 11 = test mode (constant 0xDEADBEEF)}}
{{ControlRegister|Bits=3|Field=ADC gate enable|Function=0 = normal operation; 1 = disable ADC gate;}}
+
{{ControlRegister|Bits=10:8|Field=ADC clock divisor|Function=not yet implemented}}
 +
{{ControlRegister|Bits=7|Field=WaitDmaComplete|Function=0 = do not wait; 1 = wait for fifo to empty}}
 +
{{ControlRegister|Bits=6|Field=IgnoreDmaReady|Function=0 = normal operation; 1 = ignore}}
 +
{{ControlRegister|Bits=5|Field=RunContinuously|Function=0 = normal operation; 1 = continuous operation}}
 +
{{ControlRegister|Bits=4|Field=Start|Function=Start digitizer on positive edge}}
 +
{{ControlRegister|Bits=3|Field=Start Digitizer|Function=0 = normal operation; 1 = disable ADC gate;}}
 
{{ControlRegister|Bits=2|Field=DAC B output|Function=0 = carrier; 1 = trigger}}
 
{{ControlRegister|Bits=2|Field=DAC B output|Function=0 = carrier; 1 = trigger}}
 
{{ControlRegister|Bits=1|Field=Continuous Pulse Generation|Function=0 = generate single pulse sequence; 1 = run continuously}}
 
{{ControlRegister|Bits=1|Field=Continuous Pulse Generation|Function=0 = generate single pulse sequence; 1 = run continuously}}

Revision as of 16:30, 24 June 2010

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
PulseControl
*
/dev/pio_pulseControl
Digitizer Reset
13 0 = normal operation; 1 = reset digitizer
ADC Test mode
12:11 00 = adc input (normal operation); 01 = adc test signal (count); 10 = test mode (DAC output); 11 = test mode (constant 0xDEADBEEF)
ADC clock divisor
10:8 not yet implemented
WaitDmaComplete
7 0 = do not wait; 1 = wait for fifo to empty
IgnoreDmaReady
6 0 = normal operation; 1 = ignore
RunContinuously
5 0 = normal operation; 1 = continuous operation
Start
4 Start digitizer on positive edge
Start Digitizer
3 0 = normal operation; 1 = disable ADC gate;
DAC B output
2 0 = carrier; 1 = trigger
Continuous Pulse Generation
1 0 = generate single pulse sequence; 1 = run continuously
Start Pulse Generator
0 Pulse starts on positive edge.

API