2017年7月17日 星期一

序列傳輸 - 序列埠通訊

Serial Communication串列傳輸




Introduction 


一般的嵌入式系統泛指由 IC 和 CPU 互聯電路所共同組成的系統,其中目標包含內部獨立的電路可以交換、傳遞彼此的資訊,必須能夠透過共同的通訊協定來溝通。 所以為了使各種元件或 IC 可以順利溝通,出現了各種不一樣的通訊協定,可以達到資料交換的目的。 一般而言,會將通訊類型分成兩大類,並列式(parallel)和序列式傳輸(serial)。

Parallel v.s. Serial


並列式傳輸是可以同時間傳送多個位元,常見的匯流排(bus)是 8 ,16 或更多線所組成。

序列式傳輸則是一個時間點只會送出一個位元,將位元依序送出,最少可以只用一條線,常見的應用一般不使用超過四條線。

Asynchronous Serial


經過長時間的發展,已經有各種序列式的通訊協定出現,可以適用各種不同嵌入式系統所需的條件。如 USB 和 乙太網路都是比較常見的通訊方式。 其他常見的序列式介面包含 SPI、I2C 。

序列傳輸又可以分成兩類,同步(Synchronous)與非同步(Asynchronous)。

同步傳輸的序列介面,除了資料線以外,會多一條線作為傳輸時脈(Clock)信號,如此一來只要是在此序列同步傳輸的匯流排上的裝置,都可以參考同一個 clock 做資料同步。

非同步傳輸則是沒有額外的訊號線作為傳輸時脈的用途,這代表必須要用其他的方式來使得傳輸更可靠。

Rules of Serial

非同步序列的傳輸,有很多種的規則,必須要透過規範的機制,來使得傳輸更加可靠,才不會造成資料丟失或者資料錯誤的情況發生。

這個機制需要透過額外的資訊來實現

Data bits,
Synchronization bits,
Parity bits,
Baud rate.

這個機制的調整彈性相當的大,並且沒有辦法連續的一直送出資料,而是將資料分成很多的小訊框在送出,這個機制下最重要的是確保通訊的兩方要在同樣通訊協定的配置下。


https://learn.sparkfun.com/tutorials/serial-communication 


沒有留言:

張貼留言