User Tools

Site Tools


scan_module

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
scan_module [2020/01/09 21:49]
asiadmin [Using the SCANR, SCANV, and SCAN Commands]
scan_module [2020/01/09 21:54] (current)
asiadmin clarifications for ENC_INT mode
Line 5: Line 5:
 Users can use just the SYNC line and constant stage speed along with uniform data sampling to achieve Imaging synchronization. ​ The MS2000 can keep the stage speed on target to within a few encoder counts throughout the scan, so accompanied with a uniform sampling interval, accurate pixel rendition is possible without directly triggering the acquisition from the controller.  ​ Users can use just the SYNC line and constant stage speed along with uniform data sampling to achieve Imaging synchronization. ​ The MS2000 can keep the stage speed on target to within a few encoder counts throughout the scan, so accompanied with a uniform sampling interval, accurate pixel rendition is possible without directly triggering the acquisition from the controller.  ​
  
-Two firmware options are available that involve how the TTL_IN interrupt is handled. ​ If just the SYNC output, as described above is to be used, the controller is supplied with the IN0_INT firmware module which allows all of the normal TTL input functions to be available as described by the X-parameter options for the TTL command. ​ For users that want the controller to supply a pixel clock we supply the EXT_INT ​firmware module.  In this case normal TTL input functions are not available. ​ Which firmware modules are in your controller can be determined with the BUILD query "BU X?"+Two firmware options are available that involve how the TTL_IN interrupt is handled. ​ If just the SYNC output, as described above is to be used, the controller is supplied with the IN0_INT firmware module which allows all of the normal TTL input functions to be available as described by the X-parameter options for the TTL command. ​ For users that want the controller to supply a pixel clock we supply the ENC_INT ​firmware module, and normal TTL input functions are not available. ​ Which firmware modules are in your controller can be determined with the BUILD query ''​BU X?''​. ​ Most of this document describes functionality of the ENC_INT module.
  
-Controllers running firmware with the EXT_INT ​interrupt option apply one channel of the stage encoder to the microprocessor'​s interrupt input. ​ The controller "​counts down" the encoder pulses and sends a output pulse on the TTL_OUT BNC connector after the programmable number of N encoder counts have gone by. In this way, the TTL_OUT signal can effectively be the pixel clock of the data acquisition system, where the user can program the distance between pixels.  ​+Controllers running firmware with the ENC_INT ​interrupt option apply one channel of the stage encoder to the microprocessor'​s interrupt input. ​ The controller "​counts down" the encoder pulses and sends a output pulse on the TTL_OUT BNC connector after the programmable number of N encoder counts have gone by. In this way, the TTL_OUT signal can effectively be the pixel clock of the data acquisition system, where the user can program the distance between pixels.  ​
  
 ===== Raster and Serpentine Scanning ===== ===== Raster and Serpentine Scanning =====
Line 15: Line 15:
 Raster scanning has the advantage that system backlash will be negligible, since the motion is always in the same direction. ​ Serpentine scanning has the advantage of faster coverage (since there is no retrace operation) when very high accuracy is not required. ​ Raster scanning has the advantage that system backlash will be negligible, since the motion is always in the same direction. ​ Serpentine scanning has the advantage of faster coverage (since there is no retrace operation) when very high accuracy is not required. ​
  
-===== Encoder SYNC Hardware =====+===== Encoder SYNC Hardware ​(ENC_INT only) =====
  
 The encoder sync pulse is obtained directly from the encoder counting chip inside the controller. ​ This encoder chip can be loaded with a “compare” position, so that whenever the current encoder count is equal to the “compare” count, a flag pin on the chip becomes active. ​ We add additional circuitry to latch the sync pulse during the active part of the scan. The encoder sync pulse is obtained directly from the encoder counting chip inside the controller. ​ This encoder chip can be loaded with a “compare” position, so that whenever the current encoder count is equal to the “compare” count, a flag pin on the chip becomes active. ​ We add additional circuitry to latch the sync pulse during the active part of the scan.
Line 39: Line 39:
  
  
-===== Using the SCANR, SCANV, and SCAN Commands =====+===== Using the SCANR, SCANV, and SCAN Commands ​with ENC_INT module ​=====
  
 To perform a scan, you must first define the scan region, the pixel clock resolution, and the number of scan lines. ​ The serial commands SCANR, SCANV, and SCAN let the user define the scan region, the scan mode, and initiate the scan process. ​ See the programming section for a full description of these commands. To perform a scan, you must first define the scan region, the pixel clock resolution, and the number of scan lines. ​ The serial commands SCANR, SCANV, and SCAN let the user define the scan region, the scan mode, and initiate the scan process. ​ See the programming section for a full description of these commands.
Line 78: Line 78:
 to start the process. ​ Alternatively,​ you can use the @ button on the controller to start and stop the scan.  To start a scan, hold the @ button down for more than 1 second. ​ When you release the button the scan will start. ​ To abort a scan in process, momentarily depress the @ button. to start the process. ​ Alternatively,​ you can use the @ button on the controller to start and stop the scan.  To start a scan, hold the @ button down for more than 1 second. ​ When you release the button the scan will start. ​ To abort a scan in process, momentarily depress the @ button.
  
-===== Limitations and Internal Operation of the SCAN module =====+===== Limitations and Internal Operation of the SCAN module ​(ENC_INT only) =====
  
 During set-up for a scan, the number of horizontal pulses (pixels) is calculated. ​ During the scan, pulses are counted until the requisite number has gone by.  Further interrupts are disabled and the current encoder position is read in.  If the current position is not consistent with the expected position based upon the number of pulses and the encoder counts between pulses, an error code is placed in the error log. During set-up for a scan, the number of horizontal pulses (pixels) is calculated. ​ During the scan, pulses are counted until the requisite number has gone by.  Further interrupts are disabled and the current encoder position is read in.  If the current position is not consistent with the expected position based upon the number of pulses and the encoder counts between pulses, an error code is placed in the error log.
Address: 29391 W Enid Rd. Eugene, OR 97402, USA | Phone: +1 (541) 461-8181
scan_module.txt · Last modified: 2020/01/09 21:54 by asiadmin