Use a propeller flip as a proplug?
ti85
Posts: 44
in Propeller 1
I do not have a proplug and I want to program some dip propellers on a breadboard. I own a propeller flip board, so can I use the ftdi chip from the flip Board to program other dip propeller? Would something like tying the flip propeller chip reset to ground cause the ftdi to bypass that propeller and communicate with my breadboard dip propeller?
Comments
EDIT: OK, so I misunderstood your post, and I realize you want to tie into the FTDI chip from the Flip board. My suggestion still holds. Just have your Flip board program the EEPROM that you will use with your breadboarded Propeller. You just need to write a small program that uses an I2C driver to talk to the EEPROM, and include the breadboarded Prop's binary file into the Flip's program using the FILE instruction.
Try: https://github.com/avsa242/spin-standard-library/blob/testing/library/demos/misc/Loader-P8X32A-Demo.spin (this depends on misc.loader.p8x32a.spin in the same repository, as well as a few others, which are all in the library/ subdirectory. Easiest is of course to just download the repo and add it to your P1 compiler's library path, but you can also download the individual files). It's written for OpenSpin/FastSpin, but with minor mods, it should work in PropTool, if that's what you're using. EDIT: removed trivial OpenSpin/FastSpin-specific bits (preprocessor code)
The major limitation of doing it this way (or at least the exact way the demo does it) is the maximum size of the binary you can load, since the image is held in the "host" Propeller's RAM.
Dave's way has the benefit of being burned to EEPROM so it only has to be done once.
Cheers
Doc
You would have to be able to reroute the reset to the target instead and it is very easy to have a little bit of pasm code that can read the PC TXD logic level and echoed it to the target RXD and vice-versa. No need to worry about serial routines.
So, not difficult at all, just messy because the USB serial reset would have to be hacked.
btw, if at least you were able to disable the Flip's reset - even simply by shorting the base emitter of the reset transistor so that you are not cutting any tracks, you can manually reset the target at the same time you attempt a download. I've use this method on some P1 designs and there is an art to it since the timing is rather tight but I found that if I held the target in reset with one hand, press F11 with another, and then release the reset, it detects and loads the target Prop.
One of my pet peeves about Parallax Prop products is that when they build in USB serial, there is no way to bypass it or disable the reset. At least if they put a series resistor in the USB TXD then this can always be overdriven by an external serial, and if they put a jumper in series with the P1 reset then you can disable it. Especially is this important when you don't want it reset by every DTR transition.
https://forums.parallax.com/discussion/86311/propeller-loader
https://forums.parallax.com/discussion/download/42068/PropellerLoader.spin
I use it in multiple projects of mine like 55 props, and my black box, to load many propellers with a single propeller, etc.
You can nest the programs deep if you want, (if you have the eeprom space for it all.)
https://forums.parallax.com/discussion/115532/propeller-to-the-nth-and-if-you-act-now-prop-ring-is-yours-free
Page 5 of the datasheet.
There are lots of USB to serial devices which will work in place of a PropPlug. The two main concerns I can think of are:
1: Make sure the TX to the Propeller is 3.3V logic. If it's 5V logic add a 3K to 10K resistor in series between the two devices.
2: Some USB to serial devices require a capacitor on the DTR line to work properly with Propeller boards.
I've used lots of different cheep USB to serial devices in my Propeller projects. I personally think it's rare to find a USB to serial device which won't work with the Propeller.
This is an important consideration when making products based on the Propeller. I believe there are a variety of options which will work but I usually add a jumper on the Propeller's reset line so customers don't cause the device to reset when connecting a USB cable.
@"Duane Degn" - that’s the schematic I was thinking of!
I’ll try to build it.
That circuit is for taking an RS232 signal (tx and RX) and converting it to/from the propeller SI/SO lines (P31/30). However, because the lines need inverting, a double inversion would be needed on the DTR line, which can effectively be cancelled out, leaving no inversion necessary. So, you will require the transistor inversion that is done in the propplug.
If you look up my P8XBlade2 thread you will find the transistor reset circuit but be careful as I use an integrated transistor with internal bias resistors so you will need the base-emitter resistor externally with any basic npn transistor such as 2N2222, 2N2904 or even the BC series (forget the numbers atm).