序列通訊
在遠端通訊和電腦科學中,序列通訊(英語:Serial communication)是指在電腦匯流排或其他數據通道上,每次傳輸一個位元數據,並連續進行以上單次過程的通訊方式。與之對應的是並列通訊,它在序列埠上通過一次同時傳輸若干位元數據的方式進行通訊。序列通訊被用於長距離通訊以及大多數電腦網絡,在這些應用場合里,電纜和同步化使並列通訊實際應用面臨困難。憑藉着其改善的訊號完整性和傳播速度,序列通訊匯流排正在變得越來越普遍,甚至在短程距離的應用中,其優越性已經開始超越並列匯流排不需要序列化元件(serializer),並解決了諸如時鐘偏移(Clock skew)、互聯密度(interconnect density)等缺點。PCI到PCI Express的升級就是其中一個例子。
序列匯流排
如果集成電路具有更多的引腳的話,那麼它的價格通常會更加昂貴。為了減少封裝中的引腳數,許多集成電路在速度不是特別重要的情況下,使用序列匯流排來傳輸數據。這樣的低價序列匯流排的例子有序列周邊介面(Serial Peripheral Interface Bus,SPI)[1]、I²C[2]、UNI/O[3]、1-Wire[4]等。
序列通訊與並列通訊的比較
在電腦之間、電腦內部各部分之間,通訊可以以序列和並列的方式進行。一個並列連接通過多個通道(例如導線、印製電路布線和光纖)在同一時間內傳播多個數據流;而序列在同一時間內只連接傳輸一個數據流。
雖然序列連接單個時鐘周期能夠傳輸的數據比並列數據更少,前者傳輸能力看起來比後者要弱一些,實際的情況卻常常是,序列通訊可以比並列通訊更容易提高通訊時鐘頻率,從而提高數據的傳輸速率。有以下一些因素允許序列通訊具有更高的通訊時鐘頻率:
- 無需考慮不同通道的時鐘脈衝相位差(英語:clock skew);
- 序列連接所需的物理媒介,例如電纜和光纖,少於並列通訊,從而減少佔用空間的體積;
- 串擾的問題可以得到大振幅緩解。
在許多情況里,序列通訊都憑藉其更低廉的部署成本成為更佳的選擇,尤其是在遠距離傳輸中。許多集成電路都具有序列通訊介面來減少引腳數量,從而節約成本。
序列通訊架構的例子
- 摩爾斯電碼(用於電報)
- RS-232(低速,用於序列介面)
- RS-422
- RS-423
- RS-485
- I²C
- SPI
- ARINC 818Avionics數碼影片匯流排
- 通用序列匯流排(中速,用於連接多種外部裝置)
- IEEE 1394
- 乙太網路
- 纖維管路(高速,用於連接電腦和大容量記憶體)
- InfiniBand(超高速)
- MIDI數碼樂器控制
- DMX512舞臺燈光控制
- SDI-12工業感測器協定
- 序列SCSI
- SATA
- SpaceWire航天器通訊網絡
- HyperTransport
- PCI Express
- QPI
- 同步光網絡(光纖高速傳輸)
- T-1和E-1變體(通過銅線對的高速通訊)
- MIL-STD-1553A/B
參考文獻
外部連結
- Serial Interface Tutorial for Robotics(頁面存檔備份,存於互聯網檔案館) (contains many practical examples)
- Serial interfaces listing (with pinouts)
- Wiki: Serial Ports(頁面存檔備份,存於互聯網檔案館)
- Visual studio 2008 coding for Serial communication