串口硬件小助手
01 串口小助手
一、前言
近期由于需要调试单片机, 制作一个硬件串口调试模块, 除了将 TTL 电平的串口信号转换成 RS232之外, 还需要能够独立控制两个 分别来自于 RTS 和 DTR 的信号的高低。 · 下面通过快速制版来制作这个模块。
AD\Test\2024\February\UARTAssistance.SchDoc
二、硬件设计
设计电路图, 其中包括有电平转换芯片 MAX3232。 通过8050 三极管补充一个电平转换电路。 下面是四个电信号平指示电路, 显示RTX,TXD, DSR, RXD 电平的高低。
▲ 图1.2.1 接口电路的原理图
进行手工布线, 尽量争取使用单面完成布线, 为的是通过一分钟制板获得实验电路板。 最终完成电路板的线路铺设, 其中包括有六个需要通过 0 欧姆进行飞线的连接。
一分钟之后获得实验电路板。 这次电路板的质量非常完美。 焊接电路板, 并进行清洗。 似乎还有些残存的助焊剂。 后面再通过超声波进行清洗。 接下来, 对这个接口板进行功能测试。
三、功能测试
给电路施加3.3V工作电压, 工作电流为3mA左右。 测试DTR , RTS 两个开关对输出电平的控制。 右边开关控制 RTS信号。 左边开关控制 DTR信号。 功能正常。
利用计算机串口发送“0x55”, 使用示波器测试 输出端口第一个管脚, 可以观察到正确的输出波形。 在测试RTS, DTR 信号的过程中, 发现需要补充上一个上拉电阻, 确保RTS 输出高电平。 另外, 将两个上拉电阻的阻值 都减少到 1k 欧姆。
▲ 图1.3.1
经过修改之后, 输出的DTR以及RTS信号幅度都可以达到3V以上, 不受后面指示灯电路的影响。
▲ 图1.3.2 DTR
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2024-02-05
#
# Note:
#============================================================
from headm import *
import serial
from _ast import Or
from serial.serialutil import SerialException
#------------------------------------------------------------
sport = serial.Serial()
sport.baudrate = 115200
sport.timeout = 0.05
try:
sport.port = 'COM7'
except:
printf('Set sport port COM7 error. ')
try:
sport.open()
except serial.serialutil.SerialException:
printf('Open sport port COM7 error.')
else:
printf('Open sport port COM7 Ok.')
#------------------------------------------------------------
count = 0
while True:
sport.write(b'\x55')
time.sleep(0.1)
if (count & 0x1) != 0:
sport.dtr = True
sport.rts = True
else:
sport.dtr = False
sport.rts = False
count += 1
pirntf("\a")
#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================
※ 总 结 ※
本文记录了串口硬件模块的制作过程。 通过这个模块, 为后面调试单片机串口提供了硬件设置接口。 方便的DTR, RTS 电平设置也能够适应多种协议。
● 相关图表链接: