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
沒有留言:
張貼留言