一种应用于微处理器的串口扩展器设计

时间:2022-08-11 05:15:25

一种应用于微处理器的串口扩展器设计

【摘要】本文介绍了一种应用于微处理器串口扩展器设计方法,该扩展器可以把一路串口接口扩展成为四路串口接口。在使用所述串口扩展器时,除了串口信号之外,微处理器只需要再提供两个I/O口作为片选信号。在利用微处理器设计控制器,而多个外设需要利用串口进行通信时,就可以利用所述串口扩展器来扩展串口的数量。

【关键词】串口扩展器;微处理器;74HC4052

1.引言

不管是8位、16位还是32位的微处理器,微处理器与PC机或外设的串行通信一般采用RS232/RS422/RS485总线标准接口[1],但是微处理器内部一般只自带1~2路独立的的串行通信接口模块,在某些应用中,有多个设备需要利用串口进行通信,这时就需要对已有的串口进行数量上的扩展。已有的扩展设备主要存在两个缺点:一个是价格比较昂贵;另一个是没有提供片选信号供微处理器进行控制,即一般是一对多的形式,不能够一对一控制。

本文所介绍的串口扩展器成本只需要几元,价格非常便宜,另外还提供了串口片选信号,方便微处理器的控制。

2.串口扩展器组成框图

本串口扩展器的组成框图如图1所示,串口扩展器指图中的1,包括串口信号扩展模块1_1、电平转换模块1_2和串口接口1_3~1_6,和微处理器连接的信号为一路TTL电平的串口信号和两个片选信号;另外,通过9口串口接头对外提供四路扩展后的RS232电平的串口信号。

信号扩展模块1_1通过一个模拟开关,把输入的一路TTL电平的串口信号扩展成为四路TTL电平的串口信号,串口片选信号决定了模块1_1把输入的串口信号映射到四路中的哪一路,扩展后的四路信号每个时刻只有一路生效。

电平转换模块1_2的作用是电平转换,即把TTL电平的串口信号转变为RS232的电平信号,以便延长串口扩展器的通讯距离,或者把RS232的电平信号转变为微处理器能够处理的TTL电平的串口信号。

根据外部需要连接的设备的串口类型,串口接口1_3~1_6采用九针的母串口接头或者公串口接头,本串口扩展器只有接收信号和发送信号,没有握手信号。

3.串口扩展器电路原理图

所述串口扩展器的电路如图2所示,串口信号扩展模块1_1由74HC4052组成,74HC4052是一个高速模拟开关,X_com、Y_com是其两路输入,X0~X3、Y0~Y3是输出信号,分别是X_com、Y_com的选择输出,A、B是两个片选信号[2]。以X_com这一路为例,当B=0,A=0时,X_com和X0连通;当B=0,A=1时,X_com和X1连通;当B=1,A=0时,X_com和X2连通;当B=1,A=1时,X_com和X3连通。Y_com这一路的情况和X_com相同。应用时,X_com接微处理器串口的接收端Rx,Y_com接微处理器串口的发送端Tx,A、B接微处理器的两个普通I/O口。假设BA=i,则X_com、Y_com分别与Xi、Yi连通,其中,i=0,1,2,3。

电平转换模块1_2由两片MAX232和相应的电阻和电容组成。MAX232是一种双组驱动器/接收器,片内含有一个电容性电压发生器以便在单5V电源供电时提供EIA/TIA-232-E电平,即把TTL电平的串口信号转变为RS232的电平信号,以便延长串口扩展器的通讯距离,或者把RS232的电平信号转变为微处理器能够处理的TTL电平的串口信号。MAX232的工作电路只需要在外部接5个1μf的电容即可。以第一片MAX232芯片U2为例,在外部连接5个1μf的电解电容C1~C5,它们均为去耦电容。C1和C3作为储能电容,C3帮助MAX232内部的电荷泵把+5V提升到+10V,C1帮助MAX232内部的另一个电荷泵把+10V转换为-10V;C2、C4、C5作为滤波电容,一方面滤除该器件产生的高频噪声,切断其通过供电回路进行传播的通路,另一方面防止电源携带的噪声对电路构成干扰。在一般的使用场合,电阻R1~R4并不需要使用,这里之所以使用了10KΩ电阻并上拉到VCC,主要是防止74HC4052在通道切换过程中产生信号不稳定的情况。第二片MAX232芯片U3的连接情况和U2完全一致。[3]

串口接口1_3~1_6分别由4个9针的串口连接头组成,只使用了其中三个信号,即接收、发送和地信号,使用时不需要软件或者硬件的握手连接。

4.微处理器的软件设计

在把这种扩展器时应到微处理器时,74HC4052的两个公共端输入X_com、Y_com分别接微处理器串口模块的接收信号Rx、发送信号Tx,74HC4052的两个片选信号A、B分别接到微处理器的两个普通I/O口。微处理器的软件处理函数流程图如图3所示,有流程图可以看出,引进本串口扩展器以后需要添加的程序非常少,其中串口模块的初始化和没有扩展器时是一致的,唯一不同的是需要额外控制两个片选信号,值得一提的是,不管是发送还是接收,都必须先设置好片选信号,才通过串口模块进行串行数据的收发。

5.结论

实验结果表明,本串口扩展器可以稳定地把微处理器的一路串口信号扩展成为四路串口信号。在5V供电时,74HC4052输入、输出信号的上升和下降时间最大为500 ns,对于串口信号来说,每位所需要的时间约为1000 ns,因此可以估算出利用本串口扩展器,最大能达到的波特率约为800000。在实际应用时,当把串口的波特率设为115200时,串口扩展器能够稳定的工作,没有检测到乱码的情况。

参考文献

[1]何立民.MCS-51系列单片机应用系统设计系统配置与接口技术[M].北京:航空航天大学出版社,1990.

[2]Maxim.Maxim Integrated Products MAX220-MAX249 Data Sheet Rev 9.http://,2000.

[3]Philips Semiconductors.74HC4052 and 74HCT4052 Data Sheet Rev 9.http://,2004.

上一篇:基于SQL Server的EXCEL报表粮情数据统计 下一篇:基于FPGA的简易示波器设计