微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > PC机扩展RS-232接口

PC机扩展RS-232接口

时间:01-25 来源:国外电子元器件 山东大学 姜伟光 烟台市公安局 姜贵 点击:

 PC机的RS-232C串行口是使用最多的接口之一。因此,4串口、8串口等以增加串口数量为目的的ISA总线卡产品大量问世。一般串口应用只是使用了RXD和TXD两条传输线和地线所构成的串口的最基本的应用条件,而本文介绍一个利用PC机的RS-232串口加上若干电路来实现多串口需求的接口电路。

1.PC机串口的RTS和DTR及扩展电路

 RTS和DTR是PC机中8250芯片的MODEM控制寄存器的两个输出引角D1和D0位,口地址为COM1的是3FCH,口地址为COM2的是2FCH。我们可以利用对MODEM控制寄存器3FCH或2FCH的写操作对其进行控制。从而利用该操作和扩展电路实现对TXD和RXD进行多线扩展,图1是其扩展电路。

 在图1所示的PC机串口扩展电路中,74LS161是二进制计数器,1脚是清0端,2脚是计数端,计数脉冲为负脉冲信号,4051是八选一双向数字/模拟电子开关电路,其中一片用于正向输出,一片用于反向输出。该扩展电路工作原理是通过控制PC机串口的DTR输出的高低电平来形成74LS161的P2脚计数端的负脉冲信号,使161的输出端P14(QA)、P13(QB)、P12(QC)、P11(QD)脚依次在0000到1111十六个状态中变化,本电路仅使用了QA、QB、QC三个输出来形成对4051的ABC控制,最终使得4051(1)的输入端TXD依次通过与TX1~TX8导通而得到输出信号,4051(2)的输出端RXD与RX1~RX8依次导通形成输入信号。由于RXD和TXD的导通是一一对应的,因此串口通信就可以依次通过与多达8个带有三线基本串口的外部设备进行通信传输以实现数据传送。PC机端的电平转换电路是将RS232电平转换为TTL电平,外设端的电平转换电路是将TTL电平转换为RS232电平。由于这种转换有许多电路可以实现,因而,这里不再介绍。

2.电路使用程序

对PC机串口COM1的编程如下:

……

… ;对COM1口的波特率等设置;

MOV DX,3FCH

MOV AL,XXXXXX01B

OUT DX,AL;D1生成RTS负脉冲,对74LS161输出端清0

MOV AL,XXXXXX11B;

OUT DX,AL ;4051的RX1和TX1导通

CALL COM ;调用通信子程序,与第一个外部设备通信;

MOV CX,7 ;设置循环计数器;

NEXT:MOV DX ,3FCH

MOV AL,XXXXXX10B

OUT DX ,AL ;D0位生成DTR的负脉冲,形成161的P2脚计数脉冲

MOV AL,XXXXXX11B

OUT DX,AL ;RX2和TX2导通

CALL COM ;调用通信子程序,与第二个外部设备通信

LOOP NEXT ;循环与另外6个外部设备通信

… ;通信子程序略

3.使用说明

 由于该扩展的多路接口在通信时共用一个子程序,因此在与某一路导通时,系统只能与这一路的外部设备进行通信联络。

 如果工作现场需要立即和某一路通信,则需要对3FCH的D1位执行两个写操作并在RTS脚形成负脉冲,以对7416I清0后,再连接执行若干次对DTR的两次写操作。例如想对第4路外设通信,则需要执行完成对74LS161清0后,再连续三次对3FCH的D0位进行两个写操作以形成DTR脚的负脉冲,然后即可调用通信子程序。

 如需使用PC机的COM2串口,只需将程序中的3F8H~3FDH全部换成2F8H~2FDH即可。

 如果使用十六选一双向数字/模拟电子开关电路,可将74LS161的QA、QB、QC、QD四个输出端接至电子开关的四个控制端A、B、C、D,这样就可以达到一个PC机的RS232口与16个带有串口的外设的数据通信。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top