news 2026/7/23 20:47:30

DB9 引脚定义详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DB9 引脚定义详解

图:DB9接口引脚排列示意图

1. DB9 接口概述

DB9(D-subminiature 9-pin)是一种常见的9针串行通信接口,广泛应用于计算机、工业控制、网络设备等领域,主要用于 RS-232 串行通信标准。

2. DB9 引脚定义(公头/插针视图)

以下为 DB9 公头(Male,带插针)从引脚面(非焊接面)观察时的引脚排列与定义:

引脚编号信号名称方向 (DTE)功能说明
1DCD (Data Carrier Detect)输入数据载波检测,来自调制解调器(Modem)
2RXD (Receive Data)输入接收数据线
3TXD (Transmit Data)输出发送数据线
4DTR (Data Terminal Ready)输出数据终端就绪,通知设备准备就绪
5GND (Signal Ground)-信号地线
6DSR (Data Set Ready)输入数据设备就绪,来自调制解调器
7RTS (Request To Send)输出请求发送,用于流量控制
8CTS (Clear To Send)输入清除发送,用于流量控制
9RI (Ring Indicator)输入振铃指示,表示有来电

3. 常见连接方式

3.1 直连(Null Modem)电缆

用于直接连接两台计算机(DTE 对 DTE),无需调制解调器。典型交叉连接如下:

  • 一端 TXD (3) ←→ 另一端 RXD (2)
  • 一端 RXD (2) ←→ 另一端 TXD (3)
  • 两端 GND (5) 直连
  • 一端 RTS (7) ←→ 另一端 CTS (8)
  • 一端 CTS (8) ←→ 另一端 RTS (7)
  • 一端 DTR (4) ←→ 另一端 DSR (6) 和 DCD (1)(可短接)

3.2 DTE 与 DCE 连接

计算机(DTE)连接调制解调器(DCE)时使用直通电缆,引脚一一对应。

4. 引脚排列示意图(记忆口诀)

从公头引脚面看,两排引脚,上5下4:

公头引脚面视图(带插针): 5 4 3 2 1 9 8 7 6 (上排从左到右:5,4,3,2,1) (下排从左到右:9,8,7,6)

记忆口诀:“上5下4,左上为5,右上为1;左下为9,右下为6”。

6. 串口自测试方法

在实际应用中,经常需要对串口进行自测试以验证其通信功能是否正常。以下是几种常见的串口自测试方法:

6.1 硬件环回测试

硬件环回测试是最直接的测试方法,通过短接特定引脚实现信号回环:

  • 本地环回测试:将 DB9 接口的 TXD (3) 与 RXD (2) 引脚短接,发送的数据会立即被接收。这种方法可以测试串口芯片和驱动是否正常。
  • 硬件流控环回:将 RTS (7) 与 CTS (8) 短接,DTR (4) 与 DSR (6)、DCD (1) 短接,可以测试硬件流控信号通路。

6.2 软件环回测试

软件环回测试不需要硬件连接,通过操作系统或驱动程序实现:

  • Windows 虚拟串口:使用虚拟串口软件创建一对 COM 端口(如 COM1 和 COM2),然后使用串口调试工具在两个端口间发送和接收数据。
  • Linux 伪终端:使用socatpty创建虚拟串口对进行测试。

6.3 使用串口调试工具

常用的串口调试工具可以帮助进行自测试:

  • Windows:SecureCRT、Putty、Tera Term、串口调试助手等。
  • Linux:minicom、screen、picocom 等。
  • 测试步骤
    1. 打开两个串口调试工具实例,分别连接到需要测试的两个串口。
    2. 在一个工具中发送测试数据(如 "Hello, Serial!")。
    3. 在另一个工具中查看是否接收到相同数据。
    4. 测试不同波特率(9600、115200 等)和数据格式(8N1、7E1 等)。

6.4 编程自测试

通过编程实现自动化串口测试:

import serial import time def serial_loopback_test(port_name): """串口环回测试函数""" try: # 打开串口 ser = serial.Serial( port=port_name, baudrate=9600, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1 ) # 发送测试数据 test_data = b"Serial Loopback Test" ser.write(test_data) # 接收数据 received = ser.read(len(test_data)) # 比较发送和接收的数据 if test_data == received: print(f"✓ {port_name}: 环回测试通过") return True else: print(f"✗ {port_name}: 环回测试失败") return False except Exception as e: print(f"✗ {port_name}: 测试异常 - {e}") return False finally: if 'ser' in locals() and ser.is_open: ser.close() 测试示例 if name == "main": serial_loopback_test("COM1")

6.5 测试注意事项

  • 波特率匹配:确保发送端和接收端的波特率、数据位、停止位、校验位设置一致。
  • 流控设置:如果使用硬件流控,确保 RTS/CTS 信号线正确连接。
  • 接地良好:GND (5) 引脚必须可靠连接,否则可能导致通信不稳定。
  • 测试数据:建议使用包含所有 ASCII 字符的测试数据,以验证数据传输完整性。

5. 注意事项

  • 公头(Male)与母头(Female):引脚定义相同,但物理连接方向相反。母头的引脚编号排列是公头的镜像。
  • DTE 与 DCE:方向(输入/输出)是相对于数据终端设备(DTE,如计算机)而言的。连接 DCE 设备(如调制解调器)时,信号方向会反转。
  • 现代应用:虽然 USB 已取代多数串口,但 DB9 仍在工业控制、路由器 Console 口、专业设备调试中广泛使用。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 20:46:43

TI CCS深度调试指南:从多核异构SoC基础调试到高级追踪与性能剖析

1. 项目概述与调试价值 在嵌入式系统开发,尤其是汽车电子和工业控制这类对实时性与可靠性要求极高的领域,调试从来都不是一个可选项,而是贯穿整个开发周期的核心活动。想象一下,你精心编写的算法在仿真器上运行完美,但…

作者头像 李华
网站建设 2026/7/23 20:44:01

高中数学必修第一册互动教程

高中数学必修第一册互动教程人教版 2019课标版 图文并茂 互动探索📖 简介 本教程是依托人教版《高中数学必修第一册》内容,专为高中学生设计的互动式在线学习资源。每章均配有生活类比讲解、可操作的数学动态演示、知识小结和即时反馈练习&#xff0c…

作者头像 李华
网站建设 2026/7/23 20:42:32

Llama2架构解析与推理优化实践

1. Llama2架构全景解析Meta开源的Llama2系列模型正在重塑大语言模型的开源生态。作为Llama1的迭代版本,Llama2在模型结构上延续了Transformer解码器架构,但在训练数据、上下文长度和推理优化等方面实现了显著突破。我们先拆解其核心架构设计:…

作者头像 李华
网站建设 2026/7/23 20:39:58

轻量 AI 绘图新突破:酷睿 Ultra 集显本流畅运行 Z-Image

长期以来,本地 AI 绘图被高性能独立显卡绑定,普通轻薄本很难流畅出图。阿里推出的 Z-Image-Turbo 凭借轻量化架构大幅降低硬件门槛,搭配英特尔酷睿 Ultra 系列锐炫集显,32GB 内存轻薄本即可离线生成高清海报、人像、插画&#xff…

作者头像 李华
网站建设 2026/7/23 20:33:29

NPDP培训哪家靠谱?选机构先核实这件事!

不少产品经理、研发负责人打算报考NPDP,想依靠新产品开发专业认证提升职场竞争力。但市面上NPDP培训机构鱼龙混杂,低价引流、资质造假、学时证明无效、考完无人售后等陷阱层出不穷。 很多人报名只顾对比价格,忽略最关键的核心条件&#xff0c…

作者头像 李华