《CAN总线与RS-232、SPI总线转换模块的设计》.doc
《《CAN总线与RS-232、SPI总线转换模块的设计》.doc》由会员分享,可在线阅读,更多相关《《CAN总线与RS-232、SPI总线转换模块的设计》.doc(47页珍藏版)》请在沃文网上搜索。
1、CAN总线与RS-232、SPI总线转换模块的设计摘要 CAN总线因具有高可靠性、实时性等优点,而被广泛用于工业控制、建筑、医学等各个领域。但RS-232、SPI总线在现在很多领域仍然占据较大的比重,许多的机器设备具有RS-232接口或SPI接口,要想实现具有RS-232总线接口或SPI接口的设备的数据在CAN总线上传输,需要转换模块把RS-232和SPI总线上的数据转换成CAN总线格式数据。该模块是基于STC89C52型号单片机、独立CAN总线控制器SJA1000和CAN总线收发器PCA825C250设计的。该模块能够实现CAN总线与RS-232、SPI总线的转换。整个模块成本低并且稳定。本
2、文详细介绍了该模块的软硬件设计。关键词 CAN总线,RS-232,SPI,SJA1000III目录CAN-Bus and RS-232,SPI-BusConversion ModuleAbstract:CAN-bus for high performance, high reliability, real-time, etc., and is widely used in industrial control, architecture, medicine and other fields. However, RS-232, SPI bus are still many areas now a
3、ccount for a large proportion of machinery and equipment with many RS-232 interface or SPI interface, in order to achieve a RS-232 bus interface or SPI interface, CAN bus interface device to work, you need to convert the module to RS-232 and SPI bus data into CAN bus communication. The module is bas
4、ed on the STC89C52RC SCM model, the independent CAN bus controller SJA1000, CAN bus transceiver designed 825C250. The module enables CAN turn RS-232, SPI can also be achieved RS-232, SPI to CAN bus conversion. The entire module, low cost, and stability. This paper describes the modules hardware desi
5、gn and software design.Keyword:CAN-bus, RS-232, SPI, SJA1000, PCA82C250目录目录第一章 引言11.1 课题的研究背景及意义11.2 国内外发展状况11.3 课题研究的主要内容2第二章 总线简介及分析32.1 CAN、SPI、RS-232总线简介32.1.1 CAN总线简介32.1.2 SPI总线简介42.1.3 RS-232总线简介62.2 CAN总线特性分析62.2.1 CAN总线的特点及优势62.2.2 CAN总线协议82.2.3 CAN总线报文帧格式92.2.4 CAN总线报文传输结构92.2.5 CAN总线错误处理1
6、0第三章 元器件选型及特性分析113.1 系统元器件选型分析113.1.1 单片机选型113.1.2 CAN总线控制器芯片选型123.1.3 CAN总线驱动器选型123.2 系统元器件特性分析133.2.1 STC89C52特性分析133.2.2 SJA1000特性分析133.2.3 总线驱动器PCA82C25016第四章 CAN/RS-232总线转换模块设计174.1 硬件设计174.2软件设计20第五章 CAN/SPI总线转换模块设计235.1 硬件设计235.2 软件设计23第六章 系统调试25第七章 总结27参考文献28致谢29附录A 硬件原理图、PCB图、实物图30附录B 源程序34
7、第一章 引言第一章 引言1.1 课题的研究背景及意义CAN总线在组网和通信功能上的优点以及它的高性价比,决定了它在许多领域都有广阔的应用前景和发展潜力。大型仪器设备系统复杂,需要对多种信息进行采集、处理、控制、输出等操作。如医疗器械CT断层扫描仪,为保证其工作可靠性,在数据通信上要求功能块间可随意进行数据交换,通信可以以广播方式进行,简单经济的硬件接口,通信线尽量少,抗干扰能力强,可靠性高并能自动进行故障识别和自动恢复。但是,这些要求长时间未能得到很好的解决,直至CAN总线技术出现才提供了一个较好的解决方法。CAN与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于
8、其具有良好的性能及其独特的设计,CAN总线越来越受到人们的重视。它在汽车领域上的应用是最广泛的,世界上一些著名的汽车制造厂商都采用了CAN总线来实现汽车内部控制系统与各检测、执行机构间的数据通信。同时,由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。由于CAN总线的优势越来越明显在工业控制等领域的应用也越来越广泛,但RS-232、SPI总线在现在很多领域仍然占据较大的比重,许多设备只具有RS-232接口
9、或SPI接口,拥有CAN总线接口的设备还十分的少,为了能让具有RS-232、SPI接口的设备也能在CAN总线上工作以适应整个技术的发展,需要设计CAN总线与RS-232转换模块1。1.2 国内外发展状况为促进CAN以及CAN协议的发展,1992在欧洲成立了CiA(CAN in Automation)。在CiA的努力推广下,CAN技术在汽车电子控制系统、电梯控制系统、安全监控系统、医疗仪器、纺织机械、船舶运输等方面均得到了广泛的应用。现已有400多家公司加入了CiA,CiA已成为全球应用CAN技术的权威。根据国内外资料报道,CAN技术已应用于家用电器和智能楼宇以及小区建设中。如安防系统、抄表系统
10、、家电控制等。它投资少,每个节点可以随机访问,通信速度完全满足要求,且在这类应用中数据交换量都很少。适当的网关如CAN与TCP/IP协议的转换,可以使一个居室或一栋大楼的现场CAN信息转变为互联网的形式外传,或反过来通过这类网关把外部网传来的信息转换为CAN的形式,此即实现了所谓的远程控制。随着CAN总线的普及应用,有必要设计CAN总线与RS-232、SPI总线的转换设备,而且这种技术也日趋成熟,已经完全实现商业化生产,在各个领域得到广泛的运用1。1.3 课题研究的主要内容课题研究的主要内容有:1) CAN总线的联网通信,通过系统的设计实现CAN节点的相互通信。2) 实现CAN总线数据与RS-
11、232总线数据的相互转换。3) 实现CAN总线数据与SPI总线数据的相互转换。43第二章 总线简介及分析第二章 总线简介及分析2.1 CAN、SPI、RS-232总线简介CAN、SPI、RS-232总线有着各自的特点,在不同的场合根据需求选择合适的总线通信是系统联网的前提条件。因此,了解总线的结构特征是进行模块设计的首要任务,通过对总线的多方了解分析其各种通信参数,结合实际的需求分析确定系统总线方案的选型,并对比三种总线的通信特征,为实现总线转换做好前期的准备。2.1.1 CAN总线简介CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行
12、通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN通过ISO11898 及ISO11519 进行了标准化,现在欧洲已是汽车网络的标准协议。CAN总线是一种串行数据通信协议,其最高波特率可达1MB/S,因此具有高的传输速率。它是一种有效支持分布式控制或实时控制的串行通信网络
13、,其对通信数据块进行编码,可以多主方式工作,可在各节点之间实现自由通信;采用非破坏性仲裁技术,有效避免了总线冲突;采用短帧结构,数据传输时间短,受干扰的概率低,重新发送的时间短。较之目前许多基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:1)网络各节点之间的数据通信实时性强。2)缩短了开发周期。3)完成对通信数据的帧处理。4)使网络内的节点个数在理论上不受限制。5)可在各节点之间实现自由通信。6)结构简单。综合来看,CAN总线在通信组网方面具有极大的优势,可以减少组网过程中的工作量,大大的提高工作效率2。2.1.2 SPI总线简介串行外围设备接口SP
14、I(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口,Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI用于CPU与各种外围器件进行全双工、同步串行通讯。SPI可以同时发出和接收串行数据。它只需四条线就可以完成MCU与各种外围器件的通讯,这四条线是:串行时钟线(SCK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)、低电平有效从机选择线。四种引脚的功能如下: SCK:时钟信号,由主设备产生; MOSI:主设备数据输出,从设备数据输入; MISO:主设备数据输
15、入,从设备数据输出;:从设备使能信号,由主设备控制。当SPI工作时,移位寄存器中的数据逐位从输出引脚(MOSI)输出(高位在前),同时从输入引脚(MISO)接收的数据逐位移到移位寄存器(高位在前)。发送一个字节后,从另一个外围器件接收的字节数据进入移位寄存器中。其典型系统框图如图2-1所示。图2-1 SPI系统框图SPI主要特点有: 可以同时发出和接收串行数据; 可以当作主机或从机工作; 提供频率可编程时钟; 发送结束中断标志; 写冲突保护; 总线竞争保护等。 SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的
16、影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设音时钟相位和极性应该一致。SPI总线接口时序如图2-2及2-3所示3。图2-2 CPHA=0时SPI总线数据传输时序图2-3 CPHA=1时SPI总线数据传输时序2.1.3 RS-232总线简介RS-232C是一个已制定很久的标准,最初是为远程通信连
17、接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。RS-232C接口最大传输速率为20Kbps,线缆最长为15米。RS-232C接口通常被用于将电脑信号输入控制,当通信距离较近时,可不需要Modem,通信双方可以直接连接,这种情况下,只需使用少数几根信号线。EIA-RS-232C 对电器特性、逻辑电平和各种信号线功能都作了规定。在TXD和RXD上:逻辑1(MARK)=-3V-15V;逻辑0(SPACE)=+3+15V。以上规定说明了RS-232C标准对逻辑电平的定义。对于数据(信息码)
18、,逻辑“1”(传号)的电平低于-3V,逻辑“0”(空号)的电平高于+3V;EIA RS-232C 与TTL转换。EIA RS-232C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA RS-232C与TTL电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。目前较为广泛地使用集成电路转换器件,如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN75154可实现EIA电平到TTL电平的转换。MAX232芯片可完成TTL与EIA双向电平转换2。
19、2.2 CAN总线特性分析2.2.1 CAN总线的特点及优势在上一节中已经对CAN总线做了一个简要的介绍,CAN总线作为一种串行通信协议,有着其它总线协议所不具有的一些特征。下面开始从技术参数方面分析CAN总线规范。CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。使网络内的节点个数在理论上不受限制。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码由11位或29位二进制数组成,因此可以定义不同的数
20、据块,这种按照数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。CAN总线有如下基本特点: 废除传统的站地址编码,代之以对通信数据块进行编码,可以多主方式工作; 采用非破坏性仲裁技术,当两个节点同时向网络上传送数据,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响继续传输数据,有效避免了总线冲突; 采用短帧结构,每一帧的有效字节数为8个,数据传输时间短,受干扰的概率低,重新发送的时间短; 每帧数据都有CRC校验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境下使用; 节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,
21、以使总线上其他操作不受影响; 可以点对点,一对多及广播集中方式传送和接收数据。 分析以上CAN总线的特点总结得到其主要优点有:1)废除传统的站地址编码,代之以对通信数据块进行编码,可以多主方式工作。这样的方式减小了数据通信过程中寻址的复杂度,可根据报文的ID决定接收或屏蔽该报文,同时这种工作方式下避免了象单片机多机通信情况下的只能有一个主机的缺陷,这样更有利于数据的传输管理。2)具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点。这些特点是串口通信不能相比拟的串口通信受到传输距离的限制,而传输速度也是有限的,继而也就影响到了传输的实时性。抗干扰能力以及经济上的考虑CAN总线也是一个不错
22、的选择。3)采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作。货场的工作环境比较恶劣,尤其是噪声比较大,这在初期的调研中得到或验证,因此系统的设计必须考虑到噪声干扰的因素,而CAN总线的特性恰恰解决了这一问题,它能够适应这种高噪声的恶劣环境。4)具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-Bus上,形成多主机局部网络。这一点和前面的第一点是有所联系的,在多主式的通信过程中处理好各个模块的数据传输优先级以及数据的仲裁是十分关键的一步,CAN总线提供了这么好的一个管理“平台”。5)可靠的错误处理和检错机制,发送的信息遭到破坏后,可自动重发。这一特点保证了数据传输的可靠
23、性以及突发错误的处理能力。数据在传输的过程中可能存在着帧信息丢失之类的问题,这就需要一个很好的解决方案来保证数据传输的有效性,CAN总线的管理在数据的传输过程中可以做到很好的错误检测以及通过数据重发来保证有效性。6)节点在错误严重的情况下具有自动退出总线的功能。这样就保证了系统在出错的情况下运行而导致的系统损坏。7)报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。这种报文格式优化了帧信息的结构,不必象串口通信那样在报文中必须包含目的节点以及源节点的地址信息2。2.2.2 CAN总线协议CAN总线协议主要描述设备之间的信息传递方式,从结构上可分成3个层次,分别对应OSI网络模型
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAN总线与RS-232、SPI总线转换模块的设计 CAN 总线 RS 232 SPI 转换 模块 设计