Serial i/o not working on new board
T Chap
Posts: 4,223
Just got some boards in, I thought I had duplicated the Prop Stick schematic identically, but no Prop found.
Here are some diagnostics and comparisons to Prop stick behavior:
1. On power up, Prop on new board will show similar activity on pins 37/38 to EEPROM to that of PStick at power up.
2. On attempt to send program to new board, Rx pin 40 shows same activity as on PStick.
3. Pins 37,38, 39, 40 trace out identically to MAX3232ECPE and 24LC256, all have 3.3v
4. On F10, Propstick pin 39 Tx goes from low-high(activity)-low
5. New board on F10 pin 39 Tx is always high no matter what, cutting the 10k pullup will leave it sitting low
6. Pin 11 Reset always high on new board
7. Tried 2 different Props
8. Tried 2 crystals
Since the new board Prop seems to be talking to the EEPROM, would that confirm the Prop is running?
Since the new board seems to Rx the same info to pin 40, but does not acknowledge, what other reasons could there be the Prop doesn't want to respond?
Thanks for any suggestions
Here are some diagnostics and comparisons to Prop stick behavior:
1. On power up, Prop on new board will show similar activity on pins 37/38 to EEPROM to that of PStick at power up.
2. On attempt to send program to new board, Rx pin 40 shows same activity as on PStick.
3. Pins 37,38, 39, 40 trace out identically to MAX3232ECPE and 24LC256, all have 3.3v
4. On F10, Propstick pin 39 Tx goes from low-high(activity)-low
5. New board on F10 pin 39 Tx is always high no matter what, cutting the 10k pullup will leave it sitting low
6. Pin 11 Reset always high on new board
7. Tried 2 different Props
8. Tried 2 crystals
Since the new board Prop seems to be talking to the EEPROM, would that confirm the Prop is running?
Since the new board seems to Rx the same info to pin 40, but does not acknowledge, what other reasons could there be the Prop doesn't want to respond?
Thanks for any suggestions
Comments
More tests:
1. Pulled Propeller out of Propstick, pulled Max3232 out of new board, ran jumper wires from the board sockets 39, 40 to the Propstick same pins to test the new max3232 on the Propstick direct to the new board, no luck.
2. I pulled the Propeller out of the new board, ran the Propstick's max3232 pins to the new board Propeller, no luck.
3. Tested the crystal on the scope from the Propstick, not sure really how to read these but only in sin wave measuring I saw a sine wave in the low ms, probably to slow to be the 5mhz signal. No obvious square wave clock
4. Tested the same idea on te new board, no sine wave present, no obvious square wave clock
Any more test suggestions would be greatly appreciated! I'll start making a new board now just in case it is a mechanial problem.
**New board == no change.
Post Edited (originator99) : 10/13/2006 9:35:45 AM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
So then I got the bright idea of cutting legs 12 and 13 off the max3232 chip and leaving the solder bridge on the circuit board. Still nothing though.
Well, my major question is.... Is the propstick schematic shown in the documentation PDF incorrect? I don't have a propstick to check if the actual hardware matches the documentation. Up till now I've been using the 3 transistor interface method. I should have tried the MAX3232 circuit on a solderless breadboard before I made my boards manufactured.
Brian
I've rechecked the PropSTICK schematic against the board layout, and they do agree.
Originator99, I notice in your schematic that you're using 15K resistors in the reset circuit, instead of the 10Ks used in the PropSTICK. It might be that you're not getting enough base drive through 15K with a 3.3V signal, but enough of one when driven directly by RS232 levels.
Because the reset circuit is AC-coupled, it's edge-triggered and will probably be insensitive to polarity, given that the reset pulse from the IDE is only 50mS wide. This is to say that whether it triggers on the rising edge or the falling edge of DTR might not matter. This very subject was covered in exhaustive detail during the development of the PropSTICK here. The outcome of that thread is that it's best to drive the reset transistor from the MAX3232 chip (i.e. through an inverter). This, in fact, is also how the Demo Board is configured, except from the FTDI chip instead of the MAX.
However, in rereading that thread and upon looking at the Demo Board schematic, I've uncovered a possible misconception that could turn this argument around. The assumption seems to be that the DTR signal emerging from either receiver (MAX3232 or FT232R) is positive-going when, in fact, it's not. In RS232, the handshaking signals are true on the RS232 lines and inverted on the logic side — just the opposite of how the signal lines are treated. This means that the "DTR" signal coming out of either receiver should be labeled, "/DTR". When DTR is "asserted", it takes a positive voltage on the RS232 lines and a logic "low" going into the driver on the PC end and coming out of the receiver on the Propeller end. So now I'm not sure that either the PropSTICK or the Demo board have optimal reset circuits. The evidence is weakly circumstantial, to be sure, but enough to raise doubts in my mind.
Incidentally, the one variance I've made from Chip's suggestion (and from the Demo Board circuit) is the inclusion of a 10K resistor in series with the .01uF cap. (I guess I was hoping to alleviate any chances of overdriving the transistor's base.) So you might try eliminating this resistor (or using smaller value) to see if that helps.
I'm sure all this will spur more discussion of a matter I assumed had been laid to rest months ago. Hopefully, we can drive a wooden stake through its heart this time!
-Phil
I put my project on hold for awhile. But now I'm trying to get it done. I understand now the reset circuit. I have 2 different brands of MAX3232. I used the "dallas/maxim" brand chip, I also have a "ST Micro" brand. But the pinouts look identical. My Propeller stopped responding last night though when I was trying to fix this problem. So now I have to wait for a replacement to continue testing.
I'll have to post a copy of that part of my schematic, it's a little cluttered, as this daughterboard has both the programming interface, and 2 mini-din connectors for keymouse and mouse input.
Also, What is the purpose of the pullup on P30? I haven't noticed anyone else putting a pullup there.
Thanks,
Brian
I use the STMicro version. It's less expensive and has the same capabilities. But I do buy the "E" version when it's available, since it has better input protection circuitry.
When the Propeller resets, all its pins are inputs. The '3232 has built-in pull-downs on the inputs to its receivers, but no pullups on the inputs to its drivers. The pullup on P30 is to keep TxD in a marking state until the program can take over and drive it. This will keep the system from sending a spurious BREAK signal when it powers up.
-Phil
kelvin
As far as selling the board, I built it primarily so I could divorce myself from MAXNC who made the machine, with whom I have had nothing but a bad experience for 10 months. I also needed drivers for other projects requiring steppers and encoders, and since I wanted my own software control, the home brew was the best option. The boards are working great, I am still sorting out the encoder comparing and reset issues which will tighten up this week. If anyone wanted a board I suppose that could be arranged, althought I wasn't looking at them as a product by themselves as there are many boards available. The beauty of this board is that one Prop runs the whole show for a 3 axis system.
The new board does the following:
1. Sends signal to PC for pause on missed step
2. Receives signal from PC for reset
3. Receives 3 step and 3 direction signals
4. Receives Flood/Mist signal with its own mosfet and connector to send where you want
5. Receives Spindle signal, pwm or on/off, with it's own mosfet and conntector, with SSR for spindle 120v control
6. 24v regulated 3amp supply, 5volt, 3volt
7. Accepts 3 encoders, compares and triggers pause/stop to PC
8. Adjustable Off Time PWM
9. Retrofit for Maxnc 10 CL machine
Some of this was worked out with the help of Phil Moore who is one of the top guns at CNCzone.com.
I plan on an LCD version with it's own fancy box in the near future.
Post Edited (originator99) : 10/16/2006 7:28:09 PM GMT
In my diagram... some wires go out of the screen capture and some explainations. IC1 is the MAX3232, I/O-8 is connected to P31 on the propeller, I/0-7 is connected to P30. the other end of R3 is connected to 3.3 VDC, Pin 16 of IC1 also goes to 3.3 VDC. Pin 19 on the connector is GND. The collector of T1 is connected to RES on the Propeller, the line goes across GND in the schmatic, but it is not connected, I verified this on the board.
It just didn't seem to work in it's current state.
Anybody spot anything I'm doing wrong???
Thanks,
Brian
As soon as I get all the bugs worked out of it, I will start a new thread introducing my design and give alot more details about it.
Thanks
Brian
Since I am prototyping up a propeller with a MAX232N I thought I'd post the schematic for how I plan to use it... hopefully I did not make any errors! I would not be surprised if I did, I've been out of electronics for a few years.
Btw, the capacitors are .1uf ceramics (the data sheet I have for the Max says I can use ceramics)
*Peter*
If you use a MAX3232 (ST3232), you can run it from 3.3V and won't need any level shifters. The CD4049s are inverters, anyway, and will yield the wrong signal polarity. Also, the RESn signal should be AC-coupled to yield a low-going pulse on the DTR edge. (Which edge seems to be the subject of debate again. See the discussion above.) You can use an open-collector transistor to drive the RESn pin: it has a built-in pullup resistor. Also, any uncommited "TTL-ins" on the MAX part should be tied to Vdd or Vss. And, although not everyone does it, I would recommend pulling TxD up to Vdd with a 10K resistor.
Take a look in the forum at what others have done. There's plenty of prior art available to take inspiration from without having to reinvent from scratch — and plenty of discussion to go along with it!
-Phil
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chip Gracey
Parallax, Inc.
Originator99:
The data sheet I have says V+ can go to ground or +5V; however I can easily tie it to ground instead.
I was inverting the TTL side due to comments in this thread about inverting RESn; lack of sleep made me assume I'd
have to inver the rest...
In the future I will use MAX3232's, I just already have a pile of MAX232N's, and I thought I'd also use the 4049
to take care of the 5V to 3.3V interfacing issue (I also have a pile of 4049's)
Peter Kakacki:
My bad, thanks to you guys I won't wire it up and be puzzled why it is not working [noparse]:)[/noparse]
Good idea, I'm leaning towards ditching the buffer and going to current limiting resistors.
Phil Pilgrim:
Ah, but I have a lot of MAX232N's hand... I will in the future shift to MAX3232's
I will drop the 4049 and just use current limiting resistors. The debate above
(and insufficient sleep) is why I inverted everything... I was wondering about that
as I never inverted Max232's for PIC's or AVR's...
Chip Gracey:
Thanks, that clears up the DTR business [noparse]:)[/noparse]
I LIKE THE .1uF cap idea!!!!! I'll try that!
For now I'll use MAX232's for the first few proto boards, but I will switch to MAX3232's
in the future.
Thanks, it does help!
Regarding whether to ground that cap or tie it to Vdd: the only reason to choose Vdd is to permit a cap with a lower DC working voltage. Other than that, there should be no difference in performance. (I always ground mine.)
-Phil
My analog side is very weak.. I have to do a quick refresher, its been too many years since I did anything with analog elecronics (other than feed an a2d)