SPI I2C UART 三種序列匯流排協議

2021-10-23 23:03:46 字數 1914 閱讀 8863

spi(serial peripheral inte***ce:序列外設介面):

4線spi器件有四個訊號:

時鐘(spi clk, sclk)

片選(cs)

主機輸出、從機輸入(mosi)

主機輸入、從機輸出(miso)

spi 硬體連線

i2c 匯流排用兩根線來連線多支路匯流排中的多個裝置。這種匯流排是雙向、低速的,並與公共時鐘同步。可以直接將乙個裝置接到 i2c 匯流排上或是從該匯流排上取下,而不會影響其他裝置。它只需要兩根線即可在連線於匯流排上的器件之間傳送資訊。sda(序列資料線)和scl(序列時鐘線)都是雙向i/o線

物理層

i2c 匯流排中只使用兩條線路:sda、scl。

① sda(序列資料線):

主晶元通過一根 sda 線既可以把資料發給從裝置,也可以從 sda 上讀取資料。在 i2c 裝置內部有兩個引腳(傳送引腳/接受引腳),它們都連線到外部的 sda 線上,具體可以參考下圖 device 端裡面的i2cn_sda(output/input)。

② scl(序列時鐘線):

i2c 主裝置發出時鐘,從裝置接收時鐘。

傳輸速率

傳輸速率在標準模式下可以達到 100kb/s,快速模式下可以達到 400kb/s。

協議層

i2c 協議的資料有效性是靠時鐘來保證的,在時鐘的高電平週期內,sda 線上的資料必須保持穩定。

資料線僅可以在時鐘 scl 為低電平時改變。

uart

uart 全稱是通用非同步收發傳輸器(universal asynchronous receiver/transmitter)。串列埠顧名思義是資料序列介面, 即資料的傳輸是一位接一位傳輸,屬於一種序列的資料匯流排, 屬於非同步通訊, 同時支援全

雙工資料傳輸(全雙工資料傳輸:允許傳送資料和接收資料在同一時刻發生)。

uart 硬體連線

uart 串列埠最精簡的連線是 ttl 電平三線連線

uartx_txd:用於傳送資料,應連線到接收裝置的 uartx_rxd 引腳上;

uartx_rxd:用於接收資料,應連線到傳送裝置的 uartx_txd 引腳上;

gnd:為雙方提供乙個相同的參考電平。

ttl 電平轉 rs232 電平

rs232 電平規定邏輯「1」的電平為-5v~-15 v,邏輯「0」的電平為+5 v~+15 v,選用該電氣標準以提

高抗干擾能力。常用的 ttl 轉 rs232 晶元有:max232,sp3232 等。

ttl 電平轉 usb 電平

將 ttl 電平轉換為 usb 電平(d+與 d-一對差分訊號採用 nrzi 編碼實現通訊) ,提高抗干擾能力,常用的 ttl 轉 usb 晶元有:pl2303,ch340, cp2102 等

for迭代序列的三種方式

while迴圈是條件性的,for迴圈是迭代性的。for迴圈會訪問所有迭代物件中的所有元素,並在所有條目都結束後結束迴圈。for迴圈迭代序列有三種基本的方式,分別是通過序列項迭代 通過索引迭代 通過項和索引迭代 1.通過序列項迭代 namelist 科比 毛線 小鳥 星爺 for i in namel...

三種序列化體式格式

net框架中供給了3中序列化的體式格式,分別是 1.binary serializer 若是須要序列化這個類的物件,那麼這個類必必要標識表記標幟為是可序列化的。須要用到特點 serializable 感化域是class,struct,enum,delegate 若是某些變數不須要序列化,或者不克不及...

解決select遮擋div三種方法(自己總結)

size large 最近在專案中實現過程中遇到select遮擋div的問題,查閱了網上很多資料解決方法無非3個。其一 用iframe 其二 隱藏顯示select 其三 用html模擬下拉框 解決方法一 在要彈出div裡加入iframe 如下 解決方法二 思想 在開啟div前隱藏所有select,d...