分享

小知识 · 为什么串口不能热插拔?

 新华书店好书榜 2016-11-21

虽然我们测试的过程中,已经习惯了把USB转串口的小板拔来拔去,包括单片机和开发板上的串口线也是拔来拔去。但是我们经常有听说一个说法:串口不能热插拔。到底串口能不能热插拔?

小知识 · 为什么串口不能热插拔?

在问这个问题之前,我们首先要弄明白热插拔是什么。对于热插拔的定义,标准的定义是指在改变系统的配置和外设的过程中,对系统的原有操作不产生影响。而我们狭义上理解的热插拔就只是对于外设来说,可以在主机还在带电工作的时候连入或移除的能力。

最强的热插拔可能是对电源模块的热插拔,在通信设备中,双电源互为备份,可以做到当机柜中的单个电源模块故障时,直接替换掉电源而不关闭设备。而对于普通外设来说就更能热插拔了。不过难以理解的地方可能在于:USB也是线,串口也是线,一个接口究竟要满足什么样的条件才能够热插拔呢?

小知识 · 为什么串口不能热插拔?

硬件上来说,可热插拔的设备一般都会对电源部分格外重视,除了包含防止插拔的过程中对正负极可能造成的意外短路之外,热插拔还要保证电源负极先于其他引脚连接进系统,提供ESD放电回路。然后连接进的是电源正极,为系统供电。稍稍延时后,再将整个电路连接进主系统。尽量确保在数据线上不会产生有害的浪涌损坏设备。而对于DB9串口来说,它的所有脚是同时引入系统的。而且在接口电路中没有任何保护措施,这样的话在热插拔之后,可能会对系统造成不良影响甚至损坏系统。

软件方面,以USB为例。操作系统对于USB设备有着非常良好的接入/移除识别机制,可以检测到设备的连入和移除,并对其进行识别和驱动加载。而对于串口类设备,没有这样的枚举机制。如果你安装了一个新的设备就必须手动对其进行操作,没有特别考虑的应用程序也无从得知串口是否连入了硬件,所以在软件层面还无法实现对设备的监测。

小知识 · 为什么串口不能热插拔?

VGA,被乱插乱拔习惯了的插头之一

并不是所有的硬件都能够热插拔,你热插拔过了一些设备,看起来没什么问题,那是因为硬件工程师在设计时对于这样的“莽撞行为”做了一定的防护措施。使用设备的时候,还是要按照设计的说明来做哦!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多