微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 用I/O操作实现RS232口数字及模拟信号的采集

用I/O操作实现RS232口数字及模拟信号的采集

时间:12-16 来源:互联网 点击:
1.前言
RS232端口几乎是所有x86计算机必备的端口,它可以连接FAX/MODEM设备、串行鼠标器、串行小键盘、采集模块、PLC等,还可以连接RS232-RS485适配接头,控制RS485网络设备。RS232端口广泛采用9芯D型接头,具有接线简单、传输速率高、传数据可靠等优点。除了Tx/Rx方式的高效数据传输外,RS232接口还具备直接I/O输入输出能力。本文介绍的是利用RS232接口直接完成4路数字量信号的输入,可广泛地应用于机关开关式传感器、临近感应式传感器、霍尔效应式传感器、小型机械键盘、TTL信号的输入。除此之外,利用简单的I/O操作,还可实现RS232口的多路模拟信号采集。简单的串口I/O操作,只是利用RS232口的MCR及MSR寄存器,无需串口初始化及波特率设置等烦琐操作。
2.RS232的端口安排
计算机正常启动后,RS232端口COM1、COM2、COM3、COM4的地址一般被安排在3F8、2F8、3E8、2E8,用于了解外部状态的寄存器地址则被分别设置为3FE、2FE、3EE、2EE,用于控制外部设备的寄器地址则被设置3FC、2FC、3EC、2EC,。RS232接口的针脚安排如下:

D型25芯接头D型9芯接头
pin8....CDpin1
pin3...RxDpin2
pin2...TxDpin3
pin20..DTRpin4
pin7....SGpin5
pin6...DSRpin6
pin4...RTSpin7
pin5...CTSpin8
pin22...RIpin9
信号名称
TxDTransmit DataRxDReceive data
RTSRequest to sendCTSClear to Send
DSRData Set ReadyDTRData terminal ready
SGSignal groundRIRing indicator
CDCarrier Detect


由于大多数x86计算机都使用9芯D型接头。下面讲述的寄存器安排,均指的是9芯D型接头。

RS232口MCR寄存器安排:

地址BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0
3FCXXXXXXPIN7PIN4
2FCXXXXXXPIN7PIN4
3ECXXXXXXPIN7PIN4
2ECXXXXXXPIN7PIN4


RS232口MSR寄存器安排

地址BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0
3FEPIN1PIN9PIN6PIN8XXXX
2FEPIN1PIN9PIN6PIN8XXXX
3EEPIN1PIN9PIN6PIN8XXXX
2EEPIN1PIN9PIN6PIN8XXXX


上面的列表对RS232寄存器进行了必要的简化。MCR寄存器用于控制D型接头的7脚和4脚,MSR用于读取1、9、8、6脚的状态,5脚为地。标有X的位用于其它用途,本文不作介绍。

3.RS232窃电技术
EIA-RS232标准中未定义电源输出引脚,所以RS232接口中找不到电源输出针脚,只能间接地从RS232的其它引脚中获取电源。最直接的方法是利用PIN7和PIN4两个针脚,它们足以驱动CD4093、LM324等MOS型IC芯片器件。除此之外,还可以用下述方法从Tx和Rx引脚中获取电源。

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

网站地图

Top