|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 hanser 于 2020-3-18 09:13 编辑 ! m4 d2 a, ~# ]0 D' V z+ y1 f* e
W# \3 [' N+ J! I9 i
1 Y5 [; B9 T* I7 n摘要:设计了一套USB总线与CAN总线的转换电路及其软件。系统以8位单片机为转换电路的控制器,用CH374芯片作为USB
* v8 n8 o& W6 f" U, F8 F, ^5 L端的主控芯片,用SJA1000作为CAN接口芯片。设计了系统的硬件电路,给出了基于该电路的软件实现方案,并编写了程序代码。为4 e" D+ d- g4 f7 T% e
了克服CAN总线容易受到外界干扰的弱点,使用6N137进行信号隔离。对设计的系统进行了实验测试,实现了USB与CAN总线转换
3 g/ H) B/ k, |; ]的功能。6 G9 f. K( m/ T' u2 ]& }
关键词: USB总线; CAN总线;单片机; CH374
. E/ }3 a/ _( V! w) R/ y- ]9 A4 n; J* K+ d$ h: g
0 引言! j& \5 b; A. |; \# s0 H2 ~2 f
随着计算机技术、网络技术的发展,工业控制领域及自动
; \& |; U3 N4 g$ n/ i* P7 P0 Z5 W- g化领域对网络通信、系统的可靠性、安全性、易操作性和易维0 m4 X5 T, V' R
护性都有了更进- -步的要求。现场总线是当今自动化领域技术
5 e& I% p- |7 }, O% Q发展的特点之一,被誉为自动化领域的计算机局域网。它是现
# i# x! j; Y: M. U代计算机、通信和控制技术的集成,即通常所谓的3C (Com-' p& R/ L- j( f& ~+ u
puter, Communication, Control) 技术。分布式控制系统是现代
W7 V/ d, `0 S) [' q) t6 E控制系统的主流,而CAN卓越的特性、极高的可靠性和独特的
8 B3 }2 Q/ e0 C2 d* y设计,特别适合工业过程监控设备的互联,因此越来越受工业
9 a# e$ b7 X) |) |界的重视。USB速度快、连线简单和即插即用的特性是与上位
" q2 W2 \4 Y F+ O8 Y机通讯非常好的外设接口。因此,基于USB接口实现CAN总2 Q4 d1 {# n. y r
线与PC机之间数据通信的研究具有一定的应用意义[1-2]. Q+ U- o: d, i- j3 h; B7 Q/ C
1系统硬件设计
* V. y/ ?+ ?* A2 x' r5 }7 ?硬件电路主要由微控制器、CAN总线接口、USB总线接
. F1 q. L9 I4 E" ^" G- ^) H口和信号隔离模块等部分组成,其中控制器采用AT89S52单: v5 J5 Z# a4 k6 W) ?& g
片机。系统整体功能框图如图1所示。/ w/ F3 u6 u, B; `# s; ^! }
系统主要功能为:单片机模块上电复位以后,完成对
" x3 S; g* N V5 J) q0 wCAN主控芯片SAJ1000和USB主控芯片CH374的初始化。
" h2 a7 X* ~" z; v# l) _0 `PC机通过USB数据线连接到USB接口的主控芯片CH374,: F4 v8 `0 G6 X
USB接口模块通过8位数据线完成与单片机接口的数据传输,
& O, r) p1 R! I! M1 H* S然后由单片机把数据传输到CAN总线上[3-6]。/ |; ]5 `4 O, u% h
1.1USB模块的硬件设计
' K5 r! K- H$ G+ R1 L' [/ Q本系统USB接口模块采用CH374作为主控芯片。CH374
( y% T, o* y! G" q& r6 Y是USB通用设备接口芯片,完全满足USB1.1标准,具有8% U( V7 A" x4 D% k6 S
位数据总线D[0-7],接口地址输人A0、读RD#、写WR#、
% m7 Z3 n( U t8 U片选CS#及中断输出INT#,可以方便地挂接到微处理器的
! \: U0 O/ c9 T7 w% f( Y数据总线上田。同时,在PC计算机端,CH374芯片的驱动程
1 U1 H$ q/ `+ x6 X# [! Y/ F序以及动态链接库等软件为PC计算机应用层提供了应用层接
8 T1 g; o M: x1 x0 ]$ D/ u* }0 S口;只要将CH374芯片的驱动程序、动态链接库拷贝到上位
: Y$ L% b1 G ]1 g. F% M3 w- t) k' vPC计算机中,利用CH374动态链接库DLL提供的API接口
1 J; w4 ]/ A& `3 x) V) C- e函数对其进行操作,对USB总线的访问及通信控制就非常简
0 L/ U/ I! S4 E1 O- [& u$ I% w单了。USB模块硬件电路见文献[3].% N6 a$ R& L8 U
1.2 CAN模块硬件设计
; l+ V" F4 S+ P1 v. T作为控制器局域网,CAN总线是国际上应用最广泛的现, A) g9 o: Z; d# I X
场总线之一,主要用于各种设备监测及控制。CAN总线系统1 ?) ?# N3 Z2 ], i* t
的硬件部分一般由微处理器及可编程的CAN控制芯片组成,; t( h+ \% y% d2 U$ u- H0 {4 \0 \5 h, q
本设计采用AT89S52 作为CAN总线系统的微处理器,而
' D8 T2 T5 Z0 t8 z
+ W. A/ R1 n% [+ B, g. o% ?" t; d _, ^0 ^, C8 l5 S
附件下载:
# `4 C5 i3 @8 U5 o! b
8 e, f$ U* ~" ]* L1 I7 o% [( X% Z6 P; a
|
|