Use a propeller flip as a proplug?

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

  • The only problem is that you normally need the reset signal from the FTDI chip to program a Propeller. But if you only connect the DIP prop's pins 30 and 31 to 30 and 31 on the Flip while holding the Flip's propeller in reset, you should be able to program it if you manually reset the DIP prop at just the right time during the loading sequence. You might want to connect the two pins 30 together via a resistor instead of just a wire to protect against damage in case you forget to hold the Flip's propeller in reset.
  • Dave HeinDave Hein Posts: 6,204
    edited 2020-11-07 - 17:13:18
    If you want the Flip board to program through the serial port you will need to emulate the protocol that a host computer uses. It would be easier to just program the EEPROM directly from the Flip board. I'm assuming you're using a DIP EEPROM chip with your breadboarded Propeller.

    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.
  • avsa242avsa242 Posts: 255
    edited 2020-11-07 - 19:27:08
    I'm not sure it's exactly the way you are looking for to program the DIP Prop(s), but one Prop can certainly program another.
    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
  • As a low effort alternative, consider getting a standalone EEPROM programmer. They may be cheaper and more available than a PropPlug. Downside is that you can't just upload the code, you have to pull out the EEPROM chip and put it in the programmer every time.
  • If you have a USB to serial (db9) converter, you may be able to make a prop plug. If so you'll need an NPN transistor and some resistors and a 0.01uf cap. I'll look for the schematics - should be able to download from Parallax. Then you don't have to use the flip and can program the dip prop directly.

    Doc
  • doggiedocdoggiedoc Posts: 2,135
    edited 2020-11-08 - 00:52:53
    So far I have not been able to back up the statement above with a working example. I could be wrong.
  • Using a Flip is very messy but the main problem is that even when you put in a simple bit-bashed echo routine, is that when the PC resets the target via DTR, it is actually your Flip that gets reset and therefore programmed. Not quite what you want!
    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.
  • Just use the propeller loader spin object. No need to mess with the ftdi chip, a prop CAN program another prop(and its eeprom)

    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
    propinprop.GIF
  • doggiedoc wrote: »
    If you have a USB to serial (db9) converter, you may be able to make a prop plug. If so you'll need an NPN transistor and some resistors and a 0.01uf cap. I'll look for the schematics - should be able to download from Parallax. Then you don't have to use the flip and can program the dip prop directly.

    Doc

    Page 5 of the datasheet.
    PropRs232.PNG

    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.
    1046 x 627 - 53K
  • 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.

    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.

  • doggiedocdoggiedoc Posts: 2,135
    edited 2020-11-09 - 00:09:55


    @Duane Degn - that’s the schematic I was thinking of!

    I’ll try to build it.
  • Beware! That's not the generally accepted transistor reset circuit, as there is no transistor in the DTR line.
    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).
Sign In or Register to comment.