引 言
散布式工业测控体系需求有现场总线来衔接各现场设备及处理操控单元。CAN总线便是一种具有较高功用价格比、能满意散布式操控要求的现场总线,具有广泛的运用前景。它实际上是一种简化型网络结构,在结构单片处理器网络中极为有用。为了使上位机也能和CAN总线相连,使微机成为体系的上位机,增强操控体系的功用,然后进一步延伸CAN总线连通规模,就需求供给一个微机和CAN总线的接口。本文介绍作者规划制造的一种CAN总线PCI适配器。
接口的硬件规划
PCI接口的完结
现在市面上有些CAN总线的适配器,但大多都是依据PC/104或许ISA总线,传输速度较慢,功率低下。作者在规划中运用高效的PCI总线,完结了数据的高速传输。与ISA总线相比较,PCI总线具有如下特色:①传输速度高。PCI总线宽度为32位(可扩展为64位)。时钟频率为0~33MHz。并且支撑突发传送,传输速度能够到达132Mb/s。相比较,ISA总线宽度为8/16位,时钟频率为132Mb/s相比较,ISA总线为8位/16位,时钟频率为8MHz,不支撑突发传送,传输速率仅为8Mb/s;②即插即用。PCI完结了真实的即插即用。体系能够完结对PCI设备的主动装备;③生命周期长。PCI总线与处理器无关(通过桥或直接集成),可支撑多种系列处理器,包含将来会呈现的新一代处理器。
因为PCI总线标准十分杂乱,其接口规划难度较大,但现在有许多厂商供给了专用的PCI接口芯片。这些接口芯片大多对PCI总线标准2.1、2.2版彻底兼容,然后大大减轻了PCI板卡规划的作业量。PCI设备能够分为主形式和从形式。主形式能够履行DMA操作,而从形式只能够履行读写操作。依据PCI供给的传输数据带宽(最大132Mb/s)和CAN总线(最大1Mbps)的要求,加上经济和开发难度与周期上的考虑(主形式桥芯片较贵重,开发难度较大),又因不需求DMA功用,选用从形式桥芯片足以满意传输数据的需求。此外,挑选芯片不只考虑功用和经济上的要求,并且还需求考虑硬件开发和驱动程序开发的难易。如不供给满意的芯片阐明和运用样例及开发工具,将大大添加开发难度和延伸开发周期。这儿咱们选用PLX公司的PCI总线方针接口芯片PCI9052作为CAN总线适配器的PCI总线接口芯片,担任与计算机之间的数据通讯。9052是PLX公司开发的低价格PCI总线从形式接口芯片,低功耗,契合PCI2.1标准,供给的部分总线可通过编程设置为8/16/32位的(非)复用总线。
CAN总线接口的完结
CAN总线之所以在国内甚至全球规模内一向坚持高速开展,彻底取决于其杰出的功用。CAN总线首要运用在轿车范畴,跟着集成工艺的开展和本钱的下降,被越来越多的操控范畴内的软硬件工程师所承受,广泛的运用于各行各业的操控范畴网中。其首要功用指标如下:①多站裁定结构(分地址优先级,非损坏方法裁定);②支撑主从播送方法;③不加任何扩展最多110个节点;④最高通讯速率1Mbps,最远通讯距离5km;⑤一般CAN操控器内部设有接纳和发送缓冲;⑥通讯以帧为单位,最多8个字节的数据;⑦硬件主动进行16位CRC校验;⑧具有极强的总线和通讯过错的管理才干。
因为PCI9052能够发动部分总线的读写,CAN卡不再需求微操控器,选用CAN通讯操控器即可,本卡选用SJA1000。SJA1000支撑根本AN(BisicCAN)和增强CAN(PeliCAN)两种作业形式,支撑具有新功用的CAN2.0B协议标准。具有FIFO、支撑热插拔等功用,不光能够完结CAN总线接口功用,并且芯片能够依据晶振的频率,输出可编程的信号CLKOUT,该信号正好可作为PCI9052部分总线的总线频率,节省了器材,便利了规划。CAN总线的总线频率可为12MHz、6MHz或24MHz,PCI9052主动完结部分总线与PCI总线的拜访同步。CAN总线收发器选用82C250。该芯片是CAN总线操控器和物理总线的接口,能够供给对CAN总线的差动发送和接纳才干,具有抗瞬间搅扰、维护总线的才干,能够通过调整CAN总线上通讯脉冲的边缘斜率来下降射频搅扰。其速度能够到达1Mbps,最多节点数能够到达110个。
地址译码和逻辑操控是由EPM7064S完结的。EPM7064S是ALTERA出品的MAX7000系列的一种。它首要完结两路独立的CAN总线通道的地址译码、完结操控信号的驱动和电平转化。通过EPM7064S能够前进体系的牢靠性,缩小板卡的尺度,便利今后板卡功用的扩展。为了在每个CAN总线通道呈现毛病时能够从头初始化,在接口卡中运用了两片复位芯片MAX811。由EPM7064S发生操控信号,当CAN总线通道呈现异常时,操控MAX811复位SJA1000操控器。其总线接口原理图1。
PCI为每一个PCI设备供给了一个装备空间来完结设备的即插即用(PnP)。在PC机上电自检时,装备软件扫描PCI总线,检测一切的PCI设备,读取装备信息,并为每一个PCI设备分配体系资源,完结PCI设备的即插即用。每一个PCI功用设备都有一个64个双字的装备空间,以特定的格局存储设备支撑的功用。PCI协议界说了最初的16个双字的格局和用处,称为设备的装备头区域。其它48个双字是设备特定的。CAN卡的硬件资源为映射SJA1000内部寄存器的内存映射空间和一个中止源。
PCI9052供给了5个部分地址空间,能够选用其间的一个作为SJA1000的地址空间,分配32个8位地址空间。一起设置相应的初始化,PCI装备寄存器中的寄存器PCIBAR2设置为0XFFFFFFE0,向体系恳求分配内存的数目为32,类型为不行预读,其它寄存器的值可设置为0。设置部分地址空间的规模为0X00000000~0X00000020。对中止的装备是把PCI中止恳求线分配到体系的某一ISA中止恳求(IRQ)线上。在本操控卡中运用一块串行EEPROM(93C46B)寄存操控卡的PCI装备信息。上电后拜访93C46B,完结本操控卡的主动装备。

接口的软件规划
软件的规划包含PCI驱动程序的规划和COM组件的规划。因为PCI设备的中止、I/O端口、映射内存等资源都是动态分配的,有必要编写驱动程序管理硬件,才干供用户编程运用。CAN卡驱动程序的开发工具选用WINDRIVER。因为CAN卡上没有微操控器,因而对总线端口的一切操作都是由驱动程序来完结的。这不只能够由计算机来完结杂乱的功用,例如,过错检测、断点续传等,一起节省了硬件,并且有利于卡的晋级——只需替换驱动程序即可。驱动程序的功用首要是装备SJA1000的接口、收发CAN总线上的数据、对总线进行实时监测、接纳用户程序的收发指令。收发数据和CAN总线过错均选用中止处理,驱动程序能够快速呼应,通过事情(Event)内核目标直接告诉给用户程序。CAN总线通讯适配器的初始化是CAN总线规划的重要环节,也是规划的难点。在其初始化进程中需求设置的参数有时钟、总线装备、标志标识符屏蔽段、扩展标识符屏蔽段、信息块、定时器0、定时器1、信息块的操控段、信息块的作业方法等。CAN总线适配器简化流程图如图2所示。

定论
本文规划的CAN总线适配器结构简略,可用于散布的现场总线操控体系。在WIN2000下通过长期的运转测验,运转安稳牢靠。它能够习惯不同的传输速率和距离,有用确保了工业进程监控的实时性,一起也减轻了上位机的作业担负,满意不同的用户要求。在不同栅偏压和散布参数条件下为芯片ESD维护的SNTSCR的I-V特性在CMOS工艺中现已详细叙述过。SNTSCR能够在小区域内坚持高的ESD电平关于现代高集成科学很有吸引力。不选用厚栅氧化层,一般小于0.25μmCMOS工艺中,SNTSCR在有用维护混合电压接口电路免于ESD损坏时充沛兼容。