[發明專利]基于低壓物聯感知終端的UART軟件實現方法在審
| 申請號: | 202011528247.2 | 申請日: | 2020-12-22 |
| 公開(公告)號: | CN112597081A | 公開(公告)日: | 2021-04-02 |
| 發明(設計)人: | 葛玉磊;鄭亞崗;隨洪峰;羅鵬 | 申請(專利權)人: | 青島鼎信通訊股份有限公司 |
| 主分類號: | G06F13/24 | 分類號: | G06F13/24 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 266000 山東省青*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 低壓 感知 終端 uart 軟件 實現 方法 | ||
1.基于低壓物聯感知終端的UART軟件實現方法,其特征在于,數據的接收和發送都在定時器Timer0中進行,定時器Timer0負責處理兩種類型的中斷:定時器捕獲中斷以及定時器溢出中斷,前者主要用于開啟數據的接收功能,后者用于進行數據的接收和發送,當檢測到起始位時,進入定時器捕獲中斷處理函數,開啟數據接收使能和定時器溢出中斷使能,待定時器溢出,進入數據接收流程;有數據發送時,開啟數據發送使能,待定時器溢出,進入數據接收流程;若兩種使能都沒有,則表示沒有數據的收發,無數據收發計數器加一,并判斷無數據收發計數器是否大于無數據收發閾值,若是則關閉定時器Timer0并退出中斷,否則直接退出中斷,無數據收發計數器計數過程中若有數據收發則計數器清零,保證了無數據收發計數器的有效性。
2.根據權利要求1所述的基于低壓物聯感知終端的UART軟件實現方法,其特征在于,所述數據的接收方法包括以下步驟:
開啟低壓物聯感知終端主控芯片接收管腳RXD的定時器捕獲功能并配置為數字電平下降沿觸發,并開啟定時器捕獲中斷使能;
當接收到的通訊數據起始位為低電平時,進入定時器捕獲中斷處理函數;若接收數據的起始位為高電平時,則繼續監測;
進入定時器捕獲中斷處理函數后配置RXD管腳為通用I/O輸入模式并關閉定時器捕獲中斷使能,配置定時器初值并開啟定時器溢出中斷使能,配置RXD管腳為輸入模式并開啟接收使能,待定時器溢出時,進入定時器中斷處理函數,對串口電平進行采樣記錄,經過8n個定時中斷后,完成一字節數據的接收;
通過校驗位判斷字節的有效性,若接收到有效字節,則進一步觸發軟件中斷,退出定時器中斷,否則等待接收管腳RXD再次捕獲低電平。
3.根據權利要求2所述的基于低壓物聯感知終端的UART軟件實現方法,其特征在于,所述數據接收方法中定時器中斷頻率為UART通信波特率的n倍,其中n為3的倍數。
4.根據權利要求2所述的基于低壓物聯感知終端的UART軟件實現方法,其特征在于,所述定時中斷接收數據的電平判定方法為:對一個位長進行n次采樣,以3次采樣為1組,將采樣點分為n/3組進行分析,根據串口接收的實際波形分配給各組不同的權值ωi(i=0,1,…,n/3-1),其中ωi∈[0,1],n次采樣中,若采集到的高電平次數大于等于2n/3則判定為當前接收電平為高電平,反之若采集到的低電平次數大于等于2n/3則判定為當前接收電平為低電平。
5.根據權利要求2所述的基于低壓物聯感知終端的UART軟件實現方法,其特征在于,所述通過校驗位判斷字節的有效性的具體方式為:在UART串口實現了偶校驗功能,當數據接收到第10位時,將其偶校驗輸出與前8位數據的偶校驗輸出進行對比,若一致則繼續接收下一位,否則丟棄本次數據,重新開始下一幀的接收。
6.根據權利要求1所述的基于低壓物聯感知終端的UART軟件實現方法,其特征在于,所述數據的發送方法包括以下步驟:
配置低壓物聯感知終端主控芯片發送管腳TXD為輸出模式;
將待發送數據存儲到發送FIFO緩存隊列中,觸發軟件中斷;
啟動定時器,待定時器溢出時,進入定時器發送中斷處理函數,經過8n個中斷后完成一字節數據的發送。
7.根據權利要求6所述的基于低壓物聯感知終端的UART軟件實現方法,其特征在于,所述數據發送方法中的定時器初值與數據接收時保持一致,即每發送一位數據,需要進入定時器中斷n次,其中n為3的倍數,第一次進入定時中斷時按發送FIFO緩存隊列拉低或者拉高電平,同時將位發送計數器bit_tx_count賦值為0;再次進入中斷時,bit_tx_count加一并保持串口電平不變,當bit_tx_count等于n時完成一個位數據的發送,經過8n個中斷后完成一個字節數據的發送。
8.根據權利要求2或6所述的基于低壓物聯感知終端的UART軟件實現方法,其特征在于,所述軟件中斷處理具體包括:先判斷當前UART處于發送態還是接收態,若處于接收態,則將接收到的有效字節數據存儲到接收FIFO緩存隊列中;若處于發送態,則判斷FIFO緩存隊列中是否仍有數據待發送,若沒有則直接中斷返回,若有則獲取發送FIFO緩存隊列中的字節數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于青島鼎信通訊股份有限公司,未經青島鼎信通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011528247.2/1.html,轉載請聲明來源鉆瓜專利網。





