CKS32F107xx系列在支持正常USART功能的同時,亦支持LIN(局域互聯網)模式。
LIN模式是通過設置USART_CR2寄存器的LINEN位選擇。在LIN模式下,下列位必須保持為0:
USART_CR2寄存器的CLKEN位
USART_CR3寄存器的STOP[1:0],SCEN,HDSEL和IREN
LIN發送
在前幾講中,對USART發送器進行了部分介紹,其所描述的同樣步驟適用于LIN主發送,但和正常USART發送有以下區別:
清零M位以配置8位字長
置位LINEN位以進入LIN模式。這時,置位SBK將發送13位’0’作為斷開符號。然后發一位’1’,以允許對下一個開始位的檢測。
LIN接收
當LIN模式被使能時,斷開符號檢測電路被激活。該檢測完全獨立于USART接收器。斷開符號只要一出現就能檢測到,不管是在總線空閑時還是在發送某數據幀其間,數據幀還未完成,又插入了斷開符號的發送。
當接收器被激活時(USART_CR1的RE=1),電路監測RX上的起始信號。監測起始位的方法同檢測斷開符號或數據是一樣的。當起始位被檢測到后,電路對每個接下來的位,在每個位的第8,9,10個過采樣時鐘點上進行采樣。如果10個(當USART_CR2的LBDL=0)或11個(當USART_CR2的LBDL=1)連續位都是’0’,并且又跟著一個定界符,USART_SR的LBD標志被設置。如果LBDIE位=1,中斷產生。在確認斷開符號前,要檢查定界符,因為它意味RX線已經回到高電平。
如果在第10或11個采樣點之前采樣到了’1’,檢測電路取消當前檢測并重新尋找起始位。如果LIN模式被禁止,接收器繼續如正常USART那樣工作,不需要考慮檢測斷開符號。
如果LIN模式沒有被激活(LINEN=0),接收器仍然正常工作于USART模式,不會進行斷開檢測。如果LIN模式被激活(LINEN=1),只要一發生幀錯誤(也就是停止位檢測到’0’,這種情況出現在斷開幀),接收器就停止,直到斷開符號檢測電路接收到一個’1’(這種情況發生于斷開符號沒有完整的發出來),或一個定界符(這種情況發生于已經檢測到一個完整的斷開符號)。
圖1說明了斷開符號檢測器狀態機的行為和斷開符號標志的關系。圖2給出了一個斷開幀的例子。
圖1LIN 模式下的斷開檢測(11 位斷開長度—設置了 LBDL 位)
圖2 LIN 模式下的斷開檢測與幀錯誤的檢測
-
寄存器
+關注
關注
31文章
5394瀏覽量
122440 -
LIN
+關注
關注
4文章
223瀏覽量
40758 -
USART
+關注
關注
1文章
198瀏覽量
31433 -
發送器
+關注
關注
1文章
261瀏覽量
27051
原文標題:MCU微課堂|CKS32F107xx USART(三)
文章出處:【微信號:中科芯MCU,微信公眾號:中科芯MCU】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
CKS32F4xx系列MCU的低功耗模式之睡眠模式

CKS32F107xx系列USART的特性和功能
利用CKS32F107xx系列RTC的鬧鐘實驗
CKS32F4xx系列產品串口DMA傳輸
CKS32F4xx系列RNG功能設置

CKS32F107xx系列MCU中ADC介紹
CKS32F107xx系列MCU的雙重ADC模式

CKS32F107xx系列MCU的GPIO內部硬件結構和工作模式

詳解CKS32F107xx系列的定時器同步功能

評論