国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

您好,歡迎進(jìn)入深圳市穎特新科技有限公司官方網(wǎng)站!

您現(xiàn)在的位置:首頁 新聞資訊 >> 新聞頭條 >> 說說UART(轉(zhuǎn))
新聞資訊
NEWS INFORMATION

說說UART(轉(zhuǎn))

發(fā)布時間:2019-05-22

串口協(xié)議基礎(chǔ) 

1 串口概述

串口由收發(fā)器組成。發(fā)送器是通過TxD引腳發(fā)送串行數(shù)據(jù),接收器是通過RxD引腳接收串行數(shù)據(jù)。發(fā)送器和接收器都利用了一個移位寄存器,這個移位寄存器可以將數(shù)據(jù)進(jìn)行“并轉(zhuǎn)串”和“串轉(zhuǎn)并”。雖然一個UART接口通常都包含了發(fā)送器和接收器,而實際上一個全雙工串口UART控制器需要獨立的發(fā)送和接收通道。這是因為每個控制通道只控制了一個pin(一個通道要么配置成發(fā)送器,要么配置成接收器,不能同時配置成接收器和發(fā)送器)。沒有嚴(yán)格規(guī)定哪個通道可以是發(fā)送器、哪個通道可以使接收器。

UART協(xié)議(串口協(xié)議)允許選擇一個校驗位來檢測簡單的通信錯誤(transmission errors)。校驗位可以通過兩種不同的方式進(jìn)行產(chǎn)生和檢測(generated and checked):奇校驗和偶校驗(odd and even parity)。UART協(xié)議功能支持所有的校驗方式。

串口協(xié)議對每個字節(jié)數(shù)據(jù)的bit數(shù)并不是固定不變的。盡管8-bit的字節(jié)是經(jīng)常用到的,但是一些應(yīng)用也用到7-bit、9-bit、或者更多bit的字節(jié)數(shù)據(jù)。串口功能可以使用每個字節(jié)長達(dá)1~23bit長度的字節(jié)數(shù)據(jù)。另外,串口協(xié)議還需要1個開始位(1 start bit)(發(fā)送一個從“高到低”動作,低電平需要保持1 bit的時間)和1個停止位(1 stop bit)(發(fā)送一個從“底到高”動作,高電平需要保持1 bit的時間)來封裝數(shù)據(jù)。

串口功能是雙緩沖的。不論是發(fā)送器還是接收器,它們都包含有一個移位寄存器和一個數(shù)據(jù)寄存器。Host CPU可以在數(shù)據(jù)正在發(fā)送時,將新數(shù)據(jù)寫入到發(fā)送器的數(shù)據(jù)寄存器;也可以在數(shù)據(jù)被接收時,從接收器的數(shù)據(jù)寄存器讀取數(shù)據(jù)。

串口發(fā)送器通過對通道的“中斷標(biāo)志位”和數(shù)據(jù)發(fā)送器“需求標(biāo)志位”置位來指示數(shù)據(jù)已經(jīng)從“發(fā)送數(shù)據(jù)寄存器”傳送到“發(fā)送移位寄存器”了。發(fā)送器的CIS標(biāo)志位和DTRS被置位時,標(biāo)志著發(fā)送數(shù)據(jù)寄存器已經(jīng)準(zhǔn)備就緒可以接收新數(shù)據(jù)了。假如中斷標(biāo)志位將被用于輪詢環(huán)境(polling environment),CIS標(biāo)志位就必須在新數(shù)據(jù)被寫入發(fā)送器前被清零。同樣的,如果一個DMA通道被用于UART通道服務(wù),那么DTRS標(biāo)志位就應(yīng)被DMA通道描述符清零(should be cleared by theDMA channel descriptor)。當(dāng)數(shù)據(jù)別寫入到數(shù)據(jù)發(fā)送寄存器時,這24-bit的數(shù)據(jù)發(fā)送寄存器MSB必須寫為0。這個是iTPU串口的一個握手信號,這個握手信號表明了新的發(fā)送數(shù)據(jù)進(jìn)行串行移位輸出已經(jīng)寫好。

同樣的,串口接收器通過對CIS和DTRS標(biāo)志位進(jìn)行置位,來表明新數(shù)據(jù)已經(jīng)到了。當(dāng)數(shù)據(jù)從接收移位寄存器傳送到接收數(shù)據(jù)寄存器后,CIS和DTRS標(biāo)志位就被置位了。假如中斷標(biāo)志位將被用于輪詢環(huán)境(polling environment),接收器的CIS標(biāo)志位就必須在新數(shù)據(jù)被讀取后被清零。如果一個DMA通道被用于UART通道服務(wù),那么DTRS標(biāo)志位就應(yīng)被DMA通道描述符清零(should be cleared by theDMA channel descriptor)。為了避免數(shù)據(jù)丟失或者重復(fù)讀取同樣的數(shù)據(jù),所以必須在接收后續(xù)的數(shù)據(jù)前完成 檢測新接收到的數(shù)據(jù)、讀取數(shù)據(jù)、和清除接收CIS標(biāo)志位和DRTS標(biāo)志位。同樣的,在隨后數(shù)據(jù)接收前,與每個已接收到的數(shù)據(jù)位相關(guān)的“錯誤條件”(error condition)必須被檢測或者保存好,否則errorcondition將會丟失。

串口功能可以進(jìn)行連續(xù)的傳輸(back-to-back transfer)。如果數(shù)據(jù)及時,發(fā)送器不會產(chǎn)生空閑信號(idle line signal),而是在一個stop位后,緊跟著下一幀數(shù)據(jù)的star位?臻e信號只有在傳送數(shù)據(jù)已經(jīng)被串行移位輸出,發(fā)送數(shù)據(jù)寄存器為空時才會產(chǎn)生。發(fā)送器的空閑信號時間都是1 bit時間的整數(shù)倍。接收器可以處理任何長度的空閑信號。

每個數(shù)據(jù)都是由1個start位開始的,開始位始終是邏輯0。跟隨在開始位后面的是特定長度的數(shù)據(jù),數(shù)據(jù)是LSB模式發(fā)送的;如果校驗位被使能,那么1個校驗位也將產(chǎn)生,并被發(fā)送。數(shù)據(jù)的最后一位由1個stop位標(biāo)志,結(jié)束位始終是邏輯1。一個空閑line就是由連續(xù)多個的stop位組成的,這也就意味著空閑信號其實就是信號線一直保持在邏輯1。

例子:一個ASCII字符“A”(8-bit,hex碼為0x41)一直都是以如下的方式進(jìn)行傳送的。注意:數(shù)據(jù)是LSB first發(fā)送方式。

 

如圖2更多詳細(xì)內(nèi)容:(注意:時序圖顯示0x41數(shù)據(jù)串行輸出時序,LSB first。)

文中用到的“bittime”位時間,指的是傳送或接受1bit數(shù)據(jù)所需要的時間。位時間是由波特率決定的,如下公式:

Bittime = 1/Baud Rate

接收器通過感知start位的下降沿,來檢測數(shù)據(jù)。因為UART功能總是把服務(wù)請求初始化后的第一個下降沿作為有效的起始條件,此時若line是空閑的,就必須使能接收器。接收位只采樣一次,大約半個bit time。在每次start bit時,接收器都將出現(xiàn)同步。

 

2 基本時序

如圖2展示了TX和RX數(shù)據(jù),以及串行數(shù)據(jù)的時序。任何寫入到tx數(shù)據(jù)寄存器的數(shù)據(jù),必須將msb位置為0(其實就是開始位,startbit)。這表明UART的新數(shù)據(jù)已經(jīng)準(zhǔn)備好,可以進(jìn)行移位輸出了。所有接收的數(shù)據(jù)通過API接收函數(shù)fs_etpu_uart_read _receive _data()進(jìn)行右對齊。傳送的數(shù)據(jù)總是由1開始位(1 bittime low)和1停止位(1 bit time high)封裝。數(shù)據(jù)總是LSB FIRST移位輸出。當(dāng)所有數(shù)據(jù)被傳送出去后,根據(jù)校驗位是否被使能,校驗位也將被選擇性的輸出。數(shù)據(jù)寬度被限制在23bits以內(nèi)。這就意味著最大的數(shù)據(jù)大小、加上校驗位,以及開始位、結(jié)束位,一幀數(shù)據(jù)最長將達(dá)到26bits。接收到的數(shù)據(jù)MSB總是0。

 

 

版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)允許不得轉(zhuǎn)載。 https://blog.csdn.net/kaly_liu/article/details/
 

串口協(xié)議基礎(chǔ) 

1 串口概述

串口由收發(fā)器組成。發(fā)送器是通過TxD引腳發(fā)送串行數(shù)據(jù),接收器是通過RxD引腳接收串行數(shù)據(jù)。發(fā)送器和接收器都利用了一個移位寄存器,這個移位寄存器可以將數(shù)據(jù)進(jìn)行“并轉(zhuǎn)串”和“串轉(zhuǎn)并”。雖然一個UART接口通常都包含了發(fā)送器和接收器,而實際上一個全雙工串口UART控制器需要獨立的發(fā)送和接收通道。這是因為每個控制通道只控制了一個pin(一個通道要么配置成發(fā)送器,要么配置成接收器,不能同時配置成接收器和發(fā)送器)。沒有嚴(yán)格規(guī)定哪個通道可以是發(fā)送器、哪個通道可以使接收器。

UART協(xié)議(串口協(xié)議)允許選擇一個校驗位來檢測簡單的通信錯誤(transmission errors)。校驗位可以通過兩種不同的方式進(jìn)行產(chǎn)生和檢測(generated and checked):奇校驗和偶校驗(odd and even parity)。UART協(xié)議功能支持所有的校驗方式。

串口協(xié)議對每個字節(jié)數(shù)據(jù)的bit數(shù)并不是固定不變的。盡管8-bit的字節(jié)是經(jīng)常用到的,但是一些應(yīng)用也用到7-bit、9-bit、或者更多bit的字節(jié)數(shù)據(jù)。串口功能可以使用每個字節(jié)長達(dá)1~23bit長度的字節(jié)數(shù)據(jù)。另外,串口協(xié)議還需要1個開始位(1 start bit)(發(fā)送一個從“高到低”動作,低電平需要保持1 bit的時間)和1個停止位(1 stop bit)(發(fā)送一個從“底到高”動作,高電平需要保持1 bit的時間)來封裝數(shù)據(jù)。

串口功能是雙緩沖的。不論是發(fā)送器還是接收器,它們都包含有一個移位寄存器和一個數(shù)據(jù)寄存器。Host CPU可以在數(shù)據(jù)正在發(fā)送時,將新數(shù)據(jù)寫入到發(fā)送器的數(shù)據(jù)寄存器;也可以在數(shù)據(jù)被接收時,從接收器的數(shù)據(jù)寄存器讀取數(shù)據(jù)。

串口發(fā)送器通過對通道的“中斷標(biāo)志位”和數(shù)據(jù)發(fā)送器“需求標(biāo)志位”置位來指示數(shù)據(jù)已經(jīng)從“發(fā)送數(shù)據(jù)寄存器”傳送到“發(fā)送移位寄存器”了。發(fā)送器的CIS標(biāo)志位和DTRS被置位時,標(biāo)志著發(fā)送數(shù)據(jù)寄存器已經(jīng)準(zhǔn)備就緒可以接收新數(shù)據(jù)了。假如中斷標(biāo)志位將被用于輪詢環(huán)境(polling environment),CIS標(biāo)志位就必須在新數(shù)據(jù)被寫入發(fā)送器前被清零。同樣的,如果一個DMA通道被用于UART通道服務(wù),那么DTRS標(biāo)志位就應(yīng)被DMA通道描述符清零(should be cleared by theDMA channel descriptor)。當(dāng)數(shù)據(jù)別寫入到數(shù)據(jù)發(fā)送寄存器時,這24-bit的數(shù)據(jù)發(fā)送寄存器MSB必須寫為0。這個是iTPU串口的一個握手信號,這個握手信號表明了新的發(fā)送數(shù)據(jù)進(jìn)行串行移位輸出已經(jīng)寫好。

同樣的,串口接收器通過對CIS和DTRS標(biāo)志位進(jìn)行置位,來表明新數(shù)據(jù)已經(jīng)到了。當(dāng)數(shù)據(jù)從接收移位寄存器傳送到接收數(shù)據(jù)寄存器后,CIS和DTRS標(biāo)志位就被置位了。假如中斷標(biāo)志位將被用于輪詢環(huán)境(polling environment),接收器的CIS標(biāo)志位就必須在新數(shù)據(jù)被讀取后被清零。如果一個DMA通道被用于UART通道服務(wù),那么DTRS標(biāo)志位就應(yīng)被DMA通道描述符清零(should be cleared by theDMA channel descriptor)。為了避免數(shù)據(jù)丟失或者重復(fù)讀取同樣的數(shù)據(jù),所以必須在接收后續(xù)的數(shù)據(jù)前完成 檢測新接收到的數(shù)據(jù)、讀取數(shù)據(jù)、和清除接收CIS標(biāo)志位和DRTS標(biāo)志位。同樣的,在隨后數(shù)據(jù)接收前,與每個已接收到的數(shù)據(jù)位相關(guān)的“錯誤條件”(error condition)必須被檢測或者保存好,否則errorcondition將會丟失。

串口功能可以進(jìn)行連續(xù)的傳輸(back-to-back transfer)。如果數(shù)據(jù)及時,發(fā)送器不會產(chǎn)生空閑信號(idle line signal),而是在一個stop位后,緊跟著下一幀數(shù)據(jù)的star位?臻e信號只有在傳送數(shù)據(jù)已經(jīng)被串行移位輸出,發(fā)送數(shù)據(jù)寄存器為空時才會產(chǎn)生。發(fā)送器的空閑信號時間都是1 bit時間的整數(shù)倍。接收器可以處理任何長度的空閑信號。

每個數(shù)據(jù)都是由1個start位開始的,開始位始終是邏輯0。跟隨在開始位后面的是特定長度的數(shù)據(jù),數(shù)據(jù)是LSB模式發(fā)送的;如果校驗位被使能,那么1個校驗位也將產(chǎn)生,并被發(fā)送。數(shù)據(jù)的最后一位由1個stop位標(biāo)志,結(jié)束位始終是邏輯1。一個空閑line就是由連續(xù)多個的stop位組成的,這也就意味著空閑信號其實就是信號線一直保持在邏輯1。

例子:一個ASCII字符“A”(8-bit,hex碼為0x41)一直都是以如下的方式進(jìn)行傳送的。注意:數(shù)據(jù)是LSB first發(fā)送方式。

 

如圖2更多詳細(xì)內(nèi)容:(注意:時序圖顯示0x41數(shù)據(jù)串行輸出時序,LSB first。)

文中用到的“bittime”位時間,指的是傳送或接受1bit數(shù)據(jù)所需要的時間。位時間是由波特率決定的,如下公式:

Bittime = 1/Baud Rate

接收器通過感知start位的下降沿,來檢測數(shù)據(jù)。因為UART功能總是把服務(wù)請求初始化后的第一個下降沿作為有效的起始條件,此時若line是空閑的,就必須使能接收器。接收位只采樣一次,大約半個bit time。在每次start bit時,接收器都將出現(xiàn)同步。

 

2 基本時序

如圖2展示了TX和RX數(shù)據(jù),以及串行數(shù)據(jù)的時序。任何寫入到tx數(shù)據(jù)寄存器的數(shù)據(jù),必須將msb位置為0(其實就是開始位,startbit)。這表明UART的新數(shù)據(jù)已經(jīng)準(zhǔn)備好,可以進(jìn)行移位輸出了。所有接收的數(shù)據(jù)通過API接收函數(shù)fs_etpu_uart_read _receive _data()進(jìn)行右對齊。傳送的數(shù)據(jù)總是由1開始位(1 bittime low)和1停止位(1 bit time high)封裝。數(shù)據(jù)總是LSB FIRST移位輸出。當(dāng)所有數(shù)據(jù)被傳送出去后,根據(jù)校驗位是否被使能,校驗位也將被選擇性的輸出。數(shù)據(jù)寬度被限制在23bits以內(nèi)。這就意味著最大的數(shù)據(jù)大小、加上校驗位,以及開始位、結(jié)束位,一幀數(shù)據(jù)最長將達(dá)到26bits。接收到的數(shù)據(jù)MSB總是0。

 

 

版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)允許不得轉(zhuǎn)載。 https://blog.csdn.net/kaly_liu/article/details/串行通訊波特率和定時器的關(guān)系 波特率代表數(shù)據(jù)的傳輸速率,即每秒鐘傳送的二進(jìn)制位數(shù),單位為位/秒。若波特率為1200,則代表每秒鐘有1200個二進(jìn)制位在數(shù)據(jù)線上傳輸,換句話說,即每個二進(jìn)制位信號電平在數(shù)據(jù)線上保持的時間為1/11200s

。這樣,就將定時器和波特率聯(lián)系起來了。

聯(lián)系方式0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

免费特黄一级一区二区三区| 日本乱论一区二区三区| 日本精品视频一二三区| 国产又黄又猛又粗又爽的片| 亚洲欧美精品伊人久久| 免费性欧美重口味黄色| 人妻中文一区二区三区| 精品亚洲香蕉久久综合网| 亚洲一区二区三区四区性色av | 日韩夫妻午夜性生活视频| 粉嫩内射av一区二区| 日本高清二区视频久二区| 国产精品欧美一区两区| 国产内射一级一片内射高清视频 | 色婷婷久久五月中文字幕| 好吊日在线视频免费观看| 色婷婷在线精品国自产拍| 色婷婷在线精品国自产拍| 亚洲一区二区三区一区| 国产精品亚洲一区二区| 久久机热频这里只精品| 亚洲超碰成人天堂涩涩| 亚洲最新中文字幕一区| 国产精品国产亚洲看不卡| 中文字幕亚洲视频一区二区| 日韩欧美国产精品自拍| 国产精品夜色一区二区三区不卡| 91欧美视频在线观看免费| 国产日韩欧美一区二区| 伊人网免费在线观看高清版| 性感少妇无套内射在线视频| 欧美人妻一区二区三区| 日韩高清一区二区三区四区| 99国产高清不卡视频| 久热久热精品视频在线观看| 久久91精品国产亚洲| 中文字幕五月婷婷免费| 插进她的身体里在线观看骚| 亚洲精品福利视频你懂的| 国产在线小视频你懂的| 年轻女房东2中文字幕|