Shop OBEX P1 Docs P2 Docs Learn Events
Q: breadboarding effect on timing? — Parallax Forums

Q: breadboarding effect on timing?

agsags Posts: 386
edited 2011-05-06 09:55 in Propeller 1
I'd appreciate if folks with experience with (solderless) breadboarding of prototypes would offer input. I had a project running using a WIZnet WIZ812MJ Ethernet module (very similar to the Spinneret) using the SPI interface. Data throughput was too slow, so I'm now attempting to use the INDIRECT interface, but have been unable to get it to work. It's "missing" values, or they are byte-shifted, etc. I've asked and have been told that many users of the Spinneret are using the INDIRECT interface successfully with the drivers in the OBEX, which I what I'm using. I don't think I have a basic connection/configuration problem as it "almost works".

The area I'm looking at now is skew/delay/load introduced by the 10" jumpers I'm using to get from the WIZnet module to my Propeller Protoboard USB. It's the same method I used to connect using SPI, and the SPI clock was running at about 100nS, which isn't much different than the 70nSec read/write cycle time using INDIRECT. Could it be that the rat's nest of wires all running together now is causing the problem? I've already tried adding nop delays in the PASM code, and it did have an effect, but still not correct.

Thanks.

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2011-05-05 12:08
    70ns clock rates are about 14 MHz and 10" wires provide significant delays at those speeds, let alone potential for capacitive coupling. You need to either slow things down or shorten the wires or both. Using shielded cables, twisted pairs, or other cabling can help, but not always since it adds capacitance.
  • davidsaundersdavidsaunders Posts: 1,559
    edited 2011-05-05 12:31
    You should be able to get away with this on a pair of solderless breadboards, if you shorten the leads to less than a couple of inches. I had never heard of any one trying to use 10 inch leads for breadboarding, ouch.
  • agsags Posts: 386
    edited 2011-05-05 19:19
    I'm up and running. I had a strong suspicion that the jumper length was messing wtih timing - but wasn't sure. I did spend a week struggling with the SPI driver until I found a nasty uninitialized local bug. I didn't want to put the effort into building the prototype "correctly" for no benefit. The problem prototyping with the WIZ812MJ module is that it uses two double-row 0.1" headers - so a normal breadboard doesn't help. Along with my use of a Propeller Protoboard that meant I had long jumpers to get everything connected up. It almost worked.

    I've properly soldered the WIZnet module onto my Protoboard, used short (<2") jumpers and it works fine now. Time to see what kind of speed I can squeeze out of the additional 10 pins I've just dedicated (compared to SPI).

    Thanks for the comments.
  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2011-05-05 21:27
    Here is an interesting thread that might help:

    http://www.electro-tech-online.com/general-electronics-chat/86506-fm-transmitter.html

    quote from the thread:

    "I measured my solderless breadboards and I find that each row has 3.3pF of capacitance to the next row. Not only that, but from each row to each alternate (second one over) row has 1.7pF and to each second alternate there is 1.2pF. And so on it goes."

    "PS: for those interested in this subject, I find that there is also an awful lot of capacitance from each row to the two buses at the top and bottom of the board. For example, from one row to the nearest bus, I measure 1.3 to 1.6 pF. This is even though they are not parallel to each other. From one row to the second nearest bus, there is also 1.3 pF."
  • agsags Posts: 386
    edited 2011-05-05 21:46
    @Beau: Point well taken. However, it turns out that capacitance (or inductive coupling, or some other 2nd order effect) not related to the solderless breadboard got me in this instance. Before hardwiring my board, I tried directly connecting the WIZnet module pins to the Propeller Protoboard pins using jumpers, not through the solderless breadboard. They did run parallel to one another, and just because of physical dimensions were 10" long. That alone, even without the breadboard, was enough to make the difference between a non-functioning prototype (disaster) and one the so far seems to be functioning just fine (~6 hrs uptime so far, about 2M packets received). The code was not modified (yet) at all.

    I'm posting this update in the hope that others that are be battling a similar situation might learn from what I've learned - the hard way.

    Thanks for the reply.
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2011-05-06 09:55
    I once threw together a Dracblade on a breadboard. I was gobsmacked when it worked, some of those wires were 8" long and that was after the 6" of wiring that came from the Prop board (my "lunchbox demoboard").
Sign In or Register to comment.