Shop OBEX P1 Docs P2 Docs Learn Events
Problem with PropellerLoad object — Parallax Forums

Problem with PropellerLoad object

idbruceidbruce Posts: 6,197
edited 2010-12-14 03:38 in Propeller 1
Hi Y'all

I built a portable Propeller chip programmer from a Propeller DIP Plus Kit and wired the kit according to Parallax documentation. I also added a DB9 connector for serial downloading of software into other Propeller chips using the PropellerLoader object found in OBEX. My connections from source to destination are as follows, and as suggested by another forum member:
P1 -> RES
P2 -> 2.2K resistor -> P31
P3 -> 2.2K resistor -> P30
VSS -> VSS

*Please note that these connections differ from the notes provided in the object
To sum my problem up all in a nutshell, all goes well until the PropellerLoader object makes its first call to the WaitBit method, at which point it times out and aborts.

The receiving Propeller chip(s) all have DB9 serial connections and are also wired according to Parallax documentation. I know that the serial circuitry for the receiving boards is correct, because I have no problems downloading from the PC to these chips.

Comments

  • kuronekokuroneko Posts: 3,623
    edited 2010-12-13 01:39
    ... from one Proto Board to another Proto Board ...
    I was under the impression that the receiver is simply a non-USB protoboard which would require e.g. a prop plug to be programmed (or a serial adapter). You mention serial circuitry, are you saying this is on-board? I'm just wondering if it could interfere with the upload. Can you please clarify?
  • idbruceidbruce Posts: 6,197
    edited 2010-12-13 01:54
    Hi Kuroneko

    The receivers are Propeller Proto Boards, Item Code 32212, http://www.parallax.com/Store/Microcontrollers/PropellerDevelopmentBoards/tabid/514/CategoryID/73/List/0/SortField/0/Level/a/ProductID/423/Default.aspx

    which are wired with the alternative serial connection provided by the Propeller Data Sheet V1.2. See the attachment.

    Thanks for responding.

    Bruce
  • kuronekokuroneko Posts: 3,623
    edited 2010-12-13 02:20
    In that case the PropellerLoader object is probably the wrong approach. I could be wrong though, having only ever used said object against bare chips, i.e. not through or in parallel with serial circuitry. Do you have an unmodified board to - at least - verify functionality? The only other quick solution I can think of is adding headers so the links can be re-connected to a different source. Then again you probably don't want to fiddle with jumpers during f/w updates.

    Anyone else with bright ideas?
  • idbruceidbruce Posts: 6,197
    edited 2010-12-13 02:28
    Kuroneko

    Yes I have an unmodified board to test functionality. I will just have to wire up a test connector. I assume the test connector would attach directly to the right angle 4 pin header. Is my assumption correct?

    Bruce
  • kuronekokuroneko Posts: 3,623
    edited 2010-12-13 02:41
    Yes, that's correct. What you should end up with are pin-to-pin connections between the two props with optional resistors in the rx/tx lines.
  • idbruceidbruce Posts: 6,197
    edited 2010-12-13 02:56
    I should know the answer in about ten minutes. If this works, I will abandon the added on board serial circuitry and just use those four wires and go straight to the pins. I think it would be about a 1 minute ordeal for each board, but I will have wasted the time for adding that circuitry. Oh well, I just want it to work. I'll let you know in about ten minutes, if your still interested
  • kuronekokuroneko Posts: 3,623
    edited 2010-12-13 03:01
    Please keep us updated!
  • idbruceidbruce Posts: 6,197
    edited 2010-12-13 03:23
    Kuroneko

    Okay, here is the deal. I had a test led light up where the error was occuring. The programming error led did not light up when testing the new board, however there is now way to verify that the program loaded and ran because it is a blank board. I assume that was the problem. Tommorow, I will move my wires from one four pin header to another four pin header and test again. But I think that was my solution. Thanks Kuroneko.

    Take a peak back here tomorrow for the final result. If it fixed the problem, you just made my day a happy day :) Okay a month! If it works you have no idea what this means to me. A three year project very close to completion, and now it will be easy to load programs.

    Bruce
  • idbruceidbruce Posts: 6,197
    edited 2010-12-13 03:35
    LOL It is tomorrow. It is 5:30AM. I never looked at the clock. I have to get the garbage out for the garbage man before 7:00. Who needs sleep :)
  • AribaAriba Posts: 2,690
    edited 2010-12-13 06:41
    Bruce

    The problem with the Propeller Loader and your interface circuit is, that the RX, TX and DTR lines are inverted by the transistors.
    I think you can connect the Pins P0..2 of your Programmer directly to the DB9 connectors, but you need to invert the levels inside the PropLoader object. I have attached a modified object, but I can not test it. Series resistors of 2k2 in the lines to P1 and P2 should work also.

    The other solution is to use the original object and add some Inverters on the Programmer board.
    Schematic attached. The Inverters also protect the Prop a bit.

    Andy
  • idbruceidbruce Posts: 6,197
    edited 2010-12-14 03:38
    I have been meaning to get back to this post, but I had severe computer problems.

    Problem solved!!!!!!!!!!!!! :) It works! :)

    It was a simple matter of bypassing the alternative serial circuitry. Looking back now, it was a huge waste of time to wire up three boards that way. Oh well, I have a working solution now.

    Thank you soooooooooooo much Kuroneko for talking me through this whole ordeal, from our initial discussion through the troubleshooting stage. You made my life a whole lot less stressful, because I can now program three machines, without a laptop or by being physically tied to any computer. WOW! Way too cool. IOU

    And thank you Ariba, I appreciate the thought and effort you must have put into your response. However, I apologize that I could not get back here sooner to update the post that the problem had been resolved.
Sign In or Register to comment.