本文为一种工业现场总线与以太网互联方法,介绍以太网与CAN现场总线之间协议转换网关的设计与实现,采用AT89C55作为主处理器,通过两个接口芯片实现CAN总线与以太网的互连,分别给出其硬件结构和软件设计思想。为企业信息网络与控制网络集成提供一种可行的方法。
目前,对于CAN和以太网相连的嵌入式网关设计主要有两种方法:一种是低档MCU加接口芯片的设计方法,另一种是高档MCU加EOS(实时多任务操作系统)再加接口芯片的设计方法。因CAN只采用了ISO/OSI参考模型的一、二层,协议相对简单,比较适合用于低成本、速率要求不高的离散控制系统。从合理的成本和有效利用处理能力这两方面考虑,该设计采用低档MCU加接口芯片的方法,其硬件框图见图1。
图1 硬件原理图
根据要求,该系统选择了性能价格比较高的Atmel公司生产的AT89C55单片机。它是面向测控对象和嵌入式应用的,所以它的体系结构以及CPU、指令系统、外围单元电路都是按照这种要求专门设计的。它内部带高达20 KB的FLASH程序存储器,AT89C55完全兼容8051指令集,片上FLASH方便了使用者进行在线编程,工作速率最高可达33 MHz,256 B的内部RAM,32个可编程的I/O口,3个16位的定时/计数器,8个中断源,支持低功耗的空闲工作模式。以太网接口选用的是RTL8019AS芯片,它是由Realtek公司生产的一种高度集成的以太网控制器,能实现以太网媒介访问层(MAC)和物理层(PHY)的全部功能。RTL8019AS内部有两个RAM区域:一是16 KB,地址为0x4000~0x7fff,要接收和发送数据包必须通过DMA读写RTL8019AS内部的16 KB的RAM,它实际上是双端口RAM,即有两条总线与其连接,一条总线用于RTL8019AS读/写或写/读该RAM,即本地DMA;另一条总线用于单片机读或写该RAM,即远程DMA;二是32个字节,地址为0x0000~0x001F,用于存储以太网物理地址。主控芯片和以太网接口芯片的硬件接口原理图见图2。值得注意的是由于以太网的包最大可以超过1 500个字节,AT89C55的片内RAM只有256个字节,因此无法存储这么大的包,所以这里扩展了一个32 KB的外部RAM,这样同时也能提高单片机的数据传输速度。
图2 以太网接口电路原理图
组成CAN系统的主要器件是CAN控制器和收发器。该设计中,CAN接口模块选用SJA1000芯片和PCA82C250芯片。SJA1000是一个独立的CAN控制器,它是Philips公司另一个CAN控制器PCA82C200的替代产品,且增加了一种新的工作模式(Peli CAN),这种模式支持CAN 2.0B协议。SJA1000主要完成CAN的通信协议,实现报文的装配和拆分、接收信息的过滤和校验等。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !