Manuel d'utilisation / d'entretien du produit ECS-320A du fabricant IBM
Aller à la page of 63
T Serial Interface Developers Guide T for the T ECS-320A Embeddable Camera Electronics System (Document Number 700-00000040-R10) 10503 Timberwood Circle Suite 120 Louisville, KY 40223 (502) 423-7225.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Serial Interface Developers Guide Document Number 700-00000040 April 2003 Copyright Lumitron 2003 All Rights Reserved. DISCLAIMER All copyrights in this manual, and the hardware and software described in it, are the exclusive property of Lumitron, Inc.
S ERIAL I NTERFAC E D EVELOPERS G UIDE T Table of Contents T TU 1 INTRODUCTION UT ......................................................................................................... 1 TU 2 GENERAL REQUIREMENTS UT ................................
S ERIAL I NTERFAC E D EVELOPERS G UIDE TU 5.3.16 CMD_NUC_FLASH_RAMP UT ........................................................................................................ 11 TU 5.3.17 CMD_NUC_FLASH_MEMORY UT ......................................
S ERIAL I NTERFAC E D EVELOPERS G UIDE TU 6.2.13 CameraConfig.agcLowIntensity UT .................................................................................................. 23 TU 6.2.14 CameraConfig.agcHighIntensity UT .........................
S ERIAL I NTERFAC E D EVELOPERS G UIDE TU 6.9.1 FPA Processor Operati onal Control Regi ster Low UT ....................................................................... 37 TU 6.9.2 FPA Processor Operati onal Control Regi ster High UT ..............
S ERIAL I NTERFAC E D EVELOPERS G UIDE 1 Introduction This guide has been writte n to help the develop er become acquai nted with an d be able to develop around the Serial Interface Protocol requirement s for the Embedda ble Camera Electronics System hardware.
S ERIAL I NTERFAC E D EVELOPERS G UIDE used for text/file transfer. The bootloader is JTAG loaded into the DSP boot flash , typically during the production of the camera electro nics.
S ERIAL I NTERFAC E D EVELOPERS G UIDE When the trigger occurs the host application ca n beg in writing the file data to the COM port. The bootloader receives the incoming data stream, convert s the text data, and writes the executable to the proper location in DSP program and dat a flash.
S ERIAL I NTERFAC E D EVELOPERS G UIDE possible baud rates (96 00 , 38400, 115200) and verifying com muni cation status. The remain der of the settings are automatically configur ed by the communi cations library.
S ERIAL I NTERFAC E D EVELOPERS G UIDE 5.2.5 McbReadDataMem Call this function to read a block of memory from the DSP. At the lower level the call may be broken into several calls to the DSP controller to read the ent ire block.
S ERIAL I NTERFAC E D EVELOPERS G UIDE … // Wait until DSP is ready for next command status = GetPCMStatus(m_hComPCM); // Send Focus Motor Far Command retVal = McbSendAppCmd( m_hComPCM, (BYTE)CMD_FOCUS_MOTOR_FAR, 0, NULL ); // If failed we need to break if (FAILED(retVal)) { tStr.
S ERIAL I NTERFAC E D EVELOPERS G UIDE 5.3.2 CMD_PROG_SFLASH_FULL Description: Program a full page to seri al flash. The data to be progra mmed will need to be written to the scratch pad (DSP memory location 0x00C0 ) bef or e initiating this command. The offset for the write into serial flash will be 0 r egardless of the structure value.
S ERIAL I NTERFAC E D EVELOPERS G UIDE COMP_SER_NUM fpaSupportBD; COMP_SER_NUM calFlagAssy; COMP_SER_NUM peripheral[4]; COMP_SER_NUM fpa; UWord16 ReserveBlk_A[2]; }; /* Size = 32 Words */ typedef struct _PRODUCT_ID PRODUCT_ID, *PTR_PRODUCT_ID; 5.
S ERIAL I NTERFAC E D EVELOPERS G UIDE LENS_CFG lens[4]; }; typedef struct _STATIC_CFG STATIC_CFG, *PTR_STATIC_CFG; 5.3.7 CMD_READ_STATIC_CFG Description: Read Static Configuration from DSP Data flash and place into the scratch pad buffer.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Argument: See below. struct _NVM_XFER { UWord16 offset; // Offset from byte 0 UWord16 size; // Size in bytes }; typedef struct _NVM_XFER NVM_XFER, *PTR_NVM_XFER; Note: Use the McbReadDataMem function to read dat a from scratch pad.
S ERIAL I NTERFAC E D EVELOPERS G UIDE 5.3.14 CMD_IMAGE_GRAB Description: Perform an image grab into one of the ut ility memory buffers. Command Code: Enumeration for CM D_IMAGE_GRAB Argument Size: UWord16 Argument: Buffer to be selected (0 – data place d in image grab buff er A, and 1 - data placed in image grab buffer B).
S ERIAL I NTERFAC E D EVELOPERS G UIDE Argument Size: size of NUC_MEM_XFER Argument: See below. struct _NUC_MEM_XFER{ UWord32 addr; // Address in NUC flash memory to read UWord16 size; // Size in WORD.
S ERIAL I NTERFAC E D EVELOPERS G UIDE struct _SERVO_MODE { UWord16 mode; /* Mode of Servo: Open, Closed, Factor */ UWord16 factor; /* PWM Factor for user specified setting */ }; typedef struct _SERVO.
S ERIAL I NTERFAC E D EVELOPERS G UIDE 5.3.24 CMD_TWO_PT_NUC Description: Initiates a 2-point calibration. The host is required to check/upd ate the status of a global associated with the calibration pro ce s s.
S ERIAL I NTERFAC E D EVELOPERS G UIDE 5.3.29 CMD_GET_ADC_VALUES Description: Command to retrieve the current value of all active ADC value s. The data is placed into the scratch pad buffer. Command Code: Enumeration for CM D_GET _ADC_VALUES Argument Size: 0 Argument: Null Note: Use the McbReadDataMem function to read data from scratch pad.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Command Code: Enumeration for CM D_WRITE_VID_ENC_REG Argument Size: size of 2 * UWord16 Argument: 1 P st P UWord16 – offset, 2 P nd P UWord16 – data. The offset term is relative to the video encoder mode 0 register.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Note: Since the defective pixel requires placem ent of reference sources it is necessary to implement this command in ‘sub-protocol’ form. See paragraph X 7.7 X for details. 5.3.38 CMD_IRCON_LOAD_LUT Description: Custom LUT tabl e creation for radiometry.
S ERIAL I NTERFAC E D EVELOPERS G UIDE }; typedef struct _UTIL_MEM_XFER UTIL_MEM_XFER, *PTR_UTIL_MEM_XFER; Note: Use the McbWriteDataMem fun ctio n to move data into scrat ch pad. 5.3.44 CMD_ADV_DETECT_BAD_PIXELS Description: Command no longer u se d.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Note: Once the command has b een sent the embedded appli catio n will set the status code to BEGIN_PROCESS. The host can monitor this c ode until it is returned to HOST_READY which indicates the routine has completed co mpiling the defects.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Argument: None Note: Use of this command assumes that the host kn ows the curren t state of the shadow register in the global configuration structure 6 Camera El.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Any portion up to the entire structure can be r ead using the ‘McbReadDataMem’ routine. For example, if the host wanted to retrieve the curr ent embedded app lication version, a read of the data member at address 0x0040 + offset of the ‘swVersion’, member could be p erformed.
S ERIAL I NTERFAC E D EVELOPERS G UIDE 6.2.6 CameraConfig.camErrors Type: CAMERA_ERRORS /* Camera Error Code Structure */ struct _CAMERA_ERRORS { UWord16 ErrorCode; /* Error Code */ UWord16 ErrorSubCo.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Description: Software build ID of the l oaded embedd ed application. Read only data membe r. 6.2.11 CameraConfig.fpgaVersion[2] Type: UWord16 Size: 2 Words Description: Xilinx FPGA versio n code of the stored configuratio n file.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Size: 1 Word Description: The member is divided into the following bit fields. Fan Speed Index: (Bits 0 - 2) Current inter nal fan speed index. Re ad only data member. Base NUC table: (Bits 3 - 8) Current base NUC index.
S ERIAL I NTERFAC E D EVELOPERS G UIDE FPA Sub-type Identifier: (Bits 4 – 7) Range Reticle Enable: (Bit 8) Reserved: (Bits 9 – 14) Lock Memory Mirro r Bit: (Bit 15) The following enumerations are .
S ERIAL I NTERFAC E D EVELOPERS G UIDE Index [3]: DSP Channel B3 6.2.24 CameraConfig.btnPanel Type: BTN_PANEL /* Button Panel State Structure */ struct _BTN_PANEL { unsigned menuUpdate:1; /* Set if button was pressed and menu needs update. Should only be set by Host and only cleared by camera.
S ERIAL I NTERFAC E D EVELOPERS G UIDE 6.3.3 nvmData.ActMode Type: UWord16 Size: 1 Word Description: See X Appendix E X for specifics on this value. 6.
S ERIAL I NTERFAC E D EVELOPERS G UIDE 6.3.9 nvmData.RtclXPos Type: NVM_RETICLE_POS /* Reticle Position & Emissivity */ struct _NVM_RETICLE_POS { unsigned RtclHorPos:9; /* Reticle Horizontal Posit.
S ERIAL I NTERFAC E D EVELOPERS G UIDE typedef struct _NVM_AGC_LIMITS NVM_AGC_LIMITS, *PTR_NVM_AGC_LIMITS; Size: 2 Words Description: See X Appendix E X for specifics on this value. 6.3.14 nvmData.LinearMap Type: UWord16 Size: 1 Word Description: See X Appendix E X for specifics on this value.
S ERIAL I NTERFAC E D EVELOPERS G UIDE opportunity. In other words if the host intend s on changing the current AGC mode and have that mode restored on subsequent boots – then two writes are requi red. The first to change the global data structure and then a second to forc e an update o f the nonvolatile RAM.
S ERIAL I NTERFAC E D EVELOPERS G UIDE It is also recommended that the host che ck regularly (including the boot sequence) for the UNCONFIGURED_CO NTROLLER and the FAULT_ DETECTED codes.
S ERIAL I NTERFAC E D EVELOPERS G UIDE ERR_CAM_SPRT_BD_MISMATCH, ERR_SUBCODE_UNDEFINED }; ErrorCount: a count of the total number of erro rs since boot. ErrorData [0] Value stored in configuration flash. ErrorData [1] Value read from the ADC. ErrorData [2] – [4] Not used.
S ERIAL I NTERFAC E D EVELOPERS G UIDE For SubCode ERR_CROSSTALK: ErrorData [0] Address of register being written to. ErrorData [1] Address of regist er b eing tested for crosstalk. ErrorData [2] Crosstalk regi ster value. ErrorData [3] Cross talk register test ma sk.
S ERIAL I NTERFAC E D EVELOPERS G UIDE ErrorData [1] Value read back. ErrorData [2] Test mask. ErrorData [3] Lower 16 bits of memory addre s s. ErrorData [4] Upper 16 bits of memory a ddre ss. 6.6.6 Force ‘1’ Test This error is set during ope rational tests.
S ERIAL I NTERFAC E D EVELOPERS G UIDE ErrorData [4] Upper 16 bits of memory a ddre ss. 6.6.9 Histogram Data Grab Test This error is set during ope rational tests. Data from CameraConfig.camErrors: ErrorCode: ERR_HISTO_GRAB define. ErrorSubCode: No subcod e.
S ERIAL I NTERFAC E D EVELOPERS G UIDE 6.7 Command Polling During normal operatio n of the embed ded application, a poll is don e to check for user defined commands that have been issued by the host. When a command is detected the appropriate action is taken.
S ERIAL I NTERFAC E D EVELOPERS G UIDE There are only a couple of regi sters that the host will typically modify . They are listed in the fol lowing paragraphs. 6.9.1 FPA Processor Operational Control Register Low Address: 0x4000 Bit 0 (Unit Gain): 0 – Use NUC Coefficient Memo ry Gain; 1 – Force NUC Gain to Unity (1.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Bits 10-11 (Pfv Src Sel): Processed FPA Video Source Select: 0 – Digital FPA Video; 1 – NUC Corrected Video; 2 – Pixel Replaced Video; 3 – ITT Video 6.
S ERIAL I NTERFAC E D EVELOPERS G UIDE /* Calibration and Defect Communication Status Enumerations */ enum { HOST_READY = 0xFFFF, BEGIN_PROCESS = 0, CAL_PLACE_COLD_REF, CAL_COLD_REF_IN_PLACE, CAL_PLAC.
S ERIAL I NTERFAC E D EVELOPERS G UIDE (E) Calibration is complete. 7.4 One Point Update Calibration (External Flag): (A) Send CMD_ONE_PT _UPDATE command with a rgu ment for using external calibration flag. (B) Embedded application will se t the status code to BEGIN_PRO CESS, and then begin executi on of the calibration.
S ERIAL I NTERFAC E D EVELOPERS G UIDE (O) Host will monitor the status code data memb er until it is set by the embedded a p plication to CAL_CALC_COEFFICIENTS or CAL_ D E LTA_TO O_ SMALL. If the CAL_DELTA_TOO_SMALL code is received then the e m bedd ed application has aborted the cal ibration.
S ERIAL I NTERFAC E D EVELOPERS G UIDE for each pixel in the entire array. The NUC data w ill also need to be formatted for use in the hardware (see X Appendi x F X ). It will also be necessary to save NUC mode data to serial data flash that corresponds to the uploade d NUC data (see p aragraph X 5.
S ERIAL I NTERFAC E D EVELOPERS G UIDE (B) Send CMD_DO WNLOAD_NUC comm and with the arguments se t for ‘gain terms’ and desired NUC base. This will instruct the cam era to r ead the NUC flash and store the gain terms in utility memory (at base of MAR_IMAGE_GRAB_B).
S ERIAL I NTERFAC E D EVELOPERS G UIDE Appendix A - Camera Configuration Dat a S tructures /* Current Camera Configuration Information Structure: This structure will contain information about the camera that will be useful for standard operation as well as for the remote user to have access.
S ERIAL I NTERFAC E D EVELOPERS G UIDE /* Cal-flag Settings data */ UWord16 calFlagRefs; /* 1 Word */ // coldRef:8; /* Cold Ref Setting, (Bits 0 - 7) */ // hotRef:8; /* Hot Ref Setting, (Bits 8 - 15) .
S ERIAL I NTERFAC E D EVELOPERS G UIDE /* Partial Camera Dynamic Configuration Info Structure – matches what is stored in global memory. */ struct _NVM_GLOBAL_CFG { UWord16 CamMode; /* Cast to/from .
S ERIAL I NTERFAC E D EVELOPERS G UIDE Appendix B - Xilinx Register/Dat a S tructure /* Xilinx FPGA Register Map Structure */ typedef struct { UWord16 OpCtrlRegLo; /* Map to 0x4X00 */ UWord16 OpCtrlRe.
S ERIAL I NTERFAC E D EVELOPERS G UIDE UWord16 MarAMemAcc; /* Map to 0x4XA0 */ UWord16 MarAMemAccInc; /* Map to 0x4XA1 */ UWord16 MarAMemAccClr; /* Map to 0x4XA2 */ UWord16 MarAMemAccClrInc; /* Map to.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Appendix C - Camera Command Enumerations /* PC Master Command Code Enumerations */ enum { CMD_FPGA_UPDATE_AVAILABLE = 1, CMD_COPY_SFLASH_PAGE, /* Copy a page of .
S ERIAL I NTERFAC E D EVELOPERS G UIDE Appendix D - Mapping of Serial Non-V olatile Memory /* Complete Camera Dynamic Configuration Info Structure */ struct _NVM_DYN_CFG { UWord16 CamMode; /* Cast to/.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Appendix E - Dynamic Memory Definitions Note: The address (Adr) listed in the tables that follow refer to the RAM offset address inside the Real Time Clock/NVM RAM part.
S ERIAL I NTERFAC E D EVELOPERS G UIDE 1 – Enable Temperature Excursion Based 1-Pt Refresh Rfsh On Boot 0 – Disable 1-Pt Refresh on Bootup; 1 – Enable 1-Pt Refresh on Bootup (Camera waits until .
S ERIAL I NTERFAC E D EVELOPERS G UIDE Factor y Bit Fi e l d s Adr Entry N ame Mod e In itialize 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 50 A uto Ref r esh Sho rt 0x0258 Ti m e R/ W Per io d 52 A uto Re.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Factor y Bit Fie ld s Adr Entry N ame Mod e Initialize 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 66 Re ticle B Sho rt 0x00D C Horizon tal R/W Pos it io n 68 Re ticle.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Factor y Bit Fie ld s Adr Entry N ame Mod e Initialize 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 82 AGC Hi gh Sh ort 0x3 F FF Limit R/W Intensity 84 A GC Shor t 0x00.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Fa c to ry Bit F i e l d s Ad r Ent r y Name Mode I n it ia l iz e 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 10 4 L en s I D B y te 0x 0 5 Co nt rol R/ W 1 05 Re ser.
S ERIAL I NTERFAC E D EVELOPERS G UIDE Appendix F – NUC Coefficient Format NUC Ga in C oeffici ent ( for Valid Pix el) Bit Fi el d s 15 14 13 12 11 10 9876543210 Frc t NUC O f fse t Coefficient (for Valid Pi xe l i.
Un point important après l'achat de l'appareil (ou même avant l'achat) est de lire le manuel d'utilisation. Nous devons le faire pour quelques raisons simples:
Si vous n'avez pas encore acheté IBM ECS-320A c'est un bon moment pour vous familiariser avec les données de base sur le produit. Consulter d'abord les pages initiales du manuel d'utilisation, que vous trouverez ci-dessus. Vous devriez y trouver les données techniques les plus importants du IBM ECS-320A - de cette manière, vous pouvez vérifier si l'équipement répond à vos besoins. Explorant les pages suivantes du manuel d'utilisation IBM ECS-320A, vous apprendrez toutes les caractéristiques du produit et des informations sur son fonctionnement. Les informations sur le IBM ECS-320A va certainement vous aider à prendre une décision concernant l'achat.
Dans une situation où vous avez déjà le IBM ECS-320A, mais vous avez pas encore lu le manuel d'utilisation, vous devez le faire pour les raisons décrites ci-dessus,. Vous saurez alors si vous avez correctement utilisé les fonctions disponibles, et si vous avez commis des erreurs qui peuvent réduire la durée de vie du IBM ECS-320A.
Cependant, l'un des rôles les plus importants pour l'utilisateur joués par les manuels d'utilisateur est d'aider à résoudre les problèmes concernant le IBM ECS-320A. Presque toujours, vous y trouverez Troubleshooting, soit les pannes et les défaillances les plus fréquentes de l'apparei IBM ECS-320A ainsi que les instructions sur la façon de les résoudre. Même si vous ne parvenez pas à résoudre le problème, le manuel d‘utilisation va vous montrer le chemin d'une nouvelle procédure – le contact avec le centre de service à la clientèle ou le service le plus proche.