新闻中心

EEPW首页>嵌入式系统>设计应用> 基于CAN总线与以太网的嵌入式网关设计

基于CAN总线与以太网的嵌入式网关设计

作者: 时间:2009-08-26 来源:网络 收藏

2.2 RTL8019AS驱动程序的实现
RTL8019AS的驱动程序和SJA的驱动程序一样,有3种功能:芯片初始化、收包、发包。
(1)RTL8019AS的初始化。RTL8019AS的初始化过程比较复杂,但十分重要,它决定了通信过程中的一些重要参数。如设置相关工作模式的寄存器,分配和初始化接收及发送缓冲区,初始化网卡接收地址等,其流程图见图5所示。

本文引用地址://m.amcfsurvey.com/article/152371.htm

(2)数据的发送与接收。因为在RTL8019AS的初始化程序中已经完成了的物理地址设置,并指定了发送缓冲区起始页面地址寄存器TPSR。此外,RTL8019AS的CRC校验自动生成器也被使能,所以RTL8019AS的数据包发送程序相对要简单。在数据包的发送过程中,AT89C55只要通过远程DMA将待发送的数据包写至RTL8019AS片内SRAM的发送缓冲区,并启动发送过程即可。
在接收数据包时,有查询和中断两种方式,鉴于AT89C55的处理能力有限,在该中采用查询方式,根据判断CURB==BNRY+1,可以判断是否收到新的数据包,如果有则通过DMA读操作从网卡芯片RAM读出数据。
2.3协议转换流程
网络接口实现两种网络的互连。当应用层有数据要发送到节点时,首先将数据发送到,由控制器协议转换模块解析完整的协议数据包,通过控制器发送到CAN。反之,当CAN设备有数据要发送到用户层时,首先将数据发送到透明,由CAN控制器协议模块将完整的CAN协议数据包存放在缓冲区,再通知主控芯片,由它调用以太网控制协议转换模块,将完整的 CAN协议数据包作为应用层数据封装起来,再发送到以太网的应用层。

3 结 语
这里介绍的是一种低成本、高可靠性、快捷的CAN以太网网关的硬件、软件方案,通过实际应用证明,该可以作为CAN节点的一个模块,能够与仪器仪表等设备相结合,使其具有网络通信的能力,比较同类产品的设计,该设计能大大提高其性价比。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭