基于DSPIC30F4011单片机的CAN总线通信设计

[09-08 11:50:47]   来源:http://www.88dzw.com  单片机学习   阅读:8338

文章摘要: 0 引言CAN (CONtroller Area Network) 即控制器局域网络, 属于工业现场总线的范畴。与一般的通信总线相比, CAN总线的数据通信具有突出的可靠性、实时性和灵活性。事实上, 由于其良好的性能及独特的设计, CAN总线越来越受到人们的重视。同时, 由于CAN总线本身的特点, 其应用范围目前已不再局限于汽车行业, 而且向着自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。为此, 本文给出了利用两片DSPIC30F4011, 并用双绞线将两单片机的CAN模块连接起来组成一个CAN总线, 而两单片机相当于

基于DSPIC30F4011单片机的CAN总线通信设计,标签:单片机开发,单片机原理,http://www.88dzw.com

     0 引言

  CAN (CONtroller Area Network) 即控制器局域网络, 属于工业现场总线的范畴。与一般的通信总线相比, CAN总线的数据通信具有突出的可靠性、实时性和灵活性。事实上, 由于其良好的性能及独特的设计, CAN总线越来越受到人们的重视。同时, 由于CAN总线本身的特点, 其应用范围目前已不再局限于汽车行业, 而且向着自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。为此, 本文给出了利用两片DSPIC30F4011, 并用双绞线将两单片机的CAN模块连接起来组成一个CAN总线, 而两单片机相当于CAN总线上的两个结点, 再编写程序实现两单片机之间简单通信的方法。

  1 DSPIC30F4011简介

  DSPIC30F4011 是Microc hip 公司新推出的DSPIC30F系列16位单片机。它是一种具有单片机和DSP综合功能的16位CPU, 该器件不但保留了单片机的基本性能、丰富的外围模块, 同时还兼具DSP的高速运算能力。DSPIC30F4011单片机上集成的CAN模块, 使其能够与其它CAN模块或数字信号控制器进行通信, 其上的CAN模块是一串行接口, 此接口的设计允许在噪声环境下进行通信, 同时它也是一个通信控制器, 可以实现BOSCH 规范中定义的CAN 2.0 A/B 协议, 该模块也支持该协议的CAN 1.2、CAN2.0A、CAN 2.0BPassive 以及CAN2.0B AcTIve等版本。

  2 CAN总线实现方案

  本文介绍的系统中的每个节点都由单片机、CAN控制器、MCP2551收发器组成。单片机主要用于系统的计算及信息处理等功能; CAN控制器主要用于系统的通信; MCP2551收发器主要用于增强系统的驱动能力。系统的发送过程是首先由单片机对外围设备或其他节点传送过来的信息进行处理, 按CAN规范规定的格式将其写入CAN控制器的发送缓冲器, 并启动发送命令, 再把数据发送到CAN总线上; 而其接收过程则是CAN控制器从CAN总线上自动接收数据, 并经过过滤后存入CAN接收缓冲器, 且向单片机发出中断请求,此时单片机可从CAN的接收缓冲器读取要接收的数据。图1所示是CAN总线通信的简单示意图。

1.jpg
图1 CAN总线通信示意图

Tag:单片机学习单片机开发,单片机原理维修教程知识 - 单片机学习