测控技术与仪器 毕业论文范文——RS232CAN互联适配器的设计及实现_第1页
测控技术与仪器 毕业论文范文——RS232CAN互联适配器的设计及实现_第2页
测控技术与仪器 毕业论文范文——RS232CAN互联适配器的设计及实现_第3页
测控技术与仪器 毕业论文范文——RS232CAN互联适配器的设计及实现_第4页
测控技术与仪器 毕业论文范文——RS232CAN互联适配器的设计及实现_第5页
免费预览已结束,剩余34页可下载查看

下载本文档

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

文档简介

RS232/CAN互联适配器的设计及实现摘要: 由于CAN属于现场总线范畴,具有通信实时性好、纠错能力强,结构简单等优点。RS-232为计算机串行通信接口,已经被广泛的使用。RS-232的缺点就是传输距离短,而且只能点对点通信,无法组建多点通信网络。CAN总线正好弥补了RS-232的这些缺点。因此设计RS-232与CAN总线协议的互联适配器,既可以发挥RS-232的通用性强的优点,又可以利用CAN总线解决远程通信网络的问题,具有很高的应用价值。本文完成了基于单片机控制的 CAN与 RS-232 转换器的研究与设计, 设计了 AT89C51单片机对 RS-232 接口和 CAN 模块的控制,解决了 CAN 总线与 RS-232 接口数据通信速率以及通信帧格式不同的技术,实现了 RS-232 接口数据与 CAN总线数据的传输。关键词: 单片机;CAN 总线;RS-232CAN and the RS-232 switch controls which based on the monolithic integrated circuit designsAbstract: As the CAN bus belonging to the scope of real good with communication, error correction capability, and simple structure. RS-232 serial communication interface, as has been widely used. RS-232s shortcomings is the transmission distance is short, and can only point to point communication, not set up multi-point communications network. CAN bus, RS-232 has made up for these shortcomings. Therefore, this design, both RS-232 can play the advantages of versatility, they can use CAN-bus communication network to solve the problem remotely, has a high application value.This article has completed CAN and the RS-232 switch research which controls based on the monolithic integrated circuit and designs, Has designed AT89C51 monolithic integrated circuit to the RS-232 connection and CAN module control, Has solved the CAN main line and the RS-232 connection data communication speed as well as correspondence frame form different technology, Has realized the RS-232 connection data and CAN main line data transmission.Key words: Monolithic integrated circuit ; CAN main line;RS-232 1 引言1.1 本课题研究的目的及意义由于CAN属于现场总线范畴,具有通信实时性好、纠错能力强,结构简单等优点。RS-232是美国电子丁业协会EIA制定的一种串行物理接口标准。它作为计算机串行通信接口,已经被广泛的使用。RS-232的缺点就是传输距离短,而且只能点对点通信,无法组建多点通信网络。CAN总线正好弥补了RS-232的这些缺点1。因此设计RS-232与CAN总线协议的互联适配器,既可以发挥RS-232的通用性强的优点,又可以利用CAN总线解决远程通信网络的问题,具有很高的应用价值。1.2 本设计系统简介及关键技术本设计完成了CAN总线与RS-232转换器的电路与软件设计。由于CAN总线与RS-232接口数据通信速率以及通信帧格式都不同。本设计解决了这两点不同,从而实现了数据在CAN总线与RS-232接口之间的传输。在设计中由于使用了CAN总线进行数据传输这就使得通信方式多主性。网络上任意节点可以任意时刻主动地向网络上其他节点发送信息而不分主从。可以点对点,点对多点或全局广播方式发送和接收数据。CAN总线与Rs-232转换器电路包括:主控制模块、RS-232接口转换电路和CAN控制模块3个主要部分。主控制模块的功能是处理CAN总线以及RS-232接口的数据通信和控制,本设计应用AT89C51完成对转换器各个接口的控制,实现CAN总线和RS-232接口两种协议数据帧的转换,使用带有SPI总线接口的X25045实现硬件看门狗功能。RS-232接口电路由MAX232芯片构成,实现将单片机串口的TTL电平与RS-232电平的相互转换,完成RS-232接口信息的输入输出传输。CAN控制器使用SJAl000芯片,完成数据链路层功能,实现CAN总线信息的输入输出传输。而使用AT89C51作为CAN总线与RS-232转换器的控制器,从而实现两种帧数不同的信息传输。1.3 本课题的国内外研究现状 CAN在微控制器之间需要互相通信,或微控制器和远程的外围器件要互相通信的情况下,是一个理想的解决方法。在它的原始应用环境车中,CAN最初用于关键任务的实时监控系统。例如,引擎管理系统和变速箱控制交换信息。而在这里,CAN的短报文和有保证的报文延迟时间,允许每一个网络的端口都能用当前的数据工作,甚至数据的改变时间在上百个微秒时标的情况下,也可以使用这些系统。都利用CAN控制器的PeliCAN将不需要的报文滤出,以减少主CPU的负载。但是低成本的独立PeliCAN设备就允许不是实时的任务。例如,门系统带有窗的升降镜子控制等,逐步成为CAN网络的一部分。实际上,传统的线束CAN网络在一些情况下甚至在普通的器件上,譬如刹车灯和指示灯,只是附加的节点代替了两线的CAN网络。传统上CAN是一个基于微控制器的器件互相连接的网络。这意味着其每个节点的成本并不是特别的低。最有趣的发展成果就是SLIO模块这个概念,它是一个单芯片,能够在CAN网络里充当一个沉默的输入输出网关,并把报文转化为实际的数字IO信号。它能读IO引脚,并把数据当作报文传输。它还能使用集成A/D转换器来生成报文,并传输引进到网络上。这些装置非常便宜,并且对于驱动远程感应器、执行器或采集数字和模拟数据都非常理想。它们能够被看作中央微控制器的远程附件,现今来说只能使用BasicCANSLIO。但毫无疑问Philips和其他PeliCAN厂家将生产出相应的PeliCAN的设备。在过去的20年的时间里,建议性标准RS-485作为一种多点差分数据传输的电气规范,被应用在许多不同的领域。作为数据传输链路,目前在我国应用的现场总线中,RS-485半双工全双工异步通信总线也是被各个研发机构广泛使用的数据通信总线。但是基于在RS-485总线上,只能有一个主机的特点,它往往应用在集中控制枢纽与分散控制单元之间。由于RS-485总线本身存在的许多局限性,随着科技的发展,RS-485的总线效率低、系统的实时性差、通讯的可靠性低、后期维护成本高、网络工程调试复杂、传输距离不理想、单总线可挂接的节点少、应用不灵活等缺点慢慢的暴露出来。虽然许多工程师生产厂商等提出了改进的方法和建议,但都不能从根本上解决RS-485这些先天性的问题。于是应用RS-485的生产厂商开始寻求一种更好的更彻底的解决方案。CAN-bus总线在通信能力可靠性实时性灵活性易用性传输距离远成本低等方面有着明显的优势,成为业界最有前途的现场总线之一。据CIA统计,2001年仅在欧洲就销售了超过1亿个CAN-bus节点,几乎淘汰了所有的RS-485系统。但在国内基于历史或者其他的原因,大多数的厂商工程师在设计产品工程立项时,第一想到的是应用RS-485总线系统。这不能不说是一种遗憾,所以在国内的RS-485总线仍然会有一段生命周期。CAN的发展前景非常乐观,尽管CAN协议已经有15年的历史,但它仍处在改进之中。从2000年开始,一个由数家公司组成的ISO任务组织,定义了一种时间触发CAN报文传输的协议Bernd Mueller。博士Thomas FuehrerBosch公司人员和半导体工业专家学术研究专家将此协议定义为时间触发通讯的新计划。在将来标准化为ISO11898-4。这个CAN的扩展已在硅片上实现,不仅可实现闭环控制下支持报文的时间触发传输而且可以实现CAN的x-by-wire应用。因为CAN协议并未改变,所以在同一个的物理层上既可以实现传输时间触发的报文,也可以实现传输事件触发的报文。TTCAN将为CAN延长5-10年的生命期,现在CAN在全球市场上仍然处于起始点,当得到重视时,谁也无法预料CAN总线系统在下一个10到15年内的发展趋势。这里需要强调一个现实,近几年内美国和远东的汽车厂商将会在他们所生产汽车的串行部件上使用CAN。另外大量潜在的新应用,例如娱乐。正在呈现不仅可用于客车也可用于家庭消费,同时结合高层协议应用的特殊保安系统对CAN的需求也正在稳健增长。1.4 本课题的主要研究工作以及本设计的组织结构本设计完成了CAN总线与RS-232转换器的电路与软件设计。由于CAN总线与RS-232接口数据通信速率以及通信帧格式都不同。为了解决以上两点不同,我们采用AT89C51完成对转换器各个接口的控制,使用带有SPI总线接口的X25045实现硬件看门狗功能。RS-232接口电路由MAX232芯片构成,实现将单片机串口的TTL电平与RS-232电平的相互转换,完成RS-232接口信息的输入输出传输。CAN控制器使用SJAl000芯片,完成数据链路层功能,而使用AT89C51作为CAN总线与RS-232转换器的控制器,从而实现两种帧数不同的信息传输。基于此目的我对各种实现方法进行理论研究分析的基础上,主要完成以下几个方面的工作:(1) 研究分析CAN总线以及RS232的数据通信速率以及通信帧格式。(2) 研究所选单片机的原理及应用,研究所选接口芯片的原理及功能以及电路主要组成部分的性能与连接问题。(3) 对于本设计的软件进行程序原理图设计。(4) 通过所学软件绘制电路图并且实现其功能。 本设计的组织结构:第一章对于基于单片机CAN/RS232适配器的系统进行大体介绍以及说明。第二章采用分块方式,介绍CAN总线的分层结构,及介绍其功能。第三章介绍RS232其接口电路及其功能特性。第四章介绍各个单元以及功能,并对所采用元件进行解析。第五章进行汇总,对前面几章进行概括,进行汇总,设计出整个结构并绘制总电路图。2 CAN 总线部分2.1 CAN概述CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议2。目前 CAN总线主要用于汽车自动化领域,如发动机自动点火、注油、复杂的加速刹车控制(ASC)、抗锁定刹车系统(ABS)和抗滑系统等。BENZ、BMW等著名汽车上已经采用 CAN来满足上述功能。在工业过程控制领域,CAN也得到了广泛的应用。CAN总线采用分层结构,规范规定了任意两个节点之间的兼容性。包括电气特件利数据解释协议。CAN协议可分为: 目标层、传送层、 物理层。其中目标层和传送层包括了 ISO/OSI定义的数据链路的所有功能。目标层的功能包括:确认要发送的信息;位应用层提供接口。传送层功能包括:数据帧组织:总线仲裁:检错、错误报告、错误处理。 CAN总线以报文为单位进行信息交换,报文中含有标示符(ID),它既描述了数据的含义又表明了报文的优先权。CAN总线上的各个协点都可主动发送数据。当同时有两个或两个以上的节点发送报文时,CAN 控制器采用 ID 进行仲裁。ID 控制节点对总线的访问。发送具有最高优先权报文的节点获得总线的使用权,其他节点自动停止发送,总线空闲后,这些节点将自动重发报文。 现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网3。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。 CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前许多RS-485基于R线构建的分布式控制系统而言, 基于CAN总线的分布式控制系统在以下方面具有明显的优越性:首先,CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差。其次,CAN总线通过CAN收发器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会出现象在RS-485网络中,当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是只仅仅有电气协议的RS-485所无法比拟的。另外,与其它现场总线比较而言,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。这些也是目前 CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。2.2 CAN协议 CAN支持四类信息帧类型。(1)数据帧 CAN 协议有两种数据帧类型标准 2.0A 和标准 2.0B。两者本质的不同在于 ID的长度不同。在 2.0A类型中,ID的长度为 l l位;在 2.0B类型中 ID为29位。一个信息震中包括 7个主要的域: 帧起始域标志数据帧的开始,由一个显性位组成。 仲裁域内容由标示符和远程传输请求位(RTR)组成,RTR用以表明此信息帧是数据帧还是不包含任何数据的远地请求帧。当 2.0A的数据帧和 2.0B的数据帧必须在同一条总线上传输时,首先判断其优先权,如果 ID 相同,则非扩展数据帧的优先权高于扩展数据帧。控制域r0、r1是保留位,作为扩展位,DLC表示一帧中数据字节的数目。 数据域包含 08字节的数据。 校验域检验位错用的循环冗余校验域,共 15位。 应答域包括应答位和应答分隔符。正确接收到有效报文的接收站在应答期间将总线值为显性电平。 帧结束由七位隐性电平组成。(2)远程帧 接受数据的节点可通过发远程帧请求源节点发送数据。它由 6个域组成:帧起始、仲裁域、控制域、校验域、应答域、帧结束。(3)错误指示帧 由错误标志和错误分界两个域组成。接收节点发现总线上的报文有误时,将自动发出“活动错误标志”其他节点检测到活动错误标志后发送“错误认可标志”。(4)超载帧 由超载标志和超载分隔符组成。超载帧只能在一个帧结束后开始。当接收方接收下一帧之前,需要过多的时间处理当前的数据,或在帧问空隙域检测到显性电平时,则导致发送超载帧。(5)帧间空隙 位于数据帧和远地帧与前面的信息帧之间,由帧间空隙和总线空闲状态组成。帧间空隙是必要的,在此期间, CAN不进行新的帧发送,为的是 CAN控制器在下次信息传递前有时间进行内部处理操作。当总线空闲时 CAN控制器方可发送数据。2.3 CAN主要技术特点CAN网络上的节点不分主从,任一节点均可在任意时刻主动地向网络上其他节点发送信息,通信方式灵活,利用这一特点可方便地构成多机备份系统CAN 只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的调度 CAN 的直接通信距离最远可达 10km(速率 5kbps 以下);通信速率最高可达1Mbps(此时通信距离最长为40m)。CAN上的节点数主要决定于总线驱动电路,目前可达110个;报文标识符可达2032种(CAN2.0A),而扩展标准(CAN2.0B)的报文标识符几乎不受限制。3 RS232部分3.1 RS232简述RS-232是个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口4。通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现。 在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。 RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。 RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。3.2 RS232协议RS-232C 标准(协议)的全称是 EIA-RS-232C 标准,其中EIA (Electronic Industry Association)代表美国电子工业协会,RS(recommeded standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有有EIA RS-422A、EIA RS-423A、EIA RS-485。 这里介绍EIA RS-232C(简称232,RS232)。 例如,目前在IBM PC机上的COM1、COM2接口,就是RS-232C接口。3.2.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 以上规定说明了RS-323C标准对逻辑电平的定义。对于数据(信息码):逻辑“1”(传号)的电平低于-3V,逻辑“0”(空号)的电平高于+3V;对于控制信号;接通状态(ON)即信号有效的电平高于+3V,断开状态(OFF)即信号无效的电平低于-3V,也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3+3V之间的电压无意义,低于-15V或高于+15V的电压也认为无意义,因此,实际工作时,应保证电平在(315)V之间。 EIA RS-232C 与TTL转换:EIA RS-232C 是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA RS-232C 与TTL电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。目前较为广泛地使用集成电路转换器件,如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN75154可实现EIA电平到TTL电平的转换。MAX232芯片可完成TTLEIA双向电平转换。3.2.2 RS-232 的接口信号RS-232C 的功能特性定义了25芯标准连接器中的20根信号线,其中2条地线、4条数据线、11条控制线、3条定时信号线,剩下的5根线作备用或未定义。常用的只有10根,它们是: (1)联络控制信号线: 数据发送准备好(Data set ready-DSR)有效时(ON)状态,表明MODEM处于可以使用的状态。 数据终端准备好(Data terminal ready-DTR)有效时(ON)状态,表明数据终端可以使用。 这两个信号有时连到电源上,一上电就立即有效。这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的控制信号决定。 请求发送(Request to send-RTS)用来表示DTE请求DCE发送数据,即当终端要发送数据时,使该信号有效(ON状态),向MODEM请求发送。它用来控制MODEM是否要进入发送状态。 允许发送(Clear to send-CTS)用来表示DCE准备好接收DTE发来的数据,是对请求发送信号RTS的响应信号。当MODEM已准备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端开始沿发送数据线TxD发送数据。 这对RTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要RTS/CTS联络信号,使其变高。 接收线信号检出(Received Line detection-RLSD)用来表示DCE已接通通信链路,告知DTE准备接收数据。当本地的MODEM收到由通信链路另一端(远地)的MODEM送来的载波信号时,使RLSD信号有效,通知终端准备接收,并且由MODEM将接收下来的载波信号解调成数字两数据后,沿接收数据线RxD送到终端。此线也叫做数据载波检出(Data Carrier dectection-DCD)线。 振铃指示(Ringing-RI)当MODEM收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态),通知终端,已被呼叫。 (2)数据发送与接收线: 发送数据(Transmitted data-TxD)通过TxD终端将串行数据发送到MODEM,(DTEDCE)。 接收数据(Received data-RxD)通过RxD线终端接收从MODEM发来的串行数据,(DCEDTE)。 (3)地线 : GND、Sig.GND保护地和信号地,无方向。 上述控制信号线何时有效,何时无效的顺序表示了接口信号的传送过程。例如,只有当DSR和DTR都处于有效(ON)状态时,才能在DTE和DCE之间进行传送操作。若DTE要发送数据,则预先将DTR线置成有效(ON)状态,等CTS线上收到有效(ON)状态的回答后,才能在TxD线上发送串行数据。这种顺序的规定对半双工的通信线路特别有用,因为半双工的通信才能确定DCE已由接收方向改为发送方向,这时线路才能开始发送。 2个数据信号:发送TXD;接收RXD。 1个信号地线:SG。 6个控制信号: DSR 数传发送准备好,Data Set Ready。 DTR 数据终端准备好,Data Terminal Ready。 RTS DTE请求DCE发送(Request To Send)。 CTS DCE允许DTE发送(Clear To Send),该信号是对RTS信号的回答。 DCD 数据载波检测(Data Carrier Detection),当本地DCE设备(Modem)收到对方的DCE设备送来的载波信号时,使DCD有效,通知DTE准备接收, 并且由DCE将接收到的载波信号解调为数字信号, 经RXD线送给DTE。 RI 振铃信号(Ringing),当DCE收到对方的DCE设备送来的振铃呼叫信号时,使该信号有效,通知DTE已被呼叫。 由于RS232接口标准出现较早,难免有不足之处,主要有以下四点: (1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。 (2)传输速率较低,在异步传输时,波特率20Kbps。 (3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。 (4)传输距离有限,最大传输距离标准值为50英尺(实际15米)。3.2.3 RS-232 的接线在工程当中经常会用到232口,一般是圆头8针与D型9针两种串口。在一定的条件下,必须要自己制作一个相应的圆头或者是D型的232串口。RS232C串口通信接线方法(三线制) 首先,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连同一个串口的接收脚和发送脚直接用线相连对9针串口和25针串口,均是2与3直接相连;两个不同串口(不论是同一台计算机的两个串口或分别是不同计算机的串口) DB9-DB9 2-3, 3-2, 5-5 DB25-DB25 2-3, 3-2, 7-7 DB9-DB25 2-3, 3-2, 5-7 上面是对微机标准串行口而言的,还有许多非标准设备,如接收GPS数据或电子罗盘数据,只要记住一个原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼此交叉,信号地对应相接。 8针圆形串口接线:2逻辑地,4TXD,7RXD。 9针D型串口:2RXD“,3”TXD“,5逻辑地。3.2.4 RS-232 接口定义(9芯)RS232其接口定义如下表格: 外 形针脚符号输入/输出 说 明 1DCD输入载波检测 2RXD输入接收数据 3TXD输出发送数据 4DTR输出数据终端准备好 5GND -信号地 6DSR输入数据准备好 7RTS输出请求发送 8CTS输入清除发送 9RI输入振铃提示3.2.5 RS-232的缺点(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。 (2)传输速率较低,在异步传输时,波特率为20Kbps。(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。 (4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。4 系统的元件简述4.1 CAN控制器简述CAN控制器模块,主要完成CAN协议的物理层和数据链路层协议的实现。其中物理接口采用PCA82C250芯片实现物理层的电平转换和传输。CAN控制器使用SJA1000芯片,完成数据链路层功能,实现CAN总线信息的输入输出传输。CAN 通信控制器是 CAN 总线接口电路的核心,主要完成CAN 的通信协议,而 CAN 总线收发器的主要功能是增大通信距离,实现热防护,保护总线,提高系统的瞬间抗干扰能力,降低射频干扰(RFI)等。目前广泛流行的 CAN总线器件有两大类:一类是带有在片 CAN的微控制器,如 P8XC582及16位微控制器 87C196CA/CB,另一类等是独立的 CAN控制器,如 82C200、SJA1000及 Intel82526/82527等5。本课题选取 PHILIPS公司的 SJA1000 CAN控制器以及82C250总线收发器,主要是考虑到 SJA1000支持 CAN 2.0A/B规约。而 82C250可以支持 110个 CAN节点,并且国内市场上 PHILIPS的产品型号比较多,购买比较方便。4.1.1 PCA82C50简述PCA82C50在本次设计中主要是完成CAN控制模块中物理接口的物理层的电平转换和传输。其管脚结构如图4.1所示: 图4.1 PCA82C50管脚图管脚作用如下表格: 符号 管脚 功能描述TXD 1发送数据输入GND 2地VCC 3电源电压RXD 4接收数据输出Vref 5参考电压输出CANL 6低电平 CAN 电压输入/输出CANH 7高电平 CAN 电压输入/输出RS 8斜率电阻输入4.1.2 SJA1000功能表述SJA1000原理方框图如4.1表示: 图4.1SJA1000方框图 而其管脚排列如图4.2所示:符号引脚 说明AD7-AD02 1 28-23多路地址/数据总线ALE/AS3ALE输入信号,AS输入信号 /CS 4片选输入,低电平允许访问SJA1000 /E 5微控制器的/RD信号或E使能信号 /WR 6微控制器的/WR信号或RD/信号 CLKOUT 7SJA1000产生的提供给微控制器的时钟输出信号,时钟信号来源于内部振荡器且通过编程驱动,时钟控制寄存器的时钟关闭位可禁止该引脚 。 VSS18接地 XTAL19输入到振荡器放大电路,外部振荡信号由此输入。XTAL2 10振荡放大电路输出,使用外部振荡信号时左开路输出 (注1) MODE11模式选择输入,1=Intel模式0=Motorola模式 VDD312输出驱动的5V电压源 TX0 13从CAN输出驱动器0输出到物理线路上 TX114从CAN输出驱动器1输出到物理线路上 VSS315输出驱动器接地 /INT16中断输出,用于中断微控制器,/IN在内部中断寄存器各位都被置位时低电平有效,/INT是开漏输出,且与系统中的其它/INT是线或的,此引脚上的低电平可以把IC从睡眠模式中激活 /RST17复位输入,用于复位CAN接口,把/RST引脚通过电容连到VSS,通过电阻连到VDD可自动上电复位 VDD218输入比较器的5V电压源RX0 RX119,20从物理的CAN总线输入到SJA1000的输入比较器,支配电平将会唤醒SJA1000的睡眠模式 如果RX1比RX0的电平高就读支配电平,反之读弱势电平,如果时钟分频寄存器的CBP位被置位,就旁路CAN输入比较器以减少内部延时这种情况下只有RX0是激活的,弱势电平被认为是高而支配电平被认为是低VSS221输入比较器的接地端 VDD122逻辑电路的5V电压源 图4.2管脚排列注:1 XTAL1 和 XTAL2 引脚必须通过 15pF 的电容连到 VSS1.图4.3:SJA1000引脚配置 SJA1000引脚配置如图4.3所示。4.2 控制模块 控制模块是负责本系统中对各个接口的控制,已完成CAN与RS232之间不同的数据帧和电平的转换。我们采用AT89C51单片机来完成控制,使用看门狗电路来保证系统的稳定6。4.21 AT89C51简述 由于主控制模块是本系统中的核心部分,本设计采用的单片机是AT89C51,AT89C51是美国ATMEKL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM) ,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元。图4为AT89C51单片机。图4.4AT89C51 其中,P0 口是一组8位漏极开路型双向IO口,也即地址数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址和数据总线复用,在访问期间激活内部上拉电阻。 P1口是一个带内部上拉电阻的8位双向IO口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。 P2口是一个带有内部上拉电阻的8位双向IO口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。 P3口除了具有与P1,P2相同的I/O口线外,更有重要的功能。如下表所示: 端口引脚 第二功能 P3.0RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外中断0) P3.3 INT1(外中断1) P3.4 T0(定时计数器0外部输入) P3.5 T1(定时计数器1外部输入) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通)AT89C51在本设计中的功能是CAN总线与RS-232转换器的控制器,完成对转换器各个接口的控制,实现CAN总线和RS-232接口两种协议数据帧的转换,而实现硬件看门狗功能的是自带SPI总线接口的X250457。4.2.2看门狗X25045简述 看门狗电路在次设计中作用是抗干扰,保持系统稳定。X25045是美国Xicor公司的生产的标准化8脚集成电路,它将EEPROM、看门狗定时器、电压监控三种功能组合在单个芯片之内,大大简化了硬件设计,提高了系统的可靠性,减少了对印制电路板的空间要求,降低了成本和系统功耗,是一种理想的单片机外围芯片。X25045引脚如图5所示。 图4.5 X25045其引脚功能如下:CS:片选择输入;SO:串行输出,数据由此引脚逐位输出;SI:串行输入,数据或命令由此引脚逐位写入X25045;SCK:串行时钟输入,其上升沿将数据或命令写入,下降沿将数据输出;WP:写保护输入。当它低电平时,写操作被禁止;Vss:地;Vcc:电源电压;RESET:复位输出。4.3 RS-232接口元件 由于本设计中,SJA1000完成了数据帧的转换,所以,在连接RS-232中,只需设计对RS-232的电平转换就可以了。 所以我们采用MAX232来实现将单片机的TTL电平与RS-232电平的互相转换,从而进一步实现整体的设计。4.3.1 MAX232简述 由于电脑串口 rs232 电平是-10v +10v ,而一般的单片机应用系统的信号电压是TTL电平0 +5v,MAX232 就是用来进行电平转换的。MAX232如图4.6 图4.6 MAX2325 电路设计 通过以上的了解,我们将整个电路分为三部分,主控制模块、RS-232 接口转换电路和 CAN控制模块 3 个主要部分。 主控制模块是有单片机AT89C51为主,其的功能是处理 CAN 总线以及 RS-232 接口的数据通信和控制,而RS-232 接口电路由 MAX232 芯片构成,实现将单片机串口的 TTL 电平与 RS-232 电平的相互转换,完成 RS-232 接口信息的输入输出传输8。CAN控制器模块,是主要由SJA1000构成,主要完成CAN协议的物理层和数据链路层协议的实现。5.1 主控制模块 主控制模块的功能是处理 CAN 总线以及 RS-232 接口的数据通信和控制, 我们所采用的AT89C51 完成对转换器各个接口的控制,实现 CAN 总线和 RS-232 接口两种协议数据帧的转换,使用带有 SPI 总线接口的 X25045 实现硬件看门狗功能9。5.1.1 主控制模块电路进行主控电路设计时,由于CAN与RS232的接口速率不同,我们还增加了片外RAM芯片6116,作为数据缓冲区,使用74HC373来作为地址锁存器,来保证地址读写的正确性。并且将AT89C51与X25045相连,来保证系统的稳定性。主控制模块电路如图5.1所示。如图5.1所示,选用的动态储存器是6116,而在主控制模块中,P2.7接反向器连接6116的片选段,所以开始地址为0X8000。5.2 RS-232与MAX232的连接 由于RS-232中,电平转换部分都是由MAX232负责, RS-232 是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了保证单片机连接,必须在RS-232 与TTL电路之间进行电平和逻辑关系的变换。由于本设计是互联适配,所以MAX232芯片可完成TTLEIA双向电平转换10。而RXD负责接受,TXD负责发送。图5.2为RS-232与MAX232接口电路。其中 R1out 和 T1in 引脚接单片机的 RXD引脚和 TXD引脚,R1in和T1out作为RS-232接口输出连接标准DB9接口的引脚2和引脚3。 DB9接口引脚5接地。为了使 MAX232 芯片正常工作,还需要外接 4 个1F的电容用于芯片升压,以完成电平转换。5.2.1 CAN控制模块电路CAN控制模块主要完成CAN协议的物理层和数据链路层协议的实现。其中物理接口采用PCA82C250芯片实现物理层的电平转换和传输。CAN控制器使用SJA1000芯片,完成数据链路层功能,实现CAN总线信息的输入输出传输11。如图5.3为CAN与PCA82C50连接电路图。 图5.3CAN与PCA82C50连接电路图 图 5.1主控制模块电路原理图 图 5.2RS-232与MAX232电路原理图 图 5.4 SJA1000与AT89C51电路原理图 CAN控制器SJA1000芯片采用片外24MHz晶振, 其CLKOUT引脚输出工作频率接入微处理器的XTAL1引脚。片选/CS端与单片机的P2.7引脚直接相连,因此SJA1000的寻址空间从地址0开始。AD0AD7直接与AT89C51的低8位数据/地址复用口P0口相连,MODE接高电平设置为Intel模式,中断输出信号/INT与微处理器的/INT0连接,使CAN通信可以采用中断和查询两种方式。TLP113的外接390电阻为限流保护电阻,为避免当驱动器失效时出现过流导致控制器损坏。SJA1000与AT89C51接口电路如图5.4所示5.3 CAN总线物理层接口电路设计 PCA82C250 与 CAN 总线的接口部分采用一定的安全和抗干扰措施。CANH 和 CANL与地之间并联了两个 30P 的小电容, 可以起到滤除总线的高频干扰和一定的防电磁辐射的能力12。另外在两根 CAN 总线接入端与地之间分别反接一个保护二极管,当 CAN 总线有较高的负电压时,通过二极管的短路可起到一定的过压保护作用。PCA82C250的 Rs 脚上接有一个斜率电阻,电阻大小可根据总线通讯速度适当调整,一般在 16K140K 之间。用光电隔离芯片TLP113 将 CAN 控制器 SJA1000 和收发器 PCA82C250 隔离,以便有效地增加通讯距离和抗干扰能力13。CAN总线物理层接口电路如图 5.5 所示。 图5.5 CAN物理接口电路5.5

温馨提示

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

评论

0/150

提交评论