物理層規定了通訊系統的機械、電子特性(相當於規定了用嘴巴還是肢體交流)
協議層規定了通訊邏輯、資料打包解包標準(相當於規定了用中文還是英文交流)
串列埠通訊的物理層有很多標準和變種,以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腳,以便於選擇相應的...