基于CAN总线的单片机与数字信号处理器通信系统设计_第1页
基于CAN总线的单片机与数字信号处理器通信系统设计_第2页
基于CAN总线的单片机与数字信号处理器通信系统设计_第3页
基于CAN总线的单片机与数字信号处理器通信系统设计_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

基于基于 CAN 总线的单片机与数字信号处理器通信系统设计总线的单片机与数字信号处理器通信系统设计 摘要 摘要 针对双 CPU 测控系统中 要求数据传输稳定的问题 提出利用 CAN 总线技术 进行远程数据采集传输的方案 以单片机 AT89C52 CAN 控制器 SJA1000以及 DSP 芯 片 TMs320LF2407为例 介绍了单片机和数字信号处理器 CAN 通信系统设计 并给出接 口电路和编程 试验证明 利用 CAN 总线实现双 CPU 系统之间的数据通信具有速度快 可靠性高 实时性强等显著特点 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 总线的最大传输速率可达1Mb s 直接通信距离最远可达10km 速率在 5Kb 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 总线的电气隔离 电源的隔离采用小功率电源隔离模块 这些部分虽然增 加了接口电路的复杂性 但是却提高了系统的稳定性和安全性 TMS320LF2407内部集成一个完全的 CAN 控制器 但 CAN 控制器必须通过 CAN 驱动芯片才能与其他 CAN 控制器进行通信 这里采用 PCA82C250 因为 TMS320LF2407用3 3V 供电 而 PCA82C250用5V 供电 TMS320LF2407通过高速 光耦6N137后与82C250相连 不仅增强了 CAN 总线节点的抗干扰能力 而且实现了电 平转换 3 数字信号处理器与单片机通信系统软件设计数字信号处理器与单片机通信系统软件设计 数字信号处理器与单片机组成的 CAN 总线通信系统进行数据通信时 应约定通信协 议 如帧格式 波特率 标识符等 各节点软件设计均包括数据发送和接收子程序以及 CAN 总线控制器初始化子程序 这里着重研究 CAN 总线控制器的初始化 3 1 单片机通信系统软件设计单片机通信系统软件设计 单片机 CAN 通信系统软件设计主要是指 SJA1000总线控制器的初始化程序设计 CAN 总线控制器初始化程序主要是通过对 SJA1000寄存器写入相应的控制字 从而 确定 SJA1000的工作方式 SJA1000需要初始化的寄存器有 模式寄存器 MODE 时钟 分频寄存器 CDR 接收代码寄存器 ACR 接收屏蔽寄存器 AMR 中断使能寄存器 IER 总线定时寄存器 BTR 输出控制寄存器 OCR 等 其中 总线定时寄存器 BTR 的值决定 CAN 通信波特率 而波特率正确与否 是数字信号处理器与单片机实现 CAN 通信的关键 因为这些寄存器仅能在 SJA1000复位期间进行写访问 因此在对这些寄存器初始化之前 必须确保系统进入复位状态 在初始化后 须清除复位请求位 使 SJA1000返回正常运 行状态 其初始化子程序如下 3 2 数字信号处理器通信系统软件设计数字信号处理器通信系统软件设计 在使用数字信号处理器 CAN 控制器前必须对它的一些内部寄存器进行设置 如对位 定时器的设置及对邮箱进行初始化 位定时器主要由 CANBCR1和 CANBCR2两个寄存器 组成 配置对位定时器也就是设置这两个寄存器 其值决定了 CcAN 控制器的通信波特率 同步跳转宽度 采样次数和重同步方式等 对邮箱初始化主要是对邮箱进行配置 设置邮 箱的标识符以及接收滤波器的设置等 CAN 控制器初始化子程序如下 4 结语结语 单片机与数字信号处理器 CAN 总线

温馨提示

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

评论

0/150

提交评论