Archive for February, 2007

ADS7822P Object v2.1 – 200Ksps @ 12 bits, 333Ksps @ 6 bits!

Thursday, February 15th, 2007

The low power 2.7V version of the chip I have specifies a maximum of 75Ksps with a 1.2MHz clock, however higher voltage versions of the chip support up to 200Ksps with a 3Mhz clock.

After I posted the 75Ksps v2.0 of the object last night, I experimented… and I was able to significantly exceed the specifications of my low voltage chip! This probably means reduced lifetime for it, and some loss of accuracy, but … I wanted the speed!

On the Parallax Propeller forum, bambino asked why I was not running at 200ksps… and given that I significantly exceeded that speed in some experiments, also given other people may also want to run at 200ksps, I re-wrote the assembly  driver for an exact 200ksps sampling rate at 12 bits per sample. As my driver allows you to set the precision at which sampling will occur, this actually gives a nice range of sampling rates, so you can trade off accuracy for speed.

The following rates are available:

  • 200,000 samples/sec @ 12 bits
  • 222,000 samples/sec @ 11 bits 
  • 238,095 samples/sec @ 10 bits
  • 250,000 samples/sec @ 9 bits
  • 277,777 samples/sec @ 8 bits
  • 294,118 samples/sec @ 7 bits
  • 333,333 samples/sec @ 6 bits

Needless to say, I am VERY pleased with the ADS7822P’s I purchased!

Click on the link to download the new archive: ADS7822P 200Ksps-333Ksps Driver

Let me know what you think…

Best,

Bill

ADS7822P Object v2.0 – up to 100Ksps!

Wednesday, February 14th, 2007

I’ve gotten my assembly language version of my ADS7822P driver running, this version will do up to approx. 100,000 8 bit conversions per second while meeting the minimum timing requirements of the data sheet!

Or if you need more precision, you can get approx. 75,000 12 bit conversions per second.

The object can be used as:

– a pure spin object – much slower, but does not tie up a cog

– an assembly language implementation – FAST

The documentation is in the spin files.

Click on the link to download the object: ADS7822P Object V2.0 

Enjoy!

Bill

ADS7822P ADC Object posted

Wednesday, February 7th, 2007

I’ve commented my ADS7822P object, and I am uploading it into the Propeller Object Exchange – however you can grab a copy here even before it gets approved!

Actually, I also intend to keep enhancing it, and I will update the copy on this site more frequently than the Object Exchange; as I will post intermediate versions here :)

I hope you find it useful!

Click on the link to download the object: ADS7822P ADC Object and Demo

640×240 VGA driver (displayed as 640×480) for the Propeller

Sunday, February 4th, 2007

I needed a bit of a break today from an ARM system I am fighting with (long story; maybe I’ll blog on it in the future).

I have a nice little 8.4″ TFT monitor that unfortunately can only display 640×480 VGA mode signals. The Propeller VGA text driver works great with it, but I did not have a graphics driver for the Propeller that would give me high resolution graphics. I decided to do a quick mod to the 512×384 VGA bitmapped driver that uses 1024×768 timing – I figured it would be easy to modify it to be a 640×240 driver with 640×480 timings.

I was right. Less than an hour after I started I was finished; including modifying the color map so that I could set a unique foreground / background color combination for every 32×16 pixel tile (so that the color patches looked square).

I’ve uploaded the object to the Propeller Object Exchange, but until it is approved, you can grab it here.

Download driver: VGA 640×240 Bitmap Driver

Let me know if you find it useful!

Best,

Bill

SXy I/O

Sunday, February 4th, 2007

I received the shipment of SX goodies I ordered from Parallax on Friday, so on Saturday I quickly soldered some female headers onto the SX48 proto board (a VERY nice little board! – and is that TQFP SX48 TINY!) and quickly ported my 74HC595 I/O expander code to it from the SX28 (very tough to do… just changed the “DEVICE” line).

It works great.

While working on some code for a client, I left a test program running that displayed a 32 bit counter on the 32 status LED’s on my output board… I left it running for hours :)