嵌入式通訊協議札記(一) 串列埠通訊

2021-10-08 19:43:34 字數 1709 閱讀 6171

物理層規定了通訊系統的機械、電子特性(相當於規定了用嘴巴還是肢體交流)

協議層規定了通訊邏輯、資料打包解包標準(相當於規定了用中文還是英文交流)

串列埠通訊的物理層有很多標準和變種,以rs232標準為例,規定了訊號的用途、通訊介面、電平標準。

通訊標準

電平標準(傳送端)

5v ttl

邏輯1:2.4v ~ 5v ; 邏輯0:0v ~ 0.5v

rs232

邏輯1:-15v ~ -3v ; 邏輯0:+3v ~ +15v

因為控制器一般使用ttl電平標準,所以常常會使用ma3232晶元對ttl及rs232電平的訊號進行互相轉換。

串列埠通訊的資料報由傳送裝置通過自身的txd介面傳輸到接收裝置的rxd介面。在串列埠協議層規定了資料報的內容,包括起始位、資料位、校驗位、停止位等。

注意:uart只有非同步傳輸功能,所以沒有sclk、ncts、nrts引腳。

usart包括傳送器(控制傳送)、接收器(控制接收)、喚醒單元、中斷控制等,使用usart之前需要將usart_cr1暫存器的ue位置1以使能usart,ue位用來開啟供給串列埠的時鐘。 名稱

描述te

傳送使能

txe傳送暫存器為空,傳送單個位元組的時候使用

tc傳送完成,傳送多個位元組資料的時候使用

txie

傳送完成中斷使能 名稱

描述re

接收使能

rxne

讀資料暫存器非空

rxneie

接收完成中斷使能

波特率:資料訊號對載波的調製速率,用單位時間載波調製狀態改變次數來表示,單位為波特。

位元率:單位時間內傳輸的位元數,單位bit/s(bps)。

對於usart波特率、位元率相等,就不做區分,波特率越大,傳輸速率越快。

usartdiv是存放在波特率暫存器(usart_brr)的乙個無符號整數,其中div_mantissa[11:0]位定義usartdiv的整數部分,div_fraction[3:0]位定義usartdiv的小數部分。

usart有多個中斷請求事件,如下表:

中斷事件

事件標誌

使能控制位

傳送資料暫存器為空

txetxeie

cts標誌

ctsctsie

傳送完成

tctcie

準備好讀取接收到的資料

rxne

rxneie

檢測到上溢錯誤

orerxneie

檢測到空閒線路

idle

idleie

奇偶校驗錯誤

pepeie

斷路標誌

lbdlbdie

多緩衝通訊中的雜訊標誌、上溢錯誤和幀錯誤

nf/ore/fe

eie

嵌入式通訊協議 SPI

spi 序列外設介面,是一種高速的 全雙工,同步的通訊匯流排。spi的通訊原理很簡單,它以主從方式工作,這種模式通常有乙個主裝置和乙個或多個從裝置,需要至少4根線,事實上3根也可以 單向傳輸時 也是所有基於spi的裝置共有的,它們是mosi 資料輸入 miso 資料輸出 sclk 時鐘 cs 片選 ...

嵌入式軟體 自學 通訊協議

嵌入式通訊協議 分為 大協議 和 小協議 兩種 大協議 主要用來進行系統外的整個系統之間的通訊,協議如ethernet usb sata pcie等,傳輸速率在數百甚至上千mb s。小協議 主要用於系統內各個晶元間的通訊,協議如i2c spi uart協議,傳輸速率在幾kb s到幾mb s。小協議 ...

嵌入式硬體相關通訊協議

spi是序列外圍裝置介面 serial peripheral inte ce 是motorola首先在其mc68hcxx系列處理器上定義的。是一種高速的 全雙工的和同步的序列通訊匯流排。乙個主裝置和乙個從裝置使用4根線進行通訊 具有多個從裝置時,主裝置會給每乙個從裝置分配乙個cs腳,以便於選擇相應的...