DPRG
DPRG List  



[DPRG] webcam robot vision limitations

Subject: [DPRG] webcam robot vision limitations
From: Chris Jang cjang at ix.netcom.com
Date: Thu Jun 28 21:37:28 CDT 2007

>> I/O bandwidth to mass storage (SD flash card in my case) is the main limiting factor I've encountered. The PC104 computer I am using does not have DMA for the SD flash. Writes use PIO. There is device buffering in RAM which then can freeze the computer for a few seconds when flushed to SD flash. This reminds me of some digital cameras.
>>
>> So a word for others who may try this - mass storage DMA bandwidth is the most critical feature to look for. CPU speed, RAM, device I/O bus speeds are not as important as fast disk or flash storage. If you see a SBC that uses SD/MMC or CF flash, make sure DMA is used.
>>   
>Do you have the option to use a CF card on your SBC instead of MMC/SD? 
>As it is, your CPU will offload the data but if the transfer is locking 
>your CPU for on the order of seconds, you're going to be only slightly 
>less screwed when it locks your DMA channel for a similar period of 
>time. Have you made sure that your SD card complies with SD 1.01? It 
>probably doesn't if it's an off brand. It sounds awfully slow for a QVGA 
>image write time.
>
>You can buy high data rate SD cards, and my digital camera actually 
>requires them to use certain features. CF is a parallel interface and 
>some of the newer cards can hit 60 MB/s+ vs. the 10MB/s of a good SD 
>card. If you buy one of the CF cards with DMA supported you can top 100 
>MB/s.

The Technologic TS-7260 has a FPGA that is used for the SD flash controller.
It is acknowledged to be slow by the vendor. And the SD flash device driver
is closed source so no investigation is possible there. As for CF, they do
offer a CF adapter for the PC104 stack. But I think what I have is good
enough that I can live with it.

By the way, I'm not being critical of the product - it is a convenient PC104
solution if it meets requirements, especially as the vendor does support a
Linux toolchain for it (only 2.4 though).

I've used Soekris net4801 SBCs. The older production lacked DMA signal
lines to the CF slot (not documented but you can find it in the customer
support email list). The hardware can't use higher speed CF cards without
turning off DMA. I ran into this problem with some SanDisk Ultra 2 cards.
Anyway, current production boards do support DMA for the bootable CF slot.

So I think speed of removable flash media is one variable. The other is the
I/O controller in the device. Whether data rate increases depends on both.
In my case, I think that the I/O controllers limit speed irrespective of how
fast the flash media may be.

A lot of the hardware hobbyists use probably tends to be like this - be
cautious when choosing. DMA is one of those things you just assume is there
as it always is for laptops and desktops. But for these COTS embedded
computers, my experience is that DMA is often omitted.

More information about the DPRG mailing list

Copyright © 1984 - 2006 Dallas Personal Robotics Group. All rights reserved.
Website Design by NCC

For the latest robot news visit robots.net