基于单片机的icanrs232协议转换器设计_第1页
基于单片机的icanrs232协议转换器设计_第2页
基于单片机的icanrs232协议转换器设计_第3页
基于单片机的icanrs232协议转换器设计_第4页
基于单片机的icanrs232协议转换器设计_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本科学生毕业设计基于单片机的iCAN-RS232协议转换器设计系部名称: 电子工程系 专业班级:测控技术与仪器 学生姓名: 指导教师: 职 称: 黑 龙 江 工 程 学 院二九年六月The Graduation Design for Bachelor's DegreeDesign of iCAN-RS232 Protocol Converter Based on Microcontroller Unit Candidate:Zhan DaminSpecialty:Measurment & Control Technology and InstrumentationsClass:

2、 Supervisor: Heilongjiang Institute of Technology2009-06·Harbin摘 要RS-232是通用的工业标准,它的应用无处不在,CAN是现场总线中的优秀代表,在汽车制造、航空工业等自动化控制领域应用广泛,iCAN协议是基于CAN-bus的应用层协议,并详细地定义了CAN报文中ID以及数据的分配和应用,iCAN协议已被广泛应用,一些厂商已制造了一些iCAN系列的功能模块。目前,使用的大部分通信设备都具备RS232接口,而没有CAN接口,为了能与CAN总线之间进行通讯,设计了一种基于单片机的iCAN-RS232协议转换器。通过该协议转换

3、器,带有RS232接口的设备可与CAN总线之间进行通信。本设计首先简要介绍了RS232和CAN,并指出设计基于单片机的iCAN-RS232协议转换器的必要性和可行性;其次,对RS232和iCAN协议的介绍,这是设计iCAN-RS232协议转换器的基础;再次,iCAN-RS232协议转换器硬件电路的设计,采用AT89S51为主控制器进行数据的处理,利用MAX232进行TTL-RS232电平转换,以SJAl000为CAN总线控制器、PCA82C250为CAN总线收发器共同完成CAN总线的数据收发,这一部分的成果是iCAN-RS232协议转换器的硬件实体;最后在硬件基础上,设计通信程序,实现协议转换

4、。 关键词:CAN;RS232;iCAN;协议转换;AT89S51;SJAl000;PCA82C250ABSTRACTThe industrial standard RS-232 is universal, and it's used everywhere. CAN is outstanding representatives of field bus in automotive, aerospace, industrial automation control field. The iCAN protocol is based on CAN-bus the application-l

5、ayer protocol, and detailedly defines CAN in the message of ID and data distribution and application. The iCAN protocol has been extensively applied. Some manufacturers have made some iCAN series of function module. At present, most of the telecommunication equipments are used with RS232 interface,

6、without CAN interface. In order to communicate with CAN-bus, design a kind of iCAN-RS232 protocol converters based on Microcontroller Unit. Through this protocol converters, with RS232 interface device communicates with CAN bus.This design briefly introduces firstly RS232 and CAN, and points out tha

7、t design of iCAN- RS232 protocol converters based on Microcontroller Unit of necessity and feasibility. Secondly, the protocol that introduces RS232 and iCAN, is basis for design of iCAN-RS232 protocol converters. Thirdly, design of iCAN-RS232 protocol converters hardware circuit, uses AT89S51 prima

8、rily controller for data processing, and makes use of MAX232 for TTL-RS232 PWL transformation. With SJAl000 for CAN-bus controller and PCA82C250 for CAN-bus transceiver complete data transceiver of CAN-bus. This is the result of iCAN-RS232 protocol converters hardware entity. At last, design communi

9、cation program to realize protocol conversion, based on the design of hardware.Keywords: CAN;RS232;iCAN;Protocol Conversion;AT89S51;SJAl000;PCA82C250目 录摘要IAbstractII第1章 引言11.1课题的背景、目的及意义11.2 设计的内容及要求11.3 RS232概述21.3.1 RS232的出现和发展21.3.2 RS232接口的特点31.4 CAN概述41.4.1 CAN的出现和发展41.4.2 CAN的技术优点41.5单片机概述51.6

10、开发iCAN-RS232协议转换器的必要性51.7开发iCAN-RS232协议转换器的可行性6第2章 协议简介82.1 RS232协议简介82.1.1 RS232的电气特性82.1.2 RS232连接器的机械特性92.1.3 RS232接口信号102.2 CAN协议简介112.3 iCAN协议简介122.3.1 iCAN的报文格式132.3.2 iCAN的报文传输协议172.4本章小结18第3章 协议转换器的硬件设计193.1协议转换器硬件设计的系统框架193.2核心控制模块设计193.3 CAN总线接口模块设计223.3.1 CAN总线控制器SJA1000223.3.2 SJA1000的电路

11、设计233.3.3 CAN收发器PCA82C250电路设计243.4 RS232总线接口模块设计273.5系统供电模块283.6本章小结28第4章 协议转换器的软件设计294.1软件组成及架构294.2主程序模块294.3 CAN总线通信模块324.4 RS232总线通信模块334.5故障监听344.7本章小结34结束语35参考文献36致谢38附录A39附录B40第1章 引 言1.1课题的背景、目的及意义由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致等特点,因此,计算机与计算机或计算机与终端设备之间的数据传送常采用串行通讯方式。RS232接口是一种串行通

12、讯接口,它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”,因其出现较早、技术成熟、成本低,是目前在计算机或终端最常用的一种串行通讯接口1。CAN-bus是一种有效支持分布控制和实时控制的串行通信网络,是一种通信速率可达1 Mb/s的多主总线,具有优先抢占方式进行总线仲裁的作用机理,错误帧可自动重发,永久故障可自动隔离,不影响整个网络正常工作,可靠性高,而且协议简单,开放性强,组网灵活,成本较低,能为自动化提供开放性、全分布及可互

13、操作性的通信平台,已公认为最有前途的现场总线之一2。一般来说计算机或终端设备本身不带CAN接口,所以计算机或终端设备和CAN网络是不能直接互联的。但在现场总线CAN-bus得到广泛应用的今天,CAN-bus通信以无可比拟的优势得到大规模的普及应用,很多商用或者工业计算机控制系统都离不开CAN-bus,因此必须使用计算机或终端设备现有的通讯接口(如RS232、PCI、USB等)适配、转换为CAN-bus接口3。在CAN-bus上传输的信息以其自有的标准进行传输,iCAN协议是基于CAN-bus的应用层协议,并详细地定义了CAN报文中ID以及数据的分配和应用,iCAN协议已被广泛应用,一些厂商已制

14、造了一些iCAN系列的功能模块。而在RS232总线上传输的信息以RS232协议为标准进行传输。因此,通过iCAN-RS232协议转换器,可把在两种协议下传输的信息进行转换,这样,计算机或终端与CAN总线就可进行相互通讯,使用户花费极低的成本,享受现场总线CAN-bus带来的好处,其具有高性价比和高可靠性。1.2 设计的内容及要求设计内容:设计一个iCAN-RS232协议转换器,该转换器同时具有CAN接口和RS232接口并可以完成iCAN协议和RS232协议的双向转换。设计要求: 实现CAN接口,支持CAN2.0B协议。 实现RS232接口,通讯速率在600115200bps之间可设定。 实现i

15、CAN-RS232双向协议转换。 最高帧流量100帧/秒。1.3 RS232概述1.3.1 RS232的出现和发展十几年来,计算机体系结构的发展已经由“CPU中心”时期过度到了“总线中心”时期,在“总线中心时期”,人们不断地制定不同的总线标准,去适应不同的应用场合,摆脱了过去那种以CPU为核心,设计外部设备时受CPU制约的弊端4。因此,计算机的总线结构、总线标准的制定以及与之配套的接口规约的设计显得至关重要。表1.1 9条引线信号内容引脚序号信号名称符 号流 向功 能2发送数据TXDDTEDCEDTE发送串行数据3接收数据RXDDTEDCEDTE接收串行数据4请求发送RTSDTEDCEDTE请

16、求DCE将线路切换到发送方式5允许发送CTSDTEDCEDTE告诉DTE线路已接通可以发送数据6数据设备准备好DSRDTEDCEDTE准备好7信号地信号 SG公共地8载波检测DCDDTEDCE表示DCE接收到远程载波20数据终端准备好DTRDTEDCEDTE准备好22振铃指示RIDTEDCE表示DCE与线路接通,出现振铃计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯两种方式,由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS232接口

17、(又称EIA RS232)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”,该标准规定采用一个25脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。实际上RS232的25条引线中有许多是很少使用的,在计算机与终端通讯中一般使用3-9条引线5。RS232最常用的9条引线的信号内容见表1.1所示。1.3.2 RS232接口的特点计算机外部设备与计算机的串行通讯采用的

18、是串口(Serial Port),使用RS232串行通讯标准。RS232适用于设备之间通讯距离不大于15米,传输速率最大为20Kbps的场合,由于它的总线协议非常简单,仅对物理层作了定义和约束,因此对它们的开发非常简单,比较灵活。(1)RS232接口的电气特性在RS232中任何一条信号线的电压均为负逻辑关系。即逻辑“1”,-5-15V;逻辑“0”+5+15V。噪声容限为2V,即要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号作为逻辑“1”。(2)RS232接口的物理结构RS232接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端。 &

19、#160;     一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。(3)传输电缆长度表1.2 电缆传输长度波特率(bps)1号电缆传输距离(英尺)2号电缆传输距离(英尺)110500030003005000300012003000300024001000500480010002509600250250由RS232标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中

20、,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10%而得出表1.2的实验结果。其中1号电缆为屏蔽电缆,型号为DECP.NO.9107723内有三对双绞线,每对由22#AWG组成,其外覆以屏蔽网。2号电缆为不带屏蔽的电缆。型号为DECP.NO.9105856-04是22#AWG的四芯电缆6。1.4 CAN概述1.4.1 CAN的出现和发展CAN全称为“Controller Area Network”,中文称“控制器局域网”,是国际上应用最广泛的现场总线之一。20世纪80年代初,德国Bosch公司为了解决现代汽车中

21、众多的控制与测试仪表之间的数据交换问题,开发出CAN总线,CAN总线的设计充分考虑了汽车上的恶性工作环境,可靠性高。因此CAN总线在诸多现场总线中独占鳌头,成为汽车总线的代名词。CAN总线的出现,满足了汽车内简化综合布线、提高布线效率以及各控制子系统实时数据信息共享等需求7。CAN的进一步发展表明,除了汽车工业以外,它能够有效支持分布式控制或实时控制的串行通讯网络,现在,它不但继续向工业自动化应用领域扩展,如分布式环境监测系统、温室环境监测系统、变电站监测系统等,而且在楼宇自动化、智能终端设备等民用领域也得到长足发展8。1.4.2 CAN的技术优点(1)CAN总线提供高速数据传送,在短距离(4

22、0m)条件下具有高速(1Mbit/s)数据传输能力,而在最大距离10000m时具有低速(5Kbit/s)传输能力,极适合在高速的工业自动化控制应用上,CAN总线可以在同一网络上连接多种不同功能的传感器(如位置、温度或压力等)。(2)CAN提供了数据共享,减少了系统内部数据的重复传送和处理,节省了成本。所有的数据在总线上传送,每个节点都可以接收到,如果需要就可以保留下来作进一步处理。(3)CAN具有错误诊断能力和自动恢复能力,节省了生产维护成本。CAN的这种总线式结构以及CAN协议本身提供的错误检测和故障定位机制,决定的CAN总线节点在总线出现干扰或发生故障时能够自动退出服务,总线恢复后节点自动

23、进入工作状态。(4)CAN扩充性强,节省了开发设计成本。CAN节点几乎可以在不开动原有线束的情况下增加新的组件。(5)数据稳定可靠,具有线间干扰小、抗干扰能力强的特点。CAN总线专为解决汽车内的恶劣通信环境量身订做,可靠性有保障,此外,iCAN协议中8字节长度报文帧的规定适用实时性要求较高的工业控制领域。(6)性价比有绝对的优势。随着CAN的批量推广,其成本会进一步降低9。1.5单片机概述单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广,发展很快。单片机体积小,重量轻,抗干扰能力强,环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。由于具有上述优点

24、,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面。单片机根据其基本操作处理的位数可分为:1位单片机、4位单片机、8位单片机、16位单片机、32位单片机。20世纪80年代以来,单片机的发展非常迅速。就通用单片机而言,世界上一些著名的计算机厂家已投放市场的产品就有几十个系列,数百个品种。其中有Motorola公司的6801、6802。Zilog公司的Z8系列,Rockwell公司的6501、6502等。此外,荷兰的Philips公司、日本的NEC公司、日立公司等也不甘落后,相继推出了各自的单片机品种,许多国外的公司以MCS-51的内

25、核为基础,推出了各种与MCS-51系列单片机兼容的衍生品种。尽管单片机的品种很多,但是在我国使用最多的是Intel公司的MCS-51系列单片机及其增强型、扩展型的衍生机型。MCS-51系列是在MCS-48系列的基础上于20世纪80年代初发展起来的,是最早进入国内的单片机主流品种之一。虽然它是8位的单片机,但它具有品种全、兼容性强、性能价格比高等特点,且软硬件应用设计资料丰富齐全,已为我国广大工程技术人员所熟悉。因此,MCS-51系列单片机在我国得到了广泛的应用。直至现在,MCS-51系列的单片机及其衍生机型仍不失为单片机的主流系列,在最近的若干年内仍是工业检测、控制应用的主角101112。1.

26、6开发iCAN-RS232协议转换器的必要性我们已经看到,RS232和CAN在各自的领域中都在发挥着不可替代的作用,分别成长为各自领域内的标准。单从支持他们的设备的种类和数量来看,就充分地说明这一点。RS232的普及不需多讲,CAN自诞生的那一天起,就迅速成长起来,据统计,截止1999年,接近6千万个CAN控制器投入应用到汽车、轮船、航天飞机等交通工业以及其他工业控制中,到2000年,市场销售的CAN器件数量已经超过1个亿,想想现在已是2009年,CAN-bus的应用将会多广泛。最重要的是,RS232和CAN本身仍然在不断发展,不断完善,以满足市场和社会的需求,因此具有美好的前景。但是,随着计

27、算机技术的飞速发展,PC已经把RS232采纳为串行总线和串行接口标准的控制器几乎已经成为各个领域的操控终端的不二之选,只要接口标准统一,安装必要的应用软件和驱动程序之后,PC就能接入到各个控制系统中去。但是,对于CAN这样的专业网络,PC的接入必须经过必要的改造或适配。还有,现今仍然使用的一些通信设备不具备直接与CAN通信的功能。当前,对于CAN网络的操作和控制,更多地通过智能手续终端来实现。智能手续终端主要采用嵌入式系统作为支撑,微控制器控制外围器件如CAN控制器接入CAN网络,其内的固件提前固化到芯片中,提供对CAN网络的专业化操作功能,因此,终端本身是专门制定的。由于应用的针对性很强,这

28、些终端设备的扩充、维护、排障和改造升级非常不便,很自然地,设备的价格和维护成本也会居高不下。而这些,都是配备了RS232串行接口的PC和终端的绝对优势3。此外,对比RS232和CAN的特性,我们还可以知道,除了RS232的通用性和CAN的专业性之间的差异之外。RS232更适合低速的短距离传输,而CAN却可以通过降低总线上的传输速率把传输距离扩展到几公里以上,非常适合长距传输。因此,为了应用的高效率、操控的便利性,我们完全有必要采用技术手段实现通过PC或终端的RS232接口接入CAN专业网络,把RS232的通用性和CAN的专业性结合起来,把它们之间的优势融合起来。1.7开发iCAN-RS232协

29、议转换器的可行性一般地,协议转换器基于单片机,其外围器件为协议的控制器,与微控制器通过I/O端口采用总线复用的方式连接起来,这些器件通过各自的标准接口接入到各自的协议网络中去13,单片机内的固件分析、理解某个协议控制器收发的数据,再转换成另一个协议控制器支持的协议标准和数据格式,然后转发到另外一个网络去,完成协议转换14。我们要开发设计的协议转换器需要完成RS232协议与iCAN协议之间的转换,基于单片机,我们称之为基于单片机的iCAN-RS232协议转换器。从技术角度分析,第一,RS232协议和iCAN协议都是标准化协议,它们的共同特点是协议制定的比较完整,RS232总线协议非常简单,仅对物

30、理层作了定义和约束,iCAN协议是CAN-bus的应用层协议,CAN协议只定义了物理层和数据链路层,因而硬件接口非常简单。这样,只要准确地理解协议,完成协议转换不成问题,而且,开发出来的产品兼容性好,通用性强,这是协议转换器的最必要条件;第二,单片机的广泛应用和不断发展,被证明是完成这类工业控制的最行之有效的手段,这是开发协议转换器的强有力支撑和保障;第三,微控制器、RS232和CAN的控制器本身越来越成熟,工作稳定,性能可靠,人们对它们的使用和开发总结出一些高效实用的手段,而且,这些器件的批量应用决定了它的价格成本不断降低,表现出优越的性能价格比。因此,我们可以说,开发基于单片机的iCAN-

31、RS232协议转换器,技术上完全可行。从市场方面来看,人们对于iCAN-RS232协议转换器的需求毋庸质疑,其实,很多专业公司都提供这些类似产品,如单片机应用开发方面卓有成就的周立功公司就提供成型产品,但是,价格不菲。通过对几家专业汽车公司(如大众、奇瑞)做了调查后发现,他们对汽车CAN网络的灵活操作和功能扩充有强烈需求,也对CAN的前景表示出十足的信心。因此,开发iCAN-RS232协议转换器具有相当的市场前景和应用价值15。综合以上,设计基于单片机的iCAN-RS232协议转换器。首先,应做好对RS232协议和iCAN协议的准确理解,发现并攻克其中的难点和关键点,为后续工作打好基础;其次,

32、查阅资料,合理选定微控制器、RS232控制器和CAN控制器,规划好它们之间的引脚连接,完成硬件电路;再者,完成软件设计,反复调试,直至协议转换功能的最终实现。第2章 协议简介2.1 RS232协议简介串行通信接口标准经过使用和发展,目前已经有几种。但都是在RS232标准的基础上经过改进而形成的。RS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(Ecommeded Standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、

33、RS232A。所以,以RS-232C为主来讨论。RS-323C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在020Kbps范围内的通信。由于通行设备厂商都生产与RS-232C制式兼容的通信设备16,因此,它作为一种标准,目前已在微机通信接口中广泛采用。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有RS-232C、RS-422A、RS-423A、RS-485。这里只介绍RS-232C(简称232,RS232)17。 例如,目前在IBM PC机上的COM1、COM2接口,就是RS-232C接口。在讨论RS232接口

34、标准内容之前,先声明两点:首先,RS232标准最初是远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对RS232标准与计算机不兼容的地方就不难理解了。其次,RS232标准中所提到的“发送”和“接收”,都是站在DTE立场上,而不是站在DCE的立场来

35、定义的。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收18。2.1.1 RS232的电气特性EIA-RS-232C对电气特性、逻辑电平和各种信号线功能都作了规定。 在TXD和RXD上:逻辑1(MARK)=-3V-15V、逻辑0(SPACE)=+3+15V;在RTS、CTS、DSR、DTR和DCD等控制线上:信号(有效接通,ON状态,正电压)=+3V+15V、信号(无效断开,OFF状态,负电压)=-3V-15V。以上规定说明了RS323标准对逻辑电平的定义。对于数据(信息码):逻辑“1”(传号)的电平低于-3V,逻辑“0”(空号)的电平高于+3V

36、;对于控制信号:接通状态(ON)即信号有效的电平高于+3V,断开状态(OFF)即信号无效的电平低于-3V,也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3+3V之间的电压无意义,低于-15V或高于+15V的电压也认为无意义,因此,实际工作时,应保证电平在±(315)V之间。EIA-RS-232C与TTL转换:EIA-RS-232C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA-RS-232C与TTL电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯

37、片。目前较为广泛地使用集成电路转换器件,如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN75154可实现EIA电平到TTL电平的转换。MAX232芯片可完成TTLEIA双向电平转换。进行电平转换后才能送到连接器上去或从连接器上送进来。2.1.2 RS232连接器的机械特性连接器:由于RS-232C并未定义连接器的物理特性,因此,出现了DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也各不相同。下面分别介绍两种连接器。(1)DB-25连接器PC和XT机采用DB-25型连接器。DB-25连接器定义了25根信号线,分为4组: 异步通信的9个电压

38、信号(含信号地SG)2,3,4,5,6,7,8,20,22。 20mA电流环信号 9个(12,13,14,15,16,17,19,23,24)。 空6个(9,10,11,18,21,25)。 保护地(PE)1个,作为设备接地端(1脚)。DB-25和DB-9型连接器的外形及信号线分配如图2.1所示。注意,20mA电流环信号仅IBM PC和IBM PC/XT机提供,至AT机及以后,已不支持。(2)DB-9连接器在AT机及以后,不支持20mA电流环接口,使用DB-9连接器,作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。它只提供异步通信的9个信号。DB-9型连接器的引脚分配与D

39、B-25型引脚信号完全不同。因此,若与配接DB-25型连接器的DCE设备连接,必须使用专门的电缆线。电缆长度:在通信速率低于20kbps时,RS-232C所直接连接的最大物理距离为15m(50英尺)。最大直接传输距离说明:RS-232C标准规定,若不使用MODEM,在码元畸变小于4%的情况下,DTE和DCE之间最大传输距离为15m(50英尺)。可见这个最大的距离是在码元畸变小于4%的前提下给出的。为了保证码元畸变小于4%的要求,接口标准在电气特性中规定,驱动器的负载电容应小于2500pF。图2.1 DB-9和DB-9连接器2.1.3 RS232接口信号RS232标准接口有25条线,4条数据线、

40、11条控制线、3条定时线、7条备用和未定义线,常用的只有9根,它们是:(1)联络控制信号线数据装置准备好(Data set ready-DSR)有效时(ON)状态,表明MODEM处于可以使用的状态。数据终端准备好(Data set ready-DTR)有效时(ON)状态,表明数据终端可以使用。这两个信号有时连到电源上,一上电就立即有效。这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的控制信号决定。请求发送(Request to send-RTS)用来表示DTE请求DCE发送数据,即当终端要发送数据时,使该信号有效(ON状态),向MODE

41、M请求发送。它用来控制MODEM是否要进入发送状态。允许发送(Clear to send-CTS)用来表示DCE准备好接收DTE发来的数据,是对请求发送信号RTS的响应信号。当MODEM已准备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端开始沿发送数据线TxD发送数据。这对RTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要RTS/CTS联络信号,使其变高。接收线信号检出(Received Line detection-RLD)用来表示DCE已接通通信链路,告知DTE准备接收数据。当本地的MODEM收到由通

42、信链路另一端(远地)的MODEM送来的载波信号时,使RLD信号有效,通知终端准备接收,并且由MODEM将接收下来的载波信号解调成数据后,沿接收数据线RxD送到终端。此线也叫做数据载波检出(Data Carrier dectection-DCD)线。振铃指示(Ringing-RI) 当MODEM收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态),通知终端,已被呼叫。(2)数据发送与接收线发送数据(Transmitted data-TxD)通过TxD终端将串行数据发送到MODEM,(DTEDCE)。接收数据(Received data-RxD)通过RxD线终端接收从MODEM发来的串行数据,

43、(DCEDTE)。(3)地线有两根线SG、PE信号地和保护地信号线,无方向。上述控制信号线何时有效,何时无效的顺序表示了接口信号的传送过程。例如,只有当DSR和DTR都处于有效(ON)状态时,才能在DTE和DCE之间进行传送操作。若DTE要发送数据,则预先将DTR线置成有效(ON)状态,等CTS线上收到有效(ON)状态的回答后,才能在TxD线上发送串行数据。这种顺序的规定对半双工的通信线路特别有用,因为半双工的通信才能确定DCE已由接收方向改为发送方向,这时线路才能开始发送。当通信距离较近时,可不需要MODEM,通信双方可以直接连接,这种情况下,只需使用少数几根信号线。最简单的情况,在通信中根

44、本不需要RS-232C的控制联络信号,只需三根线(发送线、接收线、信号地线)便可实现全双工异步串行通信;当远距离通信(传输距离大于15m的通信)时,一般要加调制解调器MODEM,因此使用的信号线较多。2.2 CAN协议简介CAN协议遵循ISO/OSI参考模型的相关规定,即低层为高层服务,高层向低层请求,只有两个节点间的同一层之间才能互相通信。为了简化结构,CAN协议仅采用了OSI中的低2层,物理层和数据链路层。同样地,物理层规定了硬件的电气特性,数据链路层控制帧的结构、执行仲裁、错误检测、故障界定等功能。除此之外,CAN协议还包括一个高层,即应用层。CAN是一种基于广播方式的协议,每一帧CAN

45、报文都包括标识符和数据域,CAN网络上的节点根据标识符的内容确定是否接收这些报文。CAN报文提供4种帧类型: 数据帧:包括标识符和08字节数据,用于将数据从发送器(发送节点)发送到接收器(接收节点)。 远程帧:只有标识符,CAN协议对远程帧作用的定义是发送节点请求接收节点传送指定标识符的数据帧。在实际应用中,接收节点是否回发数据帧由接收节点的软件决定。 错误帧:用于标明一个节点检测到了总线/网络故障。 超载帧:在帧的发送间隔之间提供一个延时以控制数据流。根据CAN2.0B规范,CAN报文的数据帧和远程帧又分为标准帧和扩展帧。其中,帧标识符为11位的称为标准帧;帧标识符为29位的称为扩展帧10。

46、2.3 iCAN协议简介iCAN协议全称“Industry CAN-bus Application Protocol”,即工业CAN-bus应用层协议。iCAN协议沿用了CAN协议标准所规定的总线网络的物理层和数据链路层,对CAN-bus报文中的帧标识符和数据域进行了重定义。iCAN协议通讯层结构如图2.2所示。图2.2 iCAN协议通讯层结构iCAN协议详细的定义了CAN-bus报文中帧标识符以及数据的分配和应用,建立了一个统一的设备模型,定义了设备的I/O资源和访问规则,主要内容如下: iCAN报文格式定义,规定了iCAN协议规范中使用的CAN帧类型、以及帧ID、报文数据的使用等。 报文传

47、输协议,规定了基于iCAN协议的设备之间的通讯方式。 设备的定义,设备标识、设备应用单元、设备通讯以及应用参数以及定义标准设备类型,区分网络上设备具有的不同功能或者产品类型。 网络管理,规定了设备通讯监控以及错误管理。(1)iCAN协议特点iCAN协议在汲取DeviceNET和CANopen 协议之精粹基础上,充分继承和发展了基于连接和对象寻址两种核心功能。支持多种传输方式,包括轮询方式、状态触发方式以及定时循环方式,还根据国内实际情况,去掉了诸如复杂的基于对象模式、通信波特率限制等因素,以高效精炼的协议,保证了数据通信的可靠性和实时性,有效降低了硬件实现成本。 基于节点地址的设备寻址,iCA

48、N网络中支持多达64个节点。 支持轮询和事件触发通讯方式,保证了数据通信的实时性。 基于资源节点的设备数据寻址方式,简化了主站和从站间数据交换方式。 统一的设备模型,提高了设备的易用性和互换性。 完善的网络管理,有效监控所有通信节点,保证了数据通信的可靠性。(2)iCAN协议中专有名词解释 源节点:发送报文的节点。 目标节点:接收报文的节点。 主站(主控节点、主控设备、主站):基于iCAN协议网络中的管理设备,负责管理整个网络中的通讯,可以为PC或者嵌入式设备。 从站(受控节点、受控设备、从站):基于iCAN协议网络中的I/O设备单元,主站建立与从站的数据通讯,从从站获取输入数据,并向它分配输

49、出数据。 节点:iCAN网络中主站和从站。 资源节点:指设备中特定的应用单元,如I/O端口。 资源子节点:指设备中特定配置单元中的子单元,如配置资源。 MAC ID:Media Acess Control ID,媒体访问控制标识。iCAN网络中节点的唯一标识。2.3.1 iCAN的报文格式iCAN协议报文格式定义了CAN报文的标识符以及数据部分使用原则和功能含义。对报文格式的定义,使网络中CAN报文的每个组成元素均有其特定的功能和意义。CAN报文格式的定义也是iCAN协议中最基本的组成部分,CAN报文格式的定义包括两个方面,即报文标识符和报文数据部分的分配。iCAN协议中只使用了扩展帧格式CA

50、N报文,标准帧格式CAN报文并未使用,在iCAN协议中并没有使用远程帧格式的定义。iCAN协议中,对CAN报文的29位标识符和报文数据部分的使用都做了详细的规定,iCAN协议中报文的格式规定如表2.1所示。表2.1 iCAN协议报文帧格式帧标识符ID28ID27ID26ID25ID24ID23ID22ID2100SrcMACID(源节点编号)ID20ID19ID18ID17ID16ID15ID14ID1300DestMACID(目标节点编号)ID12ID11ID10ID9ID8ID7ID6ID5ID4ID3ID2ID1ID0ACKFUNC ID(功能码)Source ID(资源节点编号)RTR

51、=0DLC帧数据部分Byte 0(SegFlag)Byte 1(LengthFlag、ErrID)Byte 2Byte 3Byte 4Byte 5Byte 6Byte 7表2.2 iCAN报文标识符分配帧标示符ID28ID27ID26ID25ID24ID23ID22ID2100SrcMACID(源节点编号)ID20ID19ID18ID17ID16ID15ID14ID1300DestMACID(目标节点编号)ID12ID11ID10ID9ID8ACKFUNC ID(功能码)ID7ID6ID5ID4ID3ID2ID1ID0RTRSource ID(资源节点编号)01、iCAN报文标识符的分配报文标

52、识符指定了数据通讯中的源节点MAC ID和目标节点MAC ID,并指定了报文的功能以及所要访问的资源。报文标识符被分为5个部分:SrcMACID(源节点编号)、DestMACID(目标节点编号)、ACK位、FUNC ID(功能码)、Source ID(资源节点编号)。iCAN报文标识符分配如表2.2所示。(1)节点编号节点编号(MAC ID)为设备在网络上的唯一标识,分配为6位,范围为0x000x3F(一个iCAN网络最多支持64个节点)。0xFF有特殊用途。由节点编号的分配可以知道一个iCAN网络中最多容纳64个节点。在通信报文的标识符中指定了发送节点(源节点)和接收节点(目标节点)的编号。

53、在每次的通信过程中,通信双方都必须检查SrcMACID和DestMACID的值是否与已知连接的两端点是否相同。 SrcMACID(源节点编号):是发送报文的节点编号,占用标识符位ID2821。源节点的MAC ID分配6位,数值范围为0x000x3F。SrcMACID的值不能为0xFF,该值保留。 DestMACID(目标节点编号):是接收节点的编号,占用标识符位ID2013。目标节点的MAC ID分配6位,数值范围为0x000x3F。当DestID为0xFF值时,表示本次发送的帧是广播帧。(2)ACKACK(响应标识位):分配1位,占用标识位ID12。该位用于区分帧类型为命令帧还是响应帧,并说

54、明是否需要应答本帧(见表2.3所示)。表2.3 响应标识位ACK含 义0用于命令帧,本帧需要应答,但对于广播帧,此值无意义1用于响应帧,本帧不需要应答,或不需要应答的命令帧(如广播帧)(3)FUNC IDFUNC ID(功能码):分配4位,占用标识符位ID118。功能码用于指示报文所需要实现的功能,接收报文的节点根据报文中的功能码进行相应处理。在iCAN协议规范中所使用的功能码见表2.4所示。(4)Source IDSource ID(资源节点地址编号):用于指示所要操作的设备内部单元,分配8位,占用标识符位ID70。根据报文中资源节点地址标号接收报文的节点对设备内部对应的单元进行操作。在iC

55、AN协议中基本资源节点占用256字节空间。表2.4 功能码列表FUNC ID功 能描 述0x00Reserve0x01 连续写端口用于对单个或者多个资源节点的数据写入0x02连续读端口用于读取单个或者多个资源节点的数据0x03 输入端口事件触发传送用于输入端口定时循环或者状态改变传送0x04 建立连接用于和iCAN节点建立通信0x05 删除链接用于删除与iCAN节点建立的通信0x06 设备复位用于复位iCAN节点0x07 MAC ID检测用于检测网络上是否有相同MAC ID的节点0x080e Reserve0x0f 出错响应用于指示为出错响应2、iCAN帧数据部分定义在iCAN协议中报文的数据部分主要用于传送与功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论