基于dsPIC30F6014数字信号控制器的CAN节点设计

发布者:SereneJourney最新更新时间:2011-05-16 关键字:dsPIC30F6014  数字信号控制器  CAN节点 手机看文章 扫描二维码
随时随地手机看文章

引言

    CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN-bus已被广泛应用到各个自动化控制系统中,具有不可比拟的优越性。

    新型16位dsPIC30F6014数字信号控制器结合单片机的控制优点及数字信号处理器(DSP)的高速运算特性,为嵌入式系统提供了单一芯片解决方案。

    本篇论文以CAN协议为基础,结合dsPIC30F6014的突出性能,在设计通讯接口过程中,提出了基于dsPIC30F6014数字信号控制器的CAN节点设计方法。

    1 dsPIC30F6014数字信号控制器与CAN总线

    1.1 dsPIC30F6014数字信号控制器特点

    dsPIC30F6014数字信号控制器(DSC)是单片嵌入式控制器,它集成了单片机(MCU)的控制功能以及数字信号处理器(DSP)的计算能力和数据吞吐能力,运算速度可达20和30 MIPS,配备自编程闪存,并能在工业级温度和扩展级温度范围内工作。以16位单片机为核心的 dsPIC30F6014数字信号控制器不仅具有功能强大的外围设备和快速中断处理能力,又融合了可管理高速计算活动的数字信号处理器功能。dsPIC30F CPU 模块采用16 位(数据)改良的哈佛架构,并带有增强型指令集包含对DSP 的有力支持。CPU 拥有24 位指令字,指令字带有长度可变的操作码字段。 程序计数器(PC)为24位宽,可以寻址高达4M × 24 位的用户程序存储器空间。 单周期指令预取机制用来帮助维持吞吐量并提供可预测的执行。配备144K字节增强型闪存及8K字节静态RAM,8K字节EEPROM,能支持大型的复杂应用。dsPIC系列产品与现有嵌入式系统不同,系统集成了振荡器,低电压检测,看门狗定时器,产品无需使用额外的元件,可降低主板面积和系统成本,为嵌入式系统提供了单一芯片解决方案。此外还具备一系列片上功能,包括I/O端口、定时器、输入捕捉、输出比较、UART、12位A/D转换器、SPI接口、I2C接口及CAN通信等模块。结构图如图1所示:

    这些特性使之成为需要更高精确度、更快转速或无传感器控制的电机控制应用领域如非传感无刷直流电机、磁阻转换和感应电机的理想解决方案,另外还可以应用于因特网接入设备和汽车产品;生物特徵检测保护--如指纹识别;不间断电源、电源管理和话音开关(话音识别系统)等领域。


    1.2 CAN总线技术特点

    CAN是主要用于各种过程(设备)监测及控制的一种网络。最初是德国BOSCH公司为汽车的监测、控制系统而设计的。由于CAN具有卓越的特性和极高的可靠性,特别适合于工业过程中监控设备的互连,因此,越来越受到工业界的重视。具体来说,CAN具有如下特性:
    (1) CAN可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活;
    (2) CAN可以点对点、点对多点(成组)及全局广播方式传送接收数据;
    (3) CAN网络上的节点信息可分成不同的优先级,可以满足不同的实时要求;
    (4) CAN采用非破坏性总线仲载技术。当两个节点同时向网络上发送数据时,优先级低的点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,大大地节省了总线仲载冲突时间,在网络负载很重的情况下也不会出现网络瘫痪;
    (5) CAN的直接通信距离最大可达10km(速率小于5kbps),最高通信速率可达1Mkbps(此时距离最长为40m)。[page]

    2 CAN节点设计

    2.1 CAN节点硬件设计

    图2所示为CAN总线网络示例。图中给出了三种CAN网络实现方式:微控制器+CAN控制器+CAN收发器;集成CAN控制器的微控制器+CAN收发器;CAN的串行I/O器件+CAN收发器。其中节点1由MICROCHIP公司的dsPIC30F6014集成CAN控制器+MCP2551CAN收发器构成;节点2由MICROCHIP公司的PIC单片机+SPI接口的MCP2550串行CAN控制器+MCP2551CAN收发器构成;PC机的CAN节点由Philips公司的SJA1000CAN控制器+PCA82C250CAN收发器构成。本文的研究和试验结果就是在这一网络框架下完成的。

    显然dsPIC30F6014只需加上CAN总线收发电路就可挂接到CAN通信网络上,大大简化了通信系统的设计,同时可减少通信节点受到干扰的概率。CAN模块通过CAN控制器接口芯片MCP2551连接到物理总线上。MCP2551是一个可容错的高速CAN器件,可作为CAN协议控制器和物理总线接口。MCP2551 可为CAN 协议控制器提供差分收发能力,它完全符合ISO-11898标准,包括能满足24V 电压要求。它的工作速率高达1 Mb/s。

    2.2 CAN节点软件设计

    CAN总线的3层结构模型为: 物理层、数据链路层和应用层。系统的开发主要在应用层软件的设计上,CAN总线节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。初始化程序设计对于CAN总线节点的正常工作相当重要。它主要包括工作方式的设置、接收屏蔽寄存器和接收代码寄存器的设置、总线定时器的设置和中断允许寄存器的设置。MICROCHIP公司提为开发者提供了丰富的开发工具和应用程序库,使得开发代码效率大大提高。由于CAN 协议没有规定信息标识符的分配,因此可以根据不同应用使用不同的方法,所以在设计一个基于CAN 的通讯系统时确定CAN 标识符的分配非常重要。标识符的分配和定位也是较高层解决手段的其中一个主要的项目。当前较流行的CAN应用层协议有 CANOpen协议DeviceNet协议。DeviceNet协议适合于工厂自动化控制,CANOpen协议适合于所有机械的嵌入式网络。对于小型网络(图2所示)Modbus 协议是一个不错的解决发案。Modbus 协议是应用于电子控制器上的一种通用语言,通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一个通用工业标准。有了它不同厂商生产的控制设备可以连成工业网络进行集中监控。 Modbus 协议支持主/从通讯方式同时也支持使用对等技术通讯。因此Modbus协议不仅能够支持RS232、RS485 网络也能够充分发挥CAN-bus 网络的性能与通讯效率。

    3 系统应用中应注意的问题

    在实际运行中, 经常会遇到CAN总线不通和数据传输过程中丢帧现象,纠其原因主要有以下几方面:

    (1)为了进一步提高抗干扰措施, 在CAN控制器和收发器之间应使用由高速隔离器件如6N137 构成的隔离电路,同时采用DC-DC模块将电源隔离,增强抗电磁干扰能力,保护系统电路不受网络影响。
    (2) 总线两端的2个120欧姆的电阻, 对于匹配总线阻抗, 起着相当重要的作用。若忽略掉它们,会使数据通信的抗干扰性及可靠性大大降低, 甚至无法通讯。
    (3) 在软件设计时, CAN 总线定时器的设置非常关键, CAN 总线上的所有控制器必须有相同的波特率和位长度。然而,不同的控制器并不要求使用相同的主振荡器时钟。如果各个控制器的时钟频率不同,必须通过调节各个段的时间份额数调节波特率。下面是时间段编程的一些要求:
    • 传播段+ 相位缓冲段1> = 相位缓冲段2
    • 相位缓冲段2 > 同步跳转宽度
    通常,位的采样应当发生在位时间的60-70% 左右,取决于系统参数。

    结语

    本文的创新观点在于:详细介绍了dsPIC30F6014数字信号控制器CAN节点实现方案。研究和试验结果表明利用dsPIC30F6014数字信号控制器构成的CAN节点具有许多优良的性能,并能充分发挥节点的功能,为嵌入式系统CAN节点设计提供了一种新型实用方案。

关键字:dsPIC30F6014  数字信号控制器  CAN节点 引用地址:基于dsPIC30F6014数字信号控制器的CAN节点设计

上一篇:基于PICFxx单片机控制的正弦波逆变电源
下一篇:用PIC16C73单片机实现十二位A/D转换器

推荐阅读最新更新时间:2024-03-16 12:35

CAN智能节点的设计
1 引言 CAN总线是控制器局域网(Controller Area Net-work)总线的简称,它属于现场总线范畴,是一种能有效支持分布式控制或实时控制的串行通信网络,它可将挂接在现场总线上作为网络节点的智能设备连接成网络系统,并进一步构成自动化系统,从而实现基本的控制、补偿、计算、参数修改、报警、显示、监控、优化及控管一体化的综合自动化功能。 CAN总线智能节点在分布式控制系统中起着承上启下的作用。它位于传感器和执行机构所在的现场,一方面和上位机(PC或者工控机)进行通信,以完成数据交换;另一方面又可根据系统的需要对现场的执行机构或者传感器进行控制和数据采集。它常常将一些简单的过程控制程序放在底层模块中,从而减少了
[单片机]
<font color='red'>CAN</font>智能<font color='red'>节点</font>的设计
基于C8051F040的CAN总线技术的多节点通信网络设计
引言 CAN总线是一种有效支持分布式控制或实时控制的串行通信网络,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。传统的CAN总线实现方式是将单片机与总线控制器和总线收发器连接后接入总线作为一个节点,这种方式外部电路要求较多,器件之间会造成不必要的干扰,因此提出一种方法利用内部集成CAN控制器的C8051F040单片机作为CAN节点的处理器。利用这个节点控制器控制其他节点上的传感器,同时为了方便利用Pc机实时监测总线数据,设计了USB-CAN转换模块,利用上位机软件使PC机与总线能进行实时通信。 1 多点通信网络的总体设计 CAN总线总体结构
[单片机]
基于C8051F040的<font color='red'>CAN</font>总线技术的多<font color='red'>节点</font>通信网络设计
基于Cortex-M3内核芯片LM3S2965的CAN总线节点设计
引言   CAN总线具有通信速率高、可靠性高、连接方便和性能价格比高等诸多特点。CAN(Controller Area Network,控制器局域网)属于总线式通信网络,它是一种专门用于工业自动化领域的网络,不同于以太网等管理和信息处理用网络,其物理特性及网络协议特性更强调工业自动化的底层监测及控制。它采用了最新的技术及独特的设计,可靠性和性能超过了已陈旧的现场通信技术,如RS485、BITBUS等。   多数采用微处理器结合CAN控制器芯片的硬件方案,软件实现上是对CAN控制器芯片的寄存器编程,比较繁琐。Luminary Micro公司(现已被TI公司收购)所提供的Stellaris系列是基于ARM Cortex-M3的控
[单片机]
基于Cortex-M3内核芯片LM3S2965的<font color='red'>CAN</font>总线<font color='red'>节点</font>设计
为适应数字隔离器传播延迟 CAN节点位时序大升级
  控制器局域网(CAN)由ISO 11898($0.7144)标准定义,广泛用于工业和汽车应用中。CAN协议(比如DeviceNet或CANOpen)依赖内置的错误检查和差分信号采样。电流隔离可进一步增强鲁棒性,能够抗高压瞬变,但会增加传播延迟。CAN节点经过优化配置,哪怕存在隔离时也具有最大数据速率和传送距离。   为什么传播延迟很重要?   传播延迟会影响节点间的并发传输和仲裁。冲裁依赖于CAN信号发送;逻辑0表示“主动”(总线间的差分电压),逻辑1表示“被动”(全部输出为高阻抗),意味着主动位将覆盖被动位。发射时,所有节点监控总线;而发射被动位时则停止,从而允许另一个节点赢得仲裁(图1中的节点A)。      图1.两个
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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