注:向控.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
/nData
/nAddr
/nWrite
/WR
/RD
ALE
备注
0
l
0
0
l
0
数据读,信捷职称论文写作发表网,地址锁存
O
l
l
l
O
0
数据写,地址锁存
l
0
0
0
l
l
地址写,地址选通
l
O
1
l
0
l
地址读,地址选通
1
l
0
l
l
0
地址数据均无效.等待
l
l
l
l
l
l
地址数据均无效,等待
注:①标加“/”表示低电平有效。加字母“n”表示是并行口的引脚。
②因为地址和数据不能同时被选通,所以,真值表中就不列出它们同时被选通的情况。
用屏蔽电缆作总线;而在波特率较低、总线较短时,一般采用斜率控制方式,上升和下降的斜率取决于Rs的阻值。实验数据表明,15~200k为Rj较理想的取值范围。在这种方式下,可以使用平行线或双绞线作总线。
(2)SJAl000的TXl引脚悬空,RXl引脚的电位必须维持在约O.5Vce上,否则将不能形成CAN协议所要求的电平逻辑。如果系统传输距离近,环境干扰小,可以不用电流隔离,这样可以直接把PCA82C250的VRFF端(约为0.5Vcc)与RXl脚相连,从而简化电路。
(3)必须将sJAl000的中断信号取反之后才能接到PC机并行口的中断引脚上,这样才能保证硬件中断的正确触发。
7 通信控制程序
根据系统要求和硬件设计原理,编写的通信控制程序应该完成以下功能:在通信控制主界面中可以加载并行口驱动程序,初始化sJAl000;发送、接收数据;监测寄存器的变化;软件复位等附加功能。
8 结束语
在此设计中,我们掌握了有关CAN总线和EPP并行口的基本知识,设计了一个基于EPP协议的用于PC机间通信的CAN总线适配卡。编写了相应的驱动程序(有关配套软件的具体问题,不在此介绍),经实践证明,两种方案均可行。为了进一步满足应用的需要,在完善组网设计和功能管理方面,CAN还有很多理论和技术方面的问题有待解决。其中包括标准的开放式应用层协议的制定、更灵活的网络拓扑结构的提出和使用,更简单、经济的单片式CAN芯片的研制等等。
1邬宽明.CAN总线原理和应用系统设计.北京航空航天大学出版社。1996
2阳宪惠.现场总线技术及其应用.清华大学出版社, 1999
3 SJAl000 Stand-alone CAN controller DATA SHEET. PHILIPS公司产品说明书。1997
4 PCA82C250 CAN controller interface DATA SHEET。 PHILIPS公司产品说明书,2000
5安格斯生.《并行端口大全》中国电力出版社,2001
6饶家明.CAN总线智能节点的设计和实现.《工业仪表与自动化装置》.2002;5
7张培仁.采用EPP协议的CAN总线监控节点的设计与实现.《计算机应用》第21卷。第2期