资料
| 名称 | 链接 | 备注 |
|---|---|---|
| uart与usb对比分析 | http://www.elecfans.com/emb/jiekou/20171206595422_a.html | usb、uart区别 |
| UART与USB为什么速度差那么多 | https://bbs.csdn.net/topics/360155810 | usb、uart区别 |
| UART\RS232与RS485的关系 | https://www.cnblogs.com/kekeoutlook/p/9834307.html | 串口间的区别 |
| UART和RS232/RS485的关系是什么? | https://blog.csdn.net/u013178472/article/details/81226780 | 串口间区别 |
| 串口、COM口、UART口, TTL、RS-232、RS-485区别详解 | https://blog.csdn.net/zhuyongxin_6688/article/details/78001767 | 多中通信方式的区别 |
总结
- usb、uart的对比
- 两种不同的连接标准,根据需求,决策技术选择,usb通用性更高
- 都需要硬件支持,都是一个端点,具体通信方式,需要子协议规定。如usb的hid等,uart的rs232、rs485等
- uart、rs485、rs232的关系
- uart类似交通的站点,对接交通线,rs485、rs232是不同的交通线,类似公路或高速路
- rs485、rs232是uart的外围电路实现,进行信号转换,使通信更符合要求,如稳定性、准确性等。
使用模型
参考资料:https://code.google.com/archive/p/android-serialport-api/wikis/android_to_rs232_guideline.wiki
以rs232、usb为例
方案

方案对比
| 方案 | 优点 | 缺点 | API |
|---|---|---|---|
| 1 | 不需要封装api,使用Android sdk的BluetoothSocket即可 不需要硬件修改(前提支持bluetooth) 支持硬件流程控制 | Bluetooth耗电高 高延迟 低带宽 | Android SDK |
| 2 | usb转rs232适配器偏移且容易找到 无硬件修改需求 无额外耗电增加 低延时 高带宽 | Android设备端需要支持usb host Android设备可能需要root:修改/dev/ttyUSB0的权限,加载kernel驱动 | android-serialport-api |
| 3 | 最便宜的解决方案 | 硬件适配器必须被支持 很少的Android设备兼容该方案 硬件流控制不被支持:仅支持RX/TX,没有RTS、CTS信号 | android-serialport-api |
| 4 | 兼容性强,99%的android设备都支持 不需要root设备 低延时 高带宽 | 需要一个单片机的一些GPIO | https://github.com/ytai/ioio/wiki/UART |
RS485、RS232通信
典型的串口通信标准有 RS232 和 RS485,RS232 是全双工点对点的通信,而RS485 是半双工通信(2 线制),可以一点对多点进行组网,而且 RS485 是用缆线两端的电压差值来表示传递信号,这与 RS232 电气特性大不一样。RS485 仅仅规定了接收端和发送端的电气特性,并没有规定或推荐任何数据协议,因此RS485 的协议层可以和 RS232 一样。
RS485
实际开发中,一般会用一个gpio口控制485的收发结合通用串口通信驱动,就可以使用串口api通过485通讯了。至于为什么这么设计,而不设计为自动切换,请看下面链接的文章和讨论:
为何会需要用GPIO来控制485收发: http://www.lwfree.cn/daima/17034.html

为何会出现这种变态的485设计? https://bbs.csdn.net/topics/370159910
总结为什么这么设计:
- 设计为自动切换,得不偿失,可能会有一系列问题
- 手动切换简单稳定且能满足需求
RS232
| rs232串口接线,RS232串口通信基本接线方法 | http://www.elecfans.com/emb/jiekou/20171101573731.html |
|---|---|
| RS-232详解 | https://blog.csdn.net/sternlycore/article/details/86412267 |
| RS485通信原理图及程序实例详解 | https://baijiahao.baidu.com/s?id=1616760192444998311&wfr=spider&for=pc |
RS232是全双工通信,不需要单独的gpio进行输入输出切换控制。接线方式有多种,最基础的是3线连接:接地、输入、输出。
本文深入探讨了UART与USB两种通信标准的区别与联系,包括它们的技术特性、应用场景、硬件支持及通信方式。从数据传输速度、通用性、硬件流程控制等方面进行了详细对比,帮助读者理解在不同场景下如何选择合适的技术。

2608

被折叠的 条评论
为什么被折叠?



