|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
x* r; [* K; G8 }- W5 `
摘要:本文完成了基于单片机控制的CAN与RS-232转换器的研究与设计,设计了AT89C51 单片机对RS-232接口和CAN
; Y9 F2 F/ Y$ P2 `& a模块的控制,解决了CAN总线与RS-232 接口数据通信速率以及通信帧格式不同的技术,实现了RS-232接口数据与CAN总" B+ r2 w, u9 Z) z7 f6 j
线数据的传输。
3 x H4 ~4 F J) C$ ^关键词:单片机; CAN总线; RS- -232
" V8 x, j: p+ q- ~/ c4 T0 F1概述; i3 }# O5 N( O; G8 s0 }0 ^! ~ T
CAN(Controller Area Network)总线是德国BOSCH公司为解
5 i) e1 l t" X决现代汽车中众多控制与测试之间的数据交换开发的-种串4 v8 l4 C# o$ l y2 x! P7 V
行数据通信协议,是一种多主方式的串行通信总线。CAN总线
2 Q- V- c+ |! w. c; p3 n( b0 }是一种开放式数字化、多点通信的控制系统局域网,具有通信( z7 t$ {6 D( l: l3 e
速率高、传输时间短传输距离远纠错能力强控制简单、扩展: j: K" h$ [. ?) k1 L. K1 M
能力强以及性价比高等特点,是目前国际上应用最广泛的现场8 F% N5 f7 V' ^
总线之一。
7 J- @% S9 O& P6 K$ [% p基于CAN总线的CAN控制器具有完成CAN总线通信协
; P+ Z$ {* H$ `0 t+ d2 b议所要求的全部必要功能,因此CAN控制器与其它微处理器的- w3 m7 M2 f6 I7 @: T
接口成为设计CAN总线系统的首要工作。实际中很多设备带
6 B1 y- ?; v, l& y有RS- -232接口,为了方便具有RS- -232 接口的设备与CAN总.1 c; m5 h& Y1 L f) j; z
线的数据通信,本文完成了基于单片机控制的CAN总线与RS-
7 M) u) @ q* z, j7 [# V! p9 ~232转换器电路设计和软件设计,实现了CAN总线数据与RS-: b0 l U$ k' L2 U8 ]& O$ \
232接口设备的数据传输。2 d1 X! B0 h. ?& p0 x- T/ Q
2基于单片机控制的CAN总线与
0 J$ w. _. s: ?4 I- r0 d* C# hRS--232转换器电路设计
0 v1 j" \2 v/ i) rCAN总线与RS- 232转换器电路包括:主控制模块、RS- -2326 c8 X" _+ E2 b9 a
接口转换电路和CAN控制模块3个主要部分。+ N3 u. R9 f6 h
主控制模块的功能是处理CAN总线以及RS- -232接口的6 h" v0 c$ ^+ T3 c( s
数据通信和控制,本设计应用AT89C51完成对转换器各个接口
8 S9 x* I! r4 Z% e' c+ H) G的控制,实现CAN总线和RS- -232接口两种协议数据帧的转换,' l; j5 m$ a& s: R0 j6 L
使用带有SPI总线接口的X25045实现硬件看门狗功能。主控5 c. I5 J$ b2 X, B, _' R; k
模块电路如图1所示。
* n7 C/ N1 G/ a5 C3 d+ eRS- -232接口电路由MAX232芯片构成,实现将单片机串口
/ V$ |& l+ e- V0 Y3 O2 P的TL电平与RS -232电平的相互转换,完成RS- -232接口信息
: i: Z/ o' j* T5 o4 ]$ l1 X; V
的输人输出传输。
& D# ? d. Q- c9 DCAN控制器模块,主要完成CAN协议的物理层和数据链2 U' t9 ^ x J
路层协议的实现。其中物理接口采用PCA82C250芯片实现物8 Z* C }" W1 k+ [- L# |
理层的电平转换和传输。CAN控制器使用SJA1000芯片,完成% ?2 T% F$ L4 e: }( d1 N$ B
数据链路层功能,实现CAN总线信息的输人输出传输。* Z! L" c6 j7 V a: s1 E
AT89C51是CAN总线与RS--232转换器的控制器,提供以# B4 h8 m: G: q) @
下标准功能:4k字节Flash 闪速存储器,1000次可擦写周期,三3 @( F5 o0 m/ k" |
级加密程序存储器,128字节内部RAM,32个I/0口线,两个16% ?7 @$ D, ^& u! t
位定时/计数器,-个5向量中断结构,-一个全双工串行通信口,
) M% k% T i$ I片内振荡器及时钟电路。同时,支持两种软件可选的节电T.作模& x" ^6 i- f( \ [5 y
式。空闲方式停止CPU的工作,但允许RAM、定时/计数器、窜行9 U, ~* Y7 Y8 `) B
通信口及中断系统继续工作。掉电方式保存RAM中的内容,但5 p( z$ ~! N U! W/ O5 Z
振荡器停止工作并禁止所有部件工作直到下一个硬件复位。
+ V2 G) G5 Z/ ZAT89C51使用的晶振信号由SJA1000提供(SJA1000用# u$ `" g- a9 L9 ^- Y. ~4 }3 Z
24MHz的片外晶振),SJA1000的CLKOUT引脚接人mcu的1 H; a, c+ S$ {
XTAL1引脚。
0 u8 K+ o6 t, ^( F由于CAN总线速率与RS -232接口速率并不相同,因此本
" q1 O! Z* h8 z4 I设计中增加了片外RAM芯片6116,用作转换双方的数据缓冲5 N6 S- s( k8 ]' A1 ^3 {$ Z) k" n
区。设计中使用P2.7接反向器连接61 16的片选端,所以接口转
2 c: V1 V6 i# L. K换电路中的片外RAM的起始地址实际上应为0X8000。
* W2 L1 c1 U& \5 h3 ]
: Z- T6 j" M4 N% H7 B9 c' C1 `0 X/ x* m# |. Q$ S* L5 \& k& b
5 i, n9 |* h8 ]3 x8 `附件下载:! v7 P) V: q) m6 G! g
! \& B/ V% x7 c* b5 U3 j9 E |
|