Upload
chinue
View
28
Download
0
Embed Size (px)
DESCRIPTION
Vývojový kit rozhraní CAN Semestrální projekt Ivan Douša 2004 - 2005. Zadání - PowerPoint PPT Presentation
Citation preview
Vývojový kit rozhraní CAN
Semestrální projekt
Ivan Douša
2004 - 2005
Zadání
Cílem projektu je navrhnout a realizovat jednoduchý kit pro vývoj přístrojů s rozhraním CAN (obvod SJA1000, TJA 1054, PCA80C250). Kit bude připojitelný k existujícím vývojovým modulům s procesorem 80C517. Funkčnost kitu bude demonstrována implementací jednoduchého inteligentního senzoru dle vlastní volby.
Vedoucí projektu: Ing. Jiří Novák
Protokol CAN:
• Sériový komunikační protokol vyvinutý firmou Bosch pro nasazení v automobilech.
• Umožňuje distribuované řízení v reálném čase.
• Protokol typu multi-master
• Velká přenosová rychlost, až 1Mbit/s
• Vysoká spolehlivost přenosu
• Komunikace pomocí zpráv – datová, žádost o data, chybová, o přetížení
• Zprávy neobsahují adresu příjemce, ale informaci o svém významu
• Používá sběrnici s náhodným přístupem
• Řízení přístupu k médiu CDMA/CR
• Přenosové médium nedefinováno – požadavek vlastnosti logického součinu
• Standard definuje 2 úrovně (dominant, recessive), jejich realizace závisí na konkrétní realizaci fyzické vrstvy
• Nejčastěji se používá diferenciální sběrnice dle ISO 11898
Řadič SJA 1000Základní vlastnosti:• Vývodově i elektricky kompatibilní s PCA82C200 • Universální rozhraní umožňuje připojení k většině mikroprocesorů a mikrokontrolerů• Nastavitelné parametry výstupních budičů - možnost připojení
k jakékoliv realizaci fyzické vrstvy protokolu CAN• Rozšířená paměť zpráv (64-byte FIFO) - uložení více než 21 přijatých zpráv• Přenosová rychlost až 1Mbit/s• Taktovací frekvence až 24Mhz - rychlá komunikace s procesorem a mnoho možností časování.• Podpora specifikace CAN 2.0B• Dva režimy činnosti – BasicCAN a PeliCAN mode
Novinky režimu PeliCAN:- 11b i 29b identifikátoru zpráv- 1 či 2 filtry zpráv
- propracovaný systém detekce a diagnostiky chyb- možnosti testování vlastního řadiče či celého systému
Obvod PCA 80C250
High speed budič sběrnice CAN. Tvoří rozhraní mezi řadičem a přenosovým médiem. Převádí logické úrovně výstupu řadiče na úrovně, které používá fyzická vrstva CAN a umožňuje tak připojí k diferenciální sběrnici.Obvod je navržen pro vysokorychlostní aplikace do 1Mbit/s a je plně kompatibilní s ISO 11898.
Základní vlastnosti:• Plně kompatibilní se standardem ISO 11898 • Vysokorychlostní komunikace do 1 Mbit/s• Možnost řízení strmosti hran - slope control• Tepelná ochrana• Zratuvzdorný při zkratu na zem či napájecí napětí• Podpora režimů nízké spotřeby• Možnost připojení dalších až 110 uzlů.
Obvod TJA 1054
Základní vlastnosti:
• Optimalizován pro komunikaci v automobilech do 125KBit/s• Velmi malé elektromagnetické vyzařování• Dobrá elektromagnetická odolnost - integrované filtry přijímače• Propracovaný systém diagnostiky a detekce chyb sběrnice• Podporuje režim vysílání po jednom vodiči sběrnice• Vývody CANL a CANH odolné zkratu k napětí GND či VCC• Tepelná ochrana• Podpora režimů s nízkou spotřebou
Low speed budič sběrnice CAN. Tvoří rozhraní mezi řadičem a přenosovým médiem. Převádí logické úrovně výstupů řadiče na úrovně, které používá fyzická vrstva CAN a umožňuje tak připojení k diferenciální sběrnici dle ISO 11898.
Modul s procesorem SAB 80C537
1. Mikroprocesor SAB80C537: Vysoce výkonný 8b jednočipový procesor technologie CMOS kompatibilní s rodinou procesorů řady 51. Velké množství integrovaných periferních zařízení, vylepšená aritmeticko-logická jednotka.
Základní vlastnosti:• taktovací kmitočet 12 MHz nebo 16 MHz • 256B interní paměti RAM • vylepšená 51 architektura• 4 šestnáctibitové čítače/časovače• 8 ukazatelů pro vnější paměti• 14 vektorů přerušení, 4 priority• 8b A/D převodník s 12 multiplexovanými vstupy a programovatelným referenčním napětím.• 2 obousměrné sériové kanály• 9 portů,56 vstupně-výstupních linek• vylepšená ALU umožňuje rychlé 32-bit dělení a 16-bit násobení.
U5
74HCT164DIP.100/14/W.300/L.750
12
8
9
345610111213
AB
CLK
CLR
Q0Q1Q2Q3Q4Q5Q6Q7
AIN
5
J4
HEADER 25x250CN100
123456789
1011121314151617181920212223242526272829303132333435363738394041424344454647484950
A14
AD0
PSEN
P4.5
P3.6
DISPP
C14100n
SM/C_0805
R7 3k3
SM/R_0805
AD6
AD4
P6.3
P5.6
A1
ALE
R2 22R
SM/R_0805
2/2001 2.0
537 Breadboard v.2
B
1 1Monday, December 15, 2003
J. Novák
Title
Size Document Number Rev
Date: Sheet of
GND
AD7
P4.0
U4
74ALS573DIP.100/20/W.300/L1.050
23456789
111
1918171615141312
D0D1D2D3D4D5D6D7
LEOE
Q0Q1Q2Q3Q4Q5Q6Q7
+
C1110M
CYL/D.225/LS.100/.031
P1.7
P5.6 A7
R13 470SM/R_0805
A8
A4
P3.2
P5.1
A0
A5
AIN8
U6A 74HCT132DIP.100/14/W.300/L.750
1
23
A13
PSEN
P1.5
AIN3
A11
AD5
P5.3
A2
AD1
P6.0PCS*
VCC
AD6
AD3
P1.0
A13
P5.5
R3 1k
SM/R_0805
Agnd
AIN11
ALE
P3.1
P3.7
P3.0
+C3 4M7CYL/D.225/LS.100/.031
SW5
SW PUSHBUTTON-SPST/SM
PB1720
A12
P5.0
P5.2
J2
CONN PWR 2-J2POW200
12
VCC
RRD*
AD1
P3.5
AD7
R5 3k3
SM/R_0805
VCC
SB
AD3
P6.4
+
C4
470M
CYL/D.400/LS.200/.034
C6
100nSM/C_0805
AD2
A12
P6.5
PSEN
AD4
VCC
VCC
P4.4
P4.1
A6
P5.4
A8
U3
27C512 (27C64)DIP.100/28/W.600/L1.500
109876543
25242123
226
2022
27
28
1
1112131516171819
A0A1A2A3A4A5A6A7A8A9A10A11A12A13
CEOE/VPP
A14
VCC
A15
O0O1O2O3O4O5O6O7
A3
A5
GND
P3.5
RXD
AIN
0
AIN4
A9
A1
P4.6
C5
100nSM/C_0805
R15 470SM/R_0805
U8B 74HCT00DIP.100/14/W.300/L.750
4
56
U7
LM78S05CTO220AA/RF1
1 3IN OUT
P1.1
ALEGND
P1.0
AD7
AD4
P1.1
A12
A6
U2
62256DIP.100/28/W.600/L1.500
109876543
25242123
226
1
20
2227
1112131516171819
28
A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14
CE
OEWE
D0D1D2D3D4D5D6D7
VCC
A4
A0
P5.2
GND
A15
C13100n
SM/C_0805
R18 0R
SM/R_0805
A8
P4.7
J1
CONN PWR 2-J2POW200
12
VCC
TXD
P6.0
P1.6
A10A9
A11
P5.3
P3.6
AD2
JP2
JUMPER24JP100
1234
C16100n
SM/C_0805
P3.4
+
C1010M
CYL/D.225/LS.100/.031
R10 470SM/R_0805
VCC
AD2
P5.4
R16 470SM/R_0805
P1.4
AIN10
AD5
P4.2
AIN0
VCC
RCS*
A7
P5.0
P5.5
AD7
A2
A6
P1.5
GND
R11k
SM/R_0805
A10
AD0
AIN5
P3.0
A0
P6.5
A13
P4.5
P3.6
U8C 74HCT00DIP.100/14/W.300/L.750
9
108
SB
AD5
P1.2
C1 33pSM/C_0805
RCS*
A11
A5
A5
A1
RRD*
P6.6
AIN
2
TXD
GND
P3.3
P1.2
U6D 74HCT132DIP.100/14/W.300/L.750
12
1311
AD0
RXD
VCCP4.3
P6.1
P4.7
AD3
P1.3
DISPP
C19100n
SM/C_0805
R14 470SM/R_0805
P5.7
P6.1
P3.3
A14
AD1
P5.3
SW1
SW PUSHBUTTON-SPST/SM
PB1720
AD6SW4
SW PUSHBUTTON-SPST/SM
PB1720
A8
AIN9
C17100n
SM/C_0805
A3
P4.6
P4.3P1.7
R12 470SM/R_0805
P6.4
P5.0
AD6
AD1
A11
AIN11
A2
AIN6
SW2
SW PUSHBUTTON-SPST/SM
PB1720
C15100n
SM/C_0805
P3.7
P5.7
P6.6
ArefRESET*
P1.6
AD0
VCC
JP1
JUMPER24JP100
1234
R8 3k3
SM/R_0805
A6
A2
P1.3
AIN1
P5.5
A10
A4
U6C 74HCT132DIP.100/14/W.300/L.750
9
108
A7
RO*
+C8 10MCYL/D.225/LS.100/.031
A9
P3.1
AD4
AD1
P6.2
Agnd
DISPP
R11 470SM/R_0805
VCC
AIN
4
P4.0
AIN
6
A15
AIN9
J5
HEADER 2x1326CN100
123456789
1011121314151617181920212223242526
VCC
AD6P3
.4
P5.4
P3.2
Y1
11,0598MHzHC18UV
AD0
P5.2
AD7
- +
D4
DIODE BRIDGE_4213
BRIDGE
1
4
3
2
A1
A4
RESET*
P4.4
P3.7
+
C7
100M
CYL/D.225/LS.100/.031
A13
P4.1
P6.2
AD5
AB
CD
E
FG
O1
HD-A342RDHDA4xx
3
12
45 6
78910
AN1
GF
ED DP
CAN2
BA
AD2
AD4
R6 3k3
SM/R_0805
PSEN
GND
AIN7
AIN10
P5.6
P6.7
AIN
3
A15
P5.7
U8A 74HCT00DIP.100/14/W.300/L.750
1
23
P6.7
+C9 10MCYL/D.225/LS.100/.031
A7
A3
PCS*
AIN8
P1.4
AIN2
U1
SAB80C517
PLCC84/TMS/1.475 12
43
567891011
1220 19 18 17 16 15 14 13212223242526272829303132
333435363738394041424344454647484950515253
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
75767778798081828384P4.0/CM0
P4.1/CM1
PE/SWDP4.2/CM2
P4.3/CM3P4.4/CM4P4.5/CM5P4.6/CM6P4.7/CM7
RESETVaref
Vagn
d
P7.0
/AIN
0P7
.1/A
IN1
P7.2
/AIN
2P7
.3/A
IN3
P7.4
/AIN
4P7
.5/A
IN5
P7.6
/AIN
6P7
.7/A
IN7
P3.0
/RxD
0P3
.1/T
xD0
P3.2
/INT0
P3.3
/INT1
P3.4
/T0
P3.5
/T1
P3.6
/WR
P3.4
/RD
P1.7
/T2
P1.6
/CLK
OU
TP1
.5/T
2EX
P1.4
/INT2
/CC
4
P1.3/INT6/CC3P1.2/INT5/CC2P1.1/INT4/CC1P1.0/INT3/CC0VssVddXTAL2XTAL1P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15PSENALEEAP0.0/AD0P0.1/AD1
P0.2
/AD
2P0
.3/A
D3
P0.4
/AD
4P0
.5/A
D5
P0.6
/AD
6P0
.7/A
D7
HW
PDP5
.7/C
CM
7P5
.6/C
CM
6P5
.5/C
CM
5P5
.4/C
CM
4P5
.3/C
CM
3P5
.2/C
CM
2P5
.1/C
CM
1P5
.0/C
CM
0O
WE
P6.0
/AD
STP6
.1/R
xD1
P6.2
/TxD
1P6
.3P6
.4
P6.5P6.6P6.7
P8.0/AIN8P8.1/AIN9
P8.2/AIN10P8.3/AIN11
ROVssVdd
OW
E
AD3
A3
C12100n
SM/C_0805 U9
ADM232ADIP.100/16/W.300/L.825
129
138
1110
134526
147
RC1OUTRC2OUT
RC1INRC2IN
TR1INTR2IN
C1+C1-C2+C2-V+V-
TR1OUTTR2OUT
VCC
A10
A12
P5.1
VCC
AIN
7
PSEN
C18100n
SM/C_0805
AD5
AD2
P6.3
Aref
R17 3k3
SM/R_0805AI
N1
A14
P4.2
A14
P3.1
R9 470SM/R_0805
SW3
SW PUSHBUTTON-SPST/SM
PB1720
AD3
A0
P3.0
P5.1
C2 33pSM/C_0805
VCCA9
JP3
JUMPER12JP100
12
P1
CONNECTOR DB9DSUB/RS.318/TM/9
594837261
Napájecí zdroj +5V, paměti EPROM a RWM
Sériový kanál,sedmi-segmentový LED displej, tlačítka
Popis zapojení modulu rozhraní CAN:
• Základem universální řadič CAN SJA1000
• Volitelný budič fyzické vrstvy CAN TJA1054 nebo PCA80C250
• Volba budičů řešena programovacími propojkami
• K modulu s procesorem připojen kabelem na konektory JP1 a JP3
• Napájen ze zdroje modulu s procesorem
• Možnost využít prakticky všechny funkce budičů a řadiče CAN.
• Vlastní zdroj taktovacího kmitočtu 16MHz
• Obvod SJA 1000 mapován v paměti XDATA ( 0xC000h – 0xFFFFh)
• Využití zdroje přerušení EX procesoru.
P1.3
AIN7
P4.7
AIN5
R2 4k7SM/R_0805
A14A12
+5V
P4.3
AIN1
P3.7
A13
A6
Agnd
Cout
P3.5
P3.0
P4.3
AD5
AD0
P5.2
P4.2
AIN2
AD5
P6.4
A3
P3.0
A10
P3.6
P5.0
P1.7
A2A1
P3.2
TJA1054
U5
TJA1054
1
23
4
567
8
9
10
1112
13
14
INH
TXDRXD
/ERR
/STBEN/WAKE
RTH
RTL
Vcc
CANHCANL
GND
BAT
Y1
16MHz
HC18UV
J4RXD
J5
RXD1 +5V
A4
P5.5
P1.5
AD4
Aref
C1100n
SM/C_0805
J8
CLOCK OUT
P6.1
AIN6
P1.2
ALE
A15
P6.5
J7
CANH1
P3.3
AIN6
C4 15p
SM/C_0805
U3
12345
AIN4
JP4
HEADER 13X226CN100
1 23 45 67 89 1011 1213 1415 1617 1819 2021 2223 2425 26
P6.7
Aref
P6.2
CANL
P1.1
P1.7
J2 CANL
P5.7
P6.1
AD3
R4 4,7k
SM/R_0805
R5 1kSM/R_0805
AD4
AIN4
P3.1
U2
SJA1000DIP.100/28/W.400/L1.450
12
34
56
7
8
910
11
12
1314
15
16
17
18
1920
21
22
232425262728
AD6AD7
ALE/CS
/RD/RW
CLK OUT
Vss1
XTAL1XTAL2
MODE
Vdd3
TXOTX1
Vss3
/INT
/RST
Vdd2
RX0RX1
Vss2
Vdd1
AD0AD1AD2AD3AD4AD5
P4.6
P5.1
+5V
P5.6
P4.5
"0" na pinu EN a /STB- Sleep mode
AD0
A3
P5.4
A0
C2 100nSM/C_0805
P3.2
CANL
P3.4
AIN7
P6.2
P5.6
P4.5
A14P1
CON9DSUB/RS.318/TM/9
123456789
R6 1kSM/R_0805
AD7
A0
AIN3
A5
AD7
P4.1
P3.6
CANL
AIN2
P1.6
A11
AD6
R7 470
SM/R_0805
AD2
P6.3
P4.0
P4.7
A15
P6.3
P3.1
P1.3P1.1
A14
A4
AD7
P3.7
P4.3
A8
CANH
AD0 AD1
+5V
CANH
P1.0
CANH
AD3
P3.7P3.5
JP3
HEADER 13X226CN100
1 23 45 67 89 1011 1213 1415 1617 1819 2021 2223 2425 26
+5V
A7
A11
A1
P1.2
P4.4
P5.3
AD2
AD5
P6.5
+5V
AD6
P1.6
R1 4k7
SM/R_0805
P5.1P5.2
P6.7
"1" na pinu EN a /STB - normal mode
P4.1
P3.3
PSEN PSEN
P6.6
P5.7
P6.0
A6
P1.4
J6CANL1
D1
LED
P5.5
A7A5
ALE
P5.4
GND
<Doc> <RevCode>
<Title>
A4
1 1Saturday, December 18, 2004
Title
Size Document Number Rev
Date: Sheet of
AIN5
AIN0AIN3
AD4
P4.0P4.1
A10
P6.4
PCA82C250
U1
PCA80C250
1 3
2
4
5 6
7
8
TXD Vcc
GND
RXD
Vref CANL
CANH
Rs
AD1
P2
ARK120/22POW200
12
P4.4
A12
P1.0
JP1
HEADER 25X250CN100
1 23 45 67 89 1011 1213 1415 1617 1819 2021 2223 2425 2627 2829 3031 3233 3435 3637 3839 4041 4243 4445 4647 4849 50
+5V
P4.0
A15
P5.0
AD6
P4.2
Intel mode
P3.6
AD1
P6.6
P4.4P4.2
A2
P3.4
ALE
AIN1
J3
EN
A8
Agnd
GND
&U4A
7400
12 3
JP2
HEADER 25X250CN100
1 23 45 67 89 1011 1213 1415 1617 1819 2021 2223 2425 2627 2829 3031 3233 3435 3637 3839 4041 4243 4445 4647 4849 50
P4.5
J1 CANH
C3 15pSM/C_0805
A9
P5.3
P3.2
A9
+5V
AD2
AIN0
P4.6
A13
P1.4 P1.5
AD3
P6.0
R3 120SM/R_0805
R7 470
SM/R_0805
Y1
16MHz
HC18UV
+5V
C2 100nSM/C_0805&
U4A
7400
12 3
Cout
+5V
AD6
P3.2
R2 4k7SM/R_0805
AD1
J8
CLOCK OUT
R1 4k7
SM/R_0805
D1
LED
+5V
A14
Intel mode
AD0
R4 4,7k
SM/R_0805
+5V
P2
ARK120/22POW200
12
+5V
PCA80C250AD3
J4 RXD
AD5
ALE
J5
RXD1
TJA1054
C3 15pSM/C_0805
C4 15p
SM/C_0805
P4.0
U2
SJA1000DIP.100/28/W.400/L1.450
12
34
56
7
8
910
11
12
1314
15
16
17
18
1920
21
22
232425262728
AD6AD7
ALE/CS
/RD/RW
CLK OUT
Vss1
XTAL1XTAL2
MODE
Vdd3
TXOTX1
Vss3
/INT
/RST
Vdd2
RX0RX1
Vss2
Vdd1
AD0AD1AD2AD3AD4AD5
P3.7
TJA1054 aPCA80C250
AD2
P3.6
AD4
A15
AD7
Zapojeni SJA1000
R3 120SM/R_0805
TX0
J3
EN
J1 CANH
C1100n
SM/C_0805
PCA82C250
U1
PCA80C250
1 3
2
4
5 6
7
8
TXD Vcc
GND
RXD
Vref CANL
CANH
Rs
+5V
RX0CANLJ4
J2 CANL
SJA1000
CANH
Zapojení PCA80C250
J5
P4.3R6 1k
SM/R_0805
GND
+5V
"0" na pinu EN a /STB- Sleep mode
J4
P4.1
"1" na pinu EN a /STB - normal mode
P4.5
RX0P4.4 J6
CANL1R5 1k
SM/R_0805
TX0
J7
CANH1
SJA1000
P4.2
+5VU3
12345
CANH
TJA1054
U5
TJA1054
1
23
4
567
8
9
10
1112
13
14
INH
TXDRXD
/ERR
/STBEN/WAKE
RTH
RTL
Vcc
CANHCANL
GND
BAT
CANL
Zapojení TJA1054
Plošný spoj:
• Dvouvrstvý s rozlévanou mědí ve spodní vrstvě
• Třída přesnosti 4 – izolační vzdálenosti, šířka spoje min. 12 milů
• Součástky velikosti SMD – zmenšení plochy desky plošného spoje a zvýšení mechanické odolnosti.
• Řadič SJA1000 výměně usazen v patici-
• Možnost umístění do nepájivého pole.
• Součástky rozmístěny s ohledem dobrou obvodovou návaznost a co nejkratší délku propojovacích cest.
• Ponechán dostatek místa pro snadný přístup při osazování a pájení.
• Snadný přistup k programovacím propojkám.
• Odděleny jumpery s různou funkcí.
Pohled ze strany součástek
Spodní strana desky
Osazovací výkres
Testovací program
Základní funkce programu je následující:
• Po inicializaci sériové linky a rozhraní CAN je po obou vyslána úvodní zpráva pro ověření jejich funkčnosti.
• Dále program čte stavy tlačítek na desce s procesorem a na sedmi- segmentovém LED displeji zobrazuje hexadecimální číslici odpovídající stisknutému tlačítku nebo kombinaci tlačítek.
• Každá změna tlačítka - sepnutí či rozepnutí - je rozpoznána. Po sběrnici CAN a sériové lince je okamžitě vyslána zpráva o nové kombinaci stisknutých tlačítek ve formě ASCI číslice. Zákmity tlačítek jsou ošetřeny.
• Každá zpráva přijatá sběrnicí CAN je dekódována a přeposlána na sériovou linku. V případě, že je prvním bytem zprávy ASCI číslice či znak a...f jsou zobrazeny na sedmi-segmentovém LED displeji.
Start
Inicializace SJA1000
Inicializaceseriové
komunikace
Vyslání úvodní zprávy
tl_old != tl_new
Pošli stav tlačítek po CAN
Pošli stav tlačítek po sériové lince
Zobraz stav tlačítek na
segmentovce
Přijata zpráva po CAN?
Pošli ji na sériovou linku
Je to ASCI číslice?
Zobraz ji na segmentovce
ano
ano
ano
ne
ne
ne
Čti stav tlačítek
Vytvořena skupina funkcí pro komunikaci po CAN, sériové lince a práci s tlačítky a sedmi-segmentovým displejem.
• void inicializace_UART(void) • void inicializace_SJA1000(void) • bit csend(const char* text) • bit ssend(const char* text) • char* creceive(char text[])• unsigned char cti_tlacitka(void) • void zobraz(const unsigned char cislo)
Závěr
•Výsledkem práce je modul rozhraní CAN jednoduše připojitelný k současnému přípravku s procesorem SAB80C537 a umožňující testování a vývoj aplikací využívající protokol CAN.
• Modul umožňuje využít prakticky veškerých možností použitého řadiče a budičů sběrnice .
•Vzhledem k instalaci v nepájivém poli je testování nových aplikací velmi jednoduché a rychlé bez nutnosti tvorby plošného spoje a jeho osazování.
• Přípravek je vhodný pro využití v jednoduchých měřících systémech, při konstrukci inteligentních senzorů a díky použití řadiče SJA1000 i k testování a diagnostice systémů s CAN.
• Až čas a několikanásobné využití vytvořeného modulu v různých aplikacích ukáže, nakolik byla zvolená koncepce vhodná a kde jsou jeho silné a slabé stránky.