[發(fā)明專利]基于單片機(jī)輸入捕獲功能的波特率自適應(yīng)方法有效
| 申請?zhí)枺?/td> | 201110221090.3 | 申請日: | 2011-08-03 |
| 公開(公告)號: | CN102306136A | 公開(公告)日: | 2012-01-04 |
| 發(fā)明(設(shè)計)人: | 鄭堅江;霍斌斌 | 申請(專利權(quán))人: | 寧波三星電氣股份有限公司 |
| 主分類號: | G06F13/42 | 分類號: | G06F13/42 |
| 代理公司: | 寧波市鄞州甬致專利代理事務(wù)所 33228 | 代理人: | 代忠炯 |
| 地址: | 315191 浙江省寧*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 單片機(jī) 輸入 捕獲 功能 波特率 自適應(yīng) 方法 | ||
1.?一種基于單片機(jī)輸入捕獲功能的波特率自適應(yīng)方法,其特征在于:通過使用單片機(jī)通用GPIO口的下降沿觸發(fā)中斷功能和定時器計數(shù)功能,捕獲所接收數(shù)據(jù)產(chǎn)生的兩個下降沿,計時這兩個下降沿之間的時間來求出其最小碼元寬度,并根據(jù)求出的最小碼元寬度來確定主機(jī)的波特率;
具體實(shí)現(xiàn)方法包括以下步驟:
步驟101:對一個定時器的一個輸入捕獲通道進(jìn)行初始化,同時開啟所述輸入捕獲通道的通用GPIO下降沿輸入中斷,并禁止所述輸入捕獲通道的下降沿輸入捕獲中斷;
步驟102:對最小碼元寬度及與輸入捕獲相關(guān)的各個狀態(tài)量、標(biāo)志進(jìn)行初始化,初始全局捕獲結(jié)果標(biāo)志為沒有捕獲到兩個下降沿,捕獲狀態(tài)機(jī)為等待捕獲第一個下降沿輸入;
步驟103:等待中斷產(chǎn)生,如果產(chǎn)生GPIO下降沿輸入中斷則進(jìn)入步驟104,如果產(chǎn)生輸入捕獲通道的下降沿輸入捕獲中斷則進(jìn)入步驟201;?
步驟104:所述輸入捕獲通道上的GPIO下降沿輸入中斷觸發(fā);
步驟105:判斷所述輸入捕獲通道下降沿輸入捕獲中斷是否完成兩個下降沿捕獲,若是,進(jìn)入步驟109,不是,則進(jìn)入步驟106;
步驟106:判斷所述輸入捕獲通道的捕獲狀態(tài)機(jī)是否只捕獲到了第一個下降沿,若是,回到步驟103,不是,則進(jìn)入步驟107;
步驟107:由于所述輸入捕獲通道第一個下降沿也沒有捕獲到,判斷所述輸入捕獲通道的下降沿輸入捕獲中斷是否開啟,若是,回到步驟103,不是,則進(jìn)入步驟108;
步驟108:開啟所述輸入捕獲通道的下降沿輸入捕獲中斷并回到步驟103;
步驟109:判斷捕獲的最小碼元寬度是否是相關(guān)波特率的最小碼元寬度,若是,進(jìn)入步驟110,不是,則回到步驟102;
步驟110:判斷捕獲的最小碼元寬度是否可以確定所接收數(shù)據(jù)的波特率,若是,進(jìn)入步驟111,不是,則回到步驟102;
步驟111:對自身波特率進(jìn)行調(diào)整處理;
步驟112:完成一次自適應(yīng)處理,并禁止所述輸入捕獲通道的下降沿輸入捕獲中斷,通用GPIO下降沿輸入中斷繼續(xù)開啟并回到步驟102,等待下一次UART通信的起始位下降沿觸發(fā)GPIO下降沿輸入中斷,
步驟201:所述輸入捕獲通道的下降沿輸入捕獲中斷觸發(fā);
步驟202:判斷捕獲狀態(tài)機(jī)是否是正在等待捕獲第一個下降沿輸入,若是,進(jìn)入步驟203,不是,則進(jìn)入步驟204;
步驟203:讀取所述定時器的第一次計數(shù)值T1,并保存計數(shù)值,初始自己的捕獲狀態(tài)機(jī)為等待捕獲第二個下降沿輸入中斷并進(jìn)入步驟210;
步驟204:讀取所述定時器的第二次計數(shù)值T2,并判斷所述計時器的計數(shù)是否溢出,若是,進(jìn)入步驟205,不是,則進(jìn)入步驟206;
步驟205:對計數(shù)值T1、T2清零并進(jìn)入步驟209;
步驟206:計算(T2-T1)/2的值,即捕獲的最小碼元寬度,并判斷這次所得最小碼元寬度是否小于上次所得最小碼元寬度,若是,進(jìn)入步驟207,不是,則進(jìn)入步驟209;
步驟207:更新保存的最小碼元寬度值;
步驟208:標(biāo)記全局捕獲結(jié)果標(biāo)志為已經(jīng)完成捕獲兩個下降沿;
步驟209:初始自己的捕獲狀態(tài)機(jī)為等待捕獲第一個下降沿輸入中斷;
步驟210:退出所述輸入捕獲通道的下降沿輸入捕獲中斷并回到步驟102。
2.?根據(jù)權(quán)利要求1所述的基于單片機(jī)輸入捕獲功能的波特率自適應(yīng)方法,其特征在于:在進(jìn)入所述的步驟101之前,需將所述輸入捕獲通道引腳與UART的RXD引腳相連且要求該?GPIO口具有下降沿輸入中斷功能。
3.?根據(jù)權(quán)利要求1所述的基于單片機(jī)輸入捕獲功能的波特率自適應(yīng)方法,其特征在于:
在進(jìn)入所述的步驟101之前,需定義好不同波特率在所述輸入捕獲通道相對應(yīng)的計時節(jié)拍下最小碼元寬度的計數(shù)值。
4.?根據(jù)權(quán)利要求1所述的基于單片機(jī)輸入捕獲功能的波特率自適應(yīng)方法,其特征在于:
在判斷最小碼元寬度時,要捕獲“兩個下降沿”,在每次UART開始通信時的第一個下降沿,也就是起始位的下降沿,總會開啟所述輸入捕獲通道的下降沿輸入捕獲中斷。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于寧波三星電氣股份有限公司,未經(jīng)寧波三星電氣股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110221090.3/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





