Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Using Linksys NSLU2 or Nano-ITX as Host device for USB 6008/6009 ??

Hello,

I am trying to create a low power (only a few watts) data acquisision module for use in remote locations. I have been working with the USB 6008 & USB 6009 & USB 6051 multifunction DAQ modules along with a full fledged PC to design the application and make sure it works. I need about 32DIO, 8AI and 4AO. Now I am faced with making it consume MUCH less power. From what I can tell these are potential options - and why most aren't feasible:

1) PDA - low power, portable, nice screen. BUT NO usb host adapter or kernel driver. This would be my first option if I could use the 6008/6009/6051 modules.

2) Low Power PC - e.g. Nano-ITX - Runs full fledged Linux, or WinXP, but power consumption is closer to 15-20 watts. Too power hungry.

3) Linksys NSLU2 - Runs embedded linux - based on current kernels. Low power, built in USB host, plus ethernet controller. The COSMIC question - will any of the existing Linux support drivers work on this hardware? If they are kernel extensions, I would hope that they would.

Anyone have any insight into #3??

-Steve

0 Kudos
Message 1 of 17
(6,414 Views)
Hi Speedy,

I hope you're doing well.  Regarding your 3rd option, I was trying to find what distribution of Linux that the Linksys NSLU2 runs, but it wasn't apparant from the link you had.  The NI-DAQmx 8.0 drivers support the following:
  • Mandrakelinux 10.1 Official and Mandriva Linux 2006
  • SUSE LINUX Professional 9.2 and 9.3
  • Red Hat Enterprise Linux WS 3
Outside of these distributions, the drivers are not guaranteed to work.  You mention that it runs embedded Linux, based of current kernels, but do we know what kernal and distribution it is?  If someone has success using the DAQmx drivers outside of the ones listed, they may be able to provide more insight, but again, the drivers may or may not work entirely as designed.

Thaison V
0 Kudos
Message 2 of 17
(6,402 Views)

Hey Steve,

This sounds like a cool project.  From what you posted it might be nice to know a little bit more about your requirements. 

On your normal PC development machine are you using LabVIEW, or C as the programming language?  Do you plan on using you same code, and simply moving it to a different low power platform, or are you willing to rewrite the application?

What operating system is your development machine running?

Also what driver are you currently using DAQmx, or DAQmx Base? 

What do you plan on doing with the data you collect?  Display it on a screen?  Log it to a file?  Transmit it to a remote location?

What is the time frame for this project?  1 month 1 year?

Here is my feedback on your suggested devices:

1) PDA - Some PDAs do have USB host adapter support.  Examples: SL-C3100 (runs embedded Linux, ARM processor), NI TPC-2006 (runs WinCE, built in ethernet, supports LabVIEW PDA).  Negatives for your applictaion:  Our current Linux drivers do not run on the ARM processor.  While we do have LabVIEW PDA, and DAQmx Base for the NI TPC-2006, DAQmx Base for PDA currently does not support our USB devices.

2) Nano-ITX - This should work fine except for your power requirements.

3) NSLU2 - Your biggest problem here is that our current Linux drivers do not support the ARM processor.  They only work on x86 machines.  It should be noted as well that on Linux our USB-DAQ devices are only supported through DAQmx Base.  The DAQmx Base driver uses NI-VISA to communicate to out USB devices.  All of this is done in userspace (as apposed to kernel space).  I only bring this up since you mentioned "kernel driver" as a requirement for PDA.

 
Use NI products on Linux? Come join the NI Linux Users Community
0 Kudos
Message 3 of 17
(6,397 Views)

On your normal PC development machine are you using LabVIEW, or C as the programming language? Do you plan on using you same code, and simply moving it to a different low power platform, or are you willing to rewrite the application? What operating system is your development machine running?

The development platform is WinXP on x86, using LabView. I am more of a scientist than a programmer, so I don't know much about C. The plan is to get it to function, then target whatever hardware will work with lowest power.

Also what driver are you currently using DAQmx, or DAQmx Base?

DAQmx Base - for no particular reason other than it is what appeard in the menus.

What do you plan on doing with the data you collect? Display it on a screen? Log it to a file? Transmit it to a remote location?

The data collected is a time series of ~400 data points over a few AI channels in a 2 minute period. The waveform should consist of a single ~gaussian peak about 30 seconds long that I integrate, and then display and store the peak area expressed in engineering units using a previously established linear calibration. Would be nice if the data is displayed near real time on a screen, but this isn't necessary. The data must be logged to a file, certainly the integrated peak area, but also the raw data if possible. I was also considering doing simple wireless transmission of the data to a laptop that would be within a few hundred feet for ~50% of the time. The data acquisition unit will be placed in some precarious and uncomfortable positions in the field - I would prefer to supervise the data collection from a laptop with no wires attached. I do not want to count on the wireless link to collect the data. It must be stored in a reliable format on the deployed device (CF, Hard Drive, etc.)

The mini/nano itx motherboard solution may work best. I can always lug out another battery to power the whole thing. I could plug in a keyboard/mouse/monitor and debug the thing real time on the enclosed computer - and would save retargeting and testing...

If I do go the nano-itx route - I would consider using Linux to save weight on the install instead of WinXP. Can you think of a reason not to do this? Every WinXP installation I do seems to have a zillion extra processes running that wouldn't be necessary on this somewhat embedded application.

What is the time frame for this project? 1 month 1 year?

I am doing design/build now. I hope to use this in the field in 8 weeks. Yikes.

-Speedy

0 Kudos
Message 4 of 17
(6,389 Views)

Ok a couple more questions/ideas.  Why not use two laptops?  Is it because of cost, size, or durability?  Just a thought, but it seems like another solution from what you described.

If you went the route of the nano-itx then you would have two choices.  Windows or Linux. 

If you choose Linux you can customize your install so you only have what you need.  Keep in mind that you will also need to purchase a copy of LabVIEW for Linux so you can run your existing application.  Also since you mentioned minimal install you may want to consider building a LabVIEW executable so you don't need to install the LabVIEW for Linux development enviroment on the nano-itx.   This would require that you either purchase LabVIEW Professional Development System or the LabVIEW Application Builder for Linux. 

If you choose Windows you would probably have a more bloated install.  However, if you already have LabVIEW PDS or the application builder for Windows then you could build a LabVIEW executable for your Windows target.  Otherwise you would need to install a copy of LabVIEW for Windows.

Just to make sure this is clear... You can only build a Windows executable with the Windows Application Builder, and a Linux executable with the Linux Application Builder.

Shawn B.
National Instruments

 
Use NI products on Linux? Come join the NI Linux Users Community
0 Kudos
Message 5 of 17
(6,389 Views)
@Shawn B. wrote:
Ok a couple more questions/ideas.  Why not use two laptops?  Is it because of cost, size, or durability?  Just a thought, but it seems like another solution from what you described.



Yes, two laptops is an option. The reasons for not doing it are slightly higher cost and larger size. I looked into an ultracompact laptop - something like a Toshiba Libretto - but they cost upwards of $2K. The monitor probably will be unused most of the time, so that would be a poor use of power. I was also looking for something that could fit inside a small box. The 5" x 5" PC nano-itx could be strapped somewhere out of the way.



If you went the route of the nano-itx then you would have two choices.  Windows or Linux. 

If you choose Linux you can customize your install so you only have what you need.  Keep in mind that you will also need to purchase a copy of LabVIEW for Linux so you can run your existing application.  Also since you mentioned minimal install you may want to consider building a LabVIEW executable so you don't need to install the LabVIEW for Linux development enviroment on the nano-itx.   This would require that you either purchase LabVIEW Professional Development System or the LabVIEW Application Builder for Linux. 

If you choose Windows you would probably have a more bloated install.  However, if you already have LabVIEW PDS or the application builder for Windows then you could build a LabVIEW executable for your Windows target.  Otherwise you would need to install a copy of LabVIEW for Windows.

Just to make sure this is clear... You can only build a Windows executable with the Windows Application Builder, and a Linux executable with the Linux Application Builder.



Yes, thank you very much for the clarification.

Message Edited by Speedy on 02-21-2006 04:10 PM

0 Kudos
Message 6 of 17
(6,380 Views)
1) PDA - Some PDAs do have USB host adapter support. Examples: SL-C3100 (runs embedded Linux, ARM processor), NI TPC-2006 (runs WinCE, built in ethernet, supports LabVIEW PDA). Negatives for your applictaion: Our current Linux drivers do not run on the ARM processor. While we do have LabVIEW PDA, and DAQmx Base for the NI TPC-2006, DAQmx Base for PDA currently does not support our USB devices.



I just took a closer look at the TPC 2006. Wow does that look useful! I would buy one tomorrow if it supported the USB multifunction DAQ modules. Do you have any sense of whether such things are in the pipeline for release, or if there are no plans to support the USB modules via the PDA module?

0 Kudos
Message 7 of 17
(6,367 Views)
Hi Speedy,

We are working on adding USB DAQ support on the TPC-2006 in a future release of the NI DAQmx Base driver, but as of now, we can't guarantee if and when it will be released.  I would keep an eye out with each revision of the driver, but hopefully it will be added soon as I know how useful this will be for you and many other users.

Thaison V

0 Kudos
Message 8 of 17
(6,359 Views)
Hi Speedy,

sorry, I'm jumping into this thread rather late. We just had the same problem: Low power stand-alone DAQ-units that can be run from either battery or mains.
We solved that using mini-ITX-boards (the first ones were EPIA-boards, now we are using a little more reliable Kontron-boards) running a boild down Gentoo-distro.
We managed to pack linux with the most important features (ssh, dhcp-client, scp, vnc, samba, ...) together with the LabView Runtime-Engine (8.0) and NIDAQmx 8.0 on 65MB!
OK, the compressed image (squashfs) is 65MB, during boot it expands into RAM where it needs approx. 180MB.
Access to the system is done with a VNC-connection and you can "mount" the data-directories as a network drive on any WINDOWS-System.
Our aim was to make the linux-core almost invisible for all these spoiled Win-users. To monitor the system you just need an Internet Explorer (Firefox, whatever- as long as it runs JAVA)-that's all.
If you want to have a look at our first prototype you can find it here: www.svm-tec.de/shrink.htm
Be careful, it's in German only. Our new design has a little custom-made electronic inside that handles the charing of an internal battery as Uninterruptable Power Supply and features a few low-speed DA, DA and DIO-Ports.

A few hints:
If you try to run a RAMdisk-linux with NI drivers you really have to be careful. Eg. NI writes temporary data into /usr/local/natinst (which is not really the right place for that- NI: please use /var or /tmp for stuff like that in the next release). If you have a readonly filesystem for these "static" directories you will have trouble loading the modules.
Then you really need rpm, if your distro doesn't use rpm you have to fake it (there is a great post on how to use slackware and LV somewhere in this forum- search for slackware and linux). I couldn't make the tar-installation work.

While I'm at it, here is a question for NI: why don't you open the source for drivers and RTE? It would make life so much easier when using different distros or other kernels. Maybe the GNU-community could even help with kernel support. For some people it's not easy to be forced to use only the 2.6.13-kernel.

Have fun!


-DB
0 Kudos
Message 9 of 17
(6,292 Views)

Hi bef,

While I am not sure the exact reasons why they haven't made this available, what I would suggest would be submitting feedback through our Product Suggestion Center here.  Our R&D department receives this feedback directly, so they may look into any suggestions you have.  Have a great day!

Thaison V
Applications Engineer
National Instruments

 
0 Kudos
Message 10 of 17
(6,276 Views)