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

引言

  现场总线技术已经广泛的应用于工业控制中,尤其是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 单片机电路

  图3 CAN接口电路

  图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总线控制网络之间的信息传输问题,为现场总线的灵活应用提供了基础。本设计经过现场实验,实验结果表明网关运行良好,工作可靠稳定,并已应用到实际工作中。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在单片机的世界里,“字节”(Byte)是一个贯穿始终的核心概念。从存储数据到执行指令,从变量定义到外设通信,字节无处不在。很多初学者在学习单片机时,往往更关注复杂的程序逻辑和外设驱动,却忽略了字节这个基础知识点,导致在后...

关键字: 单片机 字节

在单片机的数字逻辑中,我们通常最关注的是高电平和低电平两种状态,它们构成了二进制数字世界的基础。然而,除了这两种状态之外,还有一种至关重要但常常被忽视的状态——高阻态(High Impedance State)。高阻态就...

关键字: 单片机 高阻态

新德里2026年2月7日 /PRNewswire/ -- 互联网名称与数字地址分配机构(ICANN)将于2026年3月7日至12日在孟买召开第85届公共会议,本次会议由印度电...

关键字: CAN 互联网 IC 电子

对于PIC入门者来说,不需要盲目追求高端开发板,一块功能均衡、资料丰富的入门款就能满足需求。比如Microchip官方推出的PIC16F84A开发板,它搭载经典的8位PIC内核,引脚布局清晰,自带LED、按键等基础外设,...

关键字: PIC 单片机

该低功耗器件支持5V运行,在实现高性能的同时,能有效保障系统简洁性与成本效益

关键字: MCU 单片机 工业自动化

洛杉矶2026年1月30日 /美通社/ -- 互联网名称与数字地址分配机构(ICANN)提名委员会(NomCom)现已开放加入ICANN董事会的申请。 新任董事会成员的任期将...

关键字: CAN IC 互联网 BSP

CH558T 采用 BASIC-52 系统,并具备蓝牙连接功能。CH558T 的运行频率为 48 MHz,拥有 4KB 的 xRAM,足以满足常规应用需求。

关键字: 单片机 BASIC-52 系统 CH558T

上海2026年1月20日 /美通社/ -- 近日,Lucanet蓝科大股东、全球知名软件投资机构Hg宣布以约64亿美元收购并私有化财务绩效管理巨头OneStream(纳斯达克代码:OS)。 *OneStrea...

关键字: CAN NET STREAM 软件

RGB显示屏凭借高分辨率、真彩色显示优势,在工业控制、智能终端、消费电子等领域应用广泛。裸屏RGB显示屏无内置驱动电路,需搭配专用LCD驱动芯片才能与单片机协同工作,其核心作用是将单片机输出的图像数据转换为屏幕可识别的R...

关键字: 显示屏 驱动芯片 单片机

在嵌入式系统开发中,单片机(MCU)作为控制核心,广泛应用于工业自动化、智能家居等领域。然而,当需要控制继电器或电磁阀等大功率负载时,直接连接单片机引脚往往会导致系统故障甚至硬件损坏。

关键字: 单片机 MCU
关闭