0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CAN总线通信系统的研究与设计

电子设计 来源:郭婷 作者:电子设计 2019-01-09 08:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

0 引 言

众所周知,虽然目前8位单片机正逐渐被速度高,性能强的16位或32位微处理器所取代,但8位单片机仍以其低廉的价格、丰富的外围芯片以及众多的多功能产品而在低端应用市场占据主流地位。数字信号处理器(Digital Signal Processor,DSP)作为一种具有高速数字信号处理能力的新型单片机,在通信、自动控制、航天航空、军事、医疗等领域广泛应用。在比较复杂的测控系统中,如微机电动机保护装置,要求在毫秒级的短时间内对电动机实现实时保护和测量,所以对装置硬件系统的实时数据处理能力要求较高,而传统的基于单 CPU微处理器的方案己经难以胜任。因此,这里采用数字信号处理器与单片机构成的双CPU结构。由数字信号处理器完成多通道A/D转换、各种判据算法的运算等功能,而单片机作为整个装置的控制单元,主要负责实时时钟控制、参数管理、人机接口及串并行通信接口的控制等。这种双CPU结构充分发挥数字信号处理器与单片机各自的功能特点。其中,双CPU系统之间的数据通信可采用双口RAM、串行通信等方式,但这两种方式存在只能实现点对点通信,通信速度慢,可靠性差等缺点,不利于系统扩展。因而研究通信速度快,可靠性高,实时性强的CAN总线通信系统具有重要意义。

1 CAN总线介绍

控制器局域网络(Controller Area Network,CAN)是一种串行多主站控制器局域网总线。它具有很高的网络安全性、通信可靠性和实时性,而且简单实用,网络成本低,特别适用于环境温度恶劣、电磁辐射强和振动大的工业环境。CAN总线可有效支持分布式控制或实时控制。该总线的通信介质可以是双绞线、同轴电缆或光纤。其主要特点如下:

(1)CAN总线为多主站总线,各节点可在任意时刻向网络上的其他节点发送信息,且不分主从;

(2)CAN总线采用独特的非破坏性总线仲裁技术,高优先级节点优先传送数据,故实时性好;

(3)CAN总线具有点对点、一点对多点及全局广播传送数据的功能;

(4)CAN总线采用短帧结构,每帧有效字节数最多为8个,数据传输时间短,并有CRC及其他校验措施,数据出错率极低;

(5)CAN总线上某一节点出现严重错误时,可自动脱离总线,而总线上的其他操作不受影响;

(6)CAN总线系统扩充时,可直接将新节点挂在总线上,因而走线少,系统扩充容易,改型灵活;

(7)CAN总线的最大传输速率可达1 Mb/s,直接通信距离最远可达10 km(速率在5 Kb/s以下);

(8)CAN总线上的节点数取决于总线驱动电路,在标准帧(11位报文标识符)时,可达到110个,而在扩展帧(29位报文标识符)时,个数不受限。

2 单片机与数字信号处理器CAN通信系统接口电路设计

单片机与数字信号处理器种类较多,在研究其通信系统时,以广泛使用的MCS-51单片机以及适于运动控制的美国德州仪器(TI)公司TMS320LF2407为例进行研究。

2.1 单片机通信系统接口电路设计

MCS-51单片机组成CAN通信系统需要扩展CAN控制器,本系统采用的CAN控制器是SJA1000。SJA1000是PHILIPS公司生产的既支持CAN 2.0B,又支持CAN 2.0A的CAN控制器。与SJA1000配套使用的CAN总线驱动器是PCA82C250,它是PHILIPS推出的CAN控制器和物理总线接口芯片,可提供对总线的差分发送和接收。CAN模块总线控制器、总线驱动器连接基本方法如图1所示。为增强CAN总线节点的抗干扰能力,SJA1000通过高速光耦6N137后与PCA82C250相连,这样就能很好地实现本系统与CAN总线的电气隔离。电源的隔离采用小功率电源隔离模块。这些部分虽然增加了接口电路的复杂性,但是却提高了系统的稳定性和安全性。

CAN总线通信系统的研究与设计

TMS320LF2407内部集成一个完全的CAN控制器,但CAN控制器必须通过CAN驱动芯片才能与其他CAN控制器进行通信,这里采用 PCA82C250。因为TMS320LF2407用3.3 V供电,而PCA82C250用5 V供电。TMS320LF2407通过高速光耦6N137后与82C250相连,不仅增强了CAN总线节点的抗干扰能力,而且实现了电平转换。

3 数字信号处理器与单片机通信系统软件设计

数字信号处理器与单片机组成的CAN总线通信系统进行数据通信时,应约定通信协议,如帧格式、波特率、标识符等。各节点软件设计均包括数据发送和接收子程序以及CAN总线控制器初始化子程序。这里着重研究CAN总线控制器的初始化。

CAN总线通信系统的研究与设计

3.1 单片机通信系统软件设计

单片机CAN通信系统软件设计主要是指SJA1000总线控制器的初始化程序设计。

CAN总线控制器初始化程序主要是通过对SJA1000寄存器写入相应的控制字,从而确定SJA1000的工作方式。SJA1000需要初始化的寄存器有:模式寄存器MODE、时钟分频寄存器CDR、接收代码寄存器ACR、接收屏蔽寄存器AMR、中断使能寄存器IER、总线定时寄存器BTR、输出控制寄存器OCR等。其中,总线定时寄存器BTR的值决定CAN通信波特率,而波特率正确与否,是数字信号处理器与单片机实现CAN通信的关键。因为这些寄存器仅能在SJA1000复位期间进行写访问,因此在对这些寄存器初始化之前,必须确保系统进入复位状态,在初始化后,须清除复位请求位,使SJA1000返回正常运行状态,其初始化子程序如下:

CAN总线通信系统的研究与设计

CAN总线通信系统的研究与设计

3.2 数字信号处理器通信系统软件设计

在使用数字信号处理器CAN控制器前必须对它的一些内部寄存器进行设置,如对位定时器的设置及对邮箱进行初始化。位定时器主要由CANBCR1和CANBCR2两个寄存器组成,配置对位定时器也就是设置这两个寄存器,其值决定了CcAN控制器的通信波特率、同步跳转宽度、采样次数和重同步方式等。对邮箱初始化主要是对邮箱进行配置,设置邮箱的标识符以及接收滤波器的设置等。 CAN控制器初始化子程序如下:

CAN总线通信系统的研究与设计

CAN总线通信系统的研究与设计

4 结 语

单片机与数字信号处理器CAN总线通信系统实验过程中,发送端采用查询方式,接收端采用中断方式,利用键盘改变发送数据,接收端利用液晶显示器实时显示接收数据。反复试验表明,该系统工作稳定性较高;该系统硬件电路或软件程序稍加改动可用于单片机与数字信号处理器或数字信号处理器与数字信号处理器等双 CPU或多CPU测控系统中,且应用前景广阔。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6078

    文章

    45624

    浏览量

    675108
  • CAN总线
    +关注

    关注

    146

    文章

    2052

    浏览量

    135587
  • 信号处理器
    +关注

    关注

    1

    文章

    264

    浏览量

    26316
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    工业级CAN总线通信卡:PCL - 841、PCI - 1680U和PCM - 3680/I的技术剖析

    工业级CAN总线通信卡:PCL - 841、PCI - 1680U和PCM - 3680/I的技术剖析 在工业自动化、汽车电子、智能交通等领域,CAN(Controller Area
    的头像 发表于 05-13 11:15 227次阅读

    利用泰克示波器 CAN 总线解码器加快 CAN 总线的故障排除速度

    什么是 CAN 总线? 控制器局域网络 (CAN) 最初是针对汽车应用而设计的总线结构,但是,它也在其他领域找到用武之地。CAN
    的头像 发表于 04-17 17:35 728次阅读
    利用泰克示波器 <b class='flag-5'>CAN</b> <b class='flag-5'>总线</b>解码器加快 <b class='flag-5'>CAN</b> <b class='flag-5'>总线</b>的故障排除速度

    基于FPGA的轻量级CAN总线控制器实现方案

    CAN总线作为工业和汽车领域最常用的通信总线,具有拓扑结构简洁、可靠性高、传输距离长等优点。CAN总线
    的头像 发表于 04-03 10:10 4543次阅读
    基于FPGA的轻量级<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>控制器实现方案

    赋能储能系统集成:虹科CAN中继器/网桥如何破解BMS储能通信难题?

    当BMS储能系统CAN通信遭遇难题,谁能一击破局?随着新能源储能产业高速迭代,模块化、多集装箱部署成为主流,BMS储能系统CAN
    的头像 发表于 02-04 17:03 777次阅读
    赋能储能<b class='flag-5'>系统</b>集成:虹科<b class='flag-5'>CAN</b>中继器/网桥如何破解BMS储能<b class='flag-5'>通信</b>难题?

    实操用一台示波器解码CAN总线通信

    给大家说一下:CAN总线是一种串行通信协议,主要用在汽车领域,目前也延伸到其它行业,比如传播行业、自动化工业等CAN总线有CANHIGH和C
    的头像 发表于 12-17 17:34 1199次阅读
    实操用一台示波器解码<b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>通信</b>

    广成科技CAN转光纤模块的作用和应用场景

    can转光纤模块可将CAN总线数据透明、无损的转换成光信号,再将光信号透明、无损的解析成CAN总线数据。在消防报警
    的头像 发表于 09-16 16:47 1744次阅读
    广成科技<b class='flag-5'>CAN</b>转光纤模块的作用和应用场景

    三格电子CAN总线通信原理及在消防领域中的应用

     CAN总线简介 CAN总线是一种多主串行通信总线,最初为汽车电子设计,因其高可靠性、实时性和出
    的头像 发表于 09-02 15:11 1532次阅读
    三格电子<b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>通信</b>原理及在消防领域中的应用

    120Ω的秘密:CAN总线终端电阻的重要性

    CAN总线作为一种广泛应用的工业通信协议,其终端电阻的作用不容忽视。本文将详细探讨CAN总线终端电阻的重要性及其在
    的头像 发表于 08-08 11:35 1632次阅读
    120Ω的秘密:<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>终端电阻的重要性

    CAN总线控制器:智能设备的“交通指挥官”

    本文导读在汽车、工业自动化、医疗设备等场景中,无数电子设备通过CAN总线高效通信。而这场“数据交通”的背后,离不开一位隐形指挥官——CAN总线
    的头像 发表于 07-25 11:35 905次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>控制器:智能设备的“交通指挥官”

    磨刀不误砍柴工:CAN总线布线的关键要点

    在工业和汽车通信中,合理的总线布局布线是确保通信可靠性的关键。本期我们将探讨如何选择导线以及布线拓扑结构,帮助您在项目中实现高效、可靠的CAN总线
    的头像 发表于 07-18 11:35 1357次阅读
    磨刀不误砍柴工:<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>布线的关键要点

    CAN总线通信异常频发?CANBridge+帮您快速搞定!

    CAN总线通信现场,工程师们常常遇到这样的难题:实验室测试一切正常,但一到现场就频繁出现错误帧,通信异常不断,排查起来既耗时又费力,令人头疼不已。别担心,ZLG致远电子的CANBri
    的头像 发表于 07-14 11:38 846次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>通信</b>异常频发?CANBridge+帮您快速搞定!

    CAN 总线遇强干扰时,隔离式收发器如何实现信号 “免疫”?

    本文介绍了CAN总线及其优点,包括抗干扰能力、低延迟和高速数据传输性能等。同时,文章提到了隔离式CAN收发器作为连接CAN控制器(MCU)与总线
    的头像 发表于 07-04 14:49 2386次阅读
    <b class='flag-5'>CAN</b> <b class='flag-5'>总线</b>遇强干扰时,隔离式收发器如何实现信号 “免疫”?

    CAN收发器:总线信号的“翻译官”

    CAN总线通信中,CAN收发器(Transceiver)扮演着至关重要的角色——它就像一位“翻译官”,负责将微控制器(MCU)的数字信号转换为总线
    的头像 发表于 06-27 11:34 2712次阅读
    <b class='flag-5'>CAN</b>收发器:<b class='flag-5'>总线</b>信号的“翻译官”

    如何评估CAN总线信号质量

    CAN总线网络的性能在很大程度上取决于其信号质量。信号质量差可能导致通信错误,进而引发系统故障、效率降低甚至安全隐患。因此,评估和确保CAN
    发表于 06-07 08:46

    如何用泰克MSO5系列混合信号示波器调试IoT和CAN总线

    场景。然而,在IoT系统开发与维护中,CAN总线的调试常面临信号干扰、时序错误、协议冲突等问题。泰克MSO5系列混合信号示波器凭借其高分辨率、多通道同步、协议解码等功能,成为调试CAN
    的头像 发表于 05-30 14:17 1132次阅读
    如何用泰克MSO5系列混合信号示波器调试IoT和<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>