PropStick idle for a short time it seems to send rubbish ??
OzStamp
Posts: 377
Hi
We have a created a PCB that holds the PropStick on it.
It interfaces to a 40 way external Keypad matrix..
All is working fine..
But when the circuit is inactive for a period of time the PropStick
appears to be sending rubbish to my Comms program(s).
Tried both HyperTerminal and Realtermm.. exactly the same thing.
It eventaully totally swamps the COMPort and the PC needs a CtrL-ALT=DEL
to stop this terminal program from operating...
The cable is just laying on my bench and is only short ..connected
via the USB2SER to my PC.(only 40CM long..
When we test the same type of setup with a Propeller
directly connected to the same PC via a Propeller PLUG this does not happen.
Are the Pull ups in the MAX2323 a little weak .could this be the issue ??
Has anybody experienced this before ??
cheers
Ron Melbourne OZ
·
We have a created a PCB that holds the PropStick on it.
It interfaces to a 40 way external Keypad matrix..
All is working fine..
But when the circuit is inactive for a period of time the PropStick
appears to be sending rubbish to my Comms program(s).
Tried both HyperTerminal and Realtermm.. exactly the same thing.
It eventaully totally swamps the COMPort and the PC needs a CtrL-ALT=DEL
to stop this terminal program from operating...
The cable is just laying on my bench and is only short ..connected
via the USB2SER to my PC.(only 40CM long..
When we test the same type of setup with a Propeller
directly connected to the same PC via a Propeller PLUG this does not happen.
Are the Pull ups in the MAX2323 a little weak .could this be the issue ??
Has anybody experienced this before ??
cheers
Ron Melbourne OZ
·
Comments
Check the driver settings for your USB-to-serial adapter *, and make sure the latency is set to 1, not 16. Another thing worth trying is to insert an extra stop bit in the bytes output from the Propeller. This will help to clear up any byte synchronization issues that might exist in a continuous data stream.
-Phil
* I'm sure you didn't mean "USB2SER", since that converts to logic levels, not RS232 levels.
-Phil
Re PSU .. do not think this is the issue.
Used this on many circuits both Stamp + Propeller setups
and never given us any problems..
The PropStick has a 3.3VDC regulator on it..
We feed it with·9VDC regulated from a regulated powerpack.
( you guy's call this a Wall WART of something similar ??)
The Propeller is not sending data at all most of the time.
The PCB is with the customer at the moment so can not
try the LATENCY setting but it was set to 16 so this could well be it..9 thnx Phil)
The PropStick connects to our PC via a Serial to USB converter.
Parallax part number #28030
Using the "Simple Debug" object from Parallax..( this has the Full Duplex call object as well)
The issue is that we need a serial port connector as this PCB connect to a "TEST RIG PC)
that has only a 9 pin serial port .. ( old yes ..stupid aussies..)
As soon as I get the PCB back will test the Latency issue ..now set to 1
You guy's wanna see the code for the 40 KEYPAD matrix...??
Cheers
Ron Melbourne OZ
·
-Phil
I have attached a PDF that shows what the MaX3232 pin out looks like.
We (I) mentioned Pull-ups.. the MAX3232 has internal PULL DOWN resistors...oops.
We have had issue's before with noise and that putting an external
smaller pull down in parallel with the internal eliminates similar problems.
Will try that as well when we get the PCB back..+ USB Latency + PSU
Re code for Keypad..Don't you love that open source bit ??
Engineering companies that make a living writing code hate it..
So hereby just a snippet of the principle...
outa[noparse][[/noparse]7..0]·:= %00000001·····'row· set high first..
temp := ina [noparse][[/noparse]15..8 ]············ 'column read which key is pressed..
· Case Temp
···· 1:· debug.str(String (" Open Source"))
········· debug.newline
········· XD := 6
········· abort (detect)······························· 'detect pin high still here PUB
···· 2:· debug.str(String (" is cool"))············· 'each key contains dif data..
········· debug.newline
········· XD := 6
········· abort (detect)······························· 'detect pin high still goto· PUB detect..
·····4: same as above
·····8: same as above
···· 16: same as above
···· other : outa [noparse][[/noparse]7..0] := $00000010············ 'check next if none found here.
····temp := ina [noparse][[/noparse]15..8 ]············ 'ccolumn read which key is pressed..·
Case Temp
···· 1:· debug.str(String (" Open Source is still great"))
········· debug.newline
········· XD := 6
········· abort (detect)······························· 'detect pin high still here PUB
···· 2:· debug.str(String (" Its hot here damm hotl"))···· 'each key contains dif data..
········· debug.newline
········· XD := 6
········· abort (detect)······························· 'detect pin high still goto· PUB detect..
·····4: same as above
·····8: same as above
···· 16: same as above
···· other : outa [noparse][[/noparse]7..0] := $00000010············ 'check next if none found here
····· etc etc etc
PUB detect
Detect here ..key still pressed and escape from here
that the key has been released ( data includes which key (that wat the XD part is about)
Cheers
Ron Melbourne OZ
Home fo the PropBus system .. ready to be released here now in OZ.