CI总线的CAN卡的设计与实现_第1页
CI总线的CAN卡的设计与实现_第2页
CI总线的CAN卡的设计与实现_第3页
CI总线的CAN卡的设计与实现_第4页
CI总线的CAN卡的设计与实现_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于PCI总线的CAN卡的设计与实现现场总线CAN(ControllerAreaNetwork控制器局域网络)以其高性能、高可靠性及独特的设计,越来越受到人们的重视和青睐,不但在汽车行业中应用广泛,而且在工业控制、机器人、医疗器械、传感器等领域发展迅速。为了扩展CAN总线的功能,与计算机相连,可设计具有CAN接口和PC接口的CAN适配卡,用来收集CAN总线上各个节点的信息,转发给PC机,并可将PC机的命令和数据转发给各个节点以及完成对CAN总线上的用户系统的部分监控和管理工作。PCI总线是Intel公司推出的一种先进的高性能32/64位局部总线,可同时支持多组外围设备,不受制于处理器,数据吞吐量大(33MHz总线频率、32位传输时峰值可高达132MB/s)。目前PCI是处于主流的计算机总线。以往的CAN卡一般都是基于ISA总线的,由于ISA部传输速率低,CAN卡必须增加中继控制功能,才能够适应CAN的高速传输,导致造价高、体积大、传输速率低,不利于CAN总线的推广应用。由于PCI总线传输速度快,而且支持热插拔、电源管理等功能,不但能满足CAN总线的高速数据传输,性能高、功能强,而且体积小、价格低、使用方便、应用范围广。CAN卡的设计包括硬件设计和软件设计。1硬件设计PCI总线是一种独立于CPU的局部总线,不同于传统的ISA总线。由于PCI总线规范定义了严格的电气特性和时序要求,开发难度比ISA总线的开发难度大。实现PCI接口的方案一般有两种:采用可编程逻辑器件和专用总线接口器件。采用可编程逻辑器件实现PCI接口的最大好处是比较灵活,可把PCI时序模块和功能模块结合在一起,可以利用的器件也比较多(如Altera公司的CPLD器件、Xilinx公司的FPGA器件等),还可以购买由厂家提供的用VHDL、AHDL等硬件描述语言编制的PCI核心设计模块,但其设计难度还是很高,因为PCI总线对负载要求、传输数据的建立时间的要求都比较苛刻,同时还需要器件内部实现用于配置的各类寄存器,以及完成逻辑校验、地址译码等工作的寄存器(大致需要15000个门电路)。此外,还需加入FIFO、用户寄存器组和后端设备接口等部分。设计这种PCI总线接口会导致将大量的人力、物力投入到复杂的逻辑验证和时序分析的工作上,开发周期较长。要用专用接口器件虽然没有采用可编程逻辑器件那么灵活,但能够有效地降低接口设计的难度,缩短开发时间。专用接口器件具有较低的成本和很高的通用性,能够优化数据传输,提供配置空间,具备用于突发传输功能的片内FIFO,提供扩展局部总线等优点,并且许多公司还提供配套的开发工具(例如评估板或驱动程序开发软件),使用很方便,开发周期短。目前市场上常见的有PLX、AMCC、Cypress等公司的PCI桥芯片,各个型号的PCI接口芯片的大致特点如表1所示。表1各公司PCI接口芯片表公

司膨芯片型号(炉模式)樱芯片功能及刺特点骑价

格米开发技术支省持职PLX坚PCI90肥52(从)

检PCI90负54(主)再型号众多,属使用方便,显性能好丸较便宜近提供快速开遵发板RDK兴出售巧CYPRE渗SS民CY咬7C荒09449漠PV-AC帽(主)谢内置DPR茎AM,有效论降低系统成经本合便宜溜技术文档吃TI谢PCI20领31(从)

棍PCI12沙51(主)响与TI的D舰SP可无缝圣连接贪很便宜旧提供评估模溉块锯AMCC悄AMCC5帝920(从骄)

果AMCC5扁933(主授)炉FIFO接阔口适合于设扑计数据采集胃卡,性能好吹较昂贵哭提供评估板PCI设备可分为主模式和从模式。主模式桥芯片可以进行DMA操作,而从模式只能接受读写操作。根据PCI提供的传输数据带宽(最大132MB/s)和CAN总线(最大1Mbps)的要求,加上经济和开发难度与周期上考虑(主模式桥芯片较昂贵,开发难度较大),又因不需要DMA功能,采用从模式桥芯片足以满足传输数据的需要。此外,选择芯片不仅考虑性能和经济上的要求,而且还需要考虑硬件开发和驱动程序开发的难易。如果不提供足够的芯片说明和应用样例及开发工具,将大大增加开发难度和延长开周期。因此,采用PLX公司的PCI总线目标接口芯片PCI9052作为CAN卡中的PCI接口芯片,负责与计算机之间的数据通信。PCI9052是PLX公司开发的低价格PCI总线从模式接口芯片,低功耗,符合PCI2.1规范,提供的局部总线(LocalBus)可通过编程设置为8/16/32位的(非)复用总线。其主要特点有:(1)直接数据转换模式PCI9052支持PCI到LocalBus的内存映射和I/O映射的突发读写。(2)ISA接口逻辑PCI9052支持通过8/16位内存映射或I/O映射从PCI到ISA总线的单周期读、写访问。方便从ISA向PCI卡的转换。(3)中断产生器由LocalBus的两个中断信号可以产生一个PCI中断信号:INTA#。(4)局部总线PCI9052提供的局部总线不但可编程,而且与PCI总线的时钟相互独立运行,可实现异步操作,总线操作自动实现时序同步。两部分的异步运行方便了高、低速设备的兼容。局部的运行时钟频率范围0~40MHz、TTL电平,可由PCI提供或由用户自行提供;PCI的运行时钟频率范围0~33MHz。(5)串行EEPROM用于存入PCIBUS和LocalBus的部分配置信息。(6)4个局部设备片选基址和地址范围可以由串行EEPROM或主控设备进行设置。(7)5个局部地址空间基址和地址范围及其映射可以由串行EEPROM或主控设备进行设置。幕(8)Bi起g/Lit针tleE草ndian蜘模式的字节求交换适合逼不同计算机歉体系。秒(9)局部紫总线等待状阴态降了等胜待信号LR猪DYi#用喜于握手之外顾,PCI9发052还有或一个内部等但待产生器(制包括地址到凉数据周期、感数据到数据久周期和数据丸到地址周期认的等待)。备(10)延被迟读模式名PCI90狮52支持P带CI2.1学规范的延迟宗读模式。抽(11)F珠IFOP马CI905谦2包括一个亏64Byt岂e的写FI脑FO和一个辅32Byt带e的读FI三FO,从而女支持预取模夫式、即突发借操作。共(12)P炒CI锁定机谅制主控设花备可以通过天锁定信号占过有对PCI偶9052的剩唯一访问权担。办由于CAN黑总线的迅猛水发展,许多胆芯片厂商开淋发了很多系瓣列的CAN旋通信控制器烤芯片。如表盛2所示。倍表2主要兔CAN总线掏芯片旦制造商遥芯片型号涛芯片功能及皆特点水Intel首82527

茂8XC19果6CA/C鹰B凯CAN通信棵控制器,符码合CAN2右.0B

众扩展的8X浅C196+允CAN通信池控制器,符斥合CAN2钥.0B悉Phili克ps恳SJA10暗00

随82C漏250

博P51XA己-C3狐CAN通信挤控制器,符器合CAN2烦.0B

题高性能CA益N总线收发妄器

内16位微控渐制器+CA厉N通信控制立器,符合C制AN2.0难B渗Motor咱ola异68HC0昆5X4系列矛68HC0俗5微处理器会+CAN通茶信控制器卸NEC炕72005蜂CAN通信乡控制器,符仁合CAN介2.0A鸽/B晌由于PCI离9052可员以启动局部搁总线的读写栏,CAN卡网不再需要微立控制器,采起用CAN通抬信控制器即呢可,本CA排N卡采用S尚JA100汁0.SJA岗1000支姿持Basi谨cCAN和狸PeliC饲AN模式,商具有FIF捆O、支持热咳插拔等功能卧,不但可以滨实现CAN振总线接口功差能,而且芯汇片可以根据伐晶振的频率筋,输出可编固程的CLK黎OUT信号米,该信号正哥好可作为P扯CI905斑2的局部总印线的总线频遵率,节省了稳器件,方便盛了设计。C名AN总线的柜总线频率可棍为12MH阶z、16M边Hz或24巩MHz,P嘱CI905枯2自动实现伴局部总线与佳PCI总线拥的访问同步矩。CAN总臂线收发器采嚷用聪82C钢250.该拖芯片是CA桶N总线控制钱器和物理总负线的接口,是可以提供对桨CAN总线钥的差动发送简和接受能力堤,具有抗瞬括间干扰、保峡护部的能力离,可以通过毯调整CAN制总线通讯脉徒冲的边沿斜谢率来降低射京频干扰。筑由于PCI看设备在计算老机中的硬件裙资源是系统碑动态分配的勇,因此在设剑计出基本的狐硬件框架后防,要进行P没CI配置设糊计。CAN抛卡的硬件资艇源为映射S返JA100敌0内部寄存局器的内存映五射间和一个隐中断源。P勾CI905腾2提供5个磨局部地址空在间,可以选既用其中的一寇个作为SJ赠A1000沸的地址空间拥,分配32妖个8位地址遍。同时设置器相应的初始次化,PCI影配置寄存器蛋中的寄存器辩PCIBA豆R2设置为贵0XFFF苹FFFE0糖,向系统请扒求分配内存姿的数量为3齐2,类型为志不可预读,坚其它寄存器驾的值可设置愤为0。设置贡局部地址空驾间的范围为戏0X000夏00000蜻~0X00鼠00002车0。PCI避9052提古供2个局部白中断源,利仓用LINT毅i1即可,荣注意的是:释LINTi瘦1信号线没北有驱能力,掏SJA10称00的IN垮T引脚也没敏有驱动能力赌,因此该信春号线必须加员上拉电阻,背否则该信号戏线的电平不壳确定,工作境肯定不正常殖。SJA1日000提供稿电平触发中古断信号,因决此PCI9将052的中约断触发模式喇设置为电平码触发。利用刻PCI90臂52的局部药设备片CS性0#作为S慈JA100蛋0的片选信讽号。CS0芳#片选信号睁的起始地址继和地址范围姨为CS0腿Base搞Addre娇ss寄存器邪设置,值为穷0x000录00002慧。另外,P片CI905夕2的LRD搁Yi#信号晕为局部总线获数据准备信依号,SJA即1000的僚寄存器地址粗映射成地址你,数据传输抽不存在延迟寇等待,因此羞LRDYi口#引脚可接银地,表示S殖JA100狸0的寄存器腔总是立即可障读写。PC献I9052宴寄存器的初谣始值由串行挖EEPRO王M提供,在去PCI90植52加电后眠读取。EE坛PROM必笨须采用支持斯连读功能的护芯片,本用周Micro遮chip的伐93LC4坏6B。用P胖CX公司提压供的开发工车具PlxM筛on可对9咏3LC47卵B进行读写勇。胳PCI90厌52的硬件袄调试可采用越PlxMo蜓n。利用它草可以对PC欺I设置的配解置资源进行糟检验。利用恢PLX提供优的SDK,劈可以对PC碎I9052匹的局部寄存题器、局部总纳线及EEP背ROM进行沈读写,这样旷可以调试硬训件。借助开锡发工具,不兄必开发PC盯I设备的调飞试软件,可罩节省很多时弟间。同时,叶SDK也为摘驱动程序的魂开发提供了太程序框架,驴加快了开发奶进度。碑CAN卡的拖电路框图如队图1所示。扎2软件设恭计朋软件设计包幸括驱动程序坑的设计和C召OM组件程缠序设计。肺由于PCI磁设备的中断碑、I/O端贱口、映射内珍存等资源都慎是动态分配抱的,必须编荡写驱动程序映管理硬件,遮才能供用户走编程使用。桌为了通用性伯和兼容性,只CAN卡驱间动程序的开仓发采用支持竹Windo粉wsXP胜、Wind越ows20阿00和Wi哥ndows降98的WD雹M驱动程序抬。开发工具岛采用Vis窗ualC原++6.0邀和Win2蔬000D瞧DK。由于铺CAN卡上摘没有微控制虹器,因此对帮CAN总线津端口的所有里操作都是由糟驱动程序来绣完成的。这档不仅可以由妖计算机来实掏现复杂的功炭能,例如,让错误检测、骄断点续传等明,同时节省桂了硬件,而觉且有利于C鹅AN卡的升窝级——只要卷更换驱动程拴序即。驱动唯程序的功能彼主要是配置确SJA10舒00的CA枯N接口、收记发CAN总哑线上的数据加、对发数据贱和CAN总胳线错误均采死用中断处理镇,驱动程序升可以快速响期应,通过事题件(Eve谢nt)内核徐对象直接通他知给用户程愈序。由于W勇DM驱动程丘序运行在系抓统的内核态虫,编写非常们复杂,限于泊篇幅,仅给键出软件的框磨图(见图2帽)。打为了方便用并户的使用,匙还应编写相忙应的API哭函数或Ac即tiveX警控件等其它羽应用层的程胜序提供给用才户。由于A谦ctive慨X控件基于演先进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论