串口和并口-硬件机制和软件策略

记得世纪之初的第四年,我刚上大学,记得老师讲串口比并口简单,可是并口一次能够发送8位的数据,当时我就以为并口比串口好,由于它速度更快,但是后来,随着时间的流逝,我几乎发现并口失踪了,没有人再使用它了,难道一次能够传输8位的线缆没有一次仅能够传输1位的线缆好吗?
     后来参加工做,我逐渐明白了这个问题,并口虽然单次传输速度很快,然而一旦1位出错,8位的数据就所有从新传输,另外一方面,也不利于单位控制,好比有的时候不须要传输8位的数据,只须要传输1位的控制位便可,另外最重要的,8位并行传输,8根线缆之间的串扰很强烈,出错率很高,除了传输ascii或者unicode字符以外,在控制方面,按位控制比按字节控制更加节能和高效,所以并口的利用率远远不如串口,硬件设计也过于复杂,并且硬件规范一旦成型就不易更改,而软件更改却很容易,所以一些控制信号最好经过软件协议来协商而不要经过硬件来固化,好比通讯双方商量好,若是发送一个1110序列,那么就是立刻要写数据了,数据内容中的1110如何转义也须要协商好,若是发送0111序列,那么就是请求读取数据,后面跟一个地址,这样要比专门搞一些地址针脚或者控制针脚要好不少。也就是说,硬件提供最基本的机制,好比收和发以及接地,而其他的控制协议和传输协议所有由软件来完成,这是最合理的了,这也是当今计算机工业发展的主流,好比磁盘一例,以往咱们都是用ATA磁盘,也就是咱们熟悉的IDE磁盘,它是并行口的,数据线有不少的针脚,两大排,插拔的时候要很当心,弄很差就插折了,而现在呢,再次打开机箱,咱们发现了一根细不少的红色(也有别的颜色)线缆,那就是sata线缆,链接的就是sata磁盘,这根线缆有着很少的几个针脚,和usb差很少,它基于串行口,sata中s就是serial的意思。
     所以,不要在硬件上花费太多的时间、精力和金钱,最好的办法是用软件解决,评价一个硬件好很差并非它的功能强不强,而是它必须是机制化的,不要有太多的策略。太多的功能必然意味着成本的增长,在成本和性质之间必须有一个权衡,就想同轴电缆败给双绞线同样,单论传输特性,同轴电缆确定是无以伦比的,然而它造价高的超过了它带来的好处,所以它败了,双绞线的劣势彻底能够用软件来弥补一二。软件的劣势能够经过重构来弥补,重构或者重写彻底是取决于人的脑力的,而硬件的重构却须要巨大的人力财力投入,能用软件解决的问题不要用硬件解决。ide

相关文章
相关标签/搜索