基于C8051F040的CAN总线通讯系统设计

发布者:清新心情最新更新时间:2012-12-29 来源: autooo关键字:C8051F040  CAN总线  通讯系统 手机看文章 扫描二维码
随时随地手机看文章

1 引言

    CAN总线,即控制器局域网总线,是一种有效支持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性及独特的设计和适宜的价格,而广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域,并已被公认为几种最有前途的现场总线之一。

    目前CAN系统使用较多的是独立CAN控制器,利用单片机的并口控制CAN控制器,除了8条数据线外,还需要几条控制线。采取这样的设计不但占用了单片机的引脚,而且增加了电路板的面积。同时,由于采用了并行通讯,降低了系统的可靠性,因此,采取系统内部集成CAN控制器的单片机势在必行。

    本文已Cygnal公司的内部集成CAN控制器的C8051F040单片机为基础,介绍了CAN总线的通讯接口的具体设计及其应用。由于采用了集成CAN控制器的单片机,大大简化了电路,同时也提高了系统的可靠性。

2 C8051F040集成的CAN控制器

    C8051040内部集成CAN控制器,他兼容CAN技术规范2.0A和2.0B主要由CAN内核、消息RAM(独立于CIP-51的RAM)、消息处理单元和控制寄存器组成,图1所示是C8051F040的内部的CAN总线结构图。

    图1中,CAN内核由CAN协议控制器和负责消息收发的串行/并行转换RX/TX移位寄存器组成,消息RAM用于存储消息目标和每个目标的仲裁掩码。这种CAN处理器有32个随意配置为发送和接收的消息目标,并且每一个消息目标都有他自己的识别掩码,所有的数据传输和接收滤波都是由CAN控制器完成的,而不是由CIP-51来完成。CAN内部寄存器中存储了所有CAN的控制和配置信息,其中包括控制寄存器、状态寄存器、设置波特率的位定时寄存器,测试寄存器、错误计数器和消息接口寄存器。通常CAN内核不能直接访问消息RAM,而必须通过接口寄存器IF1或IF2来访问。另外,CIP51的SFR并不不能直接访问CAN内部寄存器的所有单元,其配置CAN、消息目标、读取CAN状态以及获取接收数据、传递发送数据都由SFR中的6个特殊寄存器来完成,其中CAN0CN,CAN0TST和CAN0STA三个寄存器可直接获取或修改CAN控制器中对应的寄存器,而CAN0DATH,CAN0ATL,CAN0ADR三个寄存器主要用来访问修改其他不能直接访问的CAN内部寄存器,其中CAN0ADR用来指出要访问寄存器的地址,CA0DATH,CAN0DATL这时就相当于要访问的16位寄存器的高低字节的映射寄存器,而对他们的读写则相当于所指向寄存器的读写。

    图2给出了CIP-51如何访问CAN中控制寄存器和每个消息的路径图。消息处理单元用于根据寄存器中的消息来控制CAN内核中移位寄存器和消息RAM之间的数据传递,同时,他还可用来管理中断的产生。

3 智能节点通讯部分的硬件设计

    C8051F040中内置CAN总线协议控制器,只要外接总线驱动芯片和适当的抗干扰电路就可方便地建立一个实用的CAN总线智能测控节点。本文采用PHILIP公司的TJA1050T CAN总线驱动器,硬件原理图如图3所示。

    为了增强CAN总线节点的抗干扰能力,可以采取以下措施:

    (1)F040的TX0和RX0并不是直接与TJA1050T的TXD和RXD相连,而是通过高速光耦6N137后与TJA1050T相连,这就很好地实现了总线上各CAN节点间的电气隔离,不过应该特别说明的一点是光耦部分电路采用的两个电源VA和VB必须完全隔离,否则采用光耦也就失去了意义。这些部分虽然增加了节点的复杂性,但是却提高了节点的稳定性和安全性。

    (2)TJA1050T的CANH和CANL引脚各自通过1个5Ω的电阻与CAN总线相连,电阻可起到一定的限流作用,保护TJA1050T免受过流的冲击。

    (3)CANH和CANL与地之间并联2个30pF的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的作用。

    (4)另外可在2根CAN总线接入端与地之间分别反接1个保护二极管。当CAN总线有较高的负电压时,通过二极管的短路可起到一定的过压保护作用。 [page]

4 智能节点的通讯软件设计

    节点的CAN通信主要包括系统初始化程序、发送程序、接收程序等,软件部分设计的好坏将直接决定系统能否正常工作,对于初次接触CAN总线系统的设计人员来说是一个难点,也是一个重点,在本论文中,系统软件采用结构化程序设计方案,使其具有较好的模块性和可移植性,对于不同的系统功能或不同的应用环境,可以方便地进行编程重组。

4.1 系统的初始化

    初始化程序主要完成对所有的消息对象进行初始化(一般将所有值置零),对CAN控制寄存器(CAN0CN)、位定时寄存器(BITREG)进行设置,还要对发送消息对象和接收消息对象分别进行初始化。其中,位定时寄存器的设置较为复杂,这里使用外部晶振为11.0592MHz,CAN通信速率为1Mb/s,得到BITREG的出初始值为0x2640。主程序中规定对象初始化、发送和接收初始化,最后才启动CAN处理机制(对BITREG和CAN0CN初始化),下面为CAN启动程序:

4.2 发送和接收程序

    发送程序主要负责把接口寄存器里边要发送内容写入到具体的消息对象中,而接收程序所要实现的功能与发送程序正好相反,接收程序负责把接收到的内容从消息对象中读入接口寄存器中,由于两者的程序相似,下面给出发送程序代码。

5 结语

    采用内部集成了CAN控制器模块的微控制器设计现场总线智能结点,不但硬件设计上简单、可靠、编制相应的软件时也更方便和简洁。本文正是采用这种设计方案,详细介绍了用C8051F040进行CAN总线智能节点通讯接口设计时的硬件接口及软件设计方法。系统的实际运行验证了设计的正确性与可靠性。

关键字:C8051F040  CAN总线  通讯系统 引用地址:基于C8051F040的CAN总线通讯系统设计

上一篇:AT89C51单片机简介
下一篇:基于硬件仲裁和串行总线的多机通信

推荐阅读最新更新时间:2024-03-16 13:15

地铁屏蔽门CAN总线故障排查流程
地铁是人们出行的重要交通工具,随着地铁线路全面铺设,人们对于地铁的安全性能越来越关注,尤其是地铁屏蔽门的可靠性,那么在复杂的地铁控制系统中,如何进行地铁屏蔽门 CAN 总线故障排查呢?本文将做详细介绍。 一、地铁 屏蔽门控制系统 ——CAN 总线的应用 目前地铁采用了自动化的技术来实现全方位的控制,地铁综合控制系统包括 ATC(列车自动控制)、SCADA(电力监控系统)、BAS(环境监控系统)、FAS(火灾报警系统)、PSD(屏蔽门 / 安全门系统)等,这些系统在全线形成网络,由控制中心统一分级控制。 其中,地铁屏蔽门系统 PSD 是基于 CAN 总线实现的,如图 1 所示该系统包括以下子单元: 图 1 地铁屏
[汽车电子]
地铁屏蔽门<font color='red'>CAN总线</font>故障排查流程
STM32的CAN总线使用
本次调试使用的是珠海鼎芯科技(D-Chip)的STM32核心板。这块核心板上包含了一个CAN总线驱动器。可以很方便的同时与多个种工业设备连接通讯。 STM32处理器的CAN总线有多种工作模式,本次测试的是正常模式。要在正常模式下使用首先需要初始化寄存器和使能相关的功能部件。 第一步是初始化GPIO和时钟,STM32F103C的CAN总线GPIO是GPIOA_PIN_11和GPIOA_PIN_12。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//使能PORTA时钟 RCC_APB1PeriphClockCmd(RCC_APB1P
[单片机]
汽车CAN总线控制系统的抗静电干扰实例
被测对象存在的ESD问题及原因分析 实验对象为汽车车身控制系统,系采用CAN技术从车头到车尾仅用两根信号线就实现对整车电气系统的控制,减少了整车线束,目前已经实现了所有灯光、倒车蜂鸣器、前后雨刮、前后洗涤、喇叭、中控锁、后除霜、燃油泵及所有相关操作开关的控制。在汽车CAN总线车身控制系统及仪表的防静电测试实验中发现,首先将电压调至 2 kV,对其中一控制模块接触放电,各指示灯正常工作,不受任何影响;当将电压逐渐调高直到4 kV时,前控左模块中的冷启动开关指示灯熄灭, 但几秒钟后自行恢复,此外左前小灯也发生异常,但是短时间内也能恢复。图6-   经分析,上述ESD问题原因可能来自如下几点:   (1) 电流热效应:ESD电流
[嵌入式]
CAN总线技术在矿井安全生产监控系统中的应用
  我国的矿井安全生产监控系统经历了从无到有,从简到繁,从一体机到网络化,从二级网络到多级网络的综合监控的过程。经过十几年的应用表明,矿井安全生产监控系统为我国煤矿安全生产和现代化管理起到了显著作用。但是,由于现有的监控系统几乎都采用各自专用的通信协议,所以,很难找到两个相互兼容的系统。目前,信息传输系统的兼容性已成为装备监控系统的各局、矿进一步扩充系统功能的制约因素。因此,寻找一种解决系统兼容性问题的途径,对促进矿井监控技术的发展和系统的推广应用均具有十分重要的意义。   矿井安全生产监控系统中采用通信协议的现状   通信协议是在网络中用于规定信息的格式以及信息如何发送和接收的一套规则。处于网络中的节点必须遵循双方约定的
[嵌入式]
基于CAN总线的变频设备远程监控系统的实现
概述 : 近年来,随着国家建设节约型社会的提出,对节能节电的重视程度越来越高,特别是加大了对国有企业中的大型用电设备的节能改造力度,变频器在油田,煤矿,发电厂,钢铁厂等国有大型企业中的使用数量越来越多。特别是油田上,抽油机变频器,潜油电泵变频器,注水泵变频器和加热电源等电力电子设备在油田的大面积推广使用。根据油田生产野外作业的特殊性 ---- 每个设备之间的距离比较远,但又相对集中,所以基于各种现场总线的集中控制显得越来越有必要。 CAN 总线在变频设备的集中管理和控制上显示了突出的优势,其超远距离传输,和超强的抗干扰性是其他总线所不能比拟的。另外最重要的一点是在整个控制系统中,不分主从的组网拓扑结构,方便的增减通
[工业控制]
CAN总线在车辆分布式控制系统中的应用
1 引言 对于多电机的系统,特别是多电机驱动的轨道车辆控制系统,需要实现大量的信息采集、分布式的协调控制、实时的反应速度等功能。传统的集散型控制系统存在系统不开放、硬件投资大、布线复杂、维修不便的缺点,具有明显的局限性,显然是不适合的。现场总线控制系统(FCS)是继直接数字控制(DDC)、集散控制系统(DCS)之后的一种新型的控制系统,是一种全开放、全数字、多点通信的底层控制网络,具有全分散性控的体系结构。其显著特点是通过开放性总线把现场设备连接成网络,各智能设备能够完成自动控制和运行状态的自行诊断,并且能够通过总线实现设备之间的通信,从而简化了系统结构,提高了可靠性。因此本文提出了一种基于CAN(Controller Are
[嵌入式]
指纹识别弱爆了 踩一踩刹车就能识别司机身份
每个人的驾驶习惯千差万别,你有没有想过,也许仅凭一个人点踩刹车的力度,转动方向盘的角度,不要几分钟,就能轻松鉴别出这个人是谁? 来自美国华盛顿大学和加州大学圣地亚哥分校的研究人员,将在今年7月份开幕的第16届隐私增强技术研讨会(Privacy Enhancing Technology Symposium)上发布一项研究成果,该研究表明:通过从车内CAN总线获取的数据,可以鉴别出驾驶员的身份。事实上,可能只要不到15分钟的时间,仅仅通过从试验车辆获取的“刹车踏板”这一项数据,研究人员就能够轻松辨别出 15位不同驾驶员的身份,准确率在90%左右。如果试验时间达到90分钟以上,或者对其他零部件产生的数据进行监测,则正确率能够达到100%。
[嵌入式]
基于μPD780822型单片机的客车CAN总线灯光节点设计与实现
1 引言 CAN(Controller Area Network)是德国Bosch公司最先提出的,是目前汽车控制器局域网中最流行、最常用的总线。它的主要特点是:CAN总线为多主站总线,各节点均可在任意时刻主动向网络上的其他节点发送信息,不分主从,通信灵活;CAN总线采用独特的非破坏性总线仲裁技术,优先级高的节点先传送数据,能满足实时性要求;CAN总线具有点对点、一点对多点及全局广播传送数据的功能;CAN总线上每帧有效字节数最多为8个,并有CRC及其他校验措施,数据出错率极低,某个节点出现严重错误,可自动脱离总线,总线上的其他操作不受影响;CAN总线只有2条导线,系统扩充时可直接将新节点挂在总线上,因此走线少,系统容易扩充,改型
[单片机]
基于μPD780822型单片机的客车<font color='red'>CAN总线</font>灯光节点设计与实现
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

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