基於mini2440的UBOOT UART設置
1. 標準9針串口引腳定義
根據圖3.40的引腳順序號,如果是作爲RS-232C接口,則各引腳定義如表3.2所示。
表3.2RS-232C引腳意義表
各引腳的電氣特性爲:
在TxD和RxD上,邏輯“1”爲-3V~-15V; 邏輯“0”爲+3V~+15V。
在RTS、CTS、DSR、DTR和DCD等控制線上,信號有效爲+3V~+15V;信號無效爲-3V~-15V。
對於數據信號,邏輯“1”爲低於-3V,邏輯“0”爲高於+3V;對於控制信號,接通ON爲低於-3V;斷開OFF爲高於+3V;-3V~+3V、低於-15V、高於+15V都表示電壓無意義。
2. UART通信協議
UART使用的是 異步,串行通信。
串行通信是指利用一條傳輸線將資料一位位地順序傳送。特點是通信線路簡單,利用簡單的線纜就可實現通信,降低成本,適用於遠距離通信,但傳輸速度慢的應用場合。
異步通信以一個字符爲傳輸單位,通信中兩個字符間的時間間隔多少是不固定的,然而在同一個字符中的兩個相鄰位間的時間間隔是固定的。
數據傳送速率用波特率來表示,即每秒鐘傳送的二進制位數。例如數據傳送速率爲120字符/秒,而每一個字符爲10位(1個起始位,7個數據位,1個校驗位,1個結束位),則其傳送的波特率爲10×120=1200字符/秒=1200波特。
數據通信格式如下圖:
其中各位的意義如下:
起始位:先發出一個邏輯”0”信號,表示傳輸字符的開始。
數據位:可以是5~8位邏輯”0”或”1”。如ASCII碼(7位),擴展BCD碼(8位)。小端傳輸
校驗位:數據位加上這一位後,使得“1”的位數應爲偶數(偶校驗)或奇數(奇校驗)
停止位:它是一個字符數據的結束標誌。可以是1位、1.5位、2位的高電平。
空閒位:處於邏輯“1”狀態,表示當前線路上沒有資料傳送。
注:異步通信是按字符傳輸的,接收設備在收到起始信號之後只要在一個字符的傳輸時間內能和發送設備保持同步就能正確接收。下一個字符起始位的到來又使同步重新校準(依靠檢測起始位來實現發送與接收方的時鐘自同步的)
3. 2440的 UART相關寄存器
4. 2440 UBOOT UART配置代碼分析
代碼路徑:\common\serial.c
串口的相關配置根據各平臺獲取到平臺的串口設備接口。
串口設備接口註冊的地方
代碼路徑:\drivers\serial\derial_s3c24x0.c
在這裏獲取到s3c2440的UART寄存器然後在各個函數接口中通過設置寄存器完成串口初始化和串口發送和接收。
串口設備初始化:
串口數據發送:
串口數據接收:
UBOOT調用初始化接口的地方:
代碼路徑:\lib_arm\board.c
博主版權所有:未經許可,不可轉載。