Tuesday, August 7, 2007

Comedi for errors !

Software lib for possible use. hat tip Mandar...



Comedi - The Linux Control and Measurement Interface
Index
Introduction
Download
Documentation
Mailing list
Supported
hardware

Manufacturers
Applications
Bug Tracking


Links
Linux
Debian
RTAI
David Schleef

Introduction

The Comedi project develops open-source drivers, tools, and libraries for data acquisition.

Comedi is a collection of drivers for a variety of common data acquisition plug-in boards. The drivers are implemented as a core Linux kernel module providing common functionality and individual low-level driver modules.

Comedilib is a user-space library that provides a developer-friendly interface to Comedi devices. Included in the Comedilib distribution is documentation, configuration and calibration utilities, and demonstration programs.

Kcomedilib is a Linux kernel module (distributed with Comedi) that provides the same interface as Comedilib in kernel space, suitable for real-time tasks. It is effectively a "kernel library"

Monday, August 6, 2007

USB port card

Mandar has a very good idea of using a USB port based acquisition. Below are details of DLP-IO8-G 8-Channel Data Acquisition Board and DLP-USB245M USB Adapter, from this link and that link. Other similar option from DLP is DLP-TXRX-G USB Adapter.


DLP-IO8-G 8-Channel Data Acquisition Board





DOWNLOADS
Test Application V1.0
VCP Drivers
FTDI Driver Installation Ap Note for Win98
FTDI Driver Installation Ap Note for Win 2000

  • 8 Channels: Digital I/O, Analog In, Temperature (requires DS18B20 sensor, purchased separately)
  • Easy to use single byte commands
  • USB 1.1, 2.0 Compatible
  • Rev 2 silicon from FTDI
  • No in-depth knowledge of USB required
  • Call or email DLP Design for volume pricing


DLP-USB245M USB Adapter


DOWNLOADS
Test Application V1.0
DLL Drivers
DLL Driver Programmer's Guide
VCP Drivers
FTDI Driver Installation Ap Note for Win98
FTDI Driver Installation Ap Note for Win 2000

  • Add USB connectivity to your next project
  • Up to 8 megabit per second data rate
  • USB 1.1 Compliant
  • Simple FIFO interface to MCU/FPGA/CPU/etc...
  • Rev 2 silicon from FTDI
  • No in-depth knowledge of USB required
  • Call or email DLP Design for volume pricing

Block diagram (till I can scan the paper copy)

The data acquisition of a band-limited signal has the following broad steps:


  1. DC removal


  2. 2-bit ADC (0.5 MHz speed)


  3. Collect 4 such samples at one time (for simplicity, copy the same signals 4 times)



  4. Build a sampler, of 0.5 MHz.


  5. One could take 10 MHz signal, and use every 20th pulse (simple counter) for sampling.



  6. Put together four 2-bit samples on a bus with an isolator for i/o.


  7. Feed the signal to the data acquisition card sitting in the PCI slot of a PC.

BITS Telescope

BITS Goa Radio Telescope : Software Correlator

Thanks to Aniket and Mandar, we will get a data acquisition card interfaced to a PC by next semester.

All the card does is to accept AC voltages of 250 KHz bandwidth, digitize it (2-bit ADC) and sample it at Nyquist rate (500 KHz). Four samples (2x4 bits = 1 byte) are then packed together on the fly to form one byte. The resultant one-byte is stored on a PC for processing. So, the pipeline looks as below


--- signal ---- >>-- ADC -->>--Linux PC-->>- FILE
(0.5 V AC________3-level____bit packing
0.25 MHz band)___2-bit_________program


ADC has two comparators (NE 521 ?). Depending upon the input, one of the the following 00 (-2), 01 (-1), 10 (+1), 11 (+2) is the output of the ADC.

The sampler signal of 0.5 MHz samples the ADC output voltages. Four of the samples are fed to the acquisition card through data cables.

The data rates are slow, 500 k Bytes per second. Given the modern computer disk rates, it is possible to sustain a on-the-fly bit packing program in PC. The program accepts 4 bytes, and based on a precalculated table, stores corresponding 1-byte output onto a file.