1 / 20

Driver for LeCroy LT364 Scope with Ethernet interface

Driver for LeCroy LT364 Scope with Ethernet interface. PENG,Sheng Brookhaven National Laboratory. Driver for LeCroy LT364 Scope with Ethernet interface. vxWorks driver: General & Fast EPICS device support

stian
Download Presentation

Driver for LeCroy LT364 Scope with Ethernet interface

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Driver for LeCroy LT364 Scope with Ethernet interface PENG,Sheng Brookhaven National Laboratory

  2. Driver for LeCroy LT364 Scope with Ethernet interface vxWorks driver: General & Fast EPICS device support In fact, this driver could be used with almost all LeCory scopes with Ethernet interface

  3. MEDM One CPU Board Ethernet IOC CPU Board LeCroy LT364

  4. MEDM Two CPU Boards Ethernet IOC Share memory LeCroy LT364 CPU Boards Ethernet

  5. LeCroy LT364 Specification Sampling Rate per Channel:500 MS/s max when using four channels ( 1 GS/s when using two channels) Vertical Resolution:8 bits Sensitivity: 2 mV – 10 V/div fully variable Clock Accuracy: <=10 ppm Interpolator Resolution: 5 ps Processor: 160 MHz PowerPC Memory: 16 Mbytes Interface: 10Base-T, GPIB, Serial port Setup source: Floppy Disk, NVMEM

  6. Benefit Fast. Normally we control scope via GPIB interface, Ethernet interface is faster; Easy to use. We have Ethernet everywhere and length limitation of cable is much longer then GPIB; Easy to port. Driver is only based on BSD 4.3 compatible socket, so it’s easy to port. We don’t need to ask manufacturer to support particular platform.

  7. Performance (general) • We tested our driver (version 0.2), it can work on 60Hz ( 1000 points); For one IOC to Multi scopes mode: • We did a simple test to our IOC (MV2302) by ftp a file to RamDisk in IOC, the throughput could be 26Mbps. For one scope ( EPICS record scan rates is 10HZ, and 1000 points per waveform ) we need 10*1k*8=80kbps. So I believe one IOC can support at least 10 scopes at same time;

  8. head data head data head data Performance (fast) The format of response from LT364: … The head is 8 bytes. First byte indicates if it’s last block, last four byte is length of following data block. General driver reads head each time then data. Fast driver read fixed length; Enlarge socket buffer is helpful; The actual rates is up to load of scope’s CPU; In particular case I reach almost 1000Hz

  9. Function definition LT364ID open_LT364(char * addr); STATUS close_LT364(LT364ID lt364id); int read_LT364(LT364ID lt364id, int chnl, float *waveform, int pts); STATUS ioctl_LT364(LT364ID lt364id, int chnl, int op, void * arg);

  10. Supported op • RESET: Not channel-related, don’t need arg. • ENABLECHAN: Enable channel chnl, don’t need arg. • DISABLECHAN: Disable channel chnl, don’t need arg. • GETCHANSTAT: Get channel chnl status (ON or OFF), store to *arg as integer.

  11. Supported op (con’d) • SETMEMSIZE Not channel-related, set waveform length. arg should point to an integer. *arg length *arg length 0 500 1 1K 2 2.5K 3 5K 4 10K 5 25K 6 50K 7 100K 8 250K 9 500K 10 1M 11 2.5M 12 5M 13 10M Sample rates = memsize/(timediv*10); Which is longest one for you scope is up to how much memory your scope has.

  12. Supported op (con’d) • GETMEMSIZE Not channel-related, get waveform length and store to *arg as integer. • SETTIMEDIV Not channel-related, set time div. arg should point to a float. Unit is second. • GETTIMEDIV Not channel-related, get time div and store to *arg as float. Unit is second.

  13. Supported op (con’d) • SETVOLTDIV Channel-related, set Volt div of channel chnl. arg should point to a float. Unit is volt. • GETVOLTDIV Channel-related, get Volt div of channel chnl and store to *arg as float. Unit is volt. • SETTRGMODE Not channel-related, set trigger mode. arg should point to a integer. *arg means: 0: AUTO 1:NORMAL 2: SINGLE 3: STOP • GETTRGMODE Not channel-related, get trigger mode and store to *arg as integer.

  14. Supported op (con’d) • SETTRGSRC Not channel-related, set trigger source. arg should point to a integer. *arg means: 0: Ext 1:C1 2: C2 3: C3 4: C4 • GETTRGSRC Not channel-related, get trigger source and store to *arg as integer.

  15. Supported op (con’d) • LDPNLSTP Not channel-related, load panel_setup from nvmem in scope. arg should point a integer. *arg means nvmem number(0-4). *arg equal 0 means load default panel_setup. • SVPNLSTP Not channel-related, save panel_setup to nvmem in scope. arg should point to a integer. *arg means nvmem number(1-4).

  16. In the future … We will upgrade our driver to support more functions to fit our application; We hope LeCroy will upgrade Ethernet interface of LT364 from 10Base-T to 100Base-T, so we will get faster refresh rates.

  17. How to Use At first,you should call open_LT364. The parameter is IP address of your scope.And return is a struct pointer if successed or NULL if failed. When you finished using scope, you should call close_LT364 with parameter returned by open_LT364.

  18. How to Use (con’d) After you call open_LT364, if you want to control or monitor the configuration of scope that is not related to a channel, you can use ioctl_LT364 with parameter chnl equal 0. If you want to control or monitor the configuration of scope that is related to a channel, you should call ioctl_LT364 with chnl as what you want and op as ENABLECHAN first.

  19. How to Use (con’d) If you want to get waveform, you should prepare an float array with correct length.Then call read_LT364 with chnl as which you want to read and pts as how many points you want. And you can get exact waveform length by call ioctl_LT364 with chnl equal 0 and op as GETMEMSIZE.

  20. How to get it … • E-mail: peng@bnl.gov • Telephone: (631)344-8401 • Web: http://www.sns.bnl.gov/epics/enet-scope/

More Related