基于TPC-USB实验系统的串行通信协议研究 下载本文

? DTR:数据终端准备好信号,通知外部设备,CPU当前已经准备就绪。 ? DSR:数据设备准备好信号,表示当前外设已经准备好。 ? RTS :请求发送信号,表示CPU已经准备好发送。

? CTS:允许发送信号,是对 的响应,由外设送往8251A。

实际使用时,这4个信号中通常只有CTS必须为低电平,其它3个信号可以悬空。 ? 数据信号: ? TXD:发送器数据输出信号。当CPU送往8251A的并行数据被转变为串行数据后,

通过TXD送往外设。

? RXD:接收器数据输入信号。用来接收外设送来的串行数据,数据进入8251A后

被转变为并行方式。

(7)电源和地

? VCC:电源输入 ? GND:地

2. 硬件设计

2.1 基于TPC-USB实验系统总线与8251A的连接

基于TPC-USB实验系统总线和8251A实现相距较近的两台微型计算机相互通信的系统连接简化框图2.1如下:

图2.1:系统连接简化框图

(1)如图2.1所示,CPU发送指令,甲机发送数据,8251A将数据送到发送缓冲器,经过并串转换后通过TXD发送出去;乙机监视其RXD,有数据发到时,8251A将数据经过串并转换后发送到接收缓冲器,等待CPU来读取。 (2)主要信号线连接论述:

? D0~D7:TPC-USB实验系统上的D0~D7是8088上的数据线,用来传送数据;而

8251A是I/O芯片,它的数据线是用于CPU与8251间传送数据的,因此可以把8251A上的数据线直接与TPC-USB实验系统上的D0~D7相连。 ? RD与WR:8251A对于CPU来说是I/O设备,要使8251A上的RD和WR信号有

效,必须使CPU的I/O与WR、RD同时有效,而PC/XT总线上的IOR和IOW是

? ?

?

?

I/O读和I/O写,所以只要把8251A上的WR、RD分别与PC/XT总线上的IOR和IOW直接相连就可以了。当CPU执行外设写操作时,WR有效;当CPU执行外设读操作时,RD有效。

CTS:当CTS=0时,引脚信号TxD变位为高电平,CPU可以8251A发送数据,,本设计把CTS的引脚直接接地。 CLK:TPC-USB实验系统上提供了1MHZ和2MHZ的时钟,因此,只需把TPC-USB系统板上的2MHZ直接连接到8251A的CLK信号,将TPC-USB系统板上的1MHZ经过二分频后连接到8251A的TXC和RXC上,根据8251的参数规定,这是满足8251A的工作要求的。

RESET: RESET为复位信号,当该信号有效时,8251A实现复位功能,内部所有的寄存器都被置为初始状态。将8251A上的RESET信号直接连在TPC-USB实验系统上提供的RESET信号上,只要TPC-USB实验系统开启时,就对8251A进行了初始化。

C/D:C/D是控制/数据信号,分时复用。用来区分当前读/写的是数据还是控制信息或状态信息。将A0直接与C/ˉD相连,通过改变A0的值可以实现片内选。当A0=0(偶地址),选中8251的数据口;当A0=1(奇地址)时,选中8251的数据口。

2.2 地址译码电路:

译码电路的目的是当CPU访问某个I/O系统时,产生对应的片选信号CS。在一个I/O系统中,往往有多个端口,所以译码电路应根据需要对一个地址区间产生片选信号 。 一般把地址信号分为两部分:一部分是高位地址与CPU或总线的控制信号组合,经过译码电路产生一个片选信号 ,选择某个I/O接口芯片;另一部分是低位地址线直接连到I/O接口芯片,以实现接口芯片的片内寻址。

按照地址译码电路采用的元器件来分,可分为门电路译码,译码器译码;按照译码电路形式来分,又可分为固定式和可选式端口地址译码。 (1)方案一:

结合本设计,考虑到为系统以后扩充留有余地,因此我们选择了可选式端口地址译码,并且使用8位比较器74LS688和地址开关实现地址译码,译码电路如图2.2所示:

图2.2:地址译码电路

如图2.2:74LS688将来自系统的AEN和A2,A3,A7~A9,即P7~P0与DIP开关设定的数据Q7~Q0进行比较,输出到74LS138的控制端G2B上。根据比较器的特性,当输入端P7~P0的地址和Q7~Q0的开关状态一致时,输出低电平,使译码器进行译码。图中,当A9=1,AEN=0时译码才有效。

(2)方案二:

图2.3

如图2.3所示,TPC-USB实验台上I/O地址选用280H-2BFH 64个,分8组输出,低三位地址A0~A2不参与译码。因此,每一有效输出是一组地址,如Y0输出,当低三位地址变化时(000~111),改组地址的变化范围为280H~287H。Y0-Y7的输出地址分别为 280H-287H;288H-28FH;290H-297H;298H-29FH;2A0H-2A7H;2A8H-2AFH;2B0H-2B7H;2B8H-2BFH,8根输出线在实验台“I/O地址”处分别由自锁紧插孔引出。

结合本设计,本设计的8251A的端口分别为02B8H(0000,0010,1011,1000)和02B9H(0000,0010,1011,1001),当A9~A3=1010111,A2=0,A1=0,A0=0, 译码电路产生片选信号 ,选中该8251A芯片,并通过片内寻址选中了8251A的数据口:02B8H; 当A9~A3=1010111,A2=0,A1=0,A0=1时,译码电路产生片选信号 ,选中该8251A芯片,并通过片内寻址选中了8251A的控制口:2B9H。

本设计的实验采用了TPC-USB实验系统上的地址译码电路即方案二。

2.3 硬件测试

硬件测试主要有两种:静态测试和动态测试。 ? 静态测试:查看硬件的连接是否正确 ? 动态测试:测试8251A的收发功能 第三部分

软件设计