苹果公司|聊聊你知道的串口

文章图片

文章图片

文章图片

文章图片
TTL串口和RS232口别再傻傻分不清了“这个STM32开发板用MCUISP怎么下载程序啊?”站在一旁的小明(化名)问我 。 “用那个USB转TTL的转接口下载”我回答道 。 过了一会 , 小明又来问我“这里的什么DTR , RTS选项怎么选?” 。 我过去一看就说“这个DTR和RTS是RS232串口独有的 , 我们没有用到 。 ”小明疑惑地又问我“我们不是用的串口吗?怎么会没有?而且我之前用串口的时候 , 也不记得有用到这两根线啊?” 。 “你知道RS232和TTL的区别吗?”我问道 。 小明想了想说“它们两个不是一样的东西吗?” 。 看着他自信又天真的脸庞 , 我又涛涛不绝地和他说了起来……
串口是最简单的串行接口和调试工具上点年纪的朋友都知道 , 最早期的51单片机可没有现在的这么多外设 , 什么内置ADC , SPI , CAN , I2C , DMA等等 , 唯一有的就只有四种类型的外设:GPIO , 定时器 , 外部中断还有就是我们今天要说的串口 。 从那时候就出道的工程师一直工作到现在 , 接触了形形色色的MCU或者MPU , 最早期的很多外设到如今已经面目全非了 , 或许在51单片机盛行的年代 , 你能很清楚地画出其IO口的内部结构 , 但是现在单片机的IO口显然要强大且复杂得多 。 真可谓沧海变桑田 。 不过 , 这些外设中唯一有一个到目前为止还是觉得那么亲切 , 那就是串口 。 尽管配置方式和之前的51单片机有着很大的不同 , 但是其最基本的参数如波特率 , 起始位 , 数据长度 , 停止位依旧是那么熟悉 。
TTL串口“串口”这一词是个含义很广的词 , 所有用串行方式传递数据的接口都可以被称为串口 , 而我们印象中最熟悉的那个“串口”其实是“TTL串口” 。 TTL(Transistor-Transistor Logic)也称双极型晶体管(三极管)逻辑 , 由于在早期的半导体都是双极型晶体管工艺的 , 所以就用这个名字来称呼我们常用的那个串口 。 在TTL逻辑中 , 规定了以0V表示逻辑“0” , 以5V表示逻辑“1” 。 这种规定只是针对以前那种TTL工艺下的芯片所指定的 , 由于目前的半导体都为CMOS技术 , 因此但凡满足CMOS电平的串口也沿用了“TTL串口这个名称” 。
一个“TTL串口”是由三根线组成的 , 分别是数据发送线(TXD) , 数据接收线(RXD) , 和公共地(GND) 。 在连接两个TTL串口设备的时候 , 需要将一片的TXD线连接到另一片的RXD线上 , 一片的RXD线连接到另一片的TXD线上 , 两片的GND线连接在一起 。
RS232串口RS232串口和TTL串口的区别在于 , 两者所使用的电平格式不一样 。 RS232的电平标准为+12V为逻辑负 , -12为逻辑正 。 RS232在之前的台式机上 , 是必备的通讯接口之一 , 但是随着USB和后来TYPE-C USB的兴起 , 现在基本已经看不见其踪影 。 值得一提的是 , RS232标准是由电子工业协会(Electronic Industries Association , EIA) 所制定的异步传输标准接口 。
RS232串口出现在个人计算机上的时候 , 往往又被称为“COM口” 。 目前的串口都为九线制的RS232口 , 其连接器的形状一般都为D-SUB 9接口 , 而在历史的发展中 , 还出现过一种25线的RS232口 , 但是目前已经见不到了 。
在9针的RS232串口中 , 我们一般用来使用的也就是其中的RXD , TXD和GND这三根线 , 这个和TTL串口使用的数据线是一样的 。 而剩余的6根线分别是早期做PC和外设通讯时候的控制信号线 , 目前很少会用到 。 其实在目前的一些单片机上面 , 它们的TTL外设上面也都还保留了这些串口的控制线 , 只不过我们很少用到而已 。
协议转换【苹果公司|聊聊你知道的串口】TTL和RS232串口的协议转换思路其实很简单 , 第一步是电压的转换 , 将±12V的电压转换成0和5V的电压即可 。 第二步是逻辑的转换 , 将RS232的负逻辑转换成TTL的正逻辑即可 。
在我们平时使用中 , 有一个系列的芯片可以专门用来转换TTL串口和RS232串口 , 这个芯片就是MAX232/MAX3232 。 MAX232是一种专门为电脑的RS-232标准串口设计的双组驱动器/接收器 , 片内含有一个电容性电压发生器以便在单5V电源供电时提供EIA/TIA-232-E电平 。 但是如果单片机提供的信号电平和RS232的标准不一样 , 因此要通过MAX232这种类似的芯片进行电平转换 。 MAX232在使用中应该尽量避免热插拔 , 因为RS232的电平比较高 , 所以其在接通时产生的瞬时电涌会非常高 , 因此MAX232很有可能被击毁 。
而MAX3232和MAX232的功能一样 , 它们最大的区别为:MAX232是5V供电的芯片 , 而MAX3232是3.3V供电的芯片 。
另外 , 由于我们目前使用的笔记本电脑 , 基本上没有串口流出了 , 而仅仅留出几个USB接口 , 因此需要将TTL转换成USB协议 , 这种协议的转换就比较麻烦 , 但是也有特定的转换芯片 。
CH340
CH340是一个USB总线的转接芯片 , 实现USB转串口或者USB转打印口 。
其特点为:
- 全速USB设备接口 , 兼容USB V2.0 。
- 仿真标准串口 , 用于升级原串口外围设备 , 或者通过USB增加额外串口 。
- 计算机端Windows操作系统下的串口应用程序完全兼容 , 无需修改 。
- 硬件全双工串口 , 内置收发缓冲区 , 支持通讯波特率50bps~2Mbps 。
- 支持常用的MODEM联络信号RTS、DTR、DCD、RI、DSR、CTS 。
- 通过外加电平转换器件 , 提供RS232、RS485、RS422等接口 。
- CH340R芯片支持IrDA规范SIR红外线通讯 , 支持波特率2400bps到115200bps 。
- 内置固件 , 软件兼容CH341 , 可以直接使用CH341的VCP驱动程序 。
- 支持5V电源电压和3.3V电源电压甚至3V电源电压 。
- CH340C/N/K/E及CH340B内置时钟 , 无需外部晶振 , CH340B还内置EEPROM用于配置序列号等 。
- 提供SOP-16、SOP-8和SSOP-20以及ESSOP-10、MSOP-10无铅封装 , 兼容RoHS 。
PL2303
PL2303 是Prolific 公司生产的一种高度集成的RS232-USB接口转换器 , 可提供一个RS232 全双工异步串行通信装置与USB 功能接口便利连接的解决方案 。 早前的PL2303很有竞争力 , 但是目前市场越来越多地被CH340抢去 , 另外它对Windows 10的兼容 , 简直一团糟糕 。
除了CH340和PL2303 , 还有一些其他的芯片 , 如cp210x等 , 但是这些芯片中 , 我首推的还是CH340 , 因为这个芯片是国产的 , 而且价格便宜 , 电路简单 。
推荐阅读
- 百度|AI公司百度能给港交所带来什么?
- 苹果蛋挞,香甜中淡淡的酸,香酥诱人!
- 果园|果园植被多样性对虫害的控制
- gitlab|GitLab成立中国合资公司极狐,强调“独立运营”
- 《 苹果燕麦粥》的制作方法
- 零脂肪超简单苹果蛋糕
- 全靠天然味道的苹果脆片,无油无糖小孩也能吃
- 苹果这样做,孩子咋吃都不够,营养美味,上桌孩子一口一块
- 3个苹果,2个鸡蛋,教你做苹果鸡蛋饼,香甜营养,孩子说太好吃
- 维C是苹果的10倍,热量是米饭的一半,做成小点心,超级香
