龙人嵌入式事业部 嵌入式开发 全国统一服务电话:0755-83662100 嵌入式开发 | arm开发板 | 联系我们 | 加入收藏 | 网站地图
嵌入式开发搜索:
arm解决方案
 用户服务  
 ARM技术
 总线设计
 驱动设计
 网络协议
 嵌入式系统
 工程师之谈
深圳龙人嵌入式事业部首页/用户服务/ARM技术
嵌入式ARM处理器的CAN-Ethernet通信模块实现
近20 年来工业测控系统发展的趋势是:分散控制和集中管理、标准化和开放性。工业测控系统从传统的集中测量控制系统转向网络化的集散控制系统。随着现场总线技术高速发展和标准化程度不断提高,以现场总线技术为基础的开放型集散测控系统—现场总线测控系统得到了广泛的应用。同时,以太网的应用也迅速向工业测控系统渗透,在工业自动化应用中异军突起。

这种趋势的出现与计算机技术、信息技术、网络通信技术的高速发展相关。现代工业系统信息交换的需求也已经从管理层内部迅速覆盖到控制、现场设备等各个层次,连接上层网络和现场总线的通信设备成为工厂自动化系统中的关键设备之一。CAN-Ethernet通信模块,是一种直接连接以太网和CAN现场总线的设备,有效解决了控制系统中现场总线和上层信息管理层的互联问题,使自动化系统中的信息交换可以深入到现场设备一级。

1  CAN 总线和以太网的连接

现有的CAN 总线到以太网的通信实现方案中,采用较多的是使用一台连接以太网的计算机,在计算机中安装一块内置式CAN通信板卡;或者通过计算机并行和串行接口外接CAN 的通信模块。这种方法有一定局限性,例如,使用计算机体积大,成本高;计算机故障后的重启速度慢,这可能严重影响系统的工作。采用基于ARM微处理器的单板机系统建立CAN-Ethernet 通信模块,可以很好地解决上述问题,降低系统的成本,提高其性能。CAN-Ethernet通信模块连接以太网和CAN 总线的结构如图1 所示。在以太网和CAN 总线之间,可以挂接一个通信模块连接两种网络,也可以使用多个通信模块形成多个通路。对于第二种情况,以太网上的计算机可以通过指定IP地址和上层协议的端口选择通路。

图1  通过通信模块连接以太网和CAN 总线

2  通信模块的硬件设计

信模块的硬件核心采用高性能的ARM处理器S3C44B0x。它是一种精简指令处理器,可以在32位指令字的ARM模式下和16位指令字的Thumb模式下工作,设计者可以根据需要在性能和代码大小之间进行折衷;片内有8KB的高速静态RAM,既可以作为高速缓存,也可以作为片内存储器使用;片内外设包括异步和同步串行接口、I2C接口、LCD控制器及接口、实时时钟等。ARM处理器还具有低能耗和高性价比,非常适用于构建性能较高的嵌入式系统。

通信模块使用2片39VF040芯片,位扩展后组成512K/16bit共1MB的Flash ROM作为程序和配置数据的存储空间,使用1片62LV25616芯片组成256K/16bit 共512B的静态随机存储器。CAN总线通信控制芯片选用了Philips公司的SJA1000T,它是一种独立的CAN 总线通信控制器,仅需要CPU给出必要的指令,控制器就可以自动完成链路层以下的收发工作,并通知CPU总线的工作状态。以太网通信控制芯片采用了台湾Realtek公司的RTL8019as,它是一种ISA 接口的10Mb/s以太网卡芯片,内部包含了以太网媒体访问控制和物理层驱动,并带有16KB的片上缓冲RAM。

2. 1  处理器和5 V 系统数据线的连接

系统中的处理器S3C44B0x 和存储器芯片都使用3.3 V 的IO电压,CAN总线接口、以太网接口则使用5V的工作电压。 S3C44B0x 的数据、地址和控制信号线可以直接驱动这些外围电路芯片(参考S3C44B0x、SJA1000、RTL8019as 数据手册) ,但是外围电路芯片输出的高电平可能损坏处理器和直接挂接在处理器数据线上的其他芯片。因此,数据线上应该使用总线转换器进行3.3/5V电平转换。系统选用了兼容3.3 V和5V的信号电平的双向总线收发器LCX245芯片。LCX245 的控制信号包括方向控制端DIR(0 :B →A ,1 :A →B) 和使能控制端OE(0 :接通,1 :隔断) ,这些控制信号将使用GAL芯片产生。图2 为系统的硬件连接示意图。



图2  系统的硬件连接示意图

GAL 芯片选用GAL16V8D-15LP ,它的传播延迟时间为15ns ,反馈延迟时间为7ns ,适于较高速度的工作。除了产生总线收发器芯片的控制信号外,同一片GAL 还用来产生SJA1000 需要的控制信号。根据处理器S3C44B0x 的输出信号, 包括为SJA1000分配的地址组选通信号nGCS3和RTL8019分配的地址组选通信号nGCS4、读写信号线nOE和nWE,可以产生总线收发器LCX245所需要的DIR和OE信号,各信号如图3 所示。



图3  LCX245 控制信号的产生

nGCSx 是处理器的地址组选通信号,S3C44B0x 将外部地址空间从地址0 开始,每32M划分为一个组(Bank ) ,外部寻址时地址线A0 ~ A24 输出组内地址,该地址所在的组的组选通信号同时有效。图中虚线代表写操作时的DIR 信号,实线为读操作的信号。从图中可以得到使用ABEL 语言描写的的信号生成逻辑式为:  
 
OE = (nOE &nWE) # (nGCS3 &nGCS4 &nGCS5) ;
DIR = nOE # (nGCS3 &nGCS4 &nGCS5) ;  
 
但是为了使系统更加稳定地工作,应保证OE 信号有效时DIR 信号不发生变化,也就是说进行读操作时图中OE 低电平脉冲的前沿应晚于DIR ,后沿应早于DIR ,这样将出现反馈逻辑,可以使用类似于同步时序电路的设计方法设计。图4 是OE 信号和DIR 信号的次态卡诺图,次态符合上述要求,并且在输入一定的状态下,OE 信号和DIR 信号总是每次改变一个,逐次进入最后的稳态状态(粗体字表示) 。图中“×”表示不会出现的输入状态。



图4  OE 和DIR 次态 卡诺图
根据卡诺图重新写出的次态逻辑产生式,消除单独输入(包括OE 和DIR 的当前状态) 变化可能引起的竞争- 冒险现象后为:

OEn = (nOE &nWE) # (nOE & ! DIR) # (nWE &DIR) # (nGCS3 &nGCS4 &nGCS5) ; ///

DIRn = ( ! OE &DIR) # (nOE &DIR) # (nOE &OE) # (nGCS3 & nGCS4 &nGCS5) ;

编译GAL 逻辑时应严格按照逻辑式生成与或逻辑。

上一条:[图文]基于ARM9芯片S3C2410异常中断程序设计     下一条:[推荐]ARM嵌入式开发程序设计优化策略与技术
 
Microchip 采用 MIPS 科技模拟和处理器 IP,
两种嵌入式系统设计模型研究
DSP和PBL3717A构成的步进电机的控制系统
[注意]嵌入式开发之ARM MPCore技术
[图文]Dot NET:嵌入式开发平台

龙人计算机系统工程有限公司
龙人计算机系统工程有限公司深圳分公司嵌入式事业部
深圳总部:深圳市福田区福虹路世界贸易广场B座12F/13F
服务电话:+86-0755-83690800 83662100


龙人嵌入式开发
告用户:龙人ARM开发板,ARM9开发板,ARM解决方案,嵌入式开发,嵌入式系统等服务和产品9~12均有优惠活动,详情请致电0755-83662100
版权所有 © 2005-2008 龙人计算机系统工程有限公司,保留所有权力 粤ICP备08012900号