利用epp并行口实坝pc机之间通信的can总线设计_secret_第1页
利用epp并行口实坝pc机之间通信的can总线设计_secret_第2页
利用epp并行口实坝pc机之间通信的can总线设计_secret_第3页
利用epp并行口实坝pc机之间通信的can总线设计_secret_第4页
利用epp并行口实坝pc机之间通信的can总线设计_secret_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、利用EPP并行口实坝PC机之间通信的CAN总线设计摘 要:文章简要介绍了EPP并行口及CAN独立控制器s31000。并深入研究PC对SJAl000的读写。根据读写时序的产生,设计了两套硬件方案。同时。结合在实践中遇到的问题,指出了一些在CAN总线协议使用上需要注意的地方。关键字:EPP并行口 CAN总线 SJAl000 网络适配卡l引言CAN(ControUer Area Network)总线作为现场总线的一种,与其他总线相比可靠性高性价比合理。其主要特点有:(1)多主方式工作,非破坏性的基于优先权的总线仲裁技术;(2)借助接收滤波实现多地址的帧传送;(3)短帧结构数据,受干扰率低;(4)发送

2、期间丢失仲裁或由于出错而遭破坏的帧可自动重发;(5)对于严重错误具有自动关闭总线功能,使总线其他操作不受影响;(6)不关闭总线即可任意挂接或拆除节点,增强了系统的灵活性和可扩展性;(7)统一的标准和规范,使各设备之间具有较好的互操作性、互换性和通用性等。正是由于CAN总线的这些优良性能,目前已应用于船舶制造、工业控制、建筑保安系统中,而且正成为许多领域的发展方向。2 EPP并行口 为了实现大量数据的快速、准确传输,数据通信已经成为自动化系统的关键技术之一。计算机标准串、并行口是PC机的基本部件之一,利用计算机的标准串、并 行口来作为PC机与CAN总线的通信接口,既方便又经济。但是由于串行通讯口

3、的通讯效率较低,难以完成大量、实时性高的数据传输工作,而传统的SPP并行 口只能实现数据的单向传输,但高级并行接口(EPP)则可以进行高速的双向数据传输,是进行大量数据传输的一种理想选择。2.1 EPP概述 增强型并行口EPP(Enhanced Parallel Port)是一种与标准并行口SPP(Standard Parallel Port)兼容的高性能的并行连接口。在实际应用中,由于EPP并行口具有8位双向数据端口、状态端口和控制端口,因此,EPP可作为8位总线,灵活使 用。EPP协议又极大地改善了PC机并行口的数据传输能力,使得并行口的数据传输速率可以很容易达到l一2Mbps。EPP协议

4、定义了各种单双向信号以 满足各自的特殊需要。22 EPP寄存器介绍EPP协议定义的信号分别对应三个不同的寄存器,在PC机中,并行口l寄存器的基地址一般为378H,该地址包含读入和读出两个寄存器的双缓冲寄存器,对应ADOAD7双向数据地址端口;输入操作EPP信号的定义及其描述表l表l列出了EPP信号的定义及其描述。并行口引脚号EPP信号数据方向定义lWRITE输出低电平写,高电平读29ADO7双向双向数据地址线lOINTR输入外设中断llWAIT输入握手信号12用户定义输入按不同的外设自定义13用户定义输入按不同的外设自定义14DATASTB输出低电平有效,表示正在进行数据读写15用户定义输入按

5、不同的外设自定义16RESET输出低有效,外设复位17ADDSTB输出低电平有效,表示正在进行地址读写1825GND信号地注:输出,表示由计算机发向外设;输入,表示由外设发向计算机。加“”表示信号低电平有效。EPP寄存器定义表2378HAD7AD6AD4AD4AD3AD2ADlADO379HWAllrINTR自定义自定义自定义无定义无定义无定义37AH无定义无定义READ ENABLEIRQ ENBALEADDSTBBESTEDATA/write时使用输入寄存器,输出操作时使用输出寄存器。单向状态端口和单向控制端口的寄存器地址分别为379H和37AH,其定义见表2。这三个寄存器是与标准并行口S

6、PP兼容的,但实际上除了这三个寄存器之外,EPP还定义了其它几个寄存器。EPP不需要从主机送来的信号就能执行数据交换。当主机把数据写到数据缓冲区时,总线自动产生数据选通信号。同样,从端口读人数据时也是自动产生数据选通信号来表示系统正准备接收下一批数据。3 CAN独立控制器SJAl000sJAl000是一种独立控制器,主要用于移动目标和一般工业环境中的区域网络控制(CAN),是Philips半导体PCA82C200 CAN控制器(BasieCAN)的替代产品。其基本特性有:(1)引脚与PCA82C200独立CAN控制器兼容。(2)有扩展的接收缓冲器64字节,先进先出(FIFO);(3)支持CAN

7、20A和CAN20B协议;(4)通信位速率可达IMbps。而且它增加了一种新的工作模式(PeliCAN),这种模式支持具有很多新特性的CAN20B协议。4CAN总线收发器PCA82C250PCA82C250是CAN控制器和物理总线间的接口。器件可以提供对总线差动发送、接收的能力。采用双线差分驱动,有助于抑制汽车等恶劣电气环境下的瞬间干扰。其主要特性有:(1)与ISODIS 11898标准全兼容;(2)高速性,最高可达IMbps;(3)具有抗汽车环境下的瞬间干扰能力,保护总线能力;(4)降低射频干扰的斜率控制;(5)热保护;(6)总线与电源及地之间的短路保护;(7)低电流待机方式;(8)掉电自动

8、关闭输出;(9)可支持多达110个节点相连接等。5适配卡设计CAN总线的卓越性能为工业控制提供了一种可靠的数据通信,为了扩展CAN总线的监控和管理功能,应设计一块适配卡,连接PC机的并行口,该卡上具备CAN接口和PC接口特性,它完成的任务主要是PC机与总线之间的通信。 为此,适配卡的主要组成有:CAN总线控制器(sJAl000)、CAN总线驱动器(PCA82C250)、EPP并行端口。sJAl000是集成的独 立CAN控制器,它负责完成CAN总线通信协议的物理层和数据链路层的功能。sJAl000片含有控制寄存器、命令寄存器、状态寄存器、中断寄存器和收发 寄存器。PC机通过读写这些寄存器来实现对

9、sJAl000的控制;芯片的TX0、TXl、RX0、RXl引脚用于与CAN总线的接口。PCA82C250 是专门用于CAN总线收发驱动的9脚芯片,TXD、RXD引脚分别接收和发送驱动后的信号;CANH、CANL引脚接至双绞线或同轴电缆等传输介质。使用 PCA82C250可以扩大通信距离,能提高系统的抗干扰能力,保护总线,降低射频干扰,实现热防护等。sJAl000的中断输出信号INT接到EPP 的INTR中断后,通过中断方式实现PC机与CAN控制器的通信。由于SJAl000的中断输出信号是低电平有效,而EPP的中断信号是高电平有效,所以 在他们的连线之间必须加一个反向器。根据通信读写时序的产生,

10、设计了一种由软件产生读写时序的电路和一种由硬件产生读写时序的电路。51软件产生读写时序电路连线说明:sJAl000的ADOAD7直接与EPP并行口的ADOAD7相连;ALE直接与nWrite相连;RD,WR分别与nAddStrobe和nDataStrobe相连;INT的引线反向后与EPP的INTR相连(如图l所示)。此种电路设计需要软件产生访问外设芯片所需的读写时序。在我们的应用程序中,对sJAl000的读写函数分别为ReadReg和SetReg,用汇编语言实现如下(如表3所示):52硬件产生读写时序连线说明:nWAIT信号为外设发送给PC的握手信号,以便PC在访问慢速外设时插入等待周期。读写

11、函数表表3void SetReg(im port,int Value)通过双向口向sJAl000发送数据,port为sJAl000寄存器的地址,value为要设置的值im ReadReg(int port)读取SJAl000寄存器的值,port为sJAl000寄存器的地址,返回的值为该寄存器的值_sflmmov esx,0临时寄存器清零mov dx,37ahmov al,0dShout dx,alWRITE高,ALE低电平,地址选通mov dx,378hmov eax,portout dx,al将要访问的sIAl000寄存器地址放上数据线mov dx,37ahmov a1,0d4hout dx

12、,alWRITE高。ALE高,将地址信号锁存mov a1,0d5hout dx,alWRITE高,ALE为低电平,地址选通mov dx,378hmDv eax,valueout dx,al把要写的数据送上数据总线mov dx37aImov a1.0ddhout山且JWRITE低,可写,ALE低,地址选通,将数据写入sJAl000mov aI,0d5hout(1x,al复位,WRITE为低,ALE低int retumcode=0:asmmoe,sx,0mov dx,37alImov a1,0d5hout dx,alREAD为低电平,ALE低,地址选通lnov dx,378hmov esx,por

13、tout dx,al将要访问的sJAl000寄存器地址放上数据线mov(b,37ahmov a1,0d4hout dx,alREAD低,ALE高,将地址锁存mov a1.0d5hout dxalREAD低,ALE低,地址选通mov dx37aIlmov a1.0d7hREAD为低,ALE低,数据被送上数据线out cb,almov a1.0f7hout dxal,lREADENABLE为1允许数据读入mov eax0mov dx,378hm al,dx,从效据总线读人寄存器mov returneode。eaxnov dx,37ahmov a1,0f5hout dx,aLREAD高,ALE低mo

14、v a1,0d5hout dx,al恢复,关掉READENBLEieturn retumcode;注:向控I端口37AH的ADDSTB,DATASTB,WRITE位写入1时,并行口17、14和1;I脚均为低电平;相反写入0时,三个引脚均为高电平。 SJAl000的访问时间在40ns以内,所以PC在访问sJAl000时完全可以不用插入等待周期。nWAIT可由nAddrStrobe和 nDataStrobe信号经过一个与非门后产生。由于sJAl000的ALE是下降锁存地址信号,所以将nAddrStrobe反相后与ALE相连。在 EPP的数据读写周期时,sJAl000的RD和WR控制信号应该有效,而

15、在地址读写周期时应该无效。sJAl000的RESET脚与并行端口的 nRESET脚相连,由PC机向sJAl000提供复位信号。地址数据读写说明:握手信号nWAIT由nAddrStrobe和 nDataStrobe信号经过一个与非门后再延迟一段时间产生,然后可利用EPP并行口的数据地址周期来产生sJAl000芯片的读写时序。 sJAl000芯片的读写时序分为地址锁存和数据读写。地址锁存解决的是地址的写入和地址锁存信号的产生;数据读写是数据的读写以及相应的读写控制信号的 产生。所以,可以利用EPP的地址写周期来产生SJAl000读写时序的地址锁存部分,并用EPP并行口的数据读写周期来产生SJAl0

16、00读写时序的数 据读写部分。数据写周期的时序如图3所示,其步骤如下:(1)程序向EPP的DATA端口发送一个IO写周期命令;(2)插入nWRITE信号,同时数据出现在并行端口数据线上;(3)当nWAIT信号变成低电平之后,插人数据选通信号;(4)端口等待来自外设的应答信号(取消nWAlT信号);(5)取消数据选通信号,EPP周期结束;数据读周期的时序如图4所示,其读数据的步骤如下:(1)程序中向EPPDATA端口发送一个IO读周期命令;(2)当nWAIT信号变成低电平之后,插入数据选通信号;(3)端口读取数据位,取消数据选通信号;(4)端口等待来自外设的应答信号(取消nWAIT信号);(5)

17、EPP周期结束;(6)ISA周期结束。地址写和地址读周期除了把nDataStrobe信号替换成nAddStrobe之外完全一样。相关引脚直值表如表4所示。53两种设计的比较 实验表明,采用软件产生读写时序设计的硬件比较简单,便于调试,但是程序编写比较复杂(需编写程序产生SJAl000的读写时序);用硬件产生读写时序 设计的硬件稍微复杂,硬件调试也复杂一些,但是应用程序的编写要简单一些(不用编写程序产生SJAl000的读写时序),而且端口读写的速度也快得多。6设计中存在的几个问题(1)PCA82C250第8脚与地之间的电阻Rs称为斜率电阻,它的取值决定了系统处于高速工作方式还是斜率控制方式。把该

18、引脚直接与地相连,系统将处于高速工作方式。在这种方式下,为避免射频干扰,建议使相关引脚的真值表表4nDatanAddrnWriteWRRDALE备注0l00l0数据读,地址锁存OlllO0数据写,地址锁存l000ll地址写,地址选通lO1l0l地址读,地址选通1l0ll0地址数据均无效等待llllll地址数据均无效,等待注:标加“”表示低电平有效。加字母“n”表示是并行口的引脚。因为地址和数据不能同时被选通,所以,真值表中就不列出它们同时被选通的情况。用屏蔽电缆作总线;而在波特率较低、总线较短时,一般采用斜率控制方式,上升和下降的斜率取决于Rs的阻值。实验数据表明,15200k为Rj较理想的取值范围。在这种方式下,可以使用平行线或双绞线作总线。(2) SJAl000的TXl引脚悬空,RXl引脚的电位必须维持在约O5Vce上,否则将不能形成CAN协议所要求的电平逻辑。如果系统传输距离近,环境干 扰小,可以不用电流隔离,这样可以直接把PCA82C250的VRFF端(约为05Vcc)与RXl脚相连,从而简化电路。(3)必须将sJAl000的中断信号取反之后才能接到PC机并行口的中断引脚上,这样才能保证硬件中

温馨提示

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

评论

0/150

提交评论