中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

您当前所在位置: 汽车电子 > 查看内容

基于ARM处理器的CAN-Ethernet通信模块实现

文章作者头像
发布:清雅轩 作者: webmaster来源: job.cartech8.com
PostTime:16-5-2008 20:50

以下为文章全文:(本站微信公共账号:cartech8)


汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师

  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 逻辑时应严格按照逻辑式生成与或逻辑。

  2. 2  CAN 总线通信控制芯片SJA1000 的读写

  CAN总线通信控制芯片SJA1000 没有提供单独的地址线,而使用可以与Intel 和Motorola系列微控制器兼容的分时复用地址/ 数据线。在一个读写周期内,微控制器首先输出操作地址并使地址锁存信号ALE 有效,SJA1000 在ALE 信号的下降沿将操作地址锁在片内;之后微处理器发出读写信号进行数据传输。但S3C44B0x 的数据线和地址线是分离的,对SJA1000 的读写操作需要模拟微控制器,先在数据线上写一个操作地址,并模拟产生一个ALE 信号锁存这个地址,之后进行正常的读写操作。系统使用地址线ADDR0 区分地址传输和数据传输:写奇地址时,不选通SJA1000 芯片,但给出一个有效的模拟ALE 信号;读写偶地址时,选通SJA1000 读写数据。另外,系统同时有两路CAN 总线接口,读写操作根据地址线ADDR1 区分两个SJA1000 芯片,两个片选信号和ALE 信号都要通过GAL 芯片产生,各信号如图5所示。

图5  SJA1000 控制信号的产生

  图中虚线是向SJA1000 传输和锁存地址的过程,实线是读写操作的过程。用ABEL 语言书写的各信号产生逻辑式为:

  CAN-CS = nGCS4 # ADDR0 ;

  ALE = ! nWE &ADDR0 & ! nGCS4 ;

  对SJA1000 的操作地址如下:地址锁存向0x08000001端口写地址;数据读写通过地址0x08000000。

  3  通信模块的软件设计

  通信模块和CAN 总线上的设备节点之间直接通过SJA1000收发CAN 总线报文进行通信,报文中的数据格式可以是基于CAN 总线的上层标准协议,也可以由用户定义。为了方便与以太网上计算机的通信,CAN-Ethernet 通信模块在以太网一端使用UDP协议,这样,计算机上的软件可以使用操作系统提供的网络访问服务。

  每一个CAN-Ethernet 通信模块需要设定局域网内一个惟一的IP地址,通过固定的UDP端口和计算机通信。模块和计算机之间既可以使用对单点IP的通信,也可以在UDP端口发送广播报文。在以太网一端,通信模块接收到UDP 报文后,将其中的信息组织成CAN 总线报文发往CAN 总线;在CAN 总线一端,通信模块接收报文标识能够通过本节点接收码和接收掩码设置的CAN 总线报文,并封装为UDP 报文,转发到以太网上。各节点IP 地址、UDP工作端口和CAN报文接收掩码等设置在系统初始化时进行。

[文章纠错]

文章网友提供,仅供学习参考,版权为原作者所有,如侵犯到

你的权益请联系542334618@126.com,我们会及时处理。

会员评价:

0 发表评论

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 30-10-2025 23:48 , Processed in 0.302897 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.