基于STC89C51的CAN总线点对点通信模块设计

发布者:快乐阳光最新更新时间:2011-10-25 关键字:STC89C51  CAN总线 手机看文章 扫描二维码
随时随地手机看文章

  0 引言

  现场总线是应用在生产最底层的一种总线型拓扑网络,是可用做现场控制系统直接与所有受控设备节点串行相连的通信网络。在工业自动化方面,其控制的现场范围可以从一台家电设备到一个车间、一个工厂。一般情况下,受控设备和网络所处的环境可能很特殊,对信号的干扰往往也是多方面的。但要求控制则必须实时性很强,这就决定了现场总线有别于一般的网络特点。此外,由于现场总线的设备通常是标准化和功能模块化,因而还具有设计简单、易于重构等特点。

  1 CAN总线概述

  CAN (Controller Area Network)即控制器局域网络,最初是由德国Bosch公司为汽车检测和控制系统而设计的。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。其良好的性能及独特的设计,使CAN总线越来越受到人们的重视。由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。目前,CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。它的直线通信距离最大可以达到l Mbps/30m.其它的节点数目取决于总线驱动电路,目前可以达到110个。

  2 CAN系统硬件设计

  图1所示是基于CAN2.0B协议的CAN系统硬件框图,该系统包括电源模块、MCU部分、CAN控制器、光电耦合器、CAN收发器和RS232接口。硬件系统MCU采用STC89C5l,CAN控制器采用SJAl000,CAN收发器采用PCA82C250,光耦隔离采用6N137。


  图1中的CAN控制器SJAl000是CAN控制器(BasicCAN)PCA82C200的替代产品,它增加了一种新的操作模式(PeliCAN),这种模式可以支持很多新特性的CAN2.OB协议。微处理器STC89C5l在一定的模式下可对SJAl000中的寄存器进行读写操作,以控制SJAl000进行数据的发送和接收。

  CAN收发器PCA82C250是CAN控制器与物理总线之间的接口。它最初是为汽车中的高速应用(lMbps)而设计的。该器件可以提供对总线的差

  动发送和接收功能。它采用双线差分驱动方式,有助于抑制汽车等恶劣电气环境下的瞬变干扰。PCA82C250可对SJAl000传来的TTL电平和CAN总线差动信号进行相互转换,而且可使总线具有较好的EMC特性。

  光耦隔离器可对总线上各个CAN节点进行电气隔离,以增强系统的可靠性,减少系统与系统之间的相互影响。

  2.1 CAN控制器硬件电路的设计

  将SJAl000的ADO~AD7连接到STC89C5l的P0口,CS连接到STC89C5l的P20,这样,当P20为O时,CPU片外存储器地址即可选中SJAl000,CPU则通过这些地址对SJAl000执行相应的读写操作。设计时,可将SJAl000的RD、WR、ALE分别和STC89C5l的对应引脚相连,INT接STC89C51的IN-T0,这样,CPU可以通过中断方式来访问SJAl000。其连接电路图如图2所示。


  2.2 光电耦合器的设计

  为了增强CAN总线节点的抗干扰能力,SJAl000的TX0和RX0并不直接和收发器PCA82C250的TXD和RXD相连,而是通过高速光耦6N137后再和PCA82C250相连,这样就可以很好的实现各CAN节点间的电气隔离。应当注意的是光耦部分采用的电源VCC和VDD最好完全隔离,可以用小功率的电源隔离模块来实现,这样就可以提高节点的稳定性和安全性。其电路图如图3所示。


  2.3 CAN收发器的设计

  PCA82C250是一种差分收发器,它可完成TTL电平到差分信号的转换。它的CANH和CANL引脚各自通过一个5 Ω的电阻和CAN总线相连,该电阻可以起到一定的限流作用,可保护PCA82C250免受过流的冲击。而CANH和CANL与地并联了两个30pF的小电容。可以过滤总线上的高频干扰并具有一定的防电磁辐射能力。PCA82C250的RS脚上应接一个斜率电阻,电阻大小可根据总线通信速度适当调节,一般可在16~140 kΩ之间,这里选用47 kΩ电阻。图4所示是收发器的电路图。


  2.4 总体电路分析

  由于本设计将SJAl000的AD0~AD7和STC89C5l的P0口相连,CS连接到P20口,ALE、WE、RD分别与单片机的对应各口相连,因此,SJAl000就相当于单片机的外部存储器。访问SJAl000的寄存器就相当于对外部寄存器地址进行读写操作。SJAl000的MODE接高电平,采用的是intel二分频模式,TXO和RX0通过高速光耦器件6N137与CAN收发器82C250连接,PCA82C250的TXD和RXD引脚分别接发送和接收驱动信号,然后通过CANH和CANL接至物理总线传输介质上,这个介质可以是光纤或双胶线等。

  3 CAN系统软件设计

  STC89C51的软件设计由MCU初始化、SJAl000初始化、SJAl000的接收发送和数据显示模块等构成。其系统软件设计图如图5所示。


  3.1 SJAl000初始化软件设计

  SJAl000的初始化程序设计主要是通过对SJAl000的寄存器写入相应的控制字,从而确定SJAl000的工作方式。在对SJAl000的寄存器写入控制字时,要在SJAl000的复位模式下采用软件复位模式。其初始化流程图如图6所示。


  3.2 SJAl000数据发送软件设计

  报文的发送通常是由CAN控制器根据CAN协议规范自动完成的。首先由CPU将要发送的报文传送到发送缓冲器中,并置位命令寄存器中的发送请求标志。其发送流程图如图7所示。


  3.3 SJAl000接收数据软件设计

  CPU以一定的周期读取CAN控制器的状态寄存器,从而检查接收缓冲区的转台标志,指示是否至少接收到一个报文。当接收缓冲区状态标志指示为“空”时,表示没有接收到报文;在没有新的检查接收缓冲区状态的要求前,CPU则继续当前的任务。

  当接收缓冲区状态标志为满的时候,即表明已接收一个或者多个报文。此时CPU将从CAN控制器取出第一个报文,并置位命令寄存器中的释放接收缓冲区标志。其接收流程图如图8所示。


  4 测试

  将两个CAN系统模块挂接在CAN总线上,相当于构成CAN总线上两个节点,这样就可以点对点地发送数据,其测试方法就是在当其中一个节点的按键按下时,除了自身的数码管1、2显示加一外,总线上另一节点接收到该数据后,它的数码管3、4也做加一操作,即与发送端节点的数码管1、2同步显示。这样就可以测试CAN总线的点对点的通信。

  5 结束语

  通过此系统可以较好地完成CAN节点的点对点数据发送和接收,且正确率高,速度快。若加以扩张,再增加节点,其通信原理与上述相同。此外,也可以加上串口,这样就可以实现下位机的多点采集数据,上位机实现显示和控制。因此,本文设计在实践中如果加以扩张,会有很好的价值。

关键字:STC89C51  CAN总线 引用地址:基于STC89C51的CAN总线点对点通信模块设计

上一篇:智能液晶触摸显示终端与单片机接口的设计
下一篇:如何实现大信号输出的硅应变计与模数转换器的接口

推荐阅读最新更新时间:2024-05-02 21:39

用于嵌入式机器控制的CAN总线
  CAN标准化组织国际用户小组支持制造商使用基于CAN总线网络的更高层的协议。   最初为了客车内各种控制装置联网通信而开发的控制器局域网(CAN)串行总线系统,自20世纪90年代初一直被用于嵌入式机器控制系统中。早期大多数使用这些总线系统的用户都在开发他们自己的应用层协议。然而,利用数据链路层解决问题的时代过去了。其中CAN总线和以太网是最成功的数据链路层协议。下一个挑战将是选择一种更高层的协议。   纵观世界领域,有一些组织推动着基于以太网的应用层在工业应用领域的发展。这些组织现在还未取得成功。然而,在CAN总线领域中,答案已见分晓。在工厂自动化中,DeviceNet协议在其与智能分布式系统(SDS)的竞争中是明确的
[嵌入式]
CAN总线智能适配卡的设计
摘要:采用P80C592FFA作为CAN控制芯片,使用CY7C0944PV-AC作为双端口存储器,并使用PCA82C250作为CAN控制器接口芯片,设计了CAN总线智能适配卡,提高了CAN总线适配卡的传输能力。针对CAN总线在特殊环境下容易受到外界干扰的弱点,使用6N137进行信号隔离,使该适配卡达到了本安型标准。 关键词:CAN总线 智能适配卡 信号隔离 CAN(Controller Area Network)总线最初是由德国BOSCH公司为汽车检测与控制系统而设计的。由于其显著的特点,其应用范围越来越广,已扩大到过程控制、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域。目前,在国际上CAN总线已经
[应用]
CAN总线与485总线比较
现在的总线格式很多,CAN相对于其他的总线有什么特点啊?有什么特别的优势,让我们必须选择这种总线呢?这个问题问的好,所以我想与其它总线做一下比较,首先呢,就比较一下大家耳熟能详的485总线吧。其实485总线与232差不多,它们只定义了物理层,规定了电平标准。 下面我们进行详细的对比: CAN(Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前RS-485基于R线构建的分布式控制系统而言, 基于CAN总线的分布式控制系统在以下方面具有明显的优越性: 1) CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲
[嵌入式]
基于C8051F040的CAN总线智能节点的设计
控制器局域网CAN(Controller Aera Network)是德国Bosch公司在80年代初为解决现代汽车中大量的控制与测试仪器之间的数据交换而提出的一种串行数据通信协议。他是多主总线,通信介质可以是双绞线,通信速率可达1M/s,最远通信距离可达10km。CAN具有极高的可靠性,高实时性特点特别适合工业过程监控设备的互连,已被公认是最有前途的现场总线之一。CAN总线的高速采集系统具备DCS(分布式控制系统)的主要特征,可代替DCS。 Cygnal公司的51系列单片机C8051F040是集成在一块芯片上的混合信号系统级单片机,在一个芯片内集成了构成一个单片机数据采集或控制的智能节点所需要的几乎所有模拟和数字外设以及其他功
[嵌入式]
汽车can总线工作原理及测量方法详解
  CAN总线的总体结构   CAN总线由CAN控制器、CAN收发器、数据传输线、数据传输终端等组成。CB311的ECU(发动机控制单元)、TCU(变速器控制单元)、FEPS(无钥匙进入和无钥匙启动系统)、组合仪表四个电控单元通过CAN总线连接,CAN控制器、CAN收发器均集成在电控单元中。CB311CAN总线的结构如图1所示。   图1 CB311 CAN总线的总体结构   1、CAN控制器   CAN控制器集成在电控单元内部,接收由控制单元微处理器传来的数据。CAN控制器对这些数据进行处理并将其传递给CAN收发器;同样CAN控制器也接收收发器传来的数据,处理后传递给控制单元微处理器。   2、CAH收发器   CAN收发器
[测试测量]
汽车<font color='red'>can总线</font>工作原理及测量方法详解
CAN总线解决方案在小儿尿裤包装机的应用
尿裤生产线是一个对系统的协调性要求很高的一种机械设备,要求控制系统能够提供很好的协调能力,协调各个伺服之间的动作流程,不能出现系统动作间断的情况,同时还要求伺服系统具有很好的反应能力,及时处理来自PLC的命令,以达到很高的生产效率。我们所做的这套系统是用来包装尿裤的,同时也可以用来包装卫生巾,系统各方面要求很高,整个系统控制工艺复杂,控制设备繁多,各个电机之间要求很高的协调性.该系统采用5套伺服电机控制,而每套伺服电机间均有数据交换,且数据通讯也要求很强的实时性,也就是要求系统具有总线通讯能力,这样就要求伺服驱动器拥有非常强大的功能才能满足控制要求,而Kinco伺服驱动器则能满足此类系统控制要求,下面是我们驱动器的一些功能特
[工业控制]
<font color='red'>CAN总线</font>解决方案在小儿尿裤包装机的应用
CAN总线这一点很牛
近期,我跟一位在 Voyage公司 上班的朋友在尝试对一辆福特 Fusion 汽车 的空调系统实现 编程 控制。     下图为研究人员尝试通过App来控制汽车的关键功能:     Voyage是汽车自动驾驶领域内的一家专业公司,他们想要实现的终极目标是:对于世界上的任何一个人,他都可以随时随地召唤一辆汽车直接开到他的家门口,并将他安全地送达到目的地,而且价格也非常便宜。对于Voyage来说,他们将不可避免地给乘客提供汽车关键功能的控制权,因为总有一天开车的将不再是我们人类,而这一天马上就要到来了。   CAN总线 介绍 一台现代化汽车拥有大量的控制系统,这些控制系统的作用与Web应用中各种微服务的作用是非常相似的。对于一台
[嵌入式]
单片机通过串口通信调整时间的程序
本程序所用的原理图下载: 点这里 ,单片机芯片使用的stc89c51;找到时钟部分的原理图修改为你自己的电路上的io即可.这是一整个单片机开发板的电路图其他的忽略. /**************************通过串口通信调整时间******************************/ /** *功能:单片机开始上电时点阵显示倒计时3,2,1,0,然后点阵LED关闭显示 * 定时器和串口开始工作,定时器开始一秒计时,并在数码管上显示时,分,秒 * 此计时器可以通过串口发送数据调整时间,可调整时与分,当调整分钟时秒清零 * 附加功能:当单片机收到数据时有蜂鸣器响一声作为提示 * 彩色流水灯以20毫秒的速度向
[单片机]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved