新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > CAN总线通信适配卡的设计与实现

CAN总线通信适配卡的设计与实现

作者:时间:2012-03-13来源:网络收藏

图3为双口RAM的控制电路,其访问原理为:ISA总线共有24条地址线,可寻址16MB存储空间。地址线A12-A19接到比较器74LS688的P0-P7,比较器的Q0-Q5接一个六位的拨码开关,Q6、Q7接高电平。74LS688的输出接可编程逻辑器件GALl6V8。这样,当P0-7=Q0-7时,74LS688的输出为低电平,地址选择有效。另外,通过设置拨码开关,用户可以选择双口RAM在PC机存储器中的初始地址。如置拨码开关为Q0-5=001011,则双口RAM在ISA总线的初始地址为D0000H。这样,通过可编程逻辑器件GALl6V8便可将1SA总线的各种信号进行逻辑组合,以形成三个控制信号,从而实现PC机对双口RAM的访问。这三个信号为:

P19=P1*P2*P3*P6*P7 RAM片选信号

P18=P1*P2*P3*P6*P7*P5 RAM读信号

P17=P1*P2*P3*P6*P7*P4 RAM写信号

3.2微控制器电路

微控制器89C52是ATMEL公司的产品,它与MCS51系列CPU完全兼容,并带有8k字节的在系统可编程FLASH MEMORY(最多可以擦写100次),同时带有256B的片内RAM,因此一般不需要扩展片外ROM。

当89C52与通信时,通常需要较大的数据缓冲区,因此该系统中扩展了8kB的片外RAM来满足通信的需要。

在该适配卡中,有一些数据(如下层CAN节点的数目、CAN通信的初始化参数等)在适配卡断电以后仍需要保存,因此应扩展一片EEPROM。本卡采用的是一个8k X 8位的非易失性存储器2864,它的快速读时间最大为250ns,存储的数据可以保存10年。如果程序在运行过程中需要对适配卡的通信参数进行重新配置,可通过调用PC机对CAN适配卡参数配置子程序来完成,并可在设置成功的同时将相应的参数存入2864,以备下次适配卡启动时调用。

考虑到电路调试和系统故障的处理,本卡设计了三种复位方式。其中上电复位方式为在PC机通电时,使CAN适配器也同时复位;在调试出现问题时可通过手动复位键复位,以便解决调试中出现的问题;第三种是软件复位,该方式可通过调用PC机管理程序中的初始化模块并通过软件指令对CAN适配卡进行复位。

3.3 CAN通信控制电路

CAN通信控制器选用PHILIPS公司的sJAl000,它具有完成高性能通信协议所要求的全部必要特征,支持CAN协议约定的4种不同帧格式(即数据帧、远程帧、错误帧和超载帧),具有简单总线连接的SJAl000可完成物理层和数据链路层的所有功能,并在与CPU连接时可确保SJAl000以存储器映像的外围设备出现。为加强的差动发送和接收能力,该电路采用了收发接口电路82C250。82C250的引脚8允许选择高速、斜率控制和待机三种不同的工作方式,并可通过设置拨码开关切换不同的工作方式。在SJAl000与82C250之间接入光电耦合器可增强系统的抗干扰能力,光耦可采用高速光耦6N137,光耦两侧应采用5V的DC-DC隔离电源。图4所示是一种CAN通信接口电路。

4 适配卡的软件设计

适配卡主要承担的是计算机和CAN节点之间的数据转发任务,因而其软件设计也包括两部分:其一是PC机端的应用程序,用于负责完成PC机和双口RAM的通信。实际上,运行时需要开发虚拟设备驱动程序(VxD)来完成对双口RAM的读写、对双口RAM中断的处理以及和应用程序的通信。其二是卡上单片机端的程序设计,该程序采用FranklinC51编写,可完成单片机与双口RAM以及与CAN控制器之间的通信。图5为该适配卡的简化程序流程图。

参考文献

1.邬宽明.CAN总线原理和应用系统设计.北京航空航天大学出版社,1996.11

2.张旭东,廖先芸.IBM 微型机实用接口技术.科学技术文献出版社,1993

3.IDT Company,IDT7130SA/LA Specification,2000.6

4.Philips Semiconductor Company,CAN Specification[Version 2.0],1999.9

5.胡国鹏,等.CAN总线及其PC适配卡设计.工业控制计算机.2001.1


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭