Shop OBEX P1 Docs P2 Docs Learn Events
Hardware design vs. Software design — Parallax Forums

Hardware design vs. Software design

yarisboyyarisboy Posts: 245
edited 2009-09-14 01:25 in Propeller 1
One of the goals of the design contest is an application that fully exploits the unique design features of the Propeller in an elegant way not possible with brand X hardware. I have posted questions about serial data, cog ram and so on with out enough detail. It appears the following chip: http://focus.ti.com/lit/ds/symlink/ads7852.pdf allows a cog to write a 3 pin analog channel address to the MUX of an A/D chip. The chip would then do the conversion and return the binary 12 bits to 12 Propeller pins that would, at all times be available to the cog. It may not be just-that-simple, but it looks to me like a good work-around for my timing concerns. Since one of the selling points of the Propeller strategy is deterministic performance I would think this hardware change would support the strategy quite well. Most of us would be unwilling to use more than half the pins for feed-back and A/D control but it looks like the hub-to-cog timing concerns would largely disappear. Global variables would of course have to be passed during the hub window but those change slowly.
From my signature my software phobia is obvious and I have the usual propeller learning curve fatigue. Will this hardware change simplify the software needed?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
MOORE'S LAW: The capabilities of electronics shall double every 18 months.
cloyd's corollary: Hardware is easy, software is hard.

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2009-09-13 17:40
    The ADC chip you showed is a parallel output ADC designed for connection to a microprocessor with a 12-bit parallel I/O bus. Essentially you do a dummy write operation to initiate the analog to digital conversion with an address from 0-7 providing a channel number. When the conversion is done (/busy goes high), you do an 12-bit parallel read to get the data. You need a total of 20 I/O pins to use this device. Unless you need the speed (500K samples/sec), it's a poor use of I/O pins. It would work if the 20 pins were available and you needed the speed.

    I think your "software phobia" is getting in the way of doing a good design. There are plenty of "canned" objects for using various serial ADCs with the Propeller that use much fewer I/O pins and fairly high conversion rates. The question of cog to hub data transfers is very rarely an issue since transfers can occur once every 16 system clock cycles (200ns) and, after the first transfer, are completely deterministic.
  • yarisboyyarisboy Posts: 245
    edited 2009-09-13 19:34
    In the application I'm working on this chip should be able to give me 8x over-sampling. With that much speed and data I should be able to fully explore the limits of cog RAM and 32-bit integer based numerical methods for quite some time. Gobbling up 71% of my pins for this seems like poor planning but as slow as I am, by the time I get there, the Propeller II will be out. 64 pins, yee-Haa. Thanks again for your observations. I may yet turn from the "dark side" and go serial.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    MOORE'S LAW: The capabilities of electronics shall double every 18 months.
    cloyd's corollary: Hardware is easy, software is hard.

    Post Edited (yarisboy) : 9/13/2009 7:47:44 PM GMT
  • TimmooreTimmoore Posts: 1,031
    edited 2009-09-13 20:06
    You could look at the tlv2553/2556 these are 12 bit A2D, 11 channel, with 200K sample/sec. It is an SPI using 5 pins. They work with the tlv2543 driver I posted on obex but only at ~6000SPS per channel (i.e. 14x6000 for the chip). I have a driver for the TLV2553/2556 that runs at ~9000SPS per channel i.e. 126KSPS. The driver does 4 or 8x running average which would be easy to change to oversampling. If you reduce the number of channels you need from 14 you would increase the SPS per channel. If you are interested I can post the driver.
  • Bob Lawrence (VE1RLL)Bob Lawrence (VE1RLL) Posts: 1,720
    edited 2009-09-13 20:30
    @Timmoore

    Re: lv2553/2556

    Are they only available in 20SOIC, 20TSSOP packages? That's all I see on the TI site. What package/s do you work with?

    Bob
  • TimmooreTimmoore Posts: 1,031
    edited 2009-09-13 20:51
    20TSSOP I solder them to a breakout board for a lot of uses, its pretty straight forward, place the chip on top of hte board, touch of solder on pin 1, check position. Then run solder down the otherside - not worrying about bridges and then the first side, then use solder wick to remove the surplus (basically this approach http://www.sparkfun.com/commerce/tutorial_info.php?tutorials_id=96)
    For example the one I have just building has the tlv2553 on a 20pin 0.6wide DIL breakout with 3x accelerometer, 3x gyro and 3x compass mounted on top on thir own breakouts. I ended up with a 20pin DIL IMU about 1" high.
    If you want to talk more we should prob start a new thread rather than using this one unless yarisboy says its on topic
  • BigFootBigFoot Posts: 259
    edited 2009-09-14 01:23
    There are very few people out there that are good at both hardware and firmware design.
    Hardware design may seem simple but requires years of experience to master.

    Most firmware guys think digital hardware is simple but in actuality the faster the digital circuits
    run the more analog they become. Even PC board design becomes part of the circuit, especially
    at higher frequency's.

    Best Regards,

    Russ
  • BigFootBigFoot Posts: 259
    edited 2009-09-14 01:25
    There are very few people out there that are good at both hardware and firmware design.
    Hardware design may seem simple but requires years of experience to master.

    Most firmware guys think digital hardware is simple but in actuality the faster the digital circuits
    run the more analog they become. Even PC board design becomes part of the circuit, especially
    at higher frequency's.

    Best Regards,

    Russ
Sign In or Register to comment.