Home
D-TACQ 2G User Guide - D
Contents
1. extract the data on the host use API tool acq demux please refer to the ACQ2XX_ API package clock period T 125 nsec acq demux a acql132 def T 125 dual rate 64 4 XX SHOT 00001 Rev 52 Page 146 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd Plot using KST In normal operation GATE LOW the system streams data continuously at 125kHz 8MB s When the ROT is declared GATE HIGH the sampling rate increases to 2MHz 128MB s and the card offloads data as fast as it can 40MB s Data backs up into on board memory at 80MB s so there is capacity for about 10s data at high rate When the GATE is de asserted data continues to stream at 40MB s until the backlog has been eliminated max 20s This system works well for cases where the GATE signal may be fairly bursty but it of short duration eg maybe on average there is a 1s GATE signal every 30s however the buffer capacity is sufficient to allow up to 10 back to back 1s GATE signals if required Rev 52 Page 147 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 23 7 Oversampling FIR Filter ACQ132 32 32F is available with an alternate FPGA personality with FIR functionality The FIR is a 501 tap decimate by 16 filter The coefficients are normalized to unity gain 32 MHz input 2MHz output The ACQ 32 card MUST be operated at 32MHz to achieve the correct response The frequency and attenuat
2. WARNING Please ensure compatible RTM ACOxxx must only be used with an ACOxxx RTM ACOxxx must only be used with an ACOxxx RTM Quick Check ACOxxx RTM has twin RJ45 for dual Ethernet 4CQ 96 RTM has single RJ 45 Jumpers There is one user jumper on ACQ 96CPCT JP10 For standalone applications JP10 should be fitted for system slot and peripheral mode operation it should be removed There are no user jumpers on ACQ2 6CPCI Console Connect to console port to check configuration of firmware Requires 9Way D null modem cable and a terminal emulator D TACQ uses and recommends kermit http www columbia edu kermit Terminal emulator should be set to 38400 baud 8bit one stop no parity Power up and confirm boot up through to Linux prompt There is no longer any need to modify boot parameters in normal operation If it doesn t appear to boot please refer to Trouble Shooting in next section For standalone operation make an Ethernet connection to the RJ45 socket on the RTM It is recommended that this connection be part of a data acquisition private network A full duplex switched connection will work best for ACQ 196 a dedicated cross over cable to a dedicated client NIC is also a valid option Default IP address settings are obtained by DHCP Alternatively a static IP address may be configured by editing a boot script 6 2 Check the system boots normally If the console is connected you will see boo
3. 93 141 2 Example 2 Eyent as Trip ii tas 93 142 MOCOS 93 LAR LO A A a E Sy Aaaa Oe 93 14 2 2 Enabling A a a e E E IN 94 142 3 Qperational ES o aN keds 94 1424 Device NOdES minste r cal 95 14 25 SEC IMA A as is 95 14 2 6 Run Time Status POMAR a 95 VA A giedsada a saved ada ES e Ga Paa a eaa a O E h 96 1428 Data Handlinga iesnas n a O EA R R A 96 Rev 52 Page 6 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 14 2 9 Recommendation for immediately handling PREP data 96 14 2 10 How does acton prep TUM ceccccsscescesecesceeseecececeeeceseeceseeeseeeeeeees 97 e CAS ia AA EA 97 15 Appendix D TACQ Low Latency MOde oooconocccoccconccconccooncnoncnonnnnnononnnccconnncccnnnoss 99 15 1 Notes on achieving Hard Real Time performance eceeseeeseeeteeeeneeeees 99 AAA AN 100 A attain wareacsaenaat i aah EEAS 101 15 4 Typical Plant Operating ScenallO oooconoccnoconooccconncoonononoconononn ccoo nonancconanancnnns 102 15 53 B s Level Pro da 102 15 6 Description of GQ PEA lab 104 15 7 LLCONTROL Host side applicatiON ooocnnocnoconocononcconnnconccnononanccnnncconanonno 104 15 8 Setup for Low Latency control oooooonnnccnoccnioccnonaconcconnnconccnnnoconccnoncnconncncnnos 104 TSO Dicta O aera sates aea era a E a aioe Rig wae 106 15 10 Host Side Driver Capability ss snssseseesesssseseesesssressrssssessseeesseresseresseress 107 15 11 LLCONTROL V2 Performance Enhancement ooocccnnccnocccoonononccoo
4. D TACQ 2G User Guide D TACQ Solutions Ltd 11 5 Data Devices on target dev acq200 data CC where CC is 01 02 nchannels Applications can use regular read calls to access this data Users may also use standard UNIX tools like hexdump dd cp ftp to access the data Post processing is controlled by the following script usr local bin acq200 pp If access to the raw data is required it is possible to stub out the post processing and raw data is then available via the following logical device dev acq200 data XX It is also possible to modify acq200 pp to perform custom post processing or Target Push data upload after the shot 11 6 Combing the data Two global hooks are provided to control start point and stride value through the data these are dev acq200 data sample read start offset in samples into data buffer default 0 dev acq200 data sample read stride stride value through data default 1 dev acq200 data sample read length maximum number of samples to read out dev acq200 data sample read ssl shortcut takes start stride length args or reset Convenience commands are provided to access these device files set sample_read_start set sample_read_stride set sample_read_length set sample_read_ssl A typical operation might be bin sh we use shell script for convenience a compiled version may be faster Rev 52 Page 67 of 151 Date 19 June 2012 D TACQ 2G User
5. set acql32 role ROLE CLKKHZ set acql32 role ROLE CLKKHZ Where role is one of SOLO MASTER SLAVE and CLKKHZ is a valid output clock rate for the device On 4C0164 this command takes care of the additional SYNC signal routing and selects the best ADC MODE based on sample rate On ACQ 32 an additonal oversampling command 23 2 1may be needed to set exact oversampling condition 10 4 2 Signals Signals is the generic terms for e Clocks determine the instant of sampling Triggers cause the start of a shot Event places a marker in the data stream Typically an Event will cause transition from pre phase to post phase Rev 52 Page 39 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 10 4 2 1 Clock and trigger Routing ACQ196CPCI ACQ216CPCI WAV232CPCI all feature clock and trigger routing capability on 6 dedicated DIO lines This arrangement differs from previous generation ACQ32CPCI in terms of technology instead of solid state switches a line driver is used for higher performance at higher clock speeds These commands supercede acqcmd setSyncRoute found on ACO32CPCI e DI 0 2 recommended for Clocks DO NOT SUPPORT Wire OR DI 3 5 recommended for Trigger open collector drivers support Wire OR for any board can declare a trigger applications Default function DIO External Clock DI1 DI2 D
6. 00 0 ee eeseeeeteeeeteeeeeees 121 19 5 How do I set up public key lo Mueecnico codicia calcita dins eta didas 122 19 5 1 First check if you already have a public key set ups eee 122 19 5 2 Create host public Keys taa aa 122 19 5 3 Copy the keys to the tarro 122 19 54 Checkit Works O na aane a a E ATR 122 19 5 5 Save the keys to non volatile disk SySteM o ooooccnnnccnococonccnococionnncnnno 122 19 6 Trigger Event What Why When corso irc 123 Rev 52 Page 7 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 196 1 NV WA a rcs O inna us wakes sine ts 123 A ce tetas dete a datseGis dedaet cand teh 2st doces bas aie eS 123 E cantar aa e tase on cond A ES 123 19 7 What sequence must commands be issued 1N cecceeeceeeeeeeteeeeteeeeeeeeeeees 124 19 8 What is the sample phase when using derived clock eceecceeseeeteeesees 124 20 Appendix ICD changes for 2G eye toasts can 125 20 1 Remote Commands replaces ICD 4 10 L ooonoocnncccn caciccconcccnnncnoncconannnononos 125 20 ET OVVIE W arer a a AE E e a E oe A e ae oak 125 20 1 2 A 126 20 1 3 Dt100d operational considerations ccceescceeeeeeteeeeetseeeeeteeeeseeeeees 131 20 2 acqemd command SYNOPSIS da ida 132 21 Appendix acq200 pp Postprocess Korlpt oooonconnnccnononocnconncconnononoconnncconanancnnnnnnos 133 22 Appendix ACO2Q1L6CPCTAdd OMS cmo corcnncininnes nicol ica 134 A oer A talon cre tutainz r A O cedar S Onde OE ENN 13
7. A0f CH node CH mdsValue output A0f CH node CH let ch ch 1 done mdsClose tree The same commands can of course be executed remotely channel by channel Rev 52 Page 74 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd And a full worked example using usr local CARE load16A0mds mdsip kilda tree iroko node ACQ196 010A0 usr local CARE load16A0mds kilda iroko ACQ196 010A0 root acq196 010 usr local CARE load16A0mds kilda iroko ACQ196 01040 MDS_SOCK 6 OK mdsValue output dev acq196 A0 f 01 ACQ196 010A0 CHO1 DTYPE SHORT dim 1 512 length 2 dev acq196 A0 f 01 mdsValue output dev acq196 A0 f 02 ACQ196 010A0 CHO2 DTYPE SHORT dim 1 512 length 2 dev acq196 A0 f 02 mdsValue output dev acq196 A0 f 03 ACQ196 010A0 CHO3 mdsValue output dev acq196 A0 f 15 ACQ196 010A0 CH15 DTYPE SHORT dim 1 512 length 2 dev acq196 A0 f 15 mdsValue output dev acq196 A0 f 16 ACQ196 010A0 CH16 DTYPE SHORT dim 1 512 length 2 dev acq196 A0 f 16 OK commit to FAWG for hardware trigger set AO commit 4 to complete the example let s set a clocking scenario in real life do this once before loading the data AI clock is external DIO 500kHz set route dO in lemo out fpga set ext_clk DIO falling acqcmd setExternalClock DIO AI clock is slaved off AI clock but divided by 50 to give 10Hz set ao clk DIO falling set dtacq FAWG div 50 AI trig AO trig DI3 set route
8. AO lt 25kSPS Please contact D TACO for evaluation of specific requirements 10 4 10 1 Clock and Trigger The AO function may use internal or external clock The AO function may use external trigger or soft trigger AO clock and trigger function is selected independently to the AI functions ie AO clock trigger can be the same or it can be different to AI The default and most common setting for the AO clock is to simply slave off the internal clock NB if no external trigger is used a soft trigger MUST be explicitly asserted in order to change AO waveforms DC values are not affected by trigger set ao_clk DIx sense set ao_trig DIx sense DIx DI3 DI4 DI5 sense falling rising eg set ao_ trig DI3 falling emulate GATED TRANSIENT behaviour set ao_ trig none cancel the trigger selection Rev 52 Page 50 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 10 4 10 2 Logical Device Nodes Driver provides the following device nodes Access through set A0 is preferred although for speed a client application may use direct access root acq196 001 ls 1 dev acq196 A0 01 load ascii hex voltage def here 02 03 15 16 XX load value to all channels commit 1 gt commit DC 2 gt commit AWG f 01 load binary waveform here f 02 1 03 FAWG only from here f 16 coding signed unsigned 10 4 10 3 DC Control Write a numeric representation of the raw outp
9. all the data raw expression field HYPERACQ CH 2d 1 96 96 channels with unique calibration expression per channel field HYPERACQ CH 02d expr CAL 1 96 96 channels with signal timebase and calibration field HYPERACQ CH 02d expr calsig 1 96 96 channels with a stride of 100 for rapid upload field HYPERACQ SUB CH 02d expr calsig timebase 1 100 1 96 10000 samples starting at sample 50000 field HYPERACQ ROI CH 02d expr calsig timebase 50000 10000 1 1 96 10 subshots length 10000 subshots 10 timebase 1 10000 1 subfield SUBSHOT 04d field CH 02d 1 96 Rev 52 Page 73 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 11 8 4 mdsValue retrieve and store values The mdsValue command is able to evaluate MDSplus expressions for a range of result types short e int e float string mdsValue will print the output for a scalar Vector values may be saved to file using the output file option Example Loading Waveforms to ACQ196 FAWG waveform generator 11 8 4 1 AO load script usr local mdsplus bin loadAO16mds bin sh usr local CARE loadA016mds load FAWG waveform set the waveforms are stored as vectors of shorts load16 rhost 1 tree 2 node 3 A0f dev acql196 A0 f mdsConnect rhost mdsOpen tree let ch 1 while ch le 16 do CH printf s02d ch uncomment for verbose echo mdsValue output
10. by default The ftp server may be started as required or from ffs rc local sbin start ftp starts ftp server works with dt100 and ftp anonymous logins usr local bin start acq196 ftp starts ftp server as above plus user ai password free login gives access to Al data user ao password free login gives access to AO data For security it s not possible to login as root The ftp server will not work with data sets gt 6MB 7 10 SFTP server An sftp server is also available This is file transfer over ssh It s secure but quite slow So it is good for transferring setup data but is not recommended for capture data 7 11 SAMBA server A SAMBA server is available allowing direct export of captured data as an MS Windows compatible network file share This interface has good performance 7 12 Restrict access to services using TCPwrapper The standard inetd implementation can be replaced by TCPwrapper so that access to services may be controlled by ACL s Rev 52 Page 26 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 8 Updating Firmware ACQxxx cards ship with the latest firmware However to take advantage of bug fixes and enhancements after delivery it may be necessary to perform a firmware update Please note in a correctly configured system firmware upgrade is a routine procedure However it is not foolproof so please monitor the upgrade process looking for error messages
11. 001 get modelspec MaxAggregateRate 80 MB sec get modelspec MaxDeviceRate 500 kS sec 10 4 9 set autozero start an autozero process Acq196 only Assumes all inputs are open circuit Ramps input offset adjustment until all channels are zero calibrated storing values for use next boot Rev 52 Page 49 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 10 4 10 Analog Output Control ACQ196CPCI RTM AO16 only 16 analog outputs with software control of DC values and Arbitrary Waveform Generation AWG capability Two types of arbitrary waveform are supported Hardware Arbitrary Waveform HAWG Software FIFO Arbitrary Waveform FAWG At this time the HAWG is restricted to channels 01 02 and 512 points maximum but will run under hardware control at full speed 1000kHz while the FAWG allows 16384 points maximum on all 16 channels but with update rate controlled by an auxilliary timer interrupt with a maximum practical update rate of 500kHz In general use FAWG unless very high update rates are required The HAWG is designed for exact sample by sample matching with custom FPGA DSP firmware In either case the firmware interface is virtually the same It should also be noted that the AWG is competing for local bus bandwidth with the acquisition process as well as any Ethernet traffic and full speed operation on all functions may not be possible This trade off is roughly AI gt I00KSPS
12. 15 11 2 2 Host Side Memory Layout Given the use of fixed target buffers it is suggested that under LLCONTROL V2 the host slave buffer can be reduced to 4K split into 4 partitions Offset Name Description 0x000 AI_HSBT Analog Input host slave buffer 0x400 AO_HSBS Analog Output host slave buffer 0x800 DO_HSBS Digital Ouput host slave buffer Oxc00 STATUS_HSBT Status host slave buffer 15 11 2 3 IODD Handling The mode is enabled before commencement of LLCONTROL mode by setting IODD to 1 Bit 2 mask 0x04 of the Outbound Doorbell register will be set on DMA DONE This will result in an interrupt request on the PCI host card and a host side interrupt routine must service the interrupt by writing the mask value back to the register The reference Linux host side driver may be used to test this feature although the LLCONTROL application does not make use of this feature 15 11 2 4 Operation Sequence 1 At boot time ACQ196 is initialized using load llc 2 ACQ196 Controls are initialized 3 LLCONTROL application starts causes firmware transition to LLC mode 4 Firmware polls for AI data or COMMAND 5 On Al data firmware triggers an SYNC DMA chain this may include AO DO if specified At the end of DMA the optional IODD interrupt is fired if enabled 15 11 2 5 Simple host side controls setting Plan is to put all the application controls values into the AI area according
13. 3 10 1 Operating Modes The card will capture data in one of a number of modes SOFT TRANSIENT a simple one shot capture SOFT CONTINUOUS continuous capture gt GATED TRANSIENT a one shot with a start trigger TRIGGEREDCONTINUOUS Pre Post capture where the card captures data continuously to a circular buffer until an external Event is received when the card switches to a linear buffer continues to capture data for a specified length and then stops There is complete flexibility over setting a start TRIGGER to enable any of the above captures and the EVENT that controls transition from Pre to Post in TRIGGEREDCONTINUOUS mode is also use specified A single command set pre post_mode is recommended to simplify client setup 10 1 1 Linear Timebase The default operating mode is to capture data continuously with a fixed clock So the timebase of the data maps exactly to the sample clock times Usually the clock is continuous and fixed so this is referred to as a Linear timebase 10 1 2 Regions of Interest PRE Programmed triggers The normal pre post mode of operation is to capture data continuously to a cyclic buffer until an external Event is received In this case usually all historical data is discarded unless it is streamed off board usually at a sub rate However under some circumstances it is desirable to declare Regions of Interest at known times On ACOxxx this is the Preprogrammed Trigger PREP
14. COMMIT CONTINUOUS 0x40 continuous data feed default is cyclic repeat Rev 52 Page 54 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 10 4 10 7 FAWG Example assume clock routing has already been made set ao clk DIO falling set ao trig DI3 falling set dtacq FAWG div 20 output DIO 20 for AI clock lt 100kHz can use FAWG div 1 now generate some data fungen cycle 1 4 0 2 5 fungen cycle 25 02 fungen cycle 3 6 0 1 5 or fetch it with curl curl s o dev acql96 A0 f 1 ftp anonymous host pub f 01 16 or push it with curl assumes embedded ftp server running cat mydata curl T u ao ftp target A0 f 01 or simply transfer by hand with good old ftp configure hooks to start process with main AI capture set arm AO FAWG CYCLIC HARD TRIG sometime later configure AI and setArm Rev 52 Page 55 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 10 4 10 8 Function Generator A simple function generator program for use with the FAWG is supplied fungen channel K A nsam function is channel K A sin wt nsam samples K A are floating point volts Takes about 30msec to generate 64 points 64 points should be more than enough for a typical coil drive Phase Control usage fungen sin ch KA N P usage fungen cos ch KA N P ch channel 1 16 K A offset amplitude in volts f
15. HOST machine the b BOARD option should be applied native acqcmd does not need this option To run shell commands from the TARGET just run them in the normal way To run shell commands remotely from a HOST use acqcmd s BOARD Initially D TACQ provided a utility command acq2sh to perform remote shell commands via PCI this is now deprecated in favour of acqcmd s However the acq2sh name is too good to waste so it is used as shorthand for acqcmd s Future versions of code will make acq2sh b an exact synonym for acqcmd s Summarised in the following table Rev 52 Page 120 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 19 3 1 Summary of acqcmd shell usage Location Mode Command TARGET acqcmd acqcmd shell sh HOST PCT acqcmd acqcmd b shell acqcmd s HOST HUB acqcmd acqcmd b shell acqcmd s 19 4 Why doesn t my command line argument work Many D TACQ commands allow user customisation by making use of a combination of command line switches and arguments Internally the command line is usually handled by the popt 3 library Normally switches are prefixed by or This can lead to a problem when arguments begin with e g negative numbers The solution is to disable switch processing with a single eg acqcmd setDIO 1 WRONG acqcmd setDIO 1 CORRECT prompt gt mdsPut e
16. JOP local bus bandwidth from S FPGA to memory is a maximum of 128MB s The sample rates and duty cycles may be adjusted over a wide range of values provided the local bus bandwidth is not exceeded on average An example of reduced duty cycle occurs in Repeating Gate Mode RGM data capture only takes place while a pre defined GATE signal is active The functionality is the same_as 10 4 4 2 GATE mode only However the programmable Gate Pulse Generator gives all the features of the standard RGM and more see below A simple way of reducing the average rate is switched DualRateMode intended for continuous capture While ACQ196CPCI RGM is primarily used to reduce data set size in memory this is also a feature of ACQ 32CPCI RGM however the main reason to use ACO132CPCI RGM is achieve very high sample rates where the card can capture data at the maximum sample rate of the ADC device 10 40 65 MHz depending on grade The length of capture is determined by the length of the GATE pulse but in any case should not exceed the available buffer memory in the FPGA This is 4096 samples with all channels active this maximum length may be increased to 8192 samples 2 4 channels active and to 16384 1 4 channels active An example DSP technique to reduce the output data rate ACO132CPCI also features a generic oversampling filter where the ADC may run at a higher sample rate samples are accumulated in the FPGA and output at a lower rate It
17. able to report subrate data results ACQxxx aims to present data to the user in a format that is both efficient and meaningful to the user For a transient capture this usually means channelization ie data is provided as a time series for each channel Channelized data may be considered to be an array ordered as data channels samples By contrast the hardware produces data as a sample vector for each sample we have the data for each channel During capture the firmware is under a hard real time constraint and copying the data to memory is handled in blocks using DMA So the data is written to memory in the raw format produced by the hardware as the transposed matrix raw samples channels In addition there may be a non intuitive mapping between the logical channel order of the plant cable interface at the front panel and the in memory order of the converted data This implementation detail is hidden from external clients by allowing data access through a series of channelized data device files Typically to make the client data access as efficient as possible after a transient capture the firmware will also run a post processing job to sort the data into the logical channelized order as described in 11 3 The data is available on all interfaces as described below We re aware that quantities of data are very large so facilities are provided to reduce the amount of data that has to be uploaded In particul
18. available at http www d tacq com details page php prod _id applications page id 2 The interface is documented at http www d tacq com resources SOAPI html index html 7 4 Web interface Web server based on thttp operates at port 80 A series of cgi screens for monitoring and test are available at cgi bin home cgi Please note The Web interface is not intended as a production tool since the setups generated are neither automated not persistent The value of the Web interface is quick access to control parameters allowing easy manual setup of tests D TACQ recommends that users use the Web interface for initial setup Once a Rev 52 Page 24 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd working scenario is achieved to record and possibly script the same command sequence consult the web log with target based event log logread or if using remote syslog facility review the host syslog usually var log messages on Linux hosts A number of the web pages make use of JavaScript This is tested to work on FireFox and Konqueror Some of the pages may fail to work correctly under IE 7 5 Console Interface Occasional access to the local serial port console via RS232 is required D TACQ recommends kermit to connect to the console but any terminal emulation program will work examples include minicom hyperterm 38400 8np The console port is the only place where root login is available 7 6 T
19. cause transition between pre and post phases setModeTriggeredContinuous pre post In most cases it is not necessary to use Trigger with pre post since the starting pre data is overwritten long before the Event Use Trigger to start a SOFT_ CONTINUOUS process eg for streaming data in a synchronized way from multiple cards Less Common Uses Rev 52 Use Trigger and Event together in a pre post capture This is used for combined streaming fault detecting applications eg stream synchronized data from multiple cards starting on Trigger but detect a fault event using Event that causes transition to post capture and system halt Use Event0 Event OR d together first event causes the pre to post transition Use Event0 Event in sequence for example we have an application that offers a series of burst captures within a GPS second The GPS ONEPPS pulse provides synchronization that is detected via Event while software generates a series of burst captures synchronized via Event0 Each burst is timed relative to the GPS edge Page 123 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 19 7 What sequence must commands be issued in In general in state ST_STOP any command can be issued in any order with the following exceptions acqcmd setChannelMask lt mask gt SHALL be issued BEFORE setting the Mode acqcmd setMode lt mode gt lt pre gt lt post gt For this reason it is re
20. cycle of ICLK 8 ACQ164CPCI operates a fixed clocking scheme DO EXT_CLK probably LEMO of MASTER nominal 1MHz D1 ICLK 8 MASTER gt SLAVES on PXI D2 SYNC MASTER gt SLAVES on PXI D3 TRG probably LEMO of MASTER gt SLAVES on PXI D TACO recommends using set acq164 role to hide this complexity 10 4 1 Default word size is 32 bit right most most 24 bits are valid This is easy to process on a 32 bit processor but is obviously wasteful of memory and wire bandwidth An OUTPUT WORD SIZE control is proposed to select the word size with a choice of sizes 32 24 22 20 18 16 bits 24 1 Accumulate Decimate function ACQ164CPCT features an digital accumulator in the data path This allows further SNR improvement by oversampling for a given slow output sample rate a higher input sample rate can be used keeping Nyquist high and reducing any alias effect set_nacc NACC NACC 1 256 get_nacc Recommended setting set acq164 role ROLE 50 set_nacc 4 ISR 50kHz OSR 12 5kHz With accumulation the output signal is scaled up Voltage scaling command get vin is aware of this and the MINCODE MAXCODE values in etc cal caldef xml are also scaled NB earlier ACQ164CPCI firmware used left justified data Rev 52 Page 150 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 25 ACQ196CPCI Special Features 25 1 Pulse Generator A simple hardware
21. d3 in lemo out fpga set trig DI3 falling set ao trig DI3 falling 11 8 4 2 MDSplus Events mdsValue also provides a convenient way to access MDSplus Events mdsValue setevent acq216 023d 42ub Rev 52 Page 75 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 11 9 MDSplus Thick Client ACQxxx also has MDSplus thick client functionality available as an additional flash disk image The Thick Client is able to run TDI and supports an MDSIP server The combination of the Thick Client and Compact PCI system slot device is a particularly powerful one this has been used to control a third party Compact PCI peripheral card using MDS TDI scripted device driver support 11 10 Rolling mean Channel data available during shot The mean device provides access to a boxcar running mean of data during capture This allows applications to get trend data on all analog inputs while pre trigger capture proceeds at full sample rate to local memory enable load mean view dev mean CC data is presented as 4 byte ints for channels 01 NN The mean device is intended for use with SCADA connectivity such as the EPICS IOC The mean device has the following controls control samples to average log2mean e control decimation skip view actual rate update interval _ms Examples accessing controls set decimation 10 set sys sys module acq200 mean parameters skip 10 set number o
22. default To read longer data sets read the data in chunks repeating the read command with updated lt start gt each time This maximum size may be modified by setting the environment variable DT100D_DATABUFLEN 20 1 2 9 dt100 stream Command dt100 stream lt stride gt lt mean gt np lt stride gt 1 1000 default 1 full rate lt mean gt 0 no mean 1 mean of stride samples lt np gt number of channel pairs from 18t channel Description Stream data taking every lt stride gt sample default lt stride gt 1 full rate Terminate the stream cleanly using at100 stream 0 0 0 A p OOOO Stream of data in BINARY framed format ERROR Response DT100 ERROR device in use Max data rate is restricted ly stride 1 is currently supported on ly mean 0 is currently supported on ACQxxx he Mean Device provides stride and averaging he channel pair argument can be an effective means of reducing data rate on the wire Sample Tagging must be enabled Rev 52 Page 129 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 20 1 2 10 bye Command Description Master Slave OK Response ERROR Response bye 20 1 2 11 acqcmd Command Description Master Slave OK Response ERROR Response Rev 52 acgqcemd lt device level interface command gt All device level commands on selected device Assum
23. fire rebooting the card Once enabled the hardware watchdog cannot be disabled It is anticipated that these commands will be used in electrically harsh environments where electrical noise could be interfering with either the Ethernet or correct Rev 52 Page 62 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd operation of the card itself The networked watchdog enables host in the loop watchdog control the client application could implement as test oriented policy such as only refreshing the watchdog when data is received A verbose version of the same service is supported at port 53536 This offers a sign on message containing the current state and prints number of samples and state on every transition to stop A remote status monitor program could connect to this service and show system status with no polling at all nc 192 168 1 237 53536 D TACQ statemon Revision 1 18 B1008 50542 34 0 ST STOP SHOT 20 ACQ32 getNumSamples 40003584 pre 0 post 40003584 elapsed 40003584 OK 50546 29 1 ST ARM 50546 41 2 ST RUN 50547 21 5 ST CAPDONE 50547 63 4 ST POSTPROCESS 50570 25 0 ST STOP SHOT 21 ACQ32 getNumSamples 40003584 pre 0 post 40003584 elapsed 40003584 An example remote client is FUNCTIONAL _TESTS time states py This progam lists the time spend in each state pgm hoy2 FUNCTIONAL TESTS time states py 192 168 1 237 10015 ST ARM 0 09 ST RUN 4 00 ST CAPDONE 0 41 ST POST
24. fopen tmp ch0l volts r octave gt ch01 fread fp float calibrated data from mdsPutCh octave gt plot ch01 Rev 52 Page 118 of 151 Date 19 June 2012 D TACQ 2G User Guide 19 Appendix FAQ 19 1What is the Voltage Encoding As default D TACQ cards produce raw binary data in the form of 16bit signed numbers with scalings shown in tables below D TACQ Solutions Ltd Simple scaling function for symmetric ranges Volts Raw V2 32768 Perfect scaling function used by mdsPutch effective where per channel calibration is available default ACQ216CPCI use get vin 10 4 5 Volts V1 Raw R1 V2 V1 R2 R1 Decimal 0x8000 32768 R1 2 5V V1 0x0000 0 0 0V Ox7ffc 32764 R2 2 5V V2 ACO32 Hex Decimal Volts 0x8000 32768 RL 10 0V V1 0x0000 0 0 0V Ox7fff 32767 R2 10 0V V2 ACQ196 Hex Decimal Volts 0x8000 32768 R1 10 0V V1 0x0000 0 0 0V Ox7fff 32767 R2 10 0V V2 ACQ196 uns Hex Decimal 0x0000 O RI 10 0V v1 Oxffff 65535 R2 10 0V V2 selected through dev dtacq coding ACO196 Neg Hex Decimal 0x0000 0 R1 0 0V V1 Oxffff 65535 R2 10 0V V2 special order time configuration Other configurations on request ACQ216 Hex Decimal Volts 0x8000 32768 R1 XV V1 0x0000 0 OV Ox7ffc 32764 R2 XV v2 Where X depends on Range selected M2 M6 2 5V 4V 6 25V or 10V M2 on early models 2 5 4 and 6 6V M5 30mV 50mV 625
25. ftp daemon FTPD YES watchdog timer WDT YES remote access to AO fungen or voltage source FGD YES Rev 52 Page 22 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd VSD YES Rev 52 Page 23 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 7 Command and Monitoring Interfaces 7 1 CPCI Backplane Standard acqcmd device interface by memory resident device driver Also offers extend able remote shell interface 7 2 Dt100d remote service Operates on Ethernet listening at port 53504 Implements dt100 remote protocol see ICD Compatible with dt100rc and dt100 hub The latter is a host side Linux driver combined with a proxy server emulates the backplane device interface Instructions for use of dt100 hub are to be found in the README file for the dt100 hub source code package 7 3 Web Service Interface ACQxxx offers an remote RPC service based on SOAP The cards feature an embedded service built around the excellent gSOAP product At the lowest level the standard acq2sh acqcmd interface is offered Example cross platform remote client applications are provided running on both Linux and Windows Binary executables and source code are provided for C remote clients A VB NET example is also provided A high level API is also offered currently this is only available to remote clients coded in C and linked to gSOAP A full overview of the SOAP interface is
26. generates an ASCII csv definition for each bit comprising start time duration pairs A utility program merges up to 4 csv definitions creates the low level GPD list and streams it to the GPG hardware in real time Example cat lt lt EOF gt d0 csv dO is FWD FWD for 1 msec at 1s 2s 3s 1000000 1000 2000000 1000 3000000 1000 EOF cat lt lt EOF gt dl csv d1 REV REV for lmsec at 1 01 2 01 3 01s 1010000 1000 2010000 1000 3010000 1000 EOF cat lt lt EOF gt d3 csv d3 is the AI GATE pulse GATE enable for 10 msec from 1 001s 1001000 10000 2001000 10000 3001000 10000 EOF The data is then translated by a utility csv2gpd d0 d0 csv dl d1 csv d4 d4 csv Rev 52 Page 144 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 23 5 Multi Rate Capability ACQ132 can sustain data transfer on the local bus at 128MBytes sec The headline capture rate is 32 ch 2MSPS 128MB sec but many other combinations are possible A control set channelSpeedMask is provided to allow a number of more common combinations set channelSpeedMask CHANNEL_SPEED MASK get channelSpeedMask Sample Rate NACC SHIFT MASK SCAN MSPS parameters are computed automatically 16 8 4 2A B c D A BC p A B c D 1 16 16 16 16kW a a A A A A 2 8 8 Ll A 0000 0000 1111 1111 3 Z 8 SM 0000 0000 1111 0001 4 2 4 1 0 0000 0000 1010 0001 5 4
27. ia 21 6 2 CUStOMIZATION SCS cartel 21 6 2 1 Typical fis re loca lO PtHONs retrete eee erdecgici n 22 7 Command and Monitoring Interfaces curiosidad 24 TL CPCI B ckpline ser sin Monro atril iris 24 Li 2 DILODA remote ICE tii tods 24 EN AA O 24 T A Web interfaces teieni andningen aena aei ad aAa ienas 24 Tid Console nterface srr oai iia 25 AR A ae eea ae ae a a a aT a 25 TT SSN AMLCL LACE say e erga ernn ro aeniei E E N E E E A eas 25 TS ETP ehenta o E EEEE E E E E A E EAA 25 A O 26 Te LOOSE TOS taa ci aos 26 TaN Se VIS AS Civ Si ese aise seat cease sake ea T aR Tae aia anos de 26 7 12 Restrict access to services using TCPWrappet cccccssecsceceesteeeeeseeeesnees 26 8 Updating Pr WARS vas ag oss anes ce leis sae a au despa Cavey AA 27 Rev 52 Page 4 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 8 1 What Images are vola ale 27 8 2 From host computer YM ais 27 8 3 Via CPC Backplane n rnrn ies 27 8 4 Via Ethernet A I 28 8 5 Via Ethernet using anonymous TlP ooooooconoconoccconccconcconncnnnnconnncnnononconanonconancnconos 28 8 6 Via Kermit serial or Ethernet sec didas 28 8 6 1 Using kermit via serial PO 28 8 6 2 Using kermit via te Mt dicte 29 8 6 3 From a website using WO cenital rare citadas 29 O a a ES 30 9 1 Clock and PARO a eds 30 PD AAT TOI a EE EEEE E EET E 31 SS n nna aa saben a a a E a vonaceunncoite 31 DD Mra SE en n a a a a a e a T aa a aea 31 9 2 3 Numeric Calibration POC ME a 31
28. keys to non volatile disk system cp ssh authorized keys ffs dropbear root ssh authorized keys cp ssh authorized keys ffs dropbear home dt100 ssh authorized keys Rev 52 Page 122 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 19 6 Trigger Event What Why When 19 6 1 What Trigger starts acquisition Trigger is actually wired to the hardware and with trigger selected no data is captured until the Trigger condition is met Event external digital edge is embedded in the Analog data stream in order to mark the exact point of occurrence for downstream software Events are also wired into the hardware but have no effect until the capture has started 19 6 2 Why Both Trigger and Event have the function of synchronizing analog data capture to an external signal Trigger is simpler to implement Start Now Detecting external edges once the capture has started is less simple because the software data sink process is operating asynchronous to the sample clock at the end of a sometimes very deep pipeline it is not possible to indicate the exact point of occurrence to the software in real time So instead we have the strategy of embedding the information in the data stream so that the exact point of the transition can be identified relative to the analog date 19 6 3 When Common Uses Use Trigger to start a one shot transient capture SOFT TRANSIENT len Use Event to
29. number of samples in the driver Then upload data from the LOWLATENCY capture and review This is a 50Hz waveform sampled at ECM100 1Mhz 100 10kHz 15 9 Digital lO LLCONTROL handles digital IO The standard setup is to treat the 6 dedicated DIO lines as inputs and the 32 bi directional lines on RTM DIO32 as outputs The llcontrol module provides hooks for two constant HOST buffer addresses dev llc DO_ src Host buffer address for single 32 bit DO word dev llc DI_target Host buffer address for single 32 bit word with 6 lines of DI in 5 0 Example Use echo 0x1a000000 gt dev llc DO_src echo 0x1a000010 gt dev llc DI_ target DI_target is written immediately following write of the Al input vector DO_src is transferred immediately following write of an AO output vector Please note that DO_src DI_target are single constant addresses in the HOST memory space and are NOT updated during the shot It it the responsibility of HOST software to ensure that the HOST side data is accessed at the correct times Rev 52 Page 106 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 15 10 Host Side Driver Capability D TACQ supports a full featured Linux host side driver The driver supports full access to all commands provides a remote shell over PCI facility and provides mappings to card control registers and host memory However this driver is large and is currently restricted to e Linux 2 4 x
30. of the mode is demonstrated via a user mode driver an application that makes calls on the regular acq200 drv driver to map the mailbox registers into application space and then controls the board via these registers The application also has to map a fixed area of host memory to use as a target for the acquisition process The AO functionality is implemented by i20 messaging where a series of inbound outbound buffer queues are maintained with assistance of common hardware registers The messaging unit register map is duplicated from 5 with additional functional definitions relevant to LLCONTROL added Rev 52 Page 102 of 151 Date 19 June 2012 D TACQ 2G User Guide Messaging Unit Register MAP D TACQ Solutions Ltd Offset Description Ident LLC Function G 0004H reserved 0008H reserved 000CH reserved 0010H Inbound Message Register 0 10P321_IMRO BP_MB_LLC_CSR 4 0014H Inbound Message Register 1 10P321_IMR1 BP_MB_LLC_DATA_ADDR R 0018H Outbound Message Register 0 10P321_OMRO BP_MB_LLC_TADC 001CH Outbound Message Register 1 10P321_OMR1 BP_MB_LLC_TINST 0020H Inbound Doorbell Register 2 0024H Inbound Interrupt Status Register a 0028H Inbound Interrupt Mask Register s 002CH Outbound Doorbell Register 10P321_ODR 0030H Outbound Interrupt Status Register 10P321_OISR 0034H Outbound Interrupt Mask Register 10P321_OIMR 0038H reserv
31. or Linux 2 6 21 or better e x86 architecture 32 bit pointers LLCONTROL applications using host systems outside this restriction is possible using the following minimum driver interface 1 Driver provides a memory mapping of the ACQ196 messaging unit registers to the LLCONTROL application 2 Driver provides a mapping of the 16MB slave memory area to the LLCONTROL application However it should be noted that the target side LLC module makes increasing use of sysfs files to allow user space control of acquisition parameters Where parameters are not catered for by the basic message register protocol the sysfs based parameters may be set by one or more of the following methods 1 remote shell acq2sh pci backplane messaging 2 Embedded boot script on the target 3 Over Ethernet either by cgi script or via ssh 4 A future block configuration setup via the pci backplane is proposed Method 1 is generally the most convenient since the host side system is then able to control all the parameters without access to any external communication channel ie Ethernet However this will not be possible with the minimum driver interface For test purposes we strongly recommend interactive use of the Ethernet channel and cgi scripts for setup and monitoring are provided Mid term appropriate settings can be made via a custom boot script stored in card local flash file system or set at run time via automated cgi or ssh scripts Long ter
32. post buffer in the normal way while the dark data is available in the first PREP 14 1 2 Example 2 Event as Trip A test stand captures data at high speed for a long time 1h typically The users do not want to see all the data but they do want a series of snapshots sampled at full rate taken at intervals Typically this could be a PREP or maybe 10 k samples every minute resulting in 60 PREPs during the course of the test In this system if there is an exception eg a flashover or power trip then a large full rate pre post data set is required for post mortem analysis This is handled by the normal pre post capture mechanism At the end of the test and trip data is uploaded in the normal way while the PREP data is uploaded as described below 14 2 Mechanism 14 2 1 Overview The Preprogrammed Trigger Mechanism PREP requires the internal data management to be segmented During capture firmware fills a large data buffer segment by segment When a PREP is detected the segment is reserved and protected from overwrite until it has been specifically freed by application code PREPs are defined in a batch before the shot A series of device nodes is used to allow a convenient application interface to the driver As always definition and status is ASCII good for scripting while the data is efficient binary Rev 52 Page 93 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd A PREP may existing in the follo
33. program is provided as ccc jar please follow instructions on rtmdds cgi The Frequency Tuning Word FTW may also be calculated locally using the dds command API load rtmdds should be loaded at boot time eg via ffs rc local dev ftwl Frequency Tuning Word 1 load with 6 byte hex number dds frequency ext clk frequency ext clk multiplier set acq164 role ROLE CLKHZ ROLE MASTER EXTCLK MASTER SLAVE SOLO CLKHZ 1000000 100000000 Hz 1Hz steps MASTER source clock from Local Oscillator share this clock on PXI D1 Input trigger on TRG LEMO share on PXI D3 EXTCLK MASTER Take a 1MHz plant clock in CLK LEMO multiply up to required sample rate Share this clock on PXI D1 Input trigger on TRG LEMO share on PXI D3 SLAVE accept clock on PXI D1 TRG on PXID3 SOLO source clock from Local Oscillator Rev 52 Page 115 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 17 1 Clock Source Clock source to the DDS is software selectable set rtmdds clksrc REFCLK DI 0 5 REFCLK is a local 66 6666666MHz crystal 17 2 Output Routing Output DeSTination of the DDS may be routed as follows set rtmdds clkdst DO 0 5 The signal must be routed out of the Rear IO and on to the local FPGA and optionally across PXI to other cards set route in rio out fpga pxi 17 3 Control signal direction in relation to front side board Fast signal lines may be configured as outputs from the R
34. sourced from normal external clock sources such as LEMO_CLK or PXI It s anticipated that a relatively low rate external clock typically 1MHz is use and multiplied up locally to make the local high speed SCLK 23 2 1 Oversampling Decimate Accumulate ACQ132CPCI ADC devices are grouped into 4 channels per FPGA This basic unit known as QUAD has some per quad functionality Notably control of oversampling rate accumulate decimate and locate channel masking Control of individual QUADS and channels within QUADS is complex to manage In this section we describe a global control that sets all QUADS equally set all acq132 decimate NACC SHIFT set all acq132 accumulate NACC SHIFT sets all channels to decimate accumulate by NACC samples scaling data by SHIFT set all acq132 decimate 4 2 Decimate by 4 left shift 2 presents 14 bit ADC word as a 16 bit normalized short set all acq132 accumulate 4 0 Accumulate by 4 shift of zero 4X accumulation 14 bit word is multiplied by 4 and scales to a 16 bit field set all acq132 accumulate 16 2 Accumulate over 16 samples The 14 bit data values multiplied by 16 has to be right shifted by 2 to fit a 16 bit field NB setInternalClock setExternalClock WILL SET decimation factor users can override this if required by setting a specific accumulate decimate value AFTER running the setInternalClock setExternalClock command 23 2 2 Internal Clock Examples SCLK Sample Clock DECIM decimatio
35. supported and so the ACOxxx will work with what ever speed and bus width is selected by the system slot card ACOxxx has a full master slave interface and for maximum performance will Rev 52 Page 14 of 151 Date 19 June 2012 D TACQ 2G User Guide master data on the bus D TACO Solutions Ltd For installation instructions for Host side driver for this mode please refer to 4 2 3 System Slot Controller By factory configuration option ACOxxx cards are able to perform the system slot function for other cards in the CompactPCI chassis In addition ACO196 has a jumper option for Standalone Mode where the card isolates itself from the JP11 IN Default OUT Jtag not for customer use 32 AI on 68 W SCSD backplane PCI logic Rev 52 32 Al LS on 68W SCSI2 32 AI on 68W SCSI2 EXT CLK p TRIG on LEMO lam JP10 IN Standalone OUT PCI Page 15 of 151 Rear Transition module TMAO 16 AO 68W SCSIZ J LS J5 J4 T 100 BaseT Eth p RJ45 Jl 32 DIO E 68W SCSI2 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 3 Getting Started l Mechanical installation refer to Installation Guide Currently it is mandatory that each front side board have an accompanying RTM at the rear side
36. the calibrated voltage is a matter of applying the straight line formula y YI x X1 2 Y1 l X2 X1 recast as volts V1 raw code V2 V1 I code code where raw is the raw binary reading and V1 V2 are the calibrated range limits COdemin COdemax are presented in the calibration file etc cal caldef xml code_min code_max ACQ164CPCI 8388608 8388607 All other cards 32768 323767 Rev 52 Page 31 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 9 2 3 1 Equipment DC Voltage source should be stable but accuracy is unimportant RTM AO16 makes a good voltage source DC DVM 4 5 digit accuracy is important We use Agilent Model 34410A with Ethernet connectivity and offer a fully automatic calibration when using this device Cables to connect a group of channels to the source On ACQ216 a group of 8 channels entailing a 2 pass calibration to cover all the channels works well While the procedure can handle fewer channels clearly the overall process will take longer 9 2 3 2 Procedure Log into the card as root Check that an appropriate file etc caldef xml is present Cards ship with the correct calibration file but in the event of a configuration change eg mezzanine change on ACQ216CPCI a number of template files are present in the directory and the closest fit should be selected For each input voltage range choose two input voltages
37. to application input Applications requiring significant real time data processing are best handled in the FPGA In addition it is possible to extend the capability of 2G using kernel modules typically the kernel modules will disable interrupts altogether during capture and take complete control of microprocessor execution An example of this is the Low Latency Control module Rev 52 Page 10 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 1 2 Intended Audience Users of D TACQ 2G products software developers integrating the products with existing data management systems and software developers developing applications to enhance the product 1 3 Scope This guide is generic to all 2G products Where products vary in detail examples are provided for each Current applicable products are ACQ196CPCI ACQ216CPCI ACQ132CPCI ACQ164CPCI WAV232CPCI Functionality specific to each of these products is handled in a separate appendix Rev 52 Page 11 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 1 4 Glossary ACOxxx generic reference to D TACQ 2G card eg ACQ196CPCI ACQ216CPCI ADC Analog to Digital Converter ARM Advanced RISC Machine a microprocessor architecture CompactPCI industrial formfacto with Eurocard mechanics PCI signaling XSCALE Intel implementation of the ARM architecture used on D TACQ 2G D TACQ D TACQ Solutions Ltd DDR Double Data Rate double edged clock
38. 000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 Set channel 3 to Range 625 mV set vin 3 625 3 0000 3 0000 3 0000 3 0000 0 6250 0 6250 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 Set channels 10 16 to Range 1 V set vin 10 16 1 Rev 52 Page 46 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 3 0000 3 0000 3 0000 3 0000 0 6250 0 6250 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 To Read the voltage range acqcmd getVoltsRange is provided for back compatibility it will return the values of the largest selected range eg acqcmd getVoltsRange ACQ32 getVoltsRange AI 3 0V 3 0V AO 10 0V 10 0V To recover the actual range that each channel is set to including any calibration get vin 3 0000 3 0000 3 0000 3 0000 0 6250 0 6250 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 1 0000 if a calibrated range is not available this command returns the default s
39. 4 DDD GA Personality ere a O eaieates 135 23 Appendix ACQ132CPCI Add Ons inicscsiensossuenconcaedancoseaenedaddossnensaneacdoneanceataedgnaeates 136 2AM Nano Channel Mas Sn a LOA 136 22 CLOCK A ioe da vaal acter tet a Coin csalat a ghsede A a 138 23 2 1 Oversampling Decimate Accumulate oooocnnoccnocococccnonoconcnonnnnnccnnnncnnnno 138 232 2 Mena Clot AA EEEa 138 232 3 AS AA tec ocknucpadurnidn aatadeucadoan td a n ed aak 139 23 24 Clock Diagnostic ionn ee waren nme eas 140 23 3 ACQ132 32 65G High Speed Transients RGM ooocnconncccnococoncconncconccinnnconnns 142 232 Bll DIME A aA E snes acslon lade E a E a A E 142 234 GPG Gate PUSO ENCON tna 143 23A k L w Level Interface A A IA 143 23 4 2 High Level Interface tai e e E i aS 144 23 5 M lti Rat Capability vcs sc sinscadosueas e e n a na a a aas 145 A Restrictions A A A A A O 146 23 6 Switched DualRate Mods iii AN 146 7D Ov A RENE ES 146 23 7 Wvetsamp lino FIR is 148 23 Aaa ble Personaliti socal scan sta vice a es 148 A AS A A el aatbn aces 149 24 ACQ164CPCI Special Characteristics eiii ado 150 24 1 Accumulate Decimate TIA i 150 2 ACOI19G6C PEI Special ES ur ts 151 2 P lse ERA OS 151 25 2 Final Stage Filter Accumulate Decimate function ococonoconoconoconincnnnnnanannos 151 ZERO A A ESO 151 Rev 52 Page 8 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd Copyright and Attribution Document created using OpenOffice Org www openoffice org
40. 4 Calibration Table The Calibration Table CT is stored in a text format XML so calibration data from any alternate user supplied calibration process may be used The Calibration Table is also used to store the definitions of the available input ranges and the default values for those ranges At boot time the appropriate CT is available at etc cal caldef xml and if a custom calibrated CT is available the master copy is held in FFS at ffs dropbear etc cal Mx caldef xml 9 2 5 Polarity The CT is a handy place to implement a Polarity Inversion if required simply modify all the ranges such that the positive value comes first and the negative second See polarity parameter in the DATA block Rev 52 Page 33 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 9 2 6 Full automation example valid for HiZ mezzanine rm etc cal caldef xml ln s etc cal M2 hiZ xml etc cal caldef xml identify our DVM by IP address ignore this step for manual DVM IP 34410 192 168 0 168 usr local CARE start proxy 34410 IP 34410 ln s usr local CARE getvolts 34410 usr local bin read dvm check it works read dvm 9 74757473E 00 for manual input omit this step and calibrate will prompt for feedback export AUTO DVM 1 Our voltage source is a nearby ACO196CPCI RTMAO16 with the fungen service running If you don t have a programmable voltage source ignore this step and the cal
41. 8 op 1 0000 0000 1111 1010 6 4 SES 11 2 OIGO tha weakly OO OO 7 4 8 8 O 1 4 0000 A AA OO The corresponding channelSpeedMasks are set channelSpeedMask 11111111111111111111111111111111 set channelSpeedMask 22222222000000002222222200000000 set channelSpeedMask 80002222000000008000222200000000 set channelSpeedMask 80004040000000008000404000000000 set channelSpeedMask 40402222000000004040222200000000 set channelSpeedMask 40402020111100004040202011110000 set channelSpeedMask 40401111111100004040111111110000 AD nm Bi Y Ne It proved to be infeasible to reconstruct the channel data in ACQ 32 firmware it is more efficient to upload the raw data as a block and then to de channelize on a HOST computer A host side program is provided to do this acq132_decode T clock C csm RAWFILE csm the channelSpeedMask clock clock rate in nsec RAWFILE a copy of dev acq200 data XX on the host computer Example upload script root acq132_ 033 cat etc postshot0 d curlup bin sh curl netrc T dev acq200 data XX ftp rhum ACQ132 MR XX get channelSpeedMask Rev 52 Page 145 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 23 5 1 Restrictions Use on 4C0132 32 32F only base sample clock 32MHz 23 6 Switched DualRateMode This mode is intended for continuous operation We defined two sample rates High Rate AR set with nor
42. 9 24 Calibration ao a a a ii 33 9 2 Polar tyna h Derna aa e a wv a e van ea a a 33 9 2 6 Full automation ampli ida 34 9 2 7 Calibration Table Example as 35 10 Command Referenten dni 36 10 Wie Ram AA aay a RE EEE Ea 36 10 Linear Tinas n e E E N 36 10 1 2 Regions of Interest PRE Programmed triggeTS oooonoccnnnnnnonccnnonancnnnnoss 36 10 1 3 Discontiguous Timebase Repeating Gate MOd8 oooooconocccnoccnocaconccinnonnnos 36 10 1 4 Random Multiple Events MULTIVENT ceesceeseeseeteeesteeeeneeeenees 37 102acqemd Interface sel adi 38 LO Sd tlOO Trem Gte Mtra la is 38 10 4 Shell command Menace acess tacesacuats ces tieveersealy4 oa a 38 10 4 1 High level command Clock Role SettiM8 ooonoconnncninncccnnocccconnaccnonnncnos 39 MOPED A ees a ia pantdenvebsersaaideh aise E E taut ce 39 1043 Genetic Pre Post Mode id adi 44 LO AL Repeatino Gate Mode iio 45 104 5 Input Voltage TAN Ge a a acacia 46 10 4 6 Channel Mask and Channel Colt ooooonnoccnocococccinncnonaconcnconncnnnonancconnccnnnos 47 10 4 7 Block Technique for Setting Channel Mask ooncononccnicinncnncnooccnooncnonnoss 47 10 4 8 Access fields in calibration Merit id 48 10 4 9 set autozero start an autozero process Acq196 Only oooooococcconccc 49 10 4 10 Analog Output Controla lides 50 10 411 RITM DIOS COMO mre peia e IRON 60 104 12 Timer Count 60 10 4 13 Monitor state with acqstate StateM0N ocooonncconoconocccoocnconnconnacannncnnnnss 62 11 Data Interface
43. 940k sb1000k bin acq132cpci_adc fpga top fir 132M 02M pb960k sb1000k bin nter selection AMN O 6U 4 U Ni example shows user loading personality 4 this can also be done on one line useful for scripting select personality acq132cpci_adc fpga top fir i32M 02M pb900k sb1050k The new personality will be loaded at next boot It can also be loaded on the fly using acq132_reload_personality example script to load a new personality on the fly select personality acql32cpci adc fpga top fir 132M 02M pb900k _sb1050k acq132 reload personality Rev 52 Page 149 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 24 ACQ164CPCI Special Characteristics ACQ164CPCT is most similar to ACQ 96CPCTI other than that it uses the same ICS_527 PLL clock cleaner as ACQ 32CPCTI So the same clock commands apply as per ACO132CPCI ICS_527 has min 4MHz rate ACQ164 has max 128kSPS rate So the clock is in fact the INPUT clock and the output rate is much 256X 512X depending on mode slower Typical ACQ 64 ICLK is 32MHz This is too fast to distribute on PXI So in a master slave setup the firmware selects ICLK 8 to distribute and this clock is multiplied by 8 on slave cards In addition the AD1278 ADC device requires a SYNC pulse to start capture and this sync pulse is shared between devices on a board and between boards in a crate The CPLD generates SYNC a single
44. 96 Example blocks of 32 channels get modelspec ChannelBlockMask BlockWidth 32 get modelspec ChannelBlockMask BlockSet 111 j 110 101 911 g 100 i 010 j 001 ACQ216 Example blocks of 4 channels grouped from lowest logical channel get modelspec ChannelBlockMask BlockWidth 4 get modelspec ChannelBlockMask BlockSet 1111 j 1110 1100 i 1000 Use this information as follows e set channelBlockMask lt mask gt e get channelBlockMask ACQ216 Example setting a channel mask using block commands set channelBlockMask 1100 acqcmd setChannelMask 1111111100000000 ACQ32 acqcmd getChannelMask ACQ32 getChannelMask 1111111100000000 10 4 8 Access fields in calibration file Default calibration file etc cal caldef xml contains all calibration and other useful parameters for the card Applications may load and parse this file directly Rev 52 Page 48 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd eg e acq2sh cat etc cal caldef xml e wget http hostname etc cal caldef xml Or it is possible to extract selected fields using e get caldef lt field gt get modelspec lt field gt get caldef Info CalDate 20041225 get caldef Info Version B1007 get caldef Info Model ACQ196 get caldef Info Serialnum d30000 get modelspec ChannelBlockMask BlockWidth 32 get modelspec ChannelBlockMask BlockSet 111 110 101 011 100 010
45. CLK_NOICS LO_ICS opts for ACQ132CPCI 48 01 06 10 DualRate 49 17 09 10 Document set acqlxx role 50 25 11 10 ACQ164 NACC accumulator 52 19 June 2012 ACQ196 NACC accumulator Rev 52 Page 3 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd Table of Contents A NOS 10 MA OS 10 1 1 1 Hard real time under LM TIE 10 A rl A ca toca see a A a e a ENEN 11 Y O 11 A E EE AE S acd 12 1 4 1 Signal Processing Terminology i cccsscccsicssscocsccencecvecdennsvccnsnuresaccuancousseees 12 1 4 2 Filter Terminology A O sues aicandeacena Ee 12 14 3 S ftwate Referente See inr a E 13 KAA REIEreNCE Sec ae n a n a aea 13 A A E E A Uae he tea E Se A Goal he tre rade alii 13 2 Recommended Dep Md aci n 14 2 1 Standalone INCEWOEK CG ut ii lod 14 2 1 1 Network TOPOlO Ry 2554 seve A itaeve ae He meme tenes 14 2 2 Backplane Peripheral Mods dE iaa 14 2 3 System SOE ODOT A O seta iiesvonae Rares beats oe anes 15 S Getin UAT LC ark e E oia 16 4 Trouble SOO GIN ec asta seeda n A ad 17 41 Eront Panel LEDS asrnane a e ult Rocarda Pcadeitih Gadde te ltd ahe dance an a 17 42 Console Interesa ana tl 17 e a mie ea ee E R E A EEE EEE EE Eia 18 S1 2G VERVIEW carries ue usien ieia A A 18 5 2 Operating A E E E i aies 18 5 3 Flash Memory Laurita E AE REOT A 18 A i a a E REEE E E EET SEE N R EAA 19 6 Personal ita ri dt 20 6 l Boot load dial siads 20 A A nn aia RAE obese nsedevebes 20 6 12 BOO CII tantra 20 Os TB RESCU C ein wreh ate ib
46. D TACQ 2G User Guide D TACQ Solutions Ltd D TACQ 2G User Guide Prepared By Peter Milne Date 01 June 2010 Date first issue 7 September 2009 Primary Instruction and Command Reference for D TACO Intelligent Data Acquisition Cards ACOI32CPCI gt ACOI96CPCI gt ACQ216CPCI e WAV232CPCI gt ACQI64CPCI Comments corrections and constructive criticism welcome support d tacq com How to read this document We do not recommend reading the whole text in detail it is more of a reference However for users unfamiliar with the ACQxxx architecture at least a skim read of Sections 1 13 is recommended It is 140 pages long best not to print it Recommended way to view Load in Acroread use the Bookmarks window for navigation each section is book marked Rev 52 Page l of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd Rev Date Description 1 18 May 04 First issue 2 20 May 04 Work in progress 3 02 Jun 04 Add routing examples 4 23 Jul 04 Add RTMAO 16 description 5 23 Jul 04 dio32 6 09 Aug 04 FAWG description 7 20 Aug 04 Data interface description23 January 2008 8 07 Sep 04 Customization via ffs rc local 9 20 Oct 04 Add clock routing scenarios 10 19 Nov 04 Add ssh login descr 11 24 Feb 05 Routing concept dia
47. D TACQ Solutions Ltd 12 Data Interface Continuous Streaming 12 1 Introduction ACOxxx products are capable of continuous data capture however careful consideration must be taken to match the high possible capture data rate with possibly lower performance communication capability 12 2 Ethernet Host Pull Streaming In this mode a host side application pulls streaming data off the ACQxxx using the dt100 stream command 20 1 2 9 This is suitable for low rate data lt 20MB s but it s simple to set up and is highly scaleable Example streaming client software includes the dt10 rc GUI program and streamer an example application provided with the API dt100rc is able to plot live data and to store the data to disk a frame at a time streamer is able to store data in DirFile format ready for immediate plotting using kst or suitable for further processing 12 3 Ethernet Target Push Streaming In this mode we assume that the HOST is set up as an ftp server The capture proceeds on the ACOxxx filling the local 1GB DDRAM as a cyclic buffer The buffer is divided into 6MB TBLOCKS presented as virtual files A scripted process monitors the progress of the capture controlling an ftp client session that will send each TBLOCK to the HOST as an ftp file transfer The HOST side disk we recommend a ramdisk builds up a mirror of the local DDRAM with a series of 6MB files 000 130 With a correctly configured network this process can sustai
48. ENOB GAIN 32 5 500kHz 15kHz 2 5 bits 1 32 4 500kHz 15kHz 2 5 bits 2 25 4 500kHz 20kHz 2 5 bits 25 16 16 4 500kHz 31 25kHz 2 0 bits 2 04 2 500kHz 125kHz 10 bites E 01 0 500kHz 500kHz default configuration Rev 52 Page 151 of 151 Date 19 June 2012
49. Guide D TACQ Solutions Ltd get all the data decimated by 100 in time to look for region of interest set sample read stride 100 cp dev acq200 data 01 combfile get a region of interest for channel in 01 02 03 04 05 06 07 08 09 10 do cp dev acq200 data ch roifile ch done These controls are most usefully combined with use of the ftp client facility 11 7 Efficient Comb Read With readd The readd utility is provided to give controlled access to the data nodes with either a START STRIDE STOP or a START STRIDE LENGTH idiom readd help Usage readd OPTION channel S Start INT e end INT 1 len INT K stride INT b buflen INT V version d verbose INT In practise use of normal read facilities cat dd ftp combined with set sample_read xxx is more effective than readd Rev 52 Page 68 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 11 8 MDSplus Thin Client ACQxxx includes an MDSplus Thin Client able to export data direct from channel to tree via an MDSIP server The Thin Client is intended to provide an interface to MDSplus for regular shell interaction that is very similar to the interface that is presented in other environments like IDL 11 8 1 Mdsshell detail The thin client implementation is an executable mdsshell One instance of mdsshell operates as a local proxy server capable of holding up a TCP socket connection to a remote MDS
50. I3 External Trigger DI4 DI5 Source Description Notes Mezz Front panel input LEMO DIO CLK DI3 TRG others not connected Fpga socal DIO output Useful for driving other cards Rio ocal Rear IO inputs Depends on RTM Pxi Backplane PXI signaling One source can be routed to multiple destinations Destination Description Fpga ocal DIO input Always needed to respond to incoming signals Rio ocal Rear IO outputs Depends on RIM Pxi Backplane PXI signaling Slave from other cards Diagnostic and control available at http cgi bin dio cgi Scripted control via set route Rev 52 Page 40 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd set route dX in input out outputs Examples Single card slaved from front panel take trg in lemo use locally only set route D3 in mezz out fpga Master card distributes front panel LEMO signal to self and rack source trigger from mezza out fpga INPUT pxi set route D3 in mezz out fpga pxi Slave card from pxi source trigger from pxi to fpga INPUT set route D3 in pxi out fpga Master card in rack self clocking source trigger from fpga OUTPUT drive pxi set route D3 in fpga out pxi e Internal Clock on Master card can clock other cards source clock on master set route DO in fpga out pxi enable clk mastering set InternalClock NNN DOO ensure DO is an output setDIO 0 Rev 52 Pa
51. IOC lsad socket tmp epics acq2ioc SCRIPT amp echo To connect to epics use lsac socket tmp epics Rev 52 Page 117 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 18 4Access MDSplus via shell scripts on x86 host The MDSplus Thin Client mdsshel1l runs just as well on an x86 host computer as on the XSCALE ACQxxx cards We have found this to be very useful for example 18 4 1 Submitting continuous framed data to MDSplus Data is streamed continuously from ACQxxx cards at low rate The dt100rc client manages the data stream providing near real time plotting An effective method of delivering this data to MDSplus as follows 1 dt100rc controls the data stream and saves raw framed data to a file tree 2 every second dt100rc spawns a scripted mdsshell job MDSput is able to extract channel data from the raw framed data and to submit it to MDSplus This is implemented in a 300 channel 1kSPS streaming system The data is deframed efficiently in blocks of 32 channels Full dechannelization is performed in the MDSplus tree at a later stage 18 4 2 Extracting data from MDSplus to export to analysis D TACQ makes extensive use of GNU OCTAVE for data analysis Octave is able to read binary data in either integer or float format and we use mdsshell to extract the data eg mdsValue o tmp ch01 volts ACQ216_032 CHO1 and the GNU OCTAVE import script looks like this octave octave gt fp
52. IP server Once the server is running other instances of mdsshell act as discrete scriptable MDS commands The commands are implemented for convenience as named links to the mdsshell executable in the manner of BusyBox root acq196 035 mdsshell help mdsshell Revision 1 4 B1010 mdsshell mdsshell multicall binary and server Revision 1 4 B1010 server mdsshell 2 gt amp 1 logger t mdsshell amp mdsConnect mdsOpen mdsPut mdsValue mdsClose mdsSetDef 1 Run the server perhaps from ffs rc local mdsshell 2 gt amp 1 logger t mdsshell 2 Connect to a remote MDSIP host root acq196 035 bin mdsConnect eltcal MDS_SOCK 7 3 Open a Tree mdsOpen MYTREE 4 Put Data mdsPut format shorts length 1000000 ch01 A cat dev acq32 acq32 1 01 Rev 52 Page 69 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 11 8 2 mdsPut special features mdsshell gt mdsPut help mdsshell gt Usage mdsPut OPTION F format STRING l length INT d dim STRING S Subarray STRING STRING major dimension offset len e expr STRING f file STRING t root STRING h help u usage Typical Use cases Assume shell variables CHFILE dev acq200 data CC XXP dev acq200 data XxP SA available samples NC number of channels MDSFIELD suitable MDS field name PUT Channelized data extension of example above mdsPut f
53. If you do see errors it may save you time not to reboot until the errors are resolved The ACQxxx card does have a failsafe boot image which can be used if the firmware upgrade fails 6 1 3 8 1 What Images are involved File Name Description Fmt Frequency Scope of Update 1 vmlinux img Linux kernel u boot 1 common 2 initrd boot Initial ramdisk u boot 1 common 3 Extra img Application ramdisk gz 3 common 4 AcqXXX rbt FPGA firmware gz 2 model 5 XXX gZ Custom application gz 2 common Frequency 1 seldom 2 more frequent 3 most frequent Images 1 2 3 are common to all ACQxxx ACQxxx Image 4 is specific to the board model and indeed to the FPGA device fitted on the board Please contact D TACQ for update advice Several Custom application images are available eg MDSplus Thick Client EPICS IOC 8 2 From host computer via ssh This works well if you have public key login set up On the host In release top level directory images remote update lt ip gt lt hostname gt opts opts vmlinux initrd extra cal fpga allbutcal all This procedure works natively on a Linux computer but has also been tested from Windows using cygwin 8 3 Via CPCI Backplane On slot 1 host assumed x86 Linux using upgrade all acq200 Rev 52 Page 27 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd Please note that upgrade all acq200 will upgrade all boards unless boards are spec
54. LK is 10MHz derived clock is 250kHz N 40 set route d0 in mezz out fpga pxi set route d3 in mezz out fpga pxi set trig DI3 falling DO2 is an FPGA OUTPUT acqcmd setExternalClock DIO 40 D02 set route d2 in fpga out pxi acqcmd setDIO 1 resets ADC input leaves divider setting set ext_clk DIO NB in order to configure a full master slave rack at constant phase either start the external clock AFTER all ACQxxx setups are complete or action 1 LAST Rev 52 Page 85 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 13 3 Slave Derives Clock from Backplane Example Slave part of 13 1 Slave is ACQ196 CLK is 1MHz on backplane local sample rate 250kHz N 4 set route d0 in pxi out fpga set route d3 in pxi out fpga set trig DI3 falling acqcmd setExternalClock DIO 4 optionally output derived clock to DOI DOI is an FPGA OUTPUT Option is non preferred since there should only be one card driving the line and it may be simpler to configure all slaves the same Rev 52 Page 86 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 13 4 Slave Uses Backplane Clock Directly Front ADC PXI Panel B Example for use with 13 2 Example Slave is ACQ196 CLK on backplane is 250kHz on d2 set route d2 in pxi out fpga set route d3 in pxi out fpga set trig DI3 falling set ext_clk DI2
55. LL gt etc postshot d full The example looks more complicated than it is due to the need to protect shell variables from premature evaluation first by the client side command ACQ2SH second by the target side command echo The scripts that are created are as follows expanded to multiple lines for readability etc postshot0 d stride TREE mukwa TIMEBASE 100 NODE HN S CH 02d do mdsPutCh TREE do mdsSetEvent HN FAST etc postshot d full TREE mukwa do mdsPutCh TREE do mdsSetEvent HN FULL Rev 52 Page 79 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd e etc postshot0 d stride runs with minimum latency opens the Tree mukwa and writes all channels HN S CH 02d with a stride of 100 then sets the event HN FAST e etc postshot d full runs after the data transform opens the Tree mukwa and writes all channels HN CH 02d canonical name with the full data set then sets the event HN FULL Clearly scripts to control other technologies eg FTP can be created on the fly by the host in the same way 11 14 2 FTP client ACQxxx includes a full ftp client implementation and this may be scripted to automatically transfer data at the end of the shot 1 Install suitable netrc file in the root directory Must have 600 permission to make a non volatile copy install in ffs dropbear root 2 Develop an ftp script perhaps by following the example given
56. MULTIVENT can run indefinately provided the average event rate does not cause the local DRAM to overflow MULTIVENT is described in detail in a separate document Rev 52 Page 37 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 10 2 acqcmd Interface see ICD In addition the basic Operating Modes are enhanced by provision of User specified Trigger A Trigger is a digital input transition that starts a capture In contrast to 1G where the trigger was a implied by the various modes and the LINE and EDGE was fixed in 2G the user can specify both LINE and EDGE In order to user a trigger it MUST be explicitly specified and more generally if a trigger is specified it will apply regardless of Mode i e if a trigger is specified it will start capture otherwise the capture is soft triggered User specified Event Event is a digital input causing a transition from one Phase to another at the moment only two Phases are defined pre post and this in the SOFT_CONTINUOUS TRIGGEREDCONTINUOUS modes In the same way as with the Trigger LINE and EDGE is user definable Example Use Traditional one shot capture Set Trigger set Mode GATED_TRANSIENT SOFT_TRANSIENT is equivalent if a Trigger is defined Traditional pre post capture Set Event setModeTriggeredContinuous it is assumed that the pre buffer is filled before event Synchronized Streaming On multiple boards set Trigger to be th
57. N hostname e HOME mdsPutCh nosh literal keyword definitions default mdsPutCh nosh mdsPutCh nosh variables with NO SHELL interpretation this is a comment NB we need spaces around because it is a valid tok char generic digitizer timebase support T2 is end time TO SO DT T2 S2 DT timebase the Window takes the subrange into account win Build Window 0 S2 S Build With Units 0 0 seconds axis Build With Units Build Range T0 T2 DT seconds tbase Build Dim win axis Build a raw to volts scaling expression SCAL Build With Units V1 V2 V1 VALUE R1 R2 R1 volts top level expression is quoted to beat shell quoting on command line calsig Build Signal SCAL tbase Saving data to MDSPLUS SIGNALS with correct timebase e use the scalsig expression e works with full and sub timebases the timebase switch is automatically translated into the MDSplus expression Todo future options to supporting REPEATED GATE subshots lt n step gt number of times to step and repeat timebase subfield SUBFMT MDSplus field definition d substitutes step subfield prepends field when set Rev 52 Page 72 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd Examples upload mdsPutCh upload mdsPutCh upload mdsPutCh upload mdsPutCh upload mdsPutCh upload mdsPutCh 96 channels
58. PG Gate Pulse Generator The FPGA provides a 4 bit Gate Pulse Generator GPG The GPG is programmed by a list of Gate Pulse Descriptors GPD defining an output state to be achieved after a clock count The output state is 4 bit the count per element is 28 bit The GPG is clocked by the JCLK e Output State 4 bit d4 d5 d6 d7 e Resolution lusec default e Maximum duration per element 268s e Number of elements no limit 23 4 1 Low Level Interface set dtacq gpg mas none set dtacq gpg mas dX1 1111 dX2 12 dX3 13 dX4 14 dXn d4 d5 d6 d7 In 0 1 initial state default 10 0 IN IN 1 eg set dtacq gpg mas d7 1 d6 0 d5 d4 d7 is a master output initial value 1 d6 5 4 are master outputs initial value 0 Selects which bits are output from the GPG Program gpdgen gpdgen help will generate simple gpd lists on the fly root acq132_ 019 gpdgen help root acq132 019 gpdgen help Usage gpdgen OPTION n nbursts INT number of pulses i interval INT pulse spacing ICLKs b blen INT pulse Length ICLKs pulse on INT pulse ON pattern pulse of f INT pulse OFF pattern Loop INT 1 loop forever Show Defaults root acq132 019 gpdgen verbose 4 device dev acq132 GPD nbursts 1000 interval 32768 blen 128 loop 0 pulse on 0 pulse off 0 Rev 52 Page 143 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 23 4 2 High Level Interface User
59. PROCESS 1 22 74 ST ARM 0 06 ST RUN 0 80 ST _CAPDONE 0 41 ST_POSTPROCESS 123 22 Rev 52 Page 63 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd OK 33531 93 33532 93 33533 37 33533 93 33533 93 33533 98 33534 41 33535 36 33536 35 watchdog OK 33567 29 33568 29 33569 29 33570 29 watchdog watchdog OK 33571 29 33572 29 33574 29 watchdog 33576 29 watchdog OK 33577 40 33585 40 watchdog 33586 40 watchdog OK 33588 08 33589 08 33604 08 33605 08 33606 08 33607 08 33608 08 Sample Dialog D TACQ statemon Revision 1 heartbeat 1 heartbeat ENABLED timestamp timestamp 0 ST STOP 1 ST_ARM 2 ST RUN 5 ST CAPDONE 4 ST POSTPROCESS 0 ST STOP timestamp timestamp timestamp timestamp timestamp 1 timestamp timestamp timestamp t33575 29 timestamp timestamp 2 timestamp timestamp timestamp 3 timestamp timestamp timestamp timestamp timestamp timestamp timestamp WDT kicks in and the card reboots Rev 52 Page 64 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 11 Data Interface Transient Data 11 1 Introduction Default operation mode is to take a one shot transient to local memory at a high sample rate then stop and upload the data Pre Post capture has an element of continuous capture however in terms of data upload it s still a stop and upload mechanism During a Pre Post capture the card is
60. Rev 52 Page 87 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 13 5 Internal Clock optional backplane Clock Master Front PXI Panel Example ACQ196 250kHz master to backplane on dl acqcmd setInternalClock 250000 D01 set route d3 in pxi out fpga set trig DI3 falling set route dl in fpga out pxi acqcmd setDIO 1 This scenario also works well with ACQ216CPCI on board clock with 1kHz precision eg acqcmd setInternalClock 10000000 DOO set route d0 in fpga out pxi acqcmd setDIO 1 Slave device could be another ACQ216 or an ACQ196 in configuration 13 3 Rev 52 Page 88 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 13 6 ACQ216 Precision Internal Clock using RTM DDS Front Panel ADC a RTM Example ACQ216 precision clock 1 100MHz Optionally output a 100 derived clock on D1 Currently set by external host side client set rtmdds clksrc REFCLK set rtmdds clkdst DOO set rtmdds rio outputs 1 dds FREQUENCY Hz set route d0 in rio out fpga set ext_clk DIO acqcmd setExternalClock DIO 100 DO2 set route d2 in fpga out pxi acqcmd setDIO 1 restore acquisition external clock setting set ext_clk DIO dds FREQUENCY Hz Rev 52 Page 89 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 13 7 ACQ216 Internal Clock Mul
61. Solutions Ltd 6 Personality Please Note Boot loader setup is now for expert users only Initial setup notably static IP address is now achieved via custom boot script ffs user rc user Section6 2 6 1 Boot loader The boot loader is U Boot www u boot org and the boot loader interface is via the console port By default the boot loader will attempt to auto boot Linux To break into the boot loader press space bar within 3 seconds U Boot is configured by means of boot parameters A typical setup is as follows setenv bootdelay 3 setenv baudrate 38400 setenv ramdisk ramdisk size 16384 root dev ram0 setenv console console ttyS0 38400 setenv hn hostname acq196 001 setenv ba acq100 acq196 setenv bootcmd bootm a0400000 a0600000 setenv mac gEmac0 10 01 setenv sn serialnum d30001 setenv ipa ip0 dhcp setenv boota console ramdisk hn sn mac setenv bootargs boota ipa ba setenv bootcmd bootm a0400000 a0600000 saveenv 6 1 1 IP address Default is to use dhcp Alternately a static IP address may be set as follows setenv ipS ip0 192 168 0 1 setenv bootargs boota ipS ba saveenv Please note this is superseded by Linux boot script ffs rc local 6 2 6 1 2 Bootcmd The actual kernel and ramdisk images to be booted are specified as Rev 52 Page 20 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd setenv bootcmd bootm a0400000 a0600000 6 1 3 Rescue In the event that the defau
62. TM to act as front side inputs or as inputs to the RTM to accept signals from the front side board Line DO DS are either connected to the DDS CLKDST the DDS CLKSRC or to input opto couplers from the rear panel HD15 connector The following command controls this direction with respect to the RTM set rtmdds rio outputs output mask where output mask is a mask of 1 lt lt Dx for all outputs with the result value expressed in hex or decimal NB it is also necessary to set appropriate routing on the front side board For examples please see 13 6 17 4 Operational Considerations for DDS For external clock applications it is necessary to use the REFCLK MULTIPLIER to maximise internal clock frequency At the same time with the REFCLK MULTIPLIER enabled the external clock should be gt 5MHz A clock multiplier accessory is avaialble to allo clock multiplication from a 1MHz source NB Fout FTW 2 48 SYSCLK And max frequency is SYSCLK 2 FTW numbers gt 0x800000000000 cause the frequency to fold back towards zero Rev 52 Page 116 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 18 Appendix Linux Tips 18 1 Dt100 hub configuration When using the dt100 hub technique for disk less satellite operation D TACQ recommends setting up a second Ethernet network from the hub machine The satellite then sits on a private network protected from the main network by the hub The satellite system uses
63. This document and D TACQ Software comprising platform Linux port Linux kernel modules and most applications are released under GNU GPL FDL Document Copyright c 2004 10 Peter Milne D TACQ Solutions Ltd Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 2 with no Invariant Sections no Front Cover Texts and no Back Cover Texts Software Copyright C 2004 10 Peter Milne D TACQ Solutions Ltd This program is free software you can redistribute it and or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the GNU General Public License for more details You should have received a copy of the GNU General Public License along with this program if not write to the Free Software Foundation Inc 59 Temple Place Suite 330 Boston MA 02111 1307 USA Rev 52 Page 9 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 1 Introduction 1 1 Welcome The D TACO second generation 2G series is a revolutionary concept in Data Acquisition We take the D TACQ simultaneous ADC array combined with a high bandwidth FPGA data path to fast DDR memory This is managed by an on board microproc
64. V1 V2 D TACQ recommends V1 75 full scale V2 75 full scale but the actual values are unimportant ACQ196CPCT has only one input range ACQ2 6CPCT has four input voltage ranges and an automated procedure handles this The standard D TACQ calibration procedure is a simple two point straight line process operator choses two voltages V1 V2 A precision DVM should be used to measure the actual value which is entered by hand on the command line as follows calibrate z c ch1 chN example calibrate c 1 8 The program prompts for V1 V2 updates the calibration table for channels I to 8 and terminates calibrate c 9 16 The program prompts for V1 V2 updates the calibration table for channels 9 to 16 and terminates clearly entry of the actual voltages can be automated but this depends on your DVM z compensate such that code 0x0000 0 000V This is a valid procedure for cards with effective auto zero mechanisms eg ACQ196CPCI ACQ216CPCI Rev 52 Page 32 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd rev2 Repeat for all channels for all voltage ranges When the calibration is completed make a non volatile copy of the calibration table as follows cp etc cal caldef xml ffs cal MTYPE SERIAL xml MTYPE mezzanine M2 M5 for acq216 M2 for M6 acql96 for acql96 SERIAL serial number NB there must be one and only one file of the form ffs cal MTYPE xml 9 2
65. ar we support the idea of an initial rough comb through the data followed by upload of regions of interest start offset and stride controls are provided for this purpose Finally data may also be obtained in raw format The software provides dynamic access to a lookup table describing the logical to memory order of the data 11 2 Host Pull vs Target Push Remote client applications can pull data from the ACQxxx on demand either over the CPCI backplane or via Ethernet via the remote access port ACQxxx can also be configured to push data back to a remote host on completion of Rev 52 Page 65 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd a shot Target Push examples using both FTP and MDSplus client software are available In continuous modes low rate streaming data may be pushed continuously out the Ethernet interface or high data rate backplane streaming is possible In general Target Push will be more efficient and scaleable than Host Pull because the data transfer can proceed as soon as the data is ready with no polling required and with multiple ACQxxx cards the operation is inherently parallel 11 3 Post Processing After a transient capture a post processing task runs to transform data order in memory from raw samples channels to cooked channels samples This allows for efficient application access afterwards For a 1GB memory the post processing will take about a minute Since during p
66. asy loopback test as follows connect a S68 cable from AO connector to AI to run a loopback test e use Mozilla to connect to lt target ip gt cgi bin AO cgi push Ident followed by commit DC to set up an identity set capture some data and you should see the pretty ident picture gt push sin 1 saw 2 commit DC AWG capture again to get second picture with waveforms Rev 52 Page 59 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 10 4 11 RTM DIO32 Control RTM features 32 bits programmable dio The RTM device driver is not loaded by default load rtm should be loaded at boot time eg via ffs rc local set DI032 lt diopattern gt get DI032 outputs dioreadbackpattern lt diopattern gt patO patl pat2 pat32 patX X denotes bit number values of X input 1 output 1 0 output 0 x ignore dioreadbackpattern r0rlr2r3 r32 rx L input LO H input HI 1 output 1 0 output 0 eg set DI032 11110000 4 HI 4 LO rest input get DI032 11110QQQHHHHHHHHHHHHHHHHHHHH set DIO32 xxxx1xxxxx set bit 4 only set DI032 xxxxOxxxxx clear bit 4 only set DI032 xxxxP Positive pulse bit 4 set DI032 xxxxN Negative pulse bit 4 It is also possible to access this control directly through the following device node dev dio32 10 4 12 Timer Counter 2G cards are equipped with a 32 bit clock counter module The counte
67. ay still be appropriate for host side software to poll the ACQ196 for current TINST to determine where in the cycle we are Please note that this may become infeasible to do as the rep rate approaches 100kHz 15 11 1 3 Synchronous Output update for higher rep rate operation LLCONTROL V features asynchronous update for Analog Outputs The ACQ196CPCI maintains a hardware assisted queue of message frames The frames are physically located in the host slave memory In order to initiate an AO update the host side LLCONTROL app will 1 collect a message frame address MFA from the ACQ196 message Q 2 copy the AO data to the frame memory 3 Post the MFA to the ACQ196 message Q The LLC firmware will then 1 receive the MFA 2 Builds a DMA descriptor using the MFA 3 Initiate a DMA direct from host slave memory to the DAC unit Rev 52 Page 108 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd This AO scheme allows AO update that is asynchronous to the Analog Input AI sample clock This is good when the AI clock period is relatively long and the AO calculation is complete significantly before the next AI clock edge However as the sample clock rate controller rep rate increases the overheads of this scheme become significant The Synchronous Output scheme addresses this by performing the AO update as part of the input DMA chain triggered by the ADC conversion initiated by the sample clock The address of a f
68. ch 2 min 1 594217 max 1 598378 gt lt Calibrated ch 3 min 1 580590 max 1 536258 gt lt Calibrated ch 16 min 1 643807 max 1 625098 gt lt Range gt lt Range name 2 5 sw 1 0 gt lt Nominal min 2 5 max 2 5 gt lt Calibrated ch 2 min 2 561408 max 2 565410 gt lt Calibrated ch 3 min 2 524193 max 2 479898 gt lt Calibrated ch 16 min 2 633520 max 2 614286 gt lt Range gt lt Range name 6 sw 0 1 gt lt Nominal min 6 max 6 gt lt Calibrated ch 2 min 6 373147 max 6 423854 gt lt Calibrated ch 3 min 6 293885 max 6 168747 gt lt Calibrated ch 16 min 10 553202 max 10 469114 gt lt Range gt lt Data gt lt AcqCalibration gt lt ModelSpec gt lt ChannelBlockMask gt lt BlockWidth gt 4 lt BlockWidth gt lt BlockSet gt amp quot 1111 amp quot amp quot 1110 amp quot amp quot 1100 amp quot amp quot 1 lt ChannelBlockMask gt lt MaxAgg regateRate gt 400 MB sec lt MaxAggregateRate gt lt MaxDeviceRate gt 50 MS sec lt MaxDeviceRate gt lt MinDeviceRate gt 1 MS sec lt MinDeviceRate gt lt CalClock gt 10000000 lt CalClock gt lt CalMeanN gt 1024000 lt CalMeanN gt lt ModelSpec gt lt ACQ gt Rev 52 Page 35 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 10 Command Reference For a complete comparison of acqcmd acqcmd b acqcmd s acq2sh and just shell please see 19
69. ck Options The sample clock can be a InternalClockMaster where one designated card drives a 500kHz clock on the PXI backplane so that all cards clock simultaneously Alternatively and external 500kHz clock can feed in the front panel of one card LemoClockMaster and this card again will feed the clock to all slaves By default the Timestamp is driven from the sample clock However in a third possibility Sysclock a 1MHz SYSCLK is feeds the front panel LEMO of the Rev 52 Page 45 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd SysclkMaster card The 1MHz clock is distributed on PXI and drives all the timestamp counter Separately the Master card divides SYSCLK by two to generate the Sample clock and this is distributed to all cards on a separate PXI line 10 4 5 Input Voltage Range Certain models have input voltage selection most ACQ216CPCI mezzanines To set all the channels to the same range set vin range key eg set vin 3 3 0000 3 0000 To set a selection of channels to a voltage range set vin selection range key selection channel channel1 channel2 channel 1 channel2 To find out the valid set of range key values get vin range keys get vin range keys 30 A 50 y 625 y TS 7 9 3 Example Set all channels to Range 3 V set vin 1 16 3 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0000 3 0
70. collect data via the remote interface see ICD for details A working example is provided in dtl00rc 11 13 3 Remote access via dt100 hub Diskless NetworkedAttached Satellite Data Acquisition from multiple remote satellite ACQxxx units is easily set up using the dt100 hub The dt100 hub is a software subsystem running on a remote Linux box The hub acts as a local device proxy for one or more remote networked ACQxxx units Applications communicate with the hub via the normal dt100 style device interface and the hub translates this into network connections to the remote satellites The intention is that applications are unaware that the devices are not in fact located on the local pci bus and that it is possible to run local pci and remote satellite devices concurrently 11 13 4 Remote access via networked file system The data node virtual files may be exported as a SAMBA NES or SFTP file share This means that for example an MS Windows host computer can mount the data in memory as a network file share and client applications can view the channelized data as simple files This is probably the simplest imaginable way to view data on a host computer 11 13 5 http GET The entire embedded file system is visible to an external web browser connecting to port 80 in the normal way It s possible to set the web browser to view the captured data files Generally a more useful approach is to use a command line http tool such as wget to re
71. commended that the Mode SHOULD be the last command before the card is Armed using acqcmd setArm When the card is not in state ST_STOP then the only setter acqemds that will be accepted are acqcmd setAbort acqcmd setDIO NB all regular shell commands are still accepted include set trig set evento but the effect of running such capture specific commands after the card has been armed is undefined 19 8 What is the sample phase when using derived clock For example following acqcmd setExternalClock 10 DIO The sample clock will occur on the 9th edge of DIO ie the sample clock is activated on the terminal count of the counter Rev 52 Page 124 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 20 Appendix ICD changes for 2G Changes in this section supercedes items in the ICD NOT Supported on 2G e GPEM regular TriggeredContinous has similar functionality owing to ability to specify event line and edge acqemd setSyncRoute replaced by shell command set route acqemd setChannel no direct equivalent Streaming is not sub rate but full rate 20 1 Remote Commands replaces ICD 4 10 1 20 1 1 Overview A server daemon runs on the ACQxxx card listening for socket connections on port 0xd100 The server daemon is multi threaded and is able to accept multiple non conflicting sockets The server makes a single line status report on opening the socket connection Each socket represent
72. cursively fetch all the data time wget qr no parent http acq132 015 dev acq200 data real Om2 661s du 62600 acq132 015 dev acq200 data 62MB in under 3s that s fast Rev 52 Page 78 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 11 14 Target Push Examples 11 14 1 MDSplus thin client ACQxxx includes an MDSplus thin client able to export data direct from channel to tree via an MDSIP server The thin client may be invoked synchronously by a remote client or asynchronously using a stored procedure Remote client software can leave stored procedure scripts to be executed at automatically at the end of the shot 11 14 1 1 MDS Thin Client Stored Procedure Example Example From a remote client create pre transform and post transform data upload scripts before the shot The scripts can change from shot to shot Multiple scripts eg custom per channel are possible first select HUB or SOAP transport ssh will work as well HUB export ACQ2SH acqcmd s 10 SOAP export ACQ2SH acq2sh u http acq196 010 6666 first write a one line script to execute with minimum latency ACQ2SH echo TREE mukwa TIMEBASE 100 NODE HN S CH 02d do mdsPutCh TREE do mdsSetEvent HN FAST gt etc postshot0 d stride second write a one line script to upload the full data set with maximum efficiency ACQ2SH echo TREE mukwa do mdsPutCh TREE do mdsSetEvent HN FU
73. d protocol is available on the box it is feasible directly automate a local telnet shell session from a remote machine e g using expect Or it is possible to write a local server application e g mdsip this exercise would involve porting to the embedded ARM LINUX environment It is possible to write a local control process Examples of this is the autozero and calibrate processes 2 1 1 Network Topology When operating on the Ethernet best performance will be achieved if a dedicated field bus Ethernet can be deployed between the middle layer machine and the ACOxxx This is not only for reasons of performance but security as well controlled link means maximum network bandwidth available for data upload Controlled link mean that the embedded network interface is not exposed to uncontrolled incoming packet activity during the critical real time capture phase The capture process has to handle real time data flows of up to 320MB sec and it has to check for remote abort packets on the network interface so it is not possible to simply ignore network packets If the acquisition card is connected direct to the global Ethernet it is highly likely that it will be exposed to random unrepeatable bursts of network activity maybe not even addressed to it that could cause hard to trace failures 2 2 Backplane Peripheral Mode ACOxxx cards by default act as CompactPCI PCI peripheral devices The full speed 64 bit 66MHz interface is
74. ding should match the selection in dev acq196 A0 coding 2 Start the waveform with a commit 2 set AO commit 2 hardware trigger set AO commit 18 soft trigger Two canned waveforms are provided set AO lt channel gt sin set A0 lt channel gt saw set AO has provision for two User Waveforms to be stored on the FFS partition set AO lt channel gt arb Two make this work store user binary waveforms in Tfs A0 awg 01 Tfs AO awg 02 The files should contain binary data max length 256 samples If one data set is longer than the other the channel with the shorter data set will have the last value repeated up to the end of the longer data set Rev 52 Page 52 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd Please note that the HAWG function is repeated until stopped HOW and may either be software triggered or triggered by external hardware event in the same way as the AI capture The AO trigger is independent of the AI trigger but may be set to the same value as required 10 4 10 5 Fifo AWG FAWG As before write binary waveforms to each required channel dev acq196 A0 f XX max points 16384 8s Y 2KHz cat sys module acq196 parameters fawg max samples Start set arm AQ FAWG opts Stop set AO commit 0 The FAWG will replay all channels up to the length of the longest channel definition If a channel definition is shorter than the longest the last value in the definition is r
75. e same mode SOFT _ CONTINUOUS all boards start on Trigger Please note that at this time the Enhanced Software Operation modes GPEM are not available on 2G However it s also clear that with user choice of Trigger and Event s equivalent functionality is to a large extent available 10 3 dt100 remote interface see ICD superceded by Section 20 1 10 4 Shell command interface Preferred way to add new functionality is via the shell command interface When operating as a two tier system using the dt100d server shell commands are accessed via a connection configured using dt100 open shell from the dt100 remote interface See 20 1 Rev 52 Page 38 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd When operating via the PCI or dt100 hub interfaces shell commands are accessed via the rsh pseudo device eg acqcmd f dev acq200 acq200 5 rsh hostname acqcmd supports a short cut notation s acqcmd s 5 hostname A number of rsh scripts are implemented 10 4 1 High level command Clock Role setting ACQIxx includes a flexible clock and trigger system This allows lots of options that may be set individually However at least to start D TACQ recommends using the following role base commands to set the clock scenario set acql96 role ROLE CLKKHZ set acql32 role ROLE CLKKHZ set acql64 role ROLE Q KKHZ set acql96 role ROLE CLKKHZ
76. eb page This gives a live reading of the currently selected clock and shows the interaction between selected clock and decimation It s possible to monitor the signal frequency of any of the Dix signal lines Oversampling acq132_019 Mozilla Firefox File Edit View History Bookmarks s v 0 Google Bookmark SourceForge net v DDJ Blog Entries v Peter Milne tasks v E Oversampling acq132_019 MX hon system signals events phases burst vin Oversampling 4 cal DIO32 Vi timing acg Zto ints tblocks regs fpga tweaks dmac ppmu mu az Channel SpeedMask BIOL cc cece eee seca n en nn enone AI32 ADC Filter Banks BANK AI Channels SCANLIST DCBA 81920 nacc 1 shift 0 decimate nacc 1 shift 0 decimate 2324 nacc 1 shift 0 decimate nace 1 shift 0 decimate shift 0 decimate A 131415162 nacc 1 shift 0 decimate nacc 1 t 0 decimate 23005 acq132_019 Tue Jan 26 20 49 51 UTC 2010 M refresh Select Counter Source set dtacq clk_counter_src clk _counter src DIx e or select other source eg DIO on Signals page Default DIS is the sample clock CLKSEL shows internal clock selection mux setting Rev 52 Page 140 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd LO_ICS 33MHz Local Oscillator feeds ICS PLL Internal Clock INTCLK_ICS FPGA feeds ICS PLL External derived clock INTCLK_NOICS FPGA provides sample clock direct Exte
77. ed 003CH reserved 0040H Inbound Queue Port AO data 2 0044H Outbound Queue Port 0048H reserved E 004CH reserved 0050H Local memory OFFCH A e Rev 52 Page 103 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 15 6 Description of Operation 1 The board is armed setting parameters including target address in host memory and external clock divide 2 Acquisition is activated on the falling edge of the external clock Firmware provides two 32 bit counts LATCHED and IMMEDIATE 3 The external clock is divided down to give a sample clock pules on every zero count of the counter At the sample clock a conversion is triggered and the LATCHED count is updated 4 When converted data is available this is immediately transferred with minimum latency to the target memory on the host board 5 Control software on the host board is able determine the state of the capture by polling the mailbox registers on the ACQ The software is able to read the value of the two counters at any time The LATCHED count is the clock count at the last sample and the IMMEDIATE count is the external clock count at the time of the query Control software is able to make use of the counter values to check for overrun to determine when the next sample is expected and to allow for tuning of the algorithm An enhancement hbpoll sees the Host software polling an address in host local memory for status this is both more efficient a
78. ed via telnet or more typically via a remote program for example dt100rc Example Start the service on the target this command may be placed in ffs rc local start fungen service From a remote machine pgm islay telnet acql196 001 53505 Trying 192 168 0 156 Connected to acq196 001 localnet 192 168 0 156 Escape character is fungen gt autocommit 20 sin 3 1 0 5 64 1 OK fungen gt autocommit 20 sin 3 1 2 64 2 OK fungen gt commit 20 3 OK fungen gt sin 111 64 4 OK fungen gt cos 2 2 2 64 5 OK fungen gt sin 3 1 2 64 6 OK fungen gt commit 20 7 OK fungen gt autocommit 20 sin 3 1 0 5 64 8 OK Rev 52 Page 57 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd fungen gt autocommit 20 sin 3 1 1 64 10 9 OK fungen caches the sine wave as a lookup table assuming best performance when all the waveform have same number of samples amplitude offset and phase are all derived from the LUT data Waveforms are not written to the hardware until the commit action For the case of updating multiple channels it is best to commit at the end For the case of interactively updating a single channel the autocommit option will commit the channel data without the need for a separate command Rev 52 Page 58 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 10 4 10 10 Test Sequence The RTM AO16 makes for an e
79. ee http cgi bin vin cgi for diagnostic It is of course also possible for any remote client to pick up the underlying XML calibration file etc cal caldef xml and to use this directly 10 4 6 Channel Mask and Channel Count This replaces acqcmd setChannelMask acqcmd getChannelMask with an implementation that works better for 96 channels on ACQ196 acq2sh set channelMask 1 3 7 2 4 5 6 also valid but less likely acq2sh get channelMask reports setting in hex acq2sh get numChannels reports number of channels enabled by the mask 10 4 7 Block Technique for Setting Channel Mask Not all possible combinations of channel mask are supported by hardware For example on ACQ196 channels are enabled in blocks of 32 channels Using the original command setChannelMask the only way to deduce this is to set a channel mask and then to see what you got ACQ196 Example Rev 52 Page 47 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd acqcmd setChannelMask 1 ACQ32 acqcmd getChannelMask ACQ32 getChannelMask 11111111111111111111111111111111000000000000000 0000000000000000000000000000000000000000000000000 A more deterministic way to do this is by use of Channel Block commands e get modelspec ChannelBlockMask BlockWidth returns width of each maskable channel block in channels e get modelspec ChannelBlockMask BlockSet returns the selection of channel block masks that have meaning on this platform ACQ1
80. elnet interface Telnet service is available at port 23 Login as user dt 00 root login is disabled While this service is still enabled by default D TACQ recommends use of ssh 7 7 Ssh interface Regular ssh service available at port 22 D TACQ encourages use of this interface for remote log in and remote command execution Login via public key exchange works well and is highly recommended it is particularly useful when used with remote update Public keys are stored on the target in ffs dropbear root ssh authorized_ keys ffs dropbear home dt100 ssh authorized keys New keys should be appended to the file then reboot the target to activate The system ships with default d tacq public keys please leave them in place if you want to allow us in system maintenance access The ssh interface also provides a useful runtime path copy utility any files in ffs dropbear are copied to their corresponding locations in the root fs at boot time 7 8 FTP client A full ftp client implementation is supported This can be used for automated Target Push upload post capture It is recommended that ftp is used with a netrc file Store a non volatile copy of your netrc file in ffs dropbear root and it will be updated to the rootfs at boot time Rev 52 Page 25 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 7 9 FTP server A full ftp server implementation is available onboard For security this is disabled
81. eneck 12 5 Cabled PCI Express Target Push Streaming a Rear Transition Module supporting a PCI Express on cable link This will be able to stream data at up to 200MB s per card RTM T represents a comms link upgrade for ACQ196CPCI and ACQ132CPCI and to a lesser extent ACQ164CPCI This is a still a tightly coupled system as per 12 4 however with one link per card it does not suffer the shared bus data bottleneck problem In addition it gives a higher bandwidth data path direct from the ADC array so we can expect to run devices like ACQ132CPCI at full speed and more Rev 52 Page 83 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 13 Putting it all together Use Cases 13 1 Chassis clock master uses local derived clock Example Master is ACQ196 CLK is 1MHz local sample rate 250kHz N 4 set route d0 in mezz out fpga pxi set route d3 in mezz out fpga pxi set trig DI3 falling DO1 is an FPGA OUTPUT acqcmd setExternalClock DIO 4 DO1 set route dl in fpga out pxi acqcmd setDIO 1 NB in order to configure a full master slave rack at constant phase either start the external clock AFTER all ACQxxx setups are complete or action 1 LAST Rev 52 Page 84 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACO Solutions Ltd 13 2 Chassis Master uses plant clock distributes derived clock Example Master is ACQ216 C
82. epeated until end of buffer If the channel definition has zero length the DC value is used A sample FAWG test routine is supplied in usr Local CARE acq196 FAWG test FAWG update rate reading data out of the FIFO is the AI sample clock divided by FAWG DIV 1 255 dev dtacq FAWG DIV controls the output data rate as a fraction of AI sample rate 10 4 10 6 FAWG Options FAWG operation is controlled by set arm A0 FAWG This arranges for the underlying commit value to be set at the appropriate time set arm AO FAWG opts ONCE CYCLIC default repetition mode SOFT TRIG HARD TRIG default trigger IMMEDIATE default write on setArm when to commit the value The default option no args is to schedule a hard triggered cyclic waveform to be armed at setArm IMMEDIATE means arm immediately NB this will not work for the case of a ONCE one shot operation Range of values for set AO commit commit is set as a combination of binary bit flags define COMMIT DC 0x01 set DC output Rev 52 Page 53 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd define COMMIT HAWG 0x02 initiate HAWG output on trigger define COMMIT FAWG 0x04 initiate FAWG output on trigger define COMMIT REF 0x08 enables REF output MAC fw only define COMMIT TRIG 0x10 software trigger on commit define COMMIT ONESHOT 0x20 oneshot FAWG action when enabled define
83. es previously opened Master or Slave channel Page 130 of 151 Date 19 June 2012 D TACQ 2G User Guide D TACQ Solutions Ltd 20 1 3 Dt100d operational considerations The dt100d server will support multiple concurrent connections However only one Master Channel may be open at any one time The characteristic of dt 100d may be modifying environment variables set in the file etc sysconfig dt100d conf to make changes survive through reboot save you customised copy of the file as ffs dropbear etc sysconfig dt100d conf DT100D_ TIMEOUT timeout in seconds timeout occurs if the channel is waiting for remote command for longer than this time The default is 24h this will prevent an accumulation of stale channels If the local network is challenging or perhaps the clients are unreliable then it may be helpful to set this timeout to a lower number DT100D_DATABUFLEN maximum single read size when reading data This value may be increased to reduce or remove the nead for read buffer chunking NB in common with any IO operation client code should not_ make any assumption about the number of bytes returned client code must read the return value to determine the amount of data available per call default etc sysconfig dt100d conf options for dt100d