五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

硬件電路設(shè)計(jì)-關(guān)于串口的數(shù)據(jù)構(gòu)成和測(cè)試

2023-04-09 15:53 作者:ecircuitlab  | 我要投稿

? ? 串口波特率和信號(hào)時(shí)鐘頻率的關(guān)系? ??
關(guān)于串口數(shù)據(jù)的形式,如果沒有做過(guò)數(shù)字設(shè)計(jì),估計(jì)很少有人去了解它的數(shù)據(jù)波形,或者說(shuō)即使了解過(guò)也忘得差不多了。因?yàn)閷?shí)際工程中,幾乎不會(huì)去測(cè)試串口波形,無(wú)論是用哪種技術(shù)方案,只要帶串口的,一般都有現(xiàn)成穩(wěn)定的驅(qū)動(dòng),所以能遇到問(wèn)題去測(cè)試的機(jī)會(huì)少之又少。

在工程開發(fā)中,經(jīng)常用串口來(lái)打印一些信息輔助軟硬件調(diào)試,最常用的調(diào)節(jié)變量一般是波特率,像其他的位寬、停止位數(shù)、奇偶校驗(yàn)、極性、或者Flow control都很少去調(diào)。

很多人容易把波特率跟時(shí)鐘頻率混在一起理解,其實(shí)兩個(gè)是不同的概念,頻率就是時(shí)鐘的頻率,但是波特率不一樣,波特率表示一個(gè)單位時(shí)間(1s)內(nèi)傳輸?shù)腷it數(shù),比如波特率115200bps表示連續(xù)傳輸情況下,在1s時(shí)間內(nèi)傳輸了115200個(gè)bit,在信號(hào)線上表現(xiàn)的每個(gè)bit所占時(shí)間為:

1Hz/115200 ≈ 8.68us

而此時(shí)的時(shí)鐘頻率約為115.2073kHz,所以波特率≠信號(hào)時(shí)鐘頻率。

下圖是邏輯分析儀抓取串口以波特率115200bps、位寬8bit、無(wú)奇偶校驗(yàn)、1bit停止位發(fā)送的波形,可以看到,解析測(cè)量到的一個(gè)bit時(shí)間長(zhǎng)度是8.7us,跟我們上面計(jì)算的一樣。

圖片

圖1. 波特率115200一個(gè)bit的時(shí)間長(zhǎng)度


? ? 串口數(shù)據(jù)波形的解析和測(cè)試? ??看了上面的波形,我們也可以很清晰的知道,串口在沒有數(shù)據(jù)通信時(shí)信號(hào)線上是高電平,一個(gè)bit低電平表示數(shù)據(jù)的開始,然后傳對(duì)應(yīng)位寬的數(shù)據(jù),加上奇偶校驗(yàn),如果沒有則不加,然后最后一個(gè)bit時(shí)間的高電平表示一次的數(shù)據(jù)傳輸結(jié)束典型的數(shù)據(jù)幀構(gòu)成如下圖所示。

圖片

圖2. 串口的一幀數(shù)據(jù)構(gòu)成

為什么要一個(gè)bit的時(shí)間長(zhǎng)度表示數(shù)據(jù)傳輸?shù)慕Y(jié)束呢,可以看上圖圖1的第二個(gè)數(shù)據(jù)的開始信號(hào),我們現(xiàn)在也知道了串口由高電平拉低并維持一個(gè)bit的低電平時(shí)間長(zhǎng)度表示數(shù)據(jù)的開始,如果一個(gè)數(shù)據(jù)結(jié)束不是高電平,那第二個(gè)數(shù)據(jù)的開始是無(wú)法被識(shí)別的,當(dāng)然,這個(gè)停止位的時(shí)間寬度,還可以設(shè)置為1.5個(gè)或2個(gè)bit的時(shí)間寬度,取決于系統(tǒng)對(duì)數(shù)據(jù)傳輸?shù)姆€(wěn)定性要求,不過(guò)一般一個(gè)bit位已經(jīng)足夠。下圖為8bit數(shù)據(jù)的時(shí)間長(zhǎng)度測(cè)量情況,可以看到總時(shí)間寬度為69.3us,按照上面的信息計(jì)算理論值為69.44us,在誤差范圍內(nèi),所以可以確定為8bit位寬沒錯(cuò)。

圖片

圖3. 波特率115200的8bit位寬時(shí)間長(zhǎng)度測(cè)量

當(dāng)我嘗試把數(shù)據(jù)寬度改為5bit時(shí),同樣發(fā)送字符'1',抓取到的波形如下,可以看到,字符'1'的x031的高3bit沒了,發(fā)送出來(lái)的數(shù)據(jù)為低5bit數(shù)據(jù)。

圖片

圖4. 波特率115200、5bit位寬發(fā)送0x31的波形

把數(shù)據(jù)位寬改為6bit時(shí),可以看到0x31能被識(shí)別了出來(lái)。

圖片

圖5. 波特率115200、6bit位寬,1bit停止位,發(fā)送0x31的波形

把數(shù)據(jù)位寬改為8bit,2bit停止位。

圖片

圖6. 波特率115200、8bit位寬,2bit停止位,發(fā)送0x31的波形

下面來(lái)嘗試數(shù)據(jù)位寬改為8bit,1bit停止位,奇校驗(yàn)。這里先說(shuō)下串口的奇偶校驗(yàn)。奇偶校驗(yàn)用來(lái)確保傳輸?shù)臄?shù)據(jù)中有奇數(shù)個(gè)或者偶數(shù)個(gè)邏輯高電平,即如果設(shè)置奇校驗(yàn)輸出,如果數(shù)據(jù)位中有3個(gè)bit邏輯1,那么此時(shí)滿足邏輯1為奇數(shù)條件,校驗(yàn)位此時(shí)會(huì)自動(dòng)調(diào)節(jié)為邏輯0。如果數(shù)據(jù)位中有2個(gè)bit邏輯1,那么此時(shí)不滿足邏輯1為奇數(shù)的條件,校驗(yàn)位會(huì)自動(dòng)變?yōu)檫壿?來(lái)滿足數(shù)據(jù)+校驗(yàn)位組合得到的邏輯1為奇數(shù)。

同理,如果設(shè)置為偶校驗(yàn),當(dāng)數(shù)據(jù)中的邏輯1為偶數(shù)個(gè)時(shí),校驗(yàn)位會(huì)自動(dòng)變?yōu)檫壿?,確保數(shù)據(jù)+校驗(yàn)位的組合得到的邏輯1為偶數(shù),如果數(shù)據(jù)中的邏輯1為奇數(shù),那么校驗(yàn)位會(huì)自動(dòng)變?yōu)檫壿?,確保數(shù)據(jù)+校驗(yàn)位組合得到的邏輯1為偶數(shù),各種情況如下圖所示。

圖片

圖7. 波特率115200、8bit位寬,1bit停止位,奇校驗(yàn),發(fā)送0x31的波形,可以看到校驗(yàn)位此時(shí)為?0

圖片

圖8. 波特率115200、8bit位寬,1bit停止位,奇校驗(yàn),發(fā)送0x30的波形,可以看到校驗(yàn)位此時(shí)為?1

圖片

圖9. 波特率115200、8bit位寬,1bit停止位,偶校驗(yàn),發(fā)送0x31的波形,可以看到校驗(yàn)位此時(shí)為 1

圖片

圖10. 波特率115200、8bit位寬,1bit停止位,偶校驗(yàn),發(fā)送0x30的波形,可以看到校驗(yàn)位此時(shí)為 0

*?著作權(quán)歸公眾號(hào)ecircuitlab所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。


硬件電路設(shè)計(jì)-關(guān)于串口的數(shù)據(jù)構(gòu)成和測(cè)試的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
曲麻莱县| 佛坪县| 东城区| 长汀县| 聂拉木县| 乳山市| 安国市| 芦溪县| 凌海市| 双柏县| 绿春县| 昆山市| 岳阳县| 柳州市| 金坛市| 漠河县| 曲阳县| 奉贤区| 商河县| 松滋市| 桐城市| 赣州市| 濉溪县| 江口县| 许昌县| 临邑县| 通海县| 陕西省| 南陵县| 景德镇市| 河西区| 平昌县| 龙江县| 隆林| 灵宝市| 青川县| 钟祥市| 贡嘎县| 南漳县| 虎林市| 临江市|