CAN总线智能适配卡的设计
发布时间:2007/4/23 0:00:00 访问次数:475
关键词:CAN总线 智能适配卡 信号隔离
CAN(Controller Area Network)总线最初是由德国BOSCH公司为汽车检测与控制系统而设计的。由于其显著的特点,其应用范围越来越广,已扩大到过程控制、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域。目前,在国际上CAN总线已经成为控制领域的热点,但CAN总线在矿井下等特殊环境下的应用还没有进行系统的研究。本文针对矿井这种特殊环境设计了本安型CAN总线智能节点适配卡,为CAN总线在矿井下等一些比较恶劣环境下的应用提供了可靠的保证。
1 硬件结构
1.1 适配卡的功能
CAN总线与PC机的连接方法有两种:①通过一个转换器与PC机的串行口连接。该种方式设计简单,但数据转发速度较慢。②在PC机的扩展槽里插入一块适配卡。由于使用适配卡所交换的数据量较大,比较适合CAN总线的需求,所以近年来大多使用适配卡的方式。适配卡既可以对数据起到转发的作用,即收集CAN总线上各个节点的数据,转发给上位机,并把上位机的命令和数据发给各节点,也可以完成对CAN总线上的用户系统的部分监控和管理工作,故又被称为智能适配卡。它可以减轻上位机的负担,提高系统的实时性。这种适配卡需要的硬件条件较高,且需要较多的程序存储器和数据存储器。作者研制的就是这种智能适配卡。
模块,CAN模块比较接收码寄存器和帧的ID码,若相等则接收,并引发一个接收中断。在接收中断的处理中,P80C592读取码CAN模块接收缓冲区的数据,把它传送到CY7C09449的双口RAM中。最后PC机通过PCI总线定时读取CY7C09449双口RAM中的数据。中断申请电路由两个D触发器和一个用来译码的GAL芯片组成。两边的工作方式相同。
设计中考虑到便于电路调试和处理整体运行时出现的问题,选择三种复位方式。其硬件构成如图3所示。
(1)上电复位:与PC机上电复位同时复位。当PC机通过复位时,CAN适配卡也同时复位。
(2)手动复位:当调试中出现问题时,通过手动复位键复位,以便解决调试中出现的问题。
(3)软件复位:在程序运行中出现问题时,不需要关掉PC机,只需启动PC机管理程序中的初始化功能模块即可,它可通过软件指令对CAN适配卡进行复位。
硬件电路设计并不很困难,但也要注意一些事项,否则会事倍功半,功亏一篑。
(1)地线的设计应特别注意,为了减少噪声,模拟信号的地线和数字信号的地线应该分开。
(2)该适配卡的防暴技术主要采用电路隔离技术,同时采用本质安全技术,通过抑制电火花和热效应能量来防爆。电器设备的最大功率不应超过25W,对于5V电源的设备,它的功率一般要远远低于25W。开关触电开闭时的放电也应注意,要减少电路的储能器件(如电感和电容),一般要求最大电容小于5μF,最大电感小于20μF。
2 软件接口设计
接口软件设计包括单片机上的汇编程序和PC机上的设备驱动程序设计。两者的纽带是CY7C09449上的双口RAM。
这个双口RAM共有16KB的共享空间0x4000H~0x5FFFH为发送帧空间,0x6000~0x7FFFH为接收帧空间。x04E8是主机对本地处理器的邮箱HLDATA的地址,0x4F8是本地处理器对主机的邮箱LHDATA的地址,如图4所示。对于主机,这些地址都是偏移地址,还得加上PCI配置寄存器ABAR0中的值才是真正的物理地址。
HLDATA和LHDATA的用法分别如图5和图6所示。把发送空间和接收空间设计成两个循环队列,分别用两个指针来控制。发送空间和接收空间都是8K、13位的地址,指针是它们的8位,第5位为0。每个指针空间为32个字节,每帧10个字节,有22个字节是浪费的空间。由于已接收帧的地址和欲接收帧的地址不等,
关键词:CAN总线 智能适配卡 信号隔离
CAN(Controller Area Network)总线最初是由德国BOSCH公司为汽车检测与控制系统而设计的。由于其显著的特点,其应用范围越来越广,已扩大到过程控制、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域。目前,在国际上CAN总线已经成为控制领域的热点,但CAN总线在矿井下等特殊环境下的应用还没有进行系统的研究。本文针对矿井这种特殊环境设计了本安型CAN总线智能节点适配卡,为CAN总线在矿井下等一些比较恶劣环境下的应用提供了可靠的保证。
1 硬件结构
1.1 适配卡的功能
CAN总线与PC机的连接方法有两种:①通过一个转换器与PC机的串行口连接。该种方式设计简单,但数据转发速度较慢。②在PC机的扩展槽里插入一块适配卡。由于使用适配卡所交换的数据量较大,比较适合CAN总线的需求,所以近年来大多使用适配卡的方式。适配卡既可以对数据起到转发的作用,即收集CAN总线上各个节点的数据,转发给上位机,并把上位机的命令和数据发给各节点,也可以完成对CAN总线上的用户系统的部分监控和管理工作,故又被称为智能适配卡。它可以减轻上位机的负担,提高系统的实时性。这种适配卡需要的硬件条件较高,且需要较多的程序存储器和数据存储器。作者研制的就是这种智能适配卡。
模块,CAN模块比较接收码寄存器和帧的ID码,若相等则接收,并引发一个接收中断。在接收中断的处理中,P80C592读取码CAN模块接收缓冲区的数据,把它传送到CY7C09449的双口RAM中。最后PC机通过PCI总线定时读取CY7C09449双口RAM中的数据。中断申请电路由两个D触发器和一个用来译码的GAL芯片组成。两边的工作方式相同。
设计中考虑到便于电路调试和处理整体运行时出现的问题,选择三种复位方式。其硬件构成如图3所示。
(1)上电复位:与PC机上电复位同时复位。当PC机通过复位时,CAN适配卡也同时复位。
(2)手动复位:当调试中出现问题时,通过手动复位键复位,以便解决调试中出现的问题。
(3)软件复位:在程序运行中出现问题时,不需要关掉PC机,只需启动PC机管理程序中的初始化功能模块即可,它可通过软件指令对CAN适配卡进行复位。
硬件电路设计并不很困难,但也要注意一些事项,否则会事倍功半,功亏一篑。
(1)地线的设计应特别注意,为了减少噪声,模拟信号的地线和数字信号的地线应该分开。
(2)该适配卡的防暴技术主要采用电路隔离技术,同时采用本质安全技术,通过抑制电火花和热效应能量来防爆。电器设备的最大功率不应超过25W,对于5V电源的设备,它的功率一般要远远低于25W。开关触电开闭时的放电也应注意,要减少电路的储能器件(如电感和电容),一般要求最大电容小于5μF,最大电感小于20μF。
2 软件接口设计
接口软件设计包括单片机上的汇编程序和PC机上的设备驱动程序设计。两者的纽带是CY7C09449上的双口RAM。
这个双口RAM共有16KB的共享空间0x4000H~0x5FFFH为发送帧空间,0x6000~0x7FFFH为接收帧空间。x04E8是主机对本地处理器的邮箱HLDATA的地址,0x4F8是本地处理器对主机的邮箱LHDATA的地址,如图4所示。对于主机,这些地址都是偏移地址,还得加上PCI配置寄存器ABAR0中的值才是真正的物理地址。
HLDATA和LHDATA的用法分别如图5和图6所示。把发送空间和接收空间设计成两个循环队列,分别用两个指针来控制。发送空间和接收空间都是8K、13位的地址,指针是它们的8位,第5位为0。每个指针空间为32个字节,每帧10个字节,有22个字节是浪费的空间。由于已接收帧的地址和欲接收帧的地址不等,
上一篇:节省能源的温度控制器
上一篇:LIN总线节点的设计