一种无需使用单片机的PC/104总线和CAN总线之间的接口制造技术

技术编号:2868598 阅读:244 留言:0更新日期:2012-04-11 18:40
利用SJA1000总线控制器用于实现PC/104和CAN总线之间的接口装置,包括:    用于驱动功能的驱动芯片,从PC/104的/IOW、/IOR、ALE到SJA1000的/WR、/RD、ALE;    两片八双向总线收发器。用于实现总线间的隔离,其中一片的左侧连PC/104端的地址总线(8位),另一片的左侧连PC/104端的数据总线(低8位),两个收发器的右侧共同连到SJA1000的地址/数据复用总线(8位);和控制逻辑模块,连接PC/104端地址总线的低8位以上部分和读、写控制线到SJA1000的片选/CS,用于共同完成对SJA1000的片选、对双向总线收发器的使能端控制和方向控制。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及通讯、控制、电力系统监控。尤其涉及计算机通讯领域中的总线之间的接口。
技术介绍
ISA总线是计算机中广泛应用的总线,为人们所熟知。PC/104总线是ISA总线的一种变化形式,其引脚的组成和功能与ISA总线完全相同,只是PC/104总线的结构更紧凑,且可堆叠,适应于嵌入式系统的需要。CAN总线是一种在工业控制系统中广泛应用的总线。在控制领域,PC/104总线和CAN总线之间的转换接口是很常见。目前,对这两种总线的转换大部分使用的是智能接口,即用单片机来处理接口逻辑,双方不直接进行数据交换,而是用双口RAM来做一个中转站,使数据得到缓冲。这样的接口优点是智能化程度高,使用灵活,缺点是增加了一个单片机芯片,还要增加一个双口RAM芯片,大大提高了成本。
技术实现思路
PC/104总线是一种地址总线和数据总线分离的总线,而CAN总线的控制器一般都是地址总线和数据总线复用的。PC/104端通常都是本地CPU端,在这样的两种总线之间进行连接,关键就是解决地址总线和数据总线如何通过适当的逻辑合并到一起,达到分时复用的目的。用单片机实现这样的逻辑是很简单的,但正如前文所述,将大幅度增加成本,而且如果没有其它用途的话,对单片机的功能是比较浪费的。因此,如果能够找到无需使用单片机的接口逻辑,是解决这一问题的好方法。笔者选用Philips公司的CAN总线控制器SJA1000,使用一些常见的数字集成电路芯片,以简单的控制逻辑构造出了一种无需使用单片机的PC/104总线和CAN总线之间的接口。本专利技术提供了利用SJA1000总线控制器用于实现PC/104和CAN总线之间的接口装置,包括用于驱动功能的驱动芯片,从PC/104的/IOW、/IOR、ALE到SJA1000的/WR、/RD、ALE;两片八双向总线收发器。用于实现总线间的隔离,其中一片的左侧连PC/104端的地址总线(8位),另一片的左侧连PC/104端的数据总线(低8位),两个收发器的右侧共同连到SJA1000的地址/数据复用总线(8位);控制逻辑模块,连接PC/104端地址总线的低8位以上部分和读、写控制线到SJA1000的片选/CS,用于共同完成对SJA1000的片选、对双向总线收发器的使能端控制和方向控制。附图说明图1示例了按照本专利技术的PC/104和CAN总线之间的接口结构;图2示例了PC/104总线的读写时序示意图;图3示例了按照本专利技术的SJA1000初始化流程图;图4示例了按照本专利技术的SJA1000配置处理流程图;图5示例了按照本专利技术的PC/104和CAN总线之间的接口的实际原理图。具体实施例方式SJA1000是Philips公司推出的一种CAN总线控制器芯片,它从软件和硬件上都兼容于该公司此前的产品PCA82C200,并且在功能上有所扩展,最高波特率可达1M。使用时,其输出直接与CAN总线收发器82C250相连,输入则来自PC/104总线。两种总线之间构成如图1所示的结构。参考图1,图1中的接口主要分为三个部分第一个部分是图1的下部,实现简单的驱动功能,从PC/104的/IOW、/IOR、ALE到SJA1000的/WR、/RD、ALE,中间只是通过一片驱动芯片,增加驱动能力。第二个部分是图1的上部,实现总线的隔离,用两片八双向总线收发器即可完成这种隔离。其中一片的左侧连PC/104端的地址总线(8位),另一片的左侧连PC/104端的数据总线(低8位),两个收发器的右侧共同连到SJA1000的地址/数据复用总线(8位)。第三个功能是控制逻辑部分,由PC/104端地址总线的低8位以上部分和读、写控制线共同完成对SJA1000的片选、对双向总线收发器的使能端控制和方向控制。SJA1000的片选/CS可根据实际需要由地址高位的某种组合来提供。简单的设计可以在硬件中设定为地址高位的一种确定组合,不可更改。采用更方便使用的设计方式,可以设计为全部或部分地址位可由用户自行选择确定的方式。要确定对八双向总线收发器的使能端和方向进行控制的逻辑,首先就要了解PC/104总线的时序。PC/104总线的读写时序示意图如图2所示。从图2中可以看出,在整个读周期和写周期,地址总线上的地址总是存在的,而数据总线上的数据则是只存在于部分时段。当进行读操作时,数据的出现滞后于读信号的出现,但数据存在的时段基本包含在读信号的有效范围内。当进行写操作时,数据的出现领先于写信号的出现,且在整个写信号有效的时段中均有效。根据以上时序特征,双向总线收发器的使能端和方向控制可按照以下原则实现逻辑连接PC/104的数据总线的双向总线收发器,其方向应控制为在读操作时自SJA1000至PC/104,写操作时自PC/104至SJA1000。该逻辑可以更加简化为在读操作时自SJA1000至PC/104,在非读操作时自PC/104至SJA1000,这样一来,就可以简单的利用/RD一个控制信号来控制该总线收发器的方向了。而其使能端有效则应满足两个条件一个是PC/104有读操作或写操作之一,另一个是SJA1000的片选应是有效的。这两个条件同时满足,就避免在PC/104对其它设备进行读写操作时误使连接数据的双向总线收发器开通。连接PC/104的地址总线的双向总线收发器,其方向应始终是自PC/104至SJA1000,可以用一个固定的电平控制。而其使能端应在上述连接数据总线的双向总线收发器使能端无效时有效,保证二者分时使用SJA1000的总线而不会冲突。按照如图1所示的接口,可以用以上的简单逻辑来实现两种总线间的正常数据交换,完成各种操作。只需在PC/104端运行的软件中,对SJA1000进行初始化和配置,就可正常工作。SJA1000初始化流程如图3所示。初始化包括对CAN控制器工作方式的选择和对中断的设置。首先进行初始化与否的判断,若已经初始化过就不必再初始化,然后判断地址是否合法,对合法地址才能继续初始化。将SJA1000设为复位态,置位同步位,置位后正常,再设置时钟分频寄存器,并判断中断号是否合法,若合法就打开CAN中断。成功进行了这一系列操作就完成了初始化。SJA1000配置处理流程如图4所示。配置包括开放中断和对各种寄存器的设置。首先将SJA1000置为复位态,以能够进行设置。如果是中断方式,就置位中断请求和接收中断允许,如果非中断方式,就只置位中断请求。然后写如总线定时寄存器BTR0和BTR1、验收码寄存器、验收屏蔽寄存器、输出控制寄存器等。如上所述,下面描述实现一个PC/104总线面向两个CAN总线控制器SJA1000的具体实施方案。图1的下半部分驱动芯片选择74LS244,图1的上部总线隔离采用两片八双向总线收发器74LS245。但本专利技术不限于此,如本领域技术人员所熟知的,可以采用其他的74系列的芯片进行替代。具体电路参见原理图,控制逻辑分析如下参见图5的原理图,说明如下U16为74LS688,与拨动开关SW1、排电阻PR1共同组成地址选择部分。U1和U2为CAN总线控制芯片SJA1000,可以在软件中规定其基地址偏移,基地址由拨动开关SW1决定。其片选的控制逻辑为/CS1=/(/688Y*/PCA9*PCA8)/CS2=/(/688Y*PCA9*PCA8)ALE、/RD、/WR分别为本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:武芳瑛吴涤
申请(专利权)人:北京四方继保自动化有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1