通用異步收發(fā)器(Universal Asynchronous Receiver/Transmitter),通常稱(chēng)作UART,是一種串行、異步、全雙工的通信協(xié)議,在嵌入式領(lǐng)域應用的非常廣泛。 UART作為異步串行通信協(xié)議的一種,工作原理是將傳輸數據的每個(gè)二進(jìn)制位一位接一位地傳輸。在UART通信協(xié)議中信號線(xiàn)上的狀態(tài)為高電平時(shí)代表‘1’,信號線(xiàn)上的狀態(tài)為低電平時(shí)代表‘0’。比如使用UART通信協(xié)議進(jìn)行一個(gè)字節數據的傳輸時(shí)就是在信號線(xiàn)上產(chǎn)生八個(gè)高低電平的組合。但實(shí)際上UART通信協(xié)議在進(jìn)行一個(gè)字節的數據傳輸時(shí)除了最基本的數據位之外還有許多其他的信息需要表示,具體的協(xié)議格式如下 空閑位: UART協(xié)議規定,當總線(xiàn)處于空閑狀態(tài)時(shí)信號線(xiàn)的狀態(tài)為‘1’即高電平 起始位: 每開(kāi)始一次通信時(shí)發(fā)送方先發(fā)出一個(gè)邏輯”0”的信號(低電平),表示傳輸字符的開(kāi)始。因為總線(xiàn)空閑時(shí)為高電平所以開(kāi)始一次通信時(shí)先發(fā)送一個(gè)明顯區別于空閑狀態(tài)的信號即低電平。 數據位: 起始位之后就是我們所要傳輸的數據,數據位可以是5、6、7、8位等,構成一個(gè)字符。先發(fā)送最低位,最后發(fā)送最高位,使用低電平表示‘0’高電平表示‘1’完成數據位的傳輸。 奇偶校驗位: 數據位加上這一位后,使得“1”的位數應為偶數(偶校驗)或奇數(奇校驗),以此來(lái)校驗數據傳送的正確性 停止位: 它是一個(gè)字符數據的結束標志?梢允1位、1.5位、2位的高電平。 由于數據是在傳輸線(xiàn)上定時(shí)的,并且每一個(gè)設備有其自己的時(shí)鐘,很可能在通信中兩臺設備之間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,并且提供計算機校正時(shí)鐘的機會(huì )。停止位個(gè)數越多,數據傳輸越穩定,但是數據傳輸速度也越慢。 比特率: 在UART中使用波特率來(lái)表示數據的傳輸速度。比特率是表示每秒鐘傳送的二進(jìn)制位的個(gè)數。 |