Difference between revisions of "MRI lab: FPGA controller documentation"
From Course Wiki
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= | + | {{ControlRegister|Bits=13|Field=Digitizer Reset|Function=0 = normal operation; 1 = reset digitizer}} |
− | {{ControlRegister|Bits= | + | {{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= | + | {{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 | |||
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 | 0 = normal operation; 1 = disable ADC gate; | |||
2 | 0 = carrier; 1 = trigger | |||
1 | 0 = generate single pulse sequence; 1 = run continuously | |||
0 | Pulse starts on positive edge. |