ALL ABOUT THE CHROMAMATIC2 PROJECT ================================== Initially 12 Feb 2010 Alan Stummer astummer@physics.utoronto.ca Based on Chroma-Matic(1) project but heavily rewritten This project uses the AD9110 DDS eval board, the Rabbit RCM4200, and either the ADF4360-5 VCO/PLL eval board or ADF4108 PLL eval board. ********** HOST IP DESCRIPTION ********** - Format is UDP on port 37829 - Unit "ChromaMatic2 #1" IP address is 192.168.1.133 - Every time unit is turned on, first host to connect is the only one allowed to send commands - Host sends commands as listed below - Every second or so, host sends a heartbeat to tell unit it is still there, harmless if not sent - Unit never sends anything back except to echo heartbeat ********** MONITOR IP DESCRIPTION ********** - The program Warren performs the monitor functions, run on one or more computers on the same subnet. - Format is UDP on port 6595 - Units broadcast messages on xxx.xxx.xxx.255 - Units send text messages about status - Some older units also send data - Monitor simply time stamps and records them verbatum - Messages have unit's name in message - Keywords "Warning: and "ERROR:", self-descriptive. ********** HOST COMMANDS ********** ================================== NOTE: Refer to "All About MicroMatic & PhaseOMatic.doc" in 2008 PhaseOMatic\Docs in the Archives for details. Hex Size Description ------------------------------------ TYPE 1 COMMANDS (execute immediately) 'p' 2 Set PLL polarity (slave laser > or < ref laser), second byte is 0 or 1. 'c' 2 Adjust display contrast, second byte is 0 to 99. 'g' 2 Adjust gain, 0 to 255 (ADF4108 PLL uses 3 MSB only) 0x7F 1 Heartbeat, tells unit host is connected, and vice versa when unit echos HB 0xA1 1 Hardware Reset of the DDS, stops scan, set profile to 0 0xA4 1 Wait for Adwin trigger 0xA5 6 Set the FTW (Freq Tuning Word) byte 1: 0xA5 2: don't care (back compatibility) 3 to 6: LS to MS FTW bytes 0xAB 1 End a DDS ramp 0xAC 16 Initiate DDS ramping byte 0: 0xAC 1 to 2: ignored (LS bytes of Digital Ramp Step Size) 3 to 6: Digital Ramp Step Size, LS to MS bytes 7: ignored (LS byte of DR Rate) 8 to 9: DR Rate, LS to MS bytes 10 to 11: ignored (LS bytes of Stop Freq) 12 to 15: Stop Freq, LS to MS bytes 0xB0 1 For debugging, show all DDS registers on std I/O ;0xA0 2 Power on or off the DDS Core (not used) ;0xA2 1 Latch contents of DDS frequency buffer to memory (not used) ;0xA3 2 Selects active DDS profile, 0 to 3 (not used) ;0xA6 4 Power PFD Core, CPs and set Fast Lock options (not used) ;0xAA 12 Initiate DDS scanning from current frequency at rate and step size (not used) ;0xAD 3 Set the DAC output to desired value (not used) ;0xAE 9 Intiate DAC scanning between two voltages (not used) ;0xAF 2 Sets states of lin/int and feedback CMOS Switches (not used) TYPE 2,3 COMMANDS (save and execute later command sequences) 0xC0 1 Clear current event list from command sequence 0xC1 1 Following command is to be added to command sequence 0xC4 2 Execute the command sequence 0xC5 1 Restart the existing command sequence (same as 0xC4?) ;0xC2 2 Save the current command sequence to flash (not used) ;0xC3 2 Execute a saved command sequence (not used) ********** RABBIT RCM4200 PORT MAPPING ********** PORT DIR DESCRIPTION ------------------------------------ PA0 O - PA1 O DDS:DRCTRL PA2 O DDS:DRHOLD PA3 O DDS:SDIO & PLL:SData PA4 O PLL:LoadEnable PA5 O DDS:SCLK & PLL:SClk PA6 O DDS:IO_RESET PA7 O DDS:IO_UPDATE PB0 - (onboard ADC SCLK) PB1 O DDS:P_0 PB2 O DDS:P_1 PB3 O DDS:P_2 PB4 I DDS:PLL_LOCK PB5 I DDS:RAM_SWP_OVR PB6 O DDS:TX_ENABLE PB7 O DDS:MASTER_RESET PC0 I Option 1: 0=Microwave source (~1.3GHz), with the ADF4360-5 VCO/PLL eval board. 1=ChromaMatic2 lasing tuning project, with the ADF4108 PLL eval board. PC1 I Option 2: not used PC2 - PC3 O Display data PC4 - (onboard ADC SDI) PC5 - (onboard ADC SDO) PC6 - PC7 - PD0-7 - (onboard ADC inputs) PE0 - PE1 I ADWin trigger PE2 - PE3 I DDS:SDO PE4 I DDS:DROVER