原文來自:24c01硬件電子
有時候沒有邏輯分析儀,恰恰示波器也沒買串口解析的功能,那么如何扒串口數(shù)據(jù)呢?(以下文章也適用于RS485,因為基本差不多)
首先介紹一下串口數(shù)據(jù)幀的組成:起始位1bit(低電平),數(shù)據(jù)位8bit,奇偶校驗位(一般不加),停止位1bit(高電平)。
所以我選擇的數(shù)據(jù)幀格式為: 1bit起始位+8bit數(shù)據(jù)位+1bit停止位(大多數(shù)都是這樣) 首先看一個示波器抓取的串口波形,如下圖:

首先看第一位低電平,是起始位,通過讀格子,大概可以看出是100us一個bit位,那么反推回去1s/100us≈9600波特率(實際上我設(shè)置的也就是9600波特率),9600波特率下的1bit時間為1/9600≈104us。 所以按照串口數(shù)據(jù)幀的格式,可以將數(shù)據(jù)大概扒出來,如下圖:

然后串口數(shù)據(jù)格式一般是LSB,即低位在前高位在后,所以去掉起始位和停止位后,這兩幀數(shù)據(jù)分別為: 0011 0101和 0111 0100 然后再根據(jù)8421BCD碼的編碼方式,反推回去就是: 2+14+1和 4+2+14 即數(shù)據(jù)是3574 那么這也正和我用串口發(fā)送給示波器的一樣:

那么奇校驗和偶校驗是什么意思呢?1、奇校驗數(shù)據(jù)幀格式為:1bit起始位+8bit數(shù)據(jù)位+1bit奇偶校驗位+1bit停止位數(shù)據(jù)位和奇偶校驗位內(nèi)的1的總數(shù)為奇數(shù)比如數(shù)據(jù)位為0011 0101 (35)總共有4個1,那么奇偶校驗位就應(yīng)該為1,這樣才可以保證總共1的個數(shù)為奇數(shù)。 比如數(shù)據(jù)位為0111 0101(75)總共有5個1,那么奇偶校驗位就應(yīng)該為0,這樣才可以保證總共1的個數(shù)為奇數(shù)。2、偶校驗數(shù)據(jù)幀格式為:1bit起始位+8bit數(shù)據(jù)位+1bit奇偶校驗位+1bit停止位數(shù)據(jù)位和奇偶校驗位內(nèi)的總共1的總數(shù)為偶數(shù)那么,這次不發(fā)送3574了,我使用串口發(fā)送3575,然后調(diào)到奇校驗:

然后抓取示波器波形,可以看到和之前舉的例子一樣,第一幀8bit的數(shù)據(jù)位里有4個1,為了保證有奇數(shù)個1,所以校驗位為1,這樣8bit數(shù)據(jù)位+1bit校驗位的1的總數(shù)就為5,是奇數(shù)了;第二幀數(shù)據(jù)里8bit數(shù)據(jù)里有5個1,所以校驗位為0,也是保證最后有奇數(shù)個1:(偶校驗類似,不在舉例)

感謝您的耐心觀看,希望對您的學(xué)習(xí)有所幫助。 原文來自:24c01硬件電子
如果看到這里,請點贊、收藏、分享三連!
限時免費掃碼進(jìn)群,交流更多行業(yè)技術(shù)

審核編輯 黃宇
-
示波器
+關(guān)注
關(guān)注
113文章
7075瀏覽量
196048 -
串口
+關(guān)注
關(guān)注
15文章
1619瀏覽量
82811
發(fā)布評論請先 登錄
精準(zhǔn)測試,從選對示波器開始——PicoScope示波器選型指南
如何使用示波器觸發(fā)模式發(fā)現(xiàn)產(chǎn)品問題?示波器觸發(fā)原理和應(yīng)用
是德示波器DSOX1202A與電腦的四種連接方式及操作步驟詳解
MCU單片機(jī)串口數(shù)據(jù)記錄儀方案
實時示波器和采樣示波器的差別
示波器問題解答干貨
普源示波器DS1102Z-E調(diào)試串口通信信號
泰克示波器波形數(shù)據(jù)保存為CSV格式的完整指南
串口網(wǎng)關(guān)是什么
普源示波器如何連接MATLAB實現(xiàn)數(shù)據(jù)采集與分析
電機(jī)原理及重要公式(干貨)
示波器的使用入門
EtherCAT運動控制器實時數(shù)據(jù)的Qt示波器
【干貨】示波器扒串口數(shù)據(jù)
評論