现场总线技术已经广泛应用于工业控制中,尤其是CAN(Controler Area Nerwork)总线由于具有可靠性高、成本低、容易实现等优点,在现场总线实际工程应用中占有了较大份额。伴随着总线技术发展,LIN(Local Interconnect Network)总线作为一种低成本串行通信网络,其目标是为现有现场总线控制网络提供辅助功能,特别是汽车控制网络中总线应用,因此必然存在一个LIN总线和其它总线通信接口实现,本文以CAN总线为例,提出了一种基于AT89C51CC03单片机CAN-LIN网关设计方案。
LIN是一种低成本串行通讯网络用于实现汽车中分布式电子系统控制,LIN目标是为现有汽车网络(例如CAN总线)提供辅助功能,因此LIN总线是一种辅助总线网络,在不需要CAN总线带宽和多功能场合比如智能传感器和制动装置之间通讯,使用LIN总线可大大节省成本。LIN通讯是基于SCI(UART)数据格式,采用单主控制器/多从设备模式,仅使用一根12V信号总线和一个无固定时间基准节点同步时钟线。
网关硬件设计
整个网关模块包括LIN接口、CAN接口、CAN波特率设置、LIN波特率设置、电源模块、状态灯六个子模块(图1)。
图1 系统结构框图
AT89C51CC03是Atmel公司一款内嵌CAN控制器8位单片机。本设计中以AT89C51CC03单片机为基础,选择TJA1020作为LIN总线收发器,采用单片机UART接口,在CAN模块设计部分选择PCA82C250作为CAN总线收发器,具体电路连接如图2、图3、图4所示。
图2 单片机电路
图4 LIN接口电路
在电路中我们设计了一个5位拨码开关,由于在各个不同工作系统中,LIN总线和CAN总线传输是不一样,这就需要改换软件,因此在此设计中用一个5位拨码开关用于波特率设置,三位用于LIN波特率设置,两位用于CAN波特率设置。同时为了展示网关工作状态,特意设计了工作指示灯,在接收和发送信号时分别以一定频率闪烁,当有故障出现时,两个灯同时点亮。
为增强CAN节点抗干扰能力,单片机TXDC和RXDC引脚并不是直接与PCA82C250ATXD和RXD引脚相连,而是通过高速光耦6N137相连(图3)。这样很好实现了总线上各个节点间电气隔离,光耦部分电路所采用两个电源VCC和VDD必须是完全隔离,否则采用光耦也就失去了意义。
网关软件设计
网关软件设计主要包括主控程序模块和CAN模块软件设计以及LIN模块软件设计,CAN模块软件设计主要有三个子函数,一个是CAN初始化CAN_INIT(),另外两个是CAN_RE_ISR()和CAN_SEND()。CAN_INIT()主要是设置CAN通信波特率和CAN基本设置,波特率可以根据拨码开关值来设定,在系统上电之后通过自检程序自动扫描,查预先设定好波特率表格,设定CAN通信波特率。
CAN_RE_ISR()负责信息接收和处理,CAN_SEND()负责信息发送。
LIN模块软件设计主要包括几个文件:LIN.H、LIN.C、TEMR0.H TEMRO.C,其中LIN.H、LIN.C分别实现LIN规范设定以及UART波特率设定和LIN信息接收与发送,TEMR0.H TEMRO.C用于产生LIN总线波特率。主控程序设计主要完成整个网关信息转发功能,当CAN接收中断发生时,置LIN发送标志位,准备转发CAN信息到LIN网络;同样,当LIN接收中断生时,置CAN发送标志位,准备发送LIN信息到CAN网络。
整个软件以C51编写,并利用KEIL公司仿真软件进行软件调试,最后将完整程序烧写到AT89C51CC01flash空间。
结语
本文提出了基于AT89C51CC01单片机CAN-LIN网关设计,解决了现场总线控制中CAN总线控制网络和LIN总线控制网络之间信息传输问题,为现场总线灵活应用提供了基础。本设计经过现场实验,实验结果表明网关运行良好,工作可靠稳定,并已应用到实际工作中。
容-源-电-子-网-为你提供技术支持本文地址:http://www.dziuu.com/dz/22/15791389023612.shtml
本文标签:
猜你感兴趣:
运用单片机便是了解单片机硬件结构,以及内部资源的运用,在汇编或C语言中学会各种功用的初始化设置,以及完成各种功用的程序编制。 运用按钮输入信号,发光二极管显现输出
关键词:51单片机PIC单片机单片机 所属栏目:设计编程
我的答案是:不可以原因如下:一、软件仿真多用于教学,把更多精力用在软件的实现上由于学生学习时间宝贵,焊接一套单片机实验板又比较花时间,并且实验项目太多,所以为了
关键词:PIC单片机51单片机单片机 所属栏目:设计编程
对于新手来说,首先根据自己学的什么样单片机就选什么类型的单片机,熟悉什么类型的单片机就选什么类型的单片机。因为单片机不仅要设计电路,还要设计控制软件。选自己熟悉的单片机上手最快,也最容易获得成功。下面介绍如何选择最适合的单片机。
关键词: 所属栏目:设计编程
单片机晶振的作用是什么
在初学单片机的时候,总是伴随很多有关于晶振的问题,其实晶振就是如同人的心脏,是血液的脉搏,把单片机的晶振问题搞明白了,51单片机的其他问题
关键词:51单片机PIC单片机单片机 所属栏目:设计编程
Keil单片机编程软件Keil C51是单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇
关键词:51单片机PIC单片机 所属栏目:设计编程
详解51单片机运行过程 注:1.ROM:只读存储器,单片机的只读存储区大多用于存储程序固又称程序存储器。51单片机是EPROM,所谓的EPROM是可擦除的只
关键词: 所属栏目:设计编程
pic单片机和c51有什么区别(区别1)总线结构:MCS-51单片机的总线结构是冯-诺依曼型,计算机在同一个存储空间取指令和数据,两者不能同时进行;而PIC单片机的总线结构是哈佛结构
关键词:单片机PIC单片机51单片机 所属栏目:设计编程
实例分析51单片机出现故障及解决办法。详细如下:
故障现象:做了一个单片机温度监测系统,仿真机上一切正常,烧写芯片无法工作。相关电路框图: 用51做处理器,外围电路如
关键词:单片机51单片机 所属栏目:设计编程
PIC单片机汇编语言指令详解
pic单片机为最常用单片机之一,许多程序均基于pic单片机进行开发。因此,熟练pic单片机编程尤为重要。为保证大家能准确、熟练掌握pic单片机的使
关键词:PIC单片机单片机 所属栏目:设计编程
三种51单片机程序下载方法介绍
一般只能通过三种方式下载程序到单片机中:1.JTAG 2.ISP 3.IAP1.JTAG要使用JTAG方式下载程序,不管是使用J-LINK、ULINK、ST-LINK,只需要把
关键词:PIC单片机51单片机单片机 所属栏目:设计编程
I2C每一位信号的时序流程,而I2C通信在字节级的传输中,也有固定的时序要求。I2C通信的起始信号(Start)后,首先要发送一个从机的地址,这个地址一共有 7位,紧跟着的第 8
关键词:PIC单片机51单片机单片机 所属栏目:设计编程
越来越多的测量仪器提供GPIB(General Purpose Intefface Bus)总线接口,通过该总线可以方便快捷地连接带有GPIB接口的仪器及计算机,组成一个GPlB网络。GPIB设备与计算机连
关键词:PIC单片机51单片机单片机 所属栏目:设计编程
每个单片机系统里都有晶振,全程是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立
关键词:51单片机PIC单片机单片机 所属栏目:设计编程
引言变频调速作为交流电机调速的主要手段已经在工业领域中应用的十分广泛,其具有的调速范围宽、稳速精度高、动态响应快、适用范围广、运行可靠等技术性能,已逐步取代直流
关键词:单片机变频器 所属栏目:设计编程
电子密码锁按照输入密码方式的不同可分为好多种,其中最常用的一种是用数字键盘输入密码的电子密码锁。这一讲主要介绍用ATmega8和LCD1602液晶显示器等组成的电子密码锁,这
关键词:单片机 所属栏目:设计编程
1.实验任务如图所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。2.电路原理图3.系统
关键词:单片机LEDLED电路图 所属栏目:设计编程
近日,有媒体报道称,北京微电子技术研究所日前成功研制出国内首个自主可控的宇航用千万门级高性能高可靠FPGA(现场可编程门阵列)芯片。FPGA一直是国内的短板,市场基本被
关键词:单片机 所属栏目:设计编程
怎么学单片机?也常看到有人说学了好几个月可就是没有什么进展。当然,受限于每个人受到的教育水平不同和个人理解能力的差异,学习起来会有快慢之分,但我感觉最重的就是学
关键词:单片机 所属栏目:设计编程
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。 <特殊功能寄存器地址映象表(一)> <特殊功能寄存器地址映象表(二)> <
关键词:单片机寄存器 所属栏目:设计编程
倒立摆作为一种典型的控制系统实验装置,具有非线性、自然不稳定等特性,常用来作为检验某种控制理论或方法是否合理的典型方案。一阶倒立摆系统能用多种理论和方法来实现其
关键词:单片机 所属栏目:设计编程