EmbeddedRelated.com
Forums

Poor Mans Automated Test

Started by eeboy April 8, 2011
I want to set up a some automated testing of our product. I need to be able
to:

1) Manipulate GPIO
2) Time edges (down to 100us)
3) Communicate via serial (SPI, RS232) 
4) Set an analog trigger and record 500ms of data at > 100Hz

Ideally this device (or devices) would have some sort of API so that I can
write an application to control all of this. I'd really like to spend less
than $800.

There are a few devices which provide an API and should handle requirements
1-3...

http://www.saleae.com/logic/
http://www.totalphase.com/products/aardvark_i2cspi/

.. but I haven't found anything for requirement 4 (in my price range).

Any suggestions? 	   
					
---------------------------------------		
Posted through http://www.EmbeddedRelated.com
On Apr 8, 6:35=A0pm, "eeboy" <jason@n_o_s_p_a_m.jasonorsborn.com> wrote:
> I want to set up a some automated testing of our product. I need to be ab=
le
> to: > > 1) Manipulate GPIO > 2) Time edges (down to 100us) > 3) Communicate via serial (SPI, RS232) > 4) Set an analog trigger and record 500ms of data at > 100Hz > > Ideally this device (or devices) would have some sort of API so that I ca=
n
> write an application to control all of this. I'd really like to spend les=
s
> than $800. > > There are a few devices which provide an API and should handle requiremen=
ts
> 1-3... > > http://www.saleae.com/logic/http://www.totalphase.com/products/aardvark_i=
2cspi/
> > .. but I haven't found anything for requirement 4 (in my price range). >
That's only 50 samples for 1/2 second. Why so difficult?
On Apr 8, 6:50=A0pm, linnix <m...@linnix.info-for.us> wrote:
> On Apr 8, 6:35=A0pm, "eeboy" <jason@n_o_s_p_a_m.jasonorsborn.com> wrote: > > > > > > > > > > > I want to set up a some automated testing of our product. I need to be =
able
> > to: > > > 1) Manipulate GPIO > > 2) Time edges (down to 100us) > > 3) Communicate via serial (SPI, RS232) > > 4) Set an analog trigger and record 500ms of data at > 100Hz > > > Ideally this device (or devices) would have some sort of API so that I =
can
> > write an application to control all of this. I'd really like to spend l=
ess
> > than $800. > > > There are a few devices which provide an API and should handle requirem=
ents
> > 1-3... > > >http://www.saleae.com/logic/http://www.totalphase.com/products/aardva... > > > .. but I haven't found anything for requirement 4 (in my price range). > > That's only 50 samples for 1/2 second. =A0Why so difficult?
Even if you have to sample 1000x, it should be doable.
> >That's only 50 samples for 1/2 second. Why so difficult? >
Agreed, but with what tool (factoring my budget)? I don't want to roll my own solution. I simply want to buy a tool and write the test application. --------------------------------------- Posted through http://www.EmbeddedRelated.com
On Fri, 08 Apr 2011 20:35:44 -0500, "eeboy"
<jason@n_o_s_p_a_m.jasonorsborn.com> wrote:

>I want to set up a some automated testing of our product. I need to be able >to: > >1) Manipulate GPIO >2) Time edges (down to 100us) >3) Communicate via serial (SPI, RS232) >4) Set an analog trigger and record 500ms of data at > 100Hz > >Ideally this device (or devices) would have some sort of API so that I can >write an application to control all of this. I'd really like to spend less >than $800. > >There are a few devices which provide an API and should handle requirements >1-3... > >http://www.saleae.com/logic/ >http://www.totalphase.com/products/aardvark_i2cspi/ > >.. but I haven't found anything for requirement 4 (in my price range). > >Any suggestions?
Not to be too snarky but... improve your requirements analysis? 1) Manipulate GPIO. I'm guessing that you want to ... Negative, guessing not allowed. Toggle a single bit meets the requirement to "manipulate GPIO" so one momentary contact push-button meets the spec. 2) Time edges (down to 100 usec). Jeez, that's just a 10 KHz clock if you only need relative timing. Or is it absolute, with respect to UTC(USNO) or something else? Nope, not spec'd, so go with 10 KHz. 3) Communicate via serial. Can do! Of course, it just communicates "Hello, world!" but that's okay, isn't it? Meets spec! 4) Analog trigger and record >100 Hz. I've got a lightly used cassette recorder around here that meets that spec. It's got an analog record switch; add some blank tape and we be rockin'. Snark-mode off. Anyone "in the business" who reads your request can probably rattle off a dozen ways to do this, none of which will do what you really are looking for. The handwaving answer is "Just use an [author's favorite] microcontroller, a transistor, and a 232 chip and you're there!" So: Just use an [AVR | ARM7TDMI | CM3] microcontroller, a transistor, and a 232 chip and you're there! -- Rich Webb Norfolk, VA
On 4/8/2011 6:35 PM, eeboy wrote:
> I want to set up a some automated testing of our product. I need to be able > to: > > 1) Manipulate GPIO > 2) Time edges (down to 100us) > 3) Communicate via serial (SPI, RS232) > 4) Set an analog trigger and record 500ms of data at> 100Hz > > Ideally this device (or devices) would have some sort of API so that I can > write an application to control all of this. I'd really like to spend less > than $800.
You'll spend fr more than that writing and debugging your test suite. How will the test bed "talk" to the application? I.e., how will your tester know *when* it should tweek a particular GPIO, when it should listen for comms, etc.?
> There are a few devices which provide an API and should handle requirements > 1-3... > > http://www.saleae.com/logic/ > http://www.totalphase.com/products/aardvark_i2cspi/ > > ... but I haven't found anything for requirement 4 (in my price range). > > Any suggestions?
Pull an *old* PC out of the trash and use that. Is testing important to you? Or, are you just wanting to *claim* you are testing your product(s)? (sort of like folks who buy disk "backup" solutions and never really put in place a structured plan *for* backups and recoveries)
eeboy wrote:

> Agreed, but with what tool (factoring my budget)? > > I don't want to roll my own solution. I simply want to buy a tool and write > the test application.
This one could be useful for recording 500 ms at 100 Hz: http://labjack.com I don't know if it is usable for the 100 us edge timing requirement, but if it is only for your test equipment, it should be no problem to use this in combination with the other test equipment. Can be used from Excel VBA, Visual Basic etc. -- Frank Buss, http://www.frank-buss.de piano and more: http://www.youtube.com/user/frankbuss
In article <HPydnf2tw7RtKgLQnZ2dnUVZ_sadnZ2d@giganews.com>, 
jason@n_o_s_p_a_m.jasonorsborn.com says...
> > I want to set up a some automated testing of our product. I need to be able > to:
Your first problems are getting a correct setup and test jig with replaceable cables and sockets as these will be worn out. Let alone avoiding ground loops, checking all parts are isolated from Mains
> > 1) Manipulate GPIO
I assume here you are wanting to actually DRIVE the GPIO of the product. What voltage range, are these just inputs being toggled or testing what happens when an output has opposite level or other voltage applied to it? Posibly inject a switch bounce into an input to test a switch input.
> 2) Time edges (down to 100us)
There are edges and edges, are you timing a clean or noisy edge from where, what voltages, what rise time, what THRESHOLDS or are they adjustable as well.
> 3) Communicate via serial (SPI, RS232)
Communicate or test these (i.e.detect missing, stuck or wrong signals)
> 4) Set an analog trigger and record 500ms of data at > 100Hz
What is the trigger (voltages, fall/rise time) at what point is a trigger a trigger? What delay if any between trigger and starting recording? What data resolution and accuracy of recording, because a GPIO pin of a micro could be polled at 100 Hz for 1bit recording.
> Ideally this device (or devices) would have some sort of API so that I
can
> write an application to control all of this. I'd really like to spend less > than $800. > > There are a few devices which provide an API and should handle requirements > 1-3... > > http://www.saleae.com/logic/
As a logic analyser, you will have to be sure it has the correct thresholds for your tests.
> http://www.totalphase.com/products/aardvark_i2cspi/
If just SPI required I have a board on my website that that does USB to SPI that works with standard APIs cost less than that one. This is used by some of my customers for SPI testing with GPIO. Could easily be respun to add a 232 converter as well.
> .. but I haven't found anything for requirement 4 (in my price range).
By far simpler to spin your own and use USB to whatever converter as your communications API to your host. Then develop everything that does the actual tests on the controller, then everything is timed CORRECTLY in one place. Multiple pieces of equipment can mean synchronisation issues due to USB latency and each device latency to commands being a lot more than you think it will be.
> > Any suggestions? > > --------------------------------------- > Posted through http://www.EmbeddedRelated.com
-- Paul Carpenter | paul@pcserviceselectronics.co.uk <http://www.pcserviceselectronics.co.uk/> PC Services <http://www.pcserviceselectronics.co.uk/fonts/> Timing Diagram Font <http://www.gnuh8.org.uk/> GNU H8 - compiler & Renesas H8/H8S/H8 Tiny <http://www.badweb.org.uk/> For those web sites you hate