积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 单片机 >> 应用论文
  相关分类: 相关文章 | 应用论文 | 新产品 | 下载 |
AT90CAN128的开关量控制单元设计
 
作者:兰 州 交 通 大 学 王丽梅 陈光武   来源:单片机与嵌入式系统应用    点击数:116   更新时间:2008-10-8
您可以添加到网摘 让更多人关注此文章:

    引 言
    CAN(Controller Area NetWork)总线技术是一种有效支持分布式控制和实时控制的串行通信网络,广泛应用于工业控制。其硬件连接简单,可靠性好,实时性和性价比高,能够很好地满足计算机联锁系统通信网络对实时性和可靠性的要求。
    AVR单片机是由Atmel公司研发的增强型内置Flash的RISC高速8位单片机。本设计使用的是AVR系列新型单片机AT90CAN128,它自带CAN控制器,使得通信部分的硬件电路设计大大简化,因此增强了系统可靠性。


1 CAN总线技术简介
   
CAN总线是德国Bosch公司20世纪80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达1 Mbps。CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等工作。CAN总线具有以下技术特性:
    ①废除了传统的站地址编码,改为对通信数据块进行编码。采用这种方法的优点是,可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块;这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。
    ②数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC校验并可提供相应的错误处理功能,保证了数据通信的可靠性。
    ③CAN采用非破坏总线仲裁技术。当多个节点同时向总线发送信息出现冲突时,优先级较低的节点会主动退出发送,而优先级最高的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。即使在网络负载很重的情况下,也不会出现网络瘫痪的情况。


2 AT90CAN128功能简介
2.1 基本特性
   
AT90C2AN128微控制器采用具有先进的RISC结构和低功耗的8位单片机,在一个时钟周期内执行一条指令,因此可以达到接近1 MIPS/MHz的性能。
    AT90CAN128具有以下特点:128 KB的可在系统编程/应用编程(ISP/IAP)Flash程序存储器,4 KB SRAM,32个通用工作寄存器,53个通用I/O口,实时时钟计数器(RTC),4个带有比较模式灵活的定时器/计数器,2个可编程的USRAT接口,1个8位面向字节的TWI(I2C)总线接口,8通道单端或差分输入的10位ADC(其中1个差分通道为增益可调的),可编程带内部振荡器的看门狗定时器,1个SPI接口,1个符合2.0A或2.0B的CAN控制器接口,一个兼容IEEE1149.1标准的JTAG接口(用于在线仿真调试和程序下载),6种可通过软件选择的节电模式。
2.2 内置CAN控制器
   
AT90CAN128内置完全符合CAN2.0A和2.0B标准协议的CAN控制器。采用Mob(消息对象)方式进行数据的发送和接收,共有15个Mob,它们具有相同的属性:有11位标识符(2.0A协议),也可扩展至29位(2.0B协议);最多为8字节数据缓冲(静态分配);Tx、Rx帧缓冲或自动响应配置;时间标识。CAN控制器的结构如图1所示。

    Mob用来设置帧格式和存放数据。Mob的数目是0~14,它们相互独立,但在进行总线仲裁时,低位的Mob会获得优先权。每个Mob都被安置在一个页中来保存,页的序号即Mob的序号。


3 控制单元的软硬件设计
3.1 整体结构
   
开关量控制单元与计算机联锁系统中其他的控制单元以及上位机等节点共同构成CAN通信网络。每一个控制单元都有自己独立的地址,当上位机发出指令时,网络中的CAN节点对指令中的地址信息进行比对,如果与自己的地址一致则接收数据并执行相应的控制命令。AT90CAN128的CAN控制器接口与TJA1050芯片通过光耦相连组成CAN通信通道,接收上位机下发的控制命令,使电子开关吸合或断开,即接通或断开负载。其A/D转换通道对负载电路的电流进行采样,如果电流过载,则单片机停止输出周期性脉冲信号给动态电路,断开与电源相连的继电器组,切断电源供给,以保证系统安全。
    开关量控制单元的硬件结构如图2所示。

3.2 硬件设计(CAN通信部分)
   
AT90CAN128的晶振频率在5 V时可以达到16MHz,其与CAN总线的硬件连接如图3所示。

    本设计中,CAN通信采用AT90CAN128内置的CAN控制器与CAN收发器TJA1050经高速光耦6N137相连接。TJA1050速率高,最高可达1 Mbps,提供总线与电源及地之间的短路保护。其引脚8(STB)用于选定工作模式,有两种工作模式可供选择:高速或待机。这里,引脚8接地,选择高速模式,高速模式是TJA1050的正常工作模式。如果引脚接高电平,则TJA1050将进入待机模式,发送器被关闭。高速光耦6N137起隔离控制器与工业现场的作用,可以提高系统的抗干扰能力。电路采用独立的电源供电,有效地避免了外界电压变化对通信的影响。
3.3 软件设计
   
CAN总线节点要有效、实时地完成通信任务,软件的设计是关键。CAN总线节点的软件设计主要包括CAN控制器的初始化、数据接收和数据发送程序。主程序通过调用函数来实现数据的接收和发送。
3.3.1 CAN初始化
   
为了正确地实现通信,这一部分要对波特率,标识码寄存器CANIDT、标识码屏蔽寄存器CANIDM,发送与接收Mob的页号,数据长度、中断开启、Mob使能等内容作出设置。本设计采用CAN2.0A协议,即标识符为11位。将标识码寄存器CANIDT1设置为开关量控制单元的地址Addr,其余的标识码寄存器设置为0。该地址只使用一个8位寄存器,因此标识码屏蔽寄存器只需设置CANIDM1为0xFF,其余的标识码屏蔽寄存器设置为0。


    由4个标识码寄存器CANIDT、标识码屏蔽寄存器CANIDM组成验收滤波器,信息只有通过它的验收滤波才能被接收。所有验收屏蔽寄存器为0的位,验收码寄存器和CAN信息帧对应位必须相同才能验收通过;而所有验收屏蔽寄存器为1的位,验收码寄存器对应位的验收滤波功能则被屏蔽。本例中只接收ID为Addr的信息。
3.3.2 发送子程序
   
发送时只需将待发送的数据按特定格式送入发送缓存区中,然后启动发送即可。


3.3.3 接收子程序
   
消息的接收采用中断方式实现。首先要关闭接收中断,然后设置CANPAGE寄存器来指定接收的页数,随后由CANCDMob寄存器来控制接收动作。当有消息到达时,将触发CANSTMob寄存器中的RXOK中断,消息中的数据将被装载到CANMSG寄存器中。


结 语
    本文详细介绍了以AT90CAN128微控制器为核心的开关量控制单元的主要软硬件设计。与目前同类型的单片机相比较,AT90CAN128由于内置CAN控制器,因而可大大降低设备成本,简化硬件结构,提高通信效率、安全性以及可靠性。实践证明,开关量控制单元在计算机联锁系统中运行稳定,能够很好地实现预期的功能。



相关文章
· 基于单片机的某车型CAN总线系统设计[17]
· 基于MSP430的烟雾报警器优化设计[271]
· 一种简单有效的面向过程软件设计思想[132]
· 嵌入式DDR息线的布线分析与设计[124]
· 为当今的电子设计选择合适的音频转换器[159]
热门评论排行
·VHDL设计中电路简化问题的
·ARM嵌入式系统基础教程(N
·江苏嵌入式Linux教育培训
·ARM处理器应用开发4步骤
·锐极LINUX驱动培训班定于

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
未来MEMS产业恐缩水 车
iSuppli发布08年半导体厂商初
飞兆半导体指控英飞凌专利侵权
全球三大晶圆代工巨头齐遇冷 
封测厂呼吁台DRAM厂别出货&nbs
反激式控制器可为任何大小的电容器充电
安森美半导体任命林剑铭为大中华区销售
意法半导体(ST)芯片启动中国最大的
台积电联电欲削减成本 强制
4G标准芯片受欢迎 多模W
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
嵌入式十三法则...
基于CPLD和单片机的任意波形...
电子行业的发展方向...
单片机-超低价专业PCB打样...
超低价专业PCB打样 双面板...
[原创]主题:移动开发平台的建...
[原创]正弦脉宽调制(SPWM...
[推荐]Agilent8590...
[推荐]HP8591E HP8...
[推荐]Agilent8711...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网