计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

利用EPP并行口实坝PC机之间通信的CAN总线设计(3)

2015-04-26 01:04
导读:{_sflm}mov esx,0//临时寄存器清零mov dx,37ahmov al,0dshout dx,al//write高,ale低电平,地址选通mov dx,378hmov eax,portout dx,al//将要访问的sial000寄存器地
{_sflm}mov esx,0//临时寄存器清零mov dx,37ahmov al,0dshout dx,al//write高,ale低电平,地址选通mov dx,378hmov eax,portout dx,al//将要访问的sial000寄存器地址放上数据线mov dx,37ahmov a1,0d4hout dx,al//write高。ale高,将地址信号锁存mov a1,0d5hout dx,al//write高,ale为低电平,地址选通mov dx,378hmdv eax,valueout dx,al//把要写的数据送上数据总线mov dx.37a}imov a1.0ddhout山.且j//write低,可写,ale低,地址选通,将数据写入sjal000mov ai,0d5hout(1x,al//复位,write为低,ale低}}}int retumcode=0:asm}mo~e,sx,0mov dx,37alimov a1,0d5hout dx,al//read为低电平,ale低,地址选通lnov dx,378hmov e.sx,portout dx,al//将要访问的sjal000寄存器地址放上数据线mov(b,37ahmov a1,0d4hout dx,al//read低,ale高,将地址锁存mov a1.0d5hout dx.al//read低,ale低,地址选通mov dx.37ailmov a1.0d7h//read为低,ale低,数据被送上数据线out cb,almov a1.0f7hout dx.al/,lreadenable为1.允许数据读入mov eax.0mov dx,378h.m al,dx,//从效据总线读人寄存器mov returneode。eax[nov dx,37ahmov a1,0f5hout dx,al//read高,ale低mov a1,0d5hout 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信号替换成naddstrobe之外完全一样。相关引脚直值表如表4所示。5.3两种设计的比较  实验表明,采用软件产生读写时序设计的硬件比较简单,便于调试,但是程序编写比较复杂(需编写程序产生sjal000的读写时序);用硬件产生读写时序设计的硬件稍微复杂,硬件调试也复杂一些,但是应用程序的编写要简单一些(不用编写程序产生sjal000的读写时序),而且端口读写的速度也快得多。6 设计中存在的几个 问题 (1)pca82c250第8脚与地之间的电阻rs称为斜率电阻,它的取值决定了系统处于高速工作方式还是斜率控制方式。把该引脚直接与地相连,系统将处于高速工作方式。在这种方式下,为避免射频干扰,建议使相关引脚的真值表表4
上一篇:巧用Excel软件计算钢筋量(1) 下一篇:没有了