利用EPP并行口实坝PC机之间通信的CAN总线设计论文.docVIP

利用EPP并行口实坝PC机之间通信的CAN总线设计论文.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用EPP并行口实坝PC机之间通信的CAN总线设计论文.doc

  利用EPP并行口实坝PC机之间通信的CAN总线设计论文 1000。并深入研究PC对SJAl000的读写。根据读写时序的产生,设计了两套硬件方案。同时。结合在实践中遇到的问题,指出了一些在CAN总线协议使用上需要注意的地方。 关键词 l引言 CAN(ControUer Area Net port,int Value) //通过双向口向sJAl000发送数据,port为sJAl000寄存器的地 址,value为要设置的值 im ReadReg(int port) //读取SJAl000寄存器的值,port为sJAl000寄存器的地址,返回的值为该寄存器的值 { _sflm } mov esx,0 //临时寄存器清零 mov dx,37ah mov al,0dSh out dx,al //ov dx,378h mov eax,port out dx,al //将要访问的sIAl000寄存器地址放上数据线 mov dx,37ah mov a1,0d4h out dx,al //ov a1,0d5h out dx,al //ov dx,378h mDv eax,value out dx,al //把要写的数据送上数据总线 mov dx.37a}I mov a1.0ddh out山.且J //ov aI,0d5h out(1x,al //复位,code=0: asm } mo~e,sx,0 mov dx,37alI mov a1,0d5h out dx,al //READ为低电平,ALE低,地址选通 lnov dx,378h mov e.sx,port out dx,al //将要访问的sJAl000寄存器地址放上数据线 mov(b,37ah mov a1,0d4h out dx,al //READ低,ALE高,将地址锁存 mov a1.0d5h out dx.al //READ低,ALE低,地址选通 mov dx.37aIl mov a1.0d7h //READ为低,ALE低,数据被送上数据线 out cb,al mov a1.0f7h out dx.al /,lREADENABLE为1.允许数据读入 mov eax.0 mov dx,378h .m al,dx,//从效据总线读人寄存器 mov returneode。eax nov dx,37ah mov a1,0f5h out dx,aL//READ高,ALE低 mov a1,0d5h out dx,al//恢复,关掉READENBLE } ieturn 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控制信号应该有效,而在地址读/写周期时应该无效。sJAl000的RESET脚与并行端口的nRESET脚相连,由PC机向sJAl000提供复位信号。。 地址/数据读写说明:握手信号nWAIT由nAddrStrobe和nDataStrobe信号经过一个与非门后再延迟一段时间产生,然后可利用EPP并行口的数据/地址周期来产生sJAl000芯片的读写时序。sJAl000芯片的读写时序分为地址锁存和数据读写。地址锁存解决的是地址的写入和地址锁存信号的产生;数据读写是数据的读写以及相应的读写控制信号的产生。所以,可以利用EPP的地址写周期来产生SJAl000读写时序的地址锁存部分,并用EPP并行口的数据读写周期来产生SJAl000读写时序的数据读写部分。 数据写周期的时序如图3所示,其步骤如下: (1)程序向EPP的DATA端口发送一个I/O写周期命令; (2)插入nWRITE信号,同时数据出现在并行端口数据线上; (3)当nWAIT信号变成低电平之后,插人数据选通信号; (4)端口等待来自外设的应答信号(取消nWAlT信号); (5)取消数据选通信号,EPP周期结束; 数据读周期的时序如图4所示,其读数据的步骤如下: (1)程序中向EPPDATA端口发送一个I/O读周期命令; (2)当nWAIT信号变成低电平之后,插入数据选通信号; (3)端口读取数据位,取消数据选通信号; (4)端口等待来自外设的应答信号(取消nWAIT信号); (5)EPP周期结束; (6)ISA周期结束。 地址写和地址读周期除了把nDataStrobe信号替换

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档