CAN总线PC适配卡设计

发布者:boyhxz最新更新时间:2012-02-04 来源: dzsc关键字:PCI总线  CAN总线  通信控制器 手机看文章 扫描二维码
随时随地手机看文章

引 言 

分布式工业测控系统需要有现场总线来连接各现场设备及处理控制单元。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支持基本CAN(Bisic-CAN)和增强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内部寄存器的内存映射空间和一个中断源。[page] 

PCI9052提供了5个局部地址空间,可以选用其中的一个作为SJA1000的地址空间,分配32个8位地址空间。同时设置相应的初始化,PCI配置寄存器中的寄存器PCIBAR2设置为0XFFFFFFE0,向系统请求分配内存的数量为32,类型为不可预读,其它寄存器的值可设置为0。设置局部地址空间的范围为0X00000000~0X00000020。对中断的配置是把PCI中断请求线分配到系统的某一ISA中断请求(IRQ)线上。在本控制卡中利用一块串行EEPROM(93C46B)存放控制卡的PCI配置信息。上电后访问93C46B,实现本控制卡的自动配置。

图1 总线接口原理图 

接口的软件设计 

软件的设计包括PCI驱动程序的设计和COM组件的设计。由于PCI设备的中断、I/O端口、映射内存等资源都是动态分配的,必须编写驱动程序管理硬件,才能供用户编程使用。CAN卡驱动程序的开发工具采用WINDRIVER。由于CAN卡上没有微控制器,因此对总线端口的所有操作都是由驱动程序来完成的。这不仅可以由计算机来实现复杂的功能,例如,错误检测、断点续传等,同时节省了硬件,而且有利于卡的升级———只要更换驱动程序即可。驱动程序的功能主要是配置SJA1000的接口、收发CAN总线上的数据、对总线进行实时监测、接收用户程序的收发命令。收发数据和CAN总线错误均采用中断处理,驱动程序可以快速响应,通过事件(Event)内核对象直接通知给用户程序。CAN总线通信适配器的初始化是CAN总线设计的重要环节,也是设计的难点。在其初始化过程中需要设置的参数有时钟、总线配置、标志标识符屏蔽段、扩展标识符屏蔽段、信息块、定时器0、定时器1、信息块的控制段、信息块的工作方式等。CAN总线适配器简化流程图如图2所示。

图2 CAN总线适配器简化流程图 

结束语 

本文设计的CAN总线适配器结构简单,可用于分布的现场总线控制系统。在WIN2000下经过长时间的运行测试,运行稳定可靠。它可以适应不同的传输速率和距离,有效保证了工业过程监控的实时性,同时也减轻了上位机的工作负担,满足不同的用户要求。 

关键字:PCI总线  CAN总线  通信控制器 引用地址:CAN总线PC适配卡设计

上一篇:CPLD在嵌入式系统与CAN总线网络通信中的应用
下一篇:用CAN/LIN总线实现车门分布式控制系统

推荐阅读最新更新时间:2024-05-02 21:53

CAN总线在测温系统中的应用
控制器局部网(controller area network,CAN)属于现场总线的范畴,它是一种有效支持分布式控制的串行通讯网络,被公认为是最有前途的现场总线之一。本文利用MAX6675测温芯片作为传感器,使用CAN总线标准设计了一种智能测温系统(适用范围0℃~+1023.5℃)。该系统精度高( 0.5℃)、可靠性好、结构简单、成本低,在适用范围内可取代传统的测温系统,对该系统稍加修改,可使它应用于在多种测温场合。 1 硬件设计 硬件电路由微处理器、CAN控制器、测温芯片MAX6675、LED、键盘、复位电路、蜂鸣器等几部分组成,如图1所示。单片机AT89C51是硬件电路的核心,承担CAN 控制器的初始化、数据收发控制等任
[单片机]
<font color='red'>CAN总线</font>在测温系统中的应用
基于ADμC812的CAN总线智能节点的设计
摘要:介绍了一种用单片机ADμC812、CAN总线控制器SJA1000和CAN总线驱动器POA82C250组成的CAN总线智能节点的设计方案,给出了该节点的硬件结构和软件设计方法,同时介绍了CAN总线的主要特点。 关键词:CAN总线;ADμC812;数据采集卡 1 引言 CAN(Controller Area Network)总线协议最初是以研发和生产汽车电子产品著称的德国BOSCH公司开发的,它是一种支持分布式实时控制系统的串行通信局域网。目前,CAN总线以其高性能、高可靠性、实时性等优点,而被广泛应用于控制系统中的检测和执行机构之间的数据通信中。CAN总线具有以下一些技术特性: ●多主方式工作,采用非破坏性的基于优先
[应用]
CAN总线K75系列产品在车库控制中的应用
  机动车车库管理控制系统      一. 使用需求     1.车库内共有70个车位,每个车位入口设门, 应有控制开门,关门的控制信号。同时,还应检测每个车位是否有车,车位门状态是打开还是关闭。     2.设置一个集中管理站,由车库管理员统一管理整个车库的车辆入出状况,各车位空闲情况,远程管理各车位门的开闭。     3.对全车库车位的使用情况实时统计,记录各车位的车辆进入离开时间,并保留记录一定时间,以便于管理。应有车辆收费管理功能。      二. 方案     根据上述需求,考虑如下方案     1.在每个车位空间内安装一个红外反射式光电检测器来检测是否有车辆停入,检测器依此发出有,无的开关量信号。在车位门的适当位置安装红
[嵌入式]
用I/O命令访问PCI总线设备配置空间
    摘要: 通过对PCI协议配置机制的分析,提出一种直接用I/O命令访问PCI总线设备配置空间的方法,给出了相应的C语言程序,并在实际应用中得到验证,从而在大多数情况下避免了复杂的驱动程序开发。     关键词: PCI总线 配置空间 操作系统 PCI总线推出以来,以其独有的特性受到众多厂商的青睐,已经成为计算机扩展总线的主流。目前,国内的许多技术人员已经具备开发PCI总线接口设备的能力。但是PCI总线的编程技术,也就是对PCI总线设备的操作技术,一直是一件让技术人员感到头疼的事情。PCI总线编程的核心技术是对相应板卡配置空间的理解和访问。一般软件编程人员基于对硬件设备原理的生疏,很难理解并操作配置空间,
[应用]
支持CAN总线的电动车热心肠!助力逆变电源设计
电动车由于储能设备容量有限,在运行过程中对电能流向管理十分严格。精确的电能管理可以延长车辆运行里程,减少电池充电频率,从而节约运行成本。车载能量管理系统需要随时监控电池电压、电机输出功率以及其它设备的用电情况。同时,电动车电子控制系统的动态信息必须具有实时性,各子系统需要将车辆的公共数据实行共享,如电机转速、车轮转速、油门踏板位置等。但不同控制单元的控制周期不同,数据转换速度、各控制命令的优先级也不同,因此需要一种具有优先权竞争模式的数据交换网络,并且本身具有极高的通信速率。此外,作为一种载人交通工具,电动汽车必须具有极高的运行稳定性,整车通讯系统必须具有很强的容错能力和快速处理能力。 德国Bosch公司为了解决现代车辆中众多
[嵌入式]
基于CAN总线的老化测试系统的设计方案
  1 引言   汽车上用的电子设备的可靠工作与优良性能关系者驾驶者的生命安全。车用电子设备出厂前要求对设备内部电路板进行长时间老化测试,以检测电路板在高温环境和各种输入信号条件下,是否仍正常工作。只有经过老化测试的电路板才能出厂。由于需要老化测试的电路板数量巨大,要求该系统能同时老化测试许多块被检测电路板,因此设计了本老化测试系统。整个老化测试由 1个通信模块、 10个测试模块、1个温控模块及上微机软件构成。本老化检测系统的系统结构图如图 1所示。   图 1 系统结构图在本系统中,每个检测模块最多可同时检测 10块电路板,共有 10个检测模块,因此,整个系统在一次老化检测过程可以同时检测100块电路板。检测模块将检测的数据通过
[单片机]
基于<font color='red'>CAN总线</font>的老化测试系统的设计方案
串行通信控制器85C30及其应用
摘要:85C30是美国AMD公司生产的高性能双通道串并转换通信控制器,它支持多种通信协议,可用于各种多串口通信应用领域,文中介绍了85C30的特性、结构和功能,给出了85C30在异步通信中的应用方法。 关键词:串行通信控制器 85C30 异步通信 1 概述 85C30是AMD公司生产的双通道、全双工、支持多种通信协议的通信控制芯片,该芯片自身带有串并、并串转换功能,可广泛应用于微控制器组成的多串口串行通信应用系统中。其内部集成了波特率生成器、数字锁相环和晶体振荡器等可编程器件,因而可大大减少对外围电路的需要,提高了系统的可靠性,更适用于高速通信应用领域。 85C30的主要特性如下: ● 具有两个可全双工工作的通
[应用]
CAN总线通信适配卡的设计与实现
1 CAN总线简介 CAN(Controller Area Network)总线属于现场总线的范畴,是一种有效支持分布式控制或实时控制的串行通信网络。CAN协议目前已纳入ISO国际标准(ISO11898),它分为物理层、数据链路层和应用层,其中物理层和数据链路层协议已经集成在芯片中,可通过硬件自动完成数据的成帧与发送和接收,从而大大减少软件的工作量,因此,特别适用于工业自动化领域,尤其是那些强调低层监测与控制且要求可靠性高、实时性好的恶劣条件下的工业现场使用。 CAN总线具有以下突出特点: ● 能够以多主节点方式工作,网络上任一节点均可设成主节点以其它节点主动发送信息。 ●报文传输不含目标地址,它以全网广播为基础,
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved