Hab heute probiert einen FEZ Mini (ghielectronics.com) und ein Arduino Uno Board über die Serielle Schnittstelle zu verbinden ... hat aber irgendwie nicht geklappt.
Leider gibt es für die FEZ Geschichten nicht wirklich viel Infos zu den Boards - bzw scheinen mehr Leute am programmieren interessiert zu sein als an der Hardware. Das Schematic des FEZ Mini ist auf ghielectronics.com down zu loaden. Dort ist der serielle Port mit einer Schaltung beschaltet die nicht auf anhieb sind macht (zumindest mir nicht).
dann hab ich die Sache mit MacSpice simuliert ... www.macspice.com
v(5) RS232_OUT
v(8) TXD0 --> input Signal mit PWL -> 0V/3.3V
Und das ganze nochmal mit TTL input an RS232_IN ...
Und was ist zu sehen -> die Schaltung invertiert das Signal da bei RS232 (EIA) eine logisch 1 -10V ist und bei RS232 TTL ist logisch 1 --> 5V/3.3V .... da hätte ich auch gleich drauf kommen können. Da wird sich der Arduino nie mit dem FEZ zu verständigen wissen. Aber zumindest ist jetzt wieder mal mein PSpice wissen etwas aufgefrischt ... und RS232 ist auch wieder mal frisch im Hirn.
d.H um einen FEZ Mini mit einem Arduino zu verbinden braucht es einen MAX232 als Pegelwandler!! (zumindest wenn man COM1 verwendet)
Werde wohl das ganze nochmal mit dem MAX232 durchspielen ... (oder MAX3232 -> 3.3V)
Leider gibt es für die FEZ Geschichten nicht wirklich viel Infos zu den Boards - bzw scheinen mehr Leute am programmieren interessiert zu sein als an der Hardware. Das Schematic des FEZ Mini ist auf ghielectronics.com down zu loaden. Dort ist der serielle Port mit einer Schaltung beschaltet die nicht auf anhieb sind macht (zumindest mir nicht).
-> Darum hab ich wieder mal meine Pspice Kenntnisse ausgegraben. Es hat jedoch etwas gedauert bis ich es zusammen hatte.
RS232 FEZ Mini
.model d1n4148 D (IS=0.1PA, RS=16 CJO=2PF TT=12N BV=100 IBV=0.1PA)
* http://www.diodes.com/products/spicemodels/index.php
*SRC=BC857B;DI_BC857B;BJTs PNP; Si; 45.0V 0.100A 200MHz Diodes, Inc. transistor
.MODEL DI_BC857B PNP (IS=5.51f NF=1.00 BF=424 VAF=121
+ IKF=36.4m ISE=2.35p NE=2.00 BR=4.00 NR=1.00
+ VAR=20.0 IKR=90.0m RE=0.765 RB=3.06 RC=0.306
+ XTB=1.5 CJE=26.9p VJE=1.10 MJE=0.500 CJC=8.67p VJC=0.300
+ MJC=0.300 TF=700p TR=121n EG=1.12 )
*SRC=MMBT3904;DI_MMBT3904;BJTs NPN; Si; 40.0V 0.200A 347MHz Diodes Inc. NPN Transistor
.MODEL DI_MMBT3904 NPN (IS=48.3f NF=1.00 BF=410 VAF=114
+ IKF=0.121 ISE=13.1p NE=2.00 BR=4.00 NR=1.00
+ VAR=24.0 IKR=0.300 RE=2.63 RB=10.5 RC=1.05
+ XTB=1.5 CJE=9.67p VJE=1.10 MJE=0.500 CJC=8.70p VJC=0.300
+ MJC=0.300 TF=440p TR=74.7n EG=1.12 )
r11 2 9 15K
r13 1 4 15K
r8 3 5 15K
r4 7 8 15K
c8 0 3 10uF
vcc 9 0 DC 3.3V
*DXXXXXXX N+ N-
d3 0 1 d1n4148
d1 3 4 d1n4148
*QXXXXXXX NC NB NE
q3 2 1 0 DI_MMBT3904
q2 5 7 9 DI_BC857B
*vrs232inttl 4 0 PWL(0 0V 0.1US 5V 10US 5V 10.1US 0V 20US 0V 20.1US 5V 30US 5V)
vrs232in 4 0 PWL(0 0V 0.1US -10V 10US -10V 10.1US +10V 20US +10V 20.1US -10V 30US -10V)
vtxd0 8 0 PWL(0 0V 0.1US 3.3V 10US 3.3V 10.1US 0V 20US 0V 20.1US 3.3V 30US 3.3V)
*vtxd0 8 0 DC 0V
.tran 1NS 30US
.end
dann hab ich die Sache mit MacSpice simuliert ... www.macspice.com
die Plots sind die RS232_IN -> RX und TX -> RS232_OUT
v(2) RXD0
v(4) RS232_IN --> input Signal mit PWL generiert -10V/+10V
v(8) TXD0 --> input Signal mit PWL -> 0V/3.3V
Und das ganze nochmal mit TTL input an RS232_IN ...
Und was ist zu sehen -> die Schaltung invertiert das Signal da bei RS232 (EIA) eine logisch 1 -10V ist und bei RS232 TTL ist logisch 1 --> 5V/3.3V .... da hätte ich auch gleich drauf kommen können. Da wird sich der Arduino nie mit dem FEZ zu verständigen wissen. Aber zumindest ist jetzt wieder mal mein PSpice wissen etwas aufgefrischt ... und RS232 ist auch wieder mal frisch im Hirn.
d.H um einen FEZ Mini mit einem Arduino zu verbinden braucht es einen MAX232 als Pegelwandler!! (zumindest wenn man COM1 verwendet)
Werde wohl das ganze nochmal mit dem MAX232 durchspielen ... (oder MAX3232 -> 3.3V)