I haven't been following all the details on this thread, but from what I read it looks like the problem only happens on the QuickStart board, correct? The Propeller Project Board USB contains a QuickStart header, and there is a known problem with the XI line and VGA on that board. Maybe the QuickStart board has a similar problem with the XI line. From what I understand on the Project Board USB is that there is some crosstalk between the XI trace running from the crystal to the header. The fix for the Project Board is to cut this trace near the crystal by drilling it out.
Is there an image of the QS layout available that would show which lines run adjacent to the XI trace? Maybe if these I/O pins were avoided it would resolve the problem.
There is "P8X32A QuickStart PCB Layout Rev B (DipTrace .dip)" on the Parallax site but I don't have DipTrace so I can't open it. I don't see a PDF version.
Traces 0-7 are on the opposite side of the crystal and the XI line so I don't think they can be affected. The upper pin traces 15+ are directly routed under the crystal on the lower side of the board.
It looks like P0-P7 run to the touch pads on one side of the board and the connector on the other side of the board. Maybe the adjacent traces are picking up cross-talk. Can you look at the signals on a scope, or try using other pins?
It looks like P0-P7 run to the touch pads on one side of the board and the connector on the other side of the board. Maybe the adjacent traces are picking up cross-talk. Can you look at the signals on a scope, or try using other pins?
I've tried using P8-P15 with no better luck. I'm afraid I'm not particularly skilled at using a scope. I have used a logic analyzer and didn't see any obvious problems. Actually, the PMC worked with the QuickStart with the logic analyzer probes attached.
I've tried using P8-P15 with no better luck. I'm afraid I'm not particularly skilled at using a scope. I have used a logic analyzer and didn't see any obvious problems.
Sounds like a good reason to use it David. A 100MHz scope will show things that you won't see on a logic analyzer. Put your write test in a loop (without any printing) and look at the signals with a continuous trigger. Then repeat for a read test.
The signal vertical edges should be square I.E constantly rising or falling edge with no little wiggles in the middle for the clock. There should not be significant 50% dips or rises in the horizontal lines, although there will be some wiggle in them immediately after a vertical edge. All measurements with a scope should have a proper probe ground.
What happens if you power the Quickstart using the HIB DC adapter?
Ugh. I tried that and the test worked. However, I then tried unplugging the power supply and the test still works. It seems that the test works some days and not others. Pretty much impossible to debug. :-(
The ground by itself was not enough. I think I had to also have a probe attached to the SRAM CS line.
Hanging a probe on the SRAM CS line adds a small amount of capacitance to it. This will filter the line slightly and reduce noise and switching speed. So it's either filtering out some noise on the line, or increasing the hold time of the CS. It would be interesting to see if hanging a 10pf cap on the line has the same effect. Maybe you need to add some delay in your code before changing the CS line. You might be violating a hold-time spec.
Hanging a probe on the SRAM CS line adds a small amount of capacitance to it. This will filter the line slightly and reduce noise and switching speed. So it's either filtering out some noise on the line, or increasing the hold time of the CS. It would be interesting to see if hanging a 10pf cap on the line has the same effect. Maybe you need to add some delay in your code before changing the CS line. You might be violating a hold-time spec.
According to the datasheet, the setup time for CS is 25ns, the hold time is 50ns, and the disable time is 25ns. Given the speed of the Propeller, I don't think it would be possible to violate those minimum times with an 80mhz clock. Each instruction takes 50ns, right? In any case, I've tried adding NOP instructions everwhere without any luck. That includes between the asserting of CS and the first pulse of the clock.
Ugh. I tried that and the test worked. However, I then tried unplugging the power supply and the test still works. It seems that the test works some days and not others. Pretty much impossible to debug. :-(
This sounds like the Quickstart when it first came out. It as giving people fits with the touchpads seemed like weather, body type, humidity, moon phases and everything else were affecting the pads.
This sounds like the Quickstart when it first came out. It as giving people fits with the touchpads seemed like weather, body type, humidity, moon phases and everything else were affecting the pads.
I wonder if there would be any demand for a version of the QuickStart that didn't have the touch pads? In fact, that might free up enough space to add a SPI flash and SRAM! :-)
Ugh. I tried that and the test worked. However, I then tried unplugging the power supply and the test still works. It seems that the test works some days and not others. Pretty much impossible to debug. :-(
My QuickStart+HIB+PMC is back to not working again and it doesn't matter if I plug in the external power supply or not. I think I'm going to wait for a reply from David Carrier at this point.
Do you have a project board USB to test, if the PMC is working with this board? If quickstart makes troubles I might buy the project board USB. Looks like a perfect fit for my project.
Do you have a project board USB to test, if the PMC is working with this board? If quickstart makes troubles I might buy the project board USB. Looks like a perfect fit for my project.
Christian
Yes I have a Project Board but it sounds like I'll have to drill out one of the traces to make it work from what Dave Hein said. Also, I'll have to solder a female header on and I'm not sure I have one of the right size.
Sounds like you have to redo the whole board ;-)
It's not that urgent that you need to do that.
No, the main problem is I don't have a female header to solder onto it. The Project Board comes with a place to solder a QuickStart-like header but it didn't come with the header itself. I'll look through my parts drawers to see if I can find one but I think I mostly have male headers.
Actually, if it's the disconnecting of XI that is what fixes the Project Board, maybe you could try the same thing with the QuickStart board? Just drill out the XI line near the crystal?
Wouldn't that break the circuit of the crystal so that the propeller has no longer an external clock input?
I assume it's just breaking the wire that connects the XI pin to the QuickStart header. That should't affect the crystal. Maybe Dave Hein will offer a suggestion as to how the QuickStart can be modified. I looked at the traces on my Project Board and they are very tiny. I'm not sure I trust myself to try to cut one of them. Same applies to the QuickStart.
Dave: Do you know if Parallax plans to remove this wire in future Project Boards?
Oh I see, misunderstood that. Thought to drill out the trace from the crystal to the propeller instead from crystal to header. Thx for clearing that up. I think I will try that.
Here's the link for the thread on the PPB-USB VGA problem -- http://forums.parallax.com/showthread.php/146944-Propeller-Project-Board-USB-VGA-issues?p=1212129#post1212129 . If I were Parallax I would drill this trace out before shipping the boards to customers, and then replace it with a new version of the board when the current supply runs out. However, I don't know what Parallax is planning. I used a 1/16" drill bit, which is the smallest I have. The internal trace comes off at a 45 degree angle from the XI connector at the crystal.
With that being said, there's no guarantee that the QS board has the same problem. You could try cutting the XI trace on the QS board to see if it makes a difference. Make sure you don't cut the XI trace going from the crystal to the Prop. You would want to cut the XI trace going to the stacking connector as close to the crystal as possible.
I've been keeping track of this thread, but I haven't been able to reproduce in hardware problems, so I haven't had much in the way of input. I am curious to see what happens if you significantly lower the clock rate on the SPI bus. (e.g. to just a few kilohertz) Also, I've heard that the problem doesn't occur in true 1-bit SPI mode, vs. quad SPI or QPI. Is this always true, or is it just less likely to occur?
As for the XI pin in the 40-pin socket, the VGA problem is specific to the Propeller Project Board, and a future revision will fix it with some routing changes. Even at its worst, it did caused enough clock jitter to prevent syncing on VGA signals, but it wouldn't have any impact on a synchronous bus like SPI.
Concerning the touch buttons on the QuickStart, as long as you are not touching them, they have almost no impact on the signals. If you can get the modules working in a breadboard, the extra loading from the touch button traces will pale in comparison to the loading from the jumper wires and breadboard sockets. (that is until you touch the the touch buttons)
I attached a DipTrace file for an adapter to connect the Propeller Memory Card to the QuickStart without the rest of the Human Interface Board peripherals. Using DipTrace's built-in ordering tool, I can get more than 20 with a week lead time for $45 plus shipping. If you think it would be useful, I can order some of them and mail them out to everyone working on it.
I've been keeping track of this thread, but I haven't been able to reproduce in hardware problems, so I haven't had much in the way of input. I am curious to see what happens if you significantly lower the clock rate on the SPI bus. (e.g. to just a few kilohertz) Also, I've heard that the problem doesn't occur in true 1-bit SPI mode, vs. quad SPI or QPI. Is this always true, or is it just less likely to occur?
As for the XI pin in the 40-pin socket, the VGA problem is specific to the Propeller Project Board, and a future revision will fix it with some routing changes. Even at its worst, it did caused enough clock jitter to prevent syncing on VGA signals, but it wouldn't have any impact on a synchronous bus like SPI.
Concerning the touch buttons on the QuickStart, as long as you are not touching them, they have almost no impact on the signals. If you can get the modules working in a breadboard, the extra loading from the touch button traces will pale in comparison to the loading from the jumper wires and breadboard sockets. (that is until you touch the the touch buttons)
I attached a DipTrace file for an adapter to connect the Propeller Memory Card to the QuickStart without the rest of the Human Interface Board peripherals. Using DipTrace's built-in ordering tool, I can get more than 20 with a week lead time for $45 plus shipping. If you think it would be useful, I can order some of them and mail them out to everyone working on it.
— David Carrier
Parallax Inc.
Hi David. Thanks for stopping by! Have you tried running any of my test code? I'd be happy to post a new version. It would be interesting to see if you can duplicate my problem with your setup. I even see it with the QS+HIB+PMC stack frequently. I can post the code later. We're heading out for dinner now.
I wonder if there would be any demand for a version of the QuickStart that didn't have the touch pads? In fact, that might free up enough space to add a SPI flash and SRAM! :-)
David,
Yes, there would be plenty of room. I did post a version of the Quickstart board on this thread that has all non-essentials removed for people to use as a foundation to make their own Quickstart form factor layouts.
Do you have a project board USB to test, if the PMC is working with this board? If quickstart makes troubles I might buy the project board USB. Looks like a perfect fit for my project.
Christian
Okay, I ordered some 2x20 female headers from eBay and soldered one on my Propeller Project Board and tried out my SRAM driver. Unfortunately, it fails in the same way it does on the QuickStart. I guess this means I must have a problem with my driver since I can't very well blame the Project Board failure on the QuickStart buttons. :-) I'm always hesitant to blame this sort of thing on hardware anyway since it is much more likely to be my software problem. I just haven't been able to find it yet. Looks like I need to keep looking!
Okay, I ordered some 2x20 female headers from eBay and soldered one on my Propeller Project Board and tried out my SRAM driver. Unfortunately, it fails in the same way it does on the QuickStart. I guess this means I must have a problem with my driver since I can't very well blame the Project Board failure on the QuickStart buttons. :-) I'm always hesitant to blame this sort of thing on hardware anyway since it is much more likely to be my software problem. I just haven't been able to find it yet. Looks like I need to keep looking!
Well, I guess I plugged in the HIB backwards because I didn't read the documentation for the Project Board very well and thought that the QuickStart module should overlap the Project Board like it overlaps the QuickStart itself. Wrong!! Now it looks like that may have fried my Project Board because my SRAM driver seems to work fine on the QS+HIB+PMC but not on the PB+HIB+PMC. Guess I'll have to order another from Parallax. Mine was a Rev A board anyway. Maybe the Rev B board will work better with the PMC.
Does the PMC now work with the quickstart and HIB board? I'm asking because I thought you mentioned that the PMC does not reliably work with the Quickstart with or without the HIB board.
Currently I'm designing my Propeller board because I need two Propeller Chips communicating with each other. I'm going to use the Microchip flash and sram modules directly on the boards. Looking forward to use your
updated flash and sram drivers
Does the PMC now work with the quickstart and HIB board? I'm asking because I thought you mentioned that the PMC does not reliably work with the Quickstart with or without the HIB board.
Currently I'm designing my Propeller board because I need two Propeller Chips communicating with each other. I'm going to use the Microchip flash and sram modules directly on the boards. Looking forward to use your
updated flash and sram drivers
Christian
It seems to work sometimes and not other times. I have to look closer at the code I guess. The last time I tried it it was working fine on QS+HIB+PMC but not ProjectBoard+HIB+PMC.
I just now tried it again and it isn't working (the SRAM) on either the QuickStart or the Project Board. Depends on the phase of the moon I think. The flash always seems to work for me though.
It seems to work sometimes and not other times. I have to look closer at the code I guess. The last time I tried it it was working fine on QS+HIB+PMC but not ProjectBoard+HIB+PMC.
I just now tried it again and it isn't working (the SRAM) on either the QuickStart or the Project Board. Depends on the phase of the moon I think. The flash always seems to work for me though.
Ugh. I just unplugged it from my Project Board and plugged it back into the QuickStart and now it works there including the SRAM test. I REALLY NEED TO TRACK THIS DOWN!!!
Comments
http://www.parallaxsemiconductor.com/quickstart
Traces 0-7 are on the opposite side of the crystal and the XI line so I don't think they can be affected. The upper pin traces 15+ are directly routed under the crystal on the lower side of the board.
Sounds like a good reason to use it David. A 100MHz scope will show things that you won't see on a logic analyzer. Put your write test in a loop (without any printing) and look at the signals with a continuous trigger. Then repeat for a read test.
The signal vertical edges should be square I.E constantly rising or falling edge with no little wiggles in the middle for the clock. There should not be significant 50% dips or rises in the horizontal lines, although there will be some wiggle in them immediately after a vertical edge. All measurements with a scope should have a proper probe ground.
Was that just by adding the ground connection? What happens if you power the Quickstart using the HIB DC adapter?
This sounds like the Quickstart when it first came out. It as giving people fits with the touchpads seemed like weather, body type, humidity, moon phases and everything else were affecting the pads.
Do you have a project board USB to test, if the PMC is working with this board? If quickstart makes troubles I might buy the project board USB. Looks like a perfect fit for my project.
Christian
It's not that urgent that you need to do that.
Dave: Do you know if Parallax plans to remove this wire in future Project Boards?
With that being said, there's no guarantee that the QS board has the same problem. You could try cutting the XI trace on the QS board to see if it makes a difference. Make sure you don't cut the XI trace going from the crystal to the Prop. You would want to cut the XI trace going to the stacking connector as close to the crystal as possible.
As for the XI pin in the 40-pin socket, the VGA problem is specific to the Propeller Project Board, and a future revision will fix it with some routing changes. Even at its worst, it did caused enough clock jitter to prevent syncing on VGA signals, but it wouldn't have any impact on a synchronous bus like SPI.
Concerning the touch buttons on the QuickStart, as long as you are not touching them, they have almost no impact on the signals. If you can get the modules working in a breadboard, the extra loading from the touch button traces will pale in comparison to the loading from the jumper wires and breadboard sockets. (that is until you touch the the touch buttons)
I attached a DipTrace file for an adapter to connect the Propeller Memory Card to the QuickStart without the rest of the Human Interface Board peripherals. Using DipTrace's built-in ordering tool, I can get more than 20 with a week lead time for $45 plus shipping. If you think it would be useful, I can order some of them and mail them out to everyone working on it.
David Carrier
Parallax Inc.
Thanks!
David
David,
Yes, there would be plenty of room. I did post a version of the Quickstart board on this thread that has all non-essentials removed for people to use as a foundation to make their own Quickstart form factor layouts.
Does the PMC now work with the quickstart and HIB board? I'm asking because I thought you mentioned that the PMC does not reliably work with the Quickstart with or without the HIB board.
Currently I'm designing my Propeller board because I need two Propeller Chips communicating with each other. I'm going to use the Microchip flash and sram modules directly on the boards. Looking forward to use your
updated flash and sram drivers
Christian
I just now tried it again and it isn't working (the SRAM) on either the QuickStart or the Project Board. Depends on the phase of the moon I think. The flash always seems to work for me though.