PIC reset sequence and propeller tool
mirror
Posts: 322
I've just started working with the propeller chip, and at the moment all my thoughts are "WOW this is how all embedded processors should be done!"
I did strike a little problem with my first board - which could easily be avoided with a slight change to the·propeller tool.
I blindly went ahead and put a reset generator chip on the board, and then found that the propeller tool wouldn't detect my board. The reason for the failure was that the reset chip was giving a gauranteed reset pulse of 150ms. The problem is that the propeller tool tries to commuincate about 90ms after reset - and so never sees the chip.
If the propeller tool had a configurable wait time (from send-reset to probe-for-chip), then different reset schemes could be allowed for.
I'm still in favour of an external reset chip / watch dog timer chip - In·embedded applications is not unwise to make sure·that all the eggs aren't in one basket.
Would the idea of a configurable delay be considered for the propeller tool?
·
I did strike a little problem with my first board - which could easily be avoided with a slight change to the·propeller tool.
I blindly went ahead and put a reset generator chip on the board, and then found that the propeller tool wouldn't detect my board. The reason for the failure was that the reset chip was giving a gauranteed reset pulse of 150ms. The problem is that the propeller tool tries to commuincate about 90ms after reset - and so never sees the chip.
If the propeller tool had a configurable wait time (from send-reset to probe-for-chip), then different reset schemes could be allowed for.
I'm still in favour of an external reset chip / watch dog timer chip - In·embedded applications is not unwise to make sure·that all the eggs aren't in one basket.
Would the idea of a configurable delay be considered for the propeller tool?
·
Comments
I can't speak for Parallax, but I suspect this would be low on any list of priorities.
You probably used a Microchip supervisor IC. If you really think you need one, use one of the Panasonic chips instead. Their MN1381 series has a much quicker release time and may fit the bill. But, seriously, I think it would be superfluous on the Propeller.
-Phil
I can confirm that the Propeller tool sends a reset to the board - checked with a scope on the reset pin of the chip.
90ms later the RX serial arrives at the chip - also checked with a scope on P30 at the chip. (It seems to be at about 115kbaud). This delay seems to be about the same as the propeller development board that I've got.
I had a look at P31 - and - nothing!? (I just don't seem to get anything out of this pin).
Several milliseconds later I'm able to observe activity on the SDA and SCL lines to the EEPROM.
Chip supply seems to be OK at 3.3V.
Since it's a hand soldered LQFP package, I thought I'd look for shorts and opens around the power supply pins, reset pin and specifically P26 to 31. All seems OK. (including a check direct from the device pin to where-ever the pin is going). (I do quite a bit of SM hand soldering, so it's not like this was my first attempt).
The real reason for including the reset chip was so that a reset signal can also be sent to an Ethernet chip on power up - BUT - that chip (and associated components) have not yet been soldered onto the board. Actually the board is quite empty, just the stuff to test the propeller (Voltage regulator - decoupling capacitors - serial EEPROM & pullups - MAX3232 and pump capacitors).
So, at the moment I'm just left scratching my head, and wondering what I've missed.
Any ideas?
Repairs on surface mount boards are always fun - at least I didn't have to dig down through the PCB to a buried layer.
It seem I got myself confused with the schematic of the propeller demo board. In the USB to RS232 convertor, RXD is receive data from the propeller into the convertor chip. I had interpreted it as receive data from the USB connection. Siince there was no other indication on the schematic, I took a small bad assumption and turned it into a real live prototype.