LPC2000系列CAN验收滤波的编程及应用

2007-04-23 11:28:56来源: 单片机及嵌入式系统应用
引 言

  随着信息技术的飞速发展,32位ARM微控制器以其低功耗、高性能以及小体积等特性,得到了广泛的应用。在汽车、消费娱乐、仪器仪表、工业控制、海量存储、网络、安保和无线等领域,随处可见其应用实例。因而,基于ARM的技术方案是最具市场前景和市场优势的解决方案。

  现场总线是当前工业通信领域中应用最广的技术之一。作为现场总线之一的CAN总线,以其高性能、高可靠性以及灵活的设计越来越受到人们的重视,越来越多的ARM微控制器带有CAN控制器。Philips 2000系列ARM微控制器是基于ARM7的集成有2个或4个CAN控制器的微控制器,在工业通信网络中有广泛的应用。

1 CAN总线的硬/软件设计简述

1.1 硬件设计

  LPC22000系列ARM内置CAN控制器,每一个CAN控制器都与SJA1000有相似的寄存器结构,只是寄存器访问由8位字节访问转变为32位双字访问,因而使得硬件连接相对变得简单。CAN总线驱动器使用82C250或TJA1050。为增强节点的抗干扰能力,CAN控制器与总线驱动器可不直接相连,而足通过高速光耦6N137连接。光耦部分采用的两个电源隔离,故采用电源隔离模块。

  1.2 软件设计

  CAN节点的基本软件设计包括CAN节点初始化、报文发送、报文接收3部分。在这3部分程序的基础上可编出CAN总线通信的一般应用程序。当然,要将CAN总线应用于通信任务比较复杂的系统中,还需要编写CAN总线异常处理、验收滤波设置等内容。

2 验收滤波器的设置及工作原理

  当CAN控制器接收一完整的标识符时,将通知验收滤波器。验收滤波器响应这个信号,并读出标识符,与AF(验收滤波)RAM中的标识符表格进行匹配,以决定接收或放弃此帧信息。

  AF RAM是一个容量为512×32位(2 KB)的RAM。通过软件设置,可在RAM中存放1~5个标识符表格。图1为一个完整的AF RAM内部表格分布。

 

  为方便编程实现,把AF RAM的内容按32位模式排列,每个32位称为一个"cell"。表格就是cell的集合。前两种表格中每个cell包含2个标识符,且配置时每个cell中高位标识符小于低位标识符,否则会引起验收滤波器执行失败。接下来的2个表格,每一对范围或每一个标识符占用1个cell,而合法的扩展标识符范围表格必须以偶数个cell出现。每个表格均需按升序排列,每种表格可根据应用需要适当裁减。

3 验收滤波编程实现

  程序用C语言编制,在ADS1.2开发环境下通过JTAG接口进行实时调试、仿真和下载,并在实际应用中得到了验证。要说明的是,Fullcan模式应用较少,程序未涉及它的设置;设置了独立标准标识符和标准标识符范围表格,对标准ID{1,2,0x10,0x20}和指定范围{{90<=ID<=100}及{0x300<=ID<=0X400}}的信号进行接收,独立扩展标识符表格和扩展标识符范围表格未设置。需要设置时,可参考前两种表格的设置程序。

 

 

 

 

  在CANREG.H中,定义验收滤波模式寄存器结构如下:

  另有如下寄存器地址定义:

  另有如下定义:

  ②初始化一个独立标准标识符表格的内容。

  ③初始化一个标准标识符组表格的内容。

  ④用独立标准标识符表格内容初始化LUT的独立标准标识符表格。

  ⑤用标准标识符范围表格内容初始化LUT的标准标识符范围表格。

  ⑥模式2,启动全局验收滤波器。

  在main.c中所含的4个相关函数略。

结 语

  在SJA1000的应用中,验收滤波器只能对一些规律性较强的ID和个数较少的ID进行滤波。当需要设计复杂的验收滤波器时,以上的验收滤波模块能起到一定的作用。当然,在具体的应用场合,还需要考虑通信协议、CAN总线异常处理、CAN初始化、接收和发送等程序。

关键字:干扰  隔离  电源  程序

编辑: 引用地址:http://www.eeworld.com.cn/designarticles/control/200704/13292.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
干扰
隔离
电源
程序

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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