基于AT89C51CC01单片机的CAN-LIN网关设计

发布者:bdwhsc最新更新时间:2011-08-11 关键字:AT89C51CC01  CAN-LIN  网关设计 手机看文章 扫描二维码
随时随地手机看文章

  伴随着总线技术的发展,LIN(Local Interconnect Network)总线作为一种低成本的串行通信网络,其目标是为现有的现场总线控制网络提供辅助功能,特别是汽车控制网络中的总线应用,因此必然存在一个LIN总线和其它总线的通信接口实现,本文以CAN总线为例,提出了一种基于AT89C51CC03单片机的CAN-LIN网关设计方案。

  LIN是一种低成本的串行通讯网络用于实现汽车中的分布式电子系统控制,LIN的目标是为现有汽车网络(例如CAN总线)提供辅助功能,因此LIN总线是一种辅助的总线网络,在不需要CAN总线的带宽和多功能的场合比如智能传感器和制动装置之间的通讯,使用LIN总线可大大节省成本。LIN通讯是基于SCI(UART)数据格式,采用单主控制器/多从设备的模式,仅使用一根12V信号总线和一个无固定时间基准的节点同步时钟线。

  网关硬件设计

  整个网关模块包括LIN接口、CAN接口、CAN波特率设置、LIN波特率设置、电源模块、状态灯六个子模块(图1)。

  

基于AT89C51CC01单片机的CAN—LIN网关设计

 

  图1 系统结构框图

  AT89C51CC03是Atmel公司的一款内嵌CAN控制器的8位单片机。本设计中以AT89C51CC03单片机为基础,选择TJA1020作为LIN总线收发器,采用单片机的UART接口,在CAN模块设计部分选择PCA82C250作为CAN总线收发器,具体的电路连接如图2、图3、图4所示。

  

基于AT89C51CC01单片机的CAN—LIN网关设计[page]

图2 单片机电路

  

基于AT89C51CC01单片机的CAN—LIN网关设计

 

  图3 CAN接口电路

  

基于AT89C51CC01单片机的CAN—LIN网关设计

 

  图4 LIN接口电路

  在电路中我们设计了一个5位的拨码开关,由于在各个不同的工作系统中,LIN总线和CAN总线的传输是不一样的,这就需要改换软件,因此在此设计中用一个5位的拨码开关用于波特率设置,三位用于LIN波特率设置,两位用于CAN波特率设置。同时为了展示网关的工作状态,特意设计了工作指示灯,在接收和发送信号时分别以一定的频率闪烁,当有故障出现时,两个灯同时点亮。

  为增强CAN节点的抗干扰能力,单片机的TXDC和RXDC引脚并不是直接与PCA82C250A的TXD和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公司的仿真软件进行软件调试,最后将完整程序烧写到AT89C51CC01的flash空间。

  结语

  本文提出了基于AT89C51CC01单片机的CAN-LIN网关设计,解决了现场总线控制中的CAN总线控制网络和LIN总线控制网络之间的信息传输问题,为现场总线的灵活应用提供了基础。本设计经过现场实验,实验结果表明网关运行良好,工作可靠稳定,并已应用到实际工作中。

 

关键字:AT89C51CC01  CAN-LIN  网关设计 引用地址:基于AT89C51CC01单片机的CAN-LIN网关设计

上一篇:基于单片机的多媒体教学幕布控制系统设计
下一篇:基于89C51的摄像镜头控制电路设计

推荐阅读最新更新时间:2024-03-16 12:39

基于S3C4480X控制的蓝牙音频网关设计与实现
  0引言   针对最后十米的传输问题,蓝牙技术已经逐渐成为低成本、短距离无线个人网络传输的首选技术,其主要目标是提供一个全双工的无线传输环境,从而实现语音和数据的无线传输。对于近距离传输,蓝牙可采用高速跳频技术(FH)来确保链路的稳定,而且抗干扰性强,不易窃听。此外,蓝牙芯片的价格低廉,实现扩展容易。通过蓝牙还可以对家居音频设备网络进行控制。   为此,本文设计了一种基于S3C4480X的蓝牙音频网关(AG)系统,该系统可实现与蓝牙耳机之间的点对点连接,以建立一个音频连接,从   而实现两者之间的配对与语音数据传输。   1蓝牙体系结构   蓝牙无线通信协议标准包括核心协议和应用框架两大部分。蓝牙协议标准的目的是在遵循
[单片机]
基于S3C4480X控制的蓝牙音频<font color='red'>网关</font><font color='red'>设计</font>与实现
ZigBee网络协议转换的嵌入式网关设计
摘要:针对如何将基于ZigBee的网络接入基于TCP/IP的互联网,提出了一种基于ZigBee的嵌入式网关的设计方案。网关硬件选用PXA270嵌入式平台与CC2430无线模块,基于Windows CE操作系统和Z Stack协议栈,来实现网关的数据转发和ZigBee网络管理功能。 关键词:ZigBee;嵌入式;CC2430;TCP/IP;网关 0 引言 物联网是一个基于互联网、传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。它具有普通对象设备化、自治终端互联化和普适服务智能化3个重要特征。 随着物联网技术的发展,基于ZigBee技术的无线传感器网络己经被广泛的应用到人们的生产及生活当中(如家庭
[嵌入式]
ZigBee网络协议转换的嵌入式<font color='red'>网关</font><font color='red'>设计</font>
基于6LOWPAN传感器网关设计
    目前IEEE 802.15.4已成为针对低功耗、低数据速率、低可靠性的通用标准。如ZigBee、WirelessHART等在物理层和MAC层均采用IEEE 802.15.4标准,但在网络层它们采用各自定义的协议,不能实现网络层的互联。且无线传感器网络一般采用自定义的通信地址,地址数量有限,仅在单个无线网络内有效。而IPv6具有充足的地址空间,IPv6所具有的特性较好地满足物联网应用需求,是物联网大规模发展的基础性保证。因此,物联网采用IPv6协议实现其广泛互联通成为必然趋势。IETF成立了3个工作组进行低功耗IPv6网络方面的研究,旨在将IPv6与资源受限的无线网络无缝连接。     文中对基于6LoWPAN的无线传感器网络
[嵌入式]
基于SOPC的分布式干扰系统嵌入式网关设计
0 引言 分布式干扰系统是一种综合化、一体化、小型化、网络化和智能化系统,是将众多体积小,重量轻,廉价的小功率侦察干扰机装置在易于投放的小型平台上,撒布在接近被干扰目标空域地,通过指令启动,自主组网,并根据控制对敌方雷达网、通信网、制导网和预警机等电子信息系统实施接近式侦察和干扰,这将在未来的电子对抗中发挥重要作用。分布式干扰系统采用逼近的分布式网络化结构,形成一种“面对面”的电子战系统,共同完成对敌信号的探测、定位、干扰任务。因此,嵌入式网关是分布式干扰系统研究的关键技术之一。目前国内对分布式干扰系统的研究还停留在理论基础上,而对其关键技术的研究不多。本文首次在现场可编程门阵列(Field Programmable Gat
[单片机]
基于SOPC的分布式干扰系统嵌入式<font color='red'>网关</font><font color='red'>设计</font>
CAN总线与以太网嵌入式网关电路设计攻略
  提出一种工业现场总线与以太网互联方法,介绍以太网与CAN 现场总线之间协议转换网关的设计与实现,采用 AT89C55 ($1.4635) 作为主处理器,通过两个接口芯片实现CAN总线与以太网的互连,分别给出其硬件结构和软件设计思想。   目前,对于CAN 和以太网相连的嵌入式网关设计主要有两种方法:一种是低档MCU 加接口芯片的设计方法,另一种是高档MCU 加EOS(实时多任务操作系统)再加接口芯片的设计方法。因CAN 只采用了ISO/OSI 参考模型的一、二层,协议相对简单,比较适合用于低成本、速率要求不高的离散控制系统。从合理的成本和有效利用处理能力这两方面考虑,该设计采用低档MCU 加接口芯片的方法,其硬件框图见图。
[单片机]
CAN总线与以太网嵌入式<font color='red'>网关</font>电路<font color='red'>设计</font>攻略
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved