[發(fā)明專(zhuān)利]一種通過(guò)軟件模擬實(shí)現(xiàn)多個(gè)UART通信接口的方法有效
| 申請(qǐng)?zhí)枺?/td> | 201210013739.7 | 申請(qǐng)日: | 2012-01-17 |
| 公開(kāi)(公告)號(hào): | CN102546843B | 公開(kāi)(公告)日: | 2017-10-24 |
| 發(fā)明(設(shè)計(jì))人: | 葉德焰;賴(lài)榮東;陳挺;李基勇;陳余菲 | 申請(qǐng)(專(zhuān)利權(quán))人: | 廈門(mén)雅迅網(wǎng)絡(luò)股份有限公司 |
| 主分類(lèi)號(hào): | H04L29/10 | 分類(lèi)號(hào): | H04L29/10;G06F13/24 |
| 代理公司: | 泉州市誠(chéng)得知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙)35209 | 代理人: | 方惠春 |
| 地址: | 361000 福建*** | 國(guó)省代碼: | 福建;35 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 通過(guò) 軟件 模擬 實(shí)現(xiàn) uart 通信 接口 方法 | ||
1.一種通過(guò)軟件模擬實(shí)現(xiàn)多個(gè)UART通信接口的方法,其特征在于:包括數(shù)據(jù)接收方法和數(shù)據(jù)發(fā)送方法,其中數(shù)據(jù)接收方法包括以下步驟:
配置芯片一I/O管腳為接收管腳RXD的步驟:將接收管腳RXD配置為低電平中斷模式并打開(kāi)I/O中斷使能;
實(shí)時(shí)監(jiān)測(cè)接收管腳RXD接收數(shù)據(jù)的步驟:當(dāng)接收到數(shù)據(jù)時(shí),首先檢測(cè)該數(shù)據(jù)的起始位,如果起始位為高電平則繼續(xù)實(shí)時(shí)監(jiān)測(cè),如果起始位為低電平,則觸發(fā)接收管腳RXD發(fā)生I/O低電平中斷;
I/O低電平中斷處理步驟:配置接收管腳RXD為通用I/O輸入模式并關(guān)閉I/O中斷使能,啟動(dòng)定時(shí)器,啟動(dòng)字節(jié)數(shù)據(jù)接收,其中所述定時(shí)器的定時(shí)時(shí)間間隔設(shè)置為多個(gè)UART通信接口中最高波特率的位時(shí)長(zhǎng)的1/n,即定時(shí)器中斷頻率為多個(gè)UART通信接口中最高波特率的n倍,定時(shí)器的定時(shí)時(shí)間到時(shí)觸發(fā)定時(shí)器中斷,其中n≥2;
定時(shí)器中斷處理步驟:根據(jù)定時(shí)器定時(shí)中斷接收數(shù)據(jù),每次中斷根據(jù)計(jì)算延時(shí)計(jì)數(shù)器到期接收一個(gè)位,經(jīng)過(guò)若干個(gè)定時(shí)中斷完成1個(gè)字節(jié)數(shù)據(jù)的接收,并判斷接收到的字節(jié)的有效性,如果接收到的字節(jié)無(wú)效則返回“配置芯片一I/O管腳為接收管腳RXD的步驟”,如果接收到的字節(jié)有效則首先觸發(fā)軟件中斷,執(zhí)行軟件中斷處理步驟,然后再返回“配置芯片一I/O管腳為接收管腳RXD的步驟”,退出定時(shí)器中斷后進(jìn)入軟件中斷,在軟件中斷中存儲(chǔ)接收的字節(jié)數(shù)據(jù);
軟件中斷處理步驟:將接收到的有效字節(jié)數(shù)據(jù)存儲(chǔ)到接收FIFO緩存隊(duì)列中;
數(shù)據(jù)發(fā)送方法包括以下步驟:
配置芯片另一I/O管腳為發(fā)送管腳TXD的步驟:將發(fā)送管腳TXD配置為通用I/O輸出模式;準(zhǔn)備發(fā)送數(shù)據(jù)的步驟:將待發(fā)送的數(shù)據(jù)存儲(chǔ)到發(fā)送FIFO緩存隊(duì)列中,觸發(fā)軟件中斷;
軟件中斷處理步驟:獲取發(fā)送FIFO緩存隊(duì)列中字節(jié)數(shù)據(jù),啟動(dòng)字節(jié)數(shù)據(jù)發(fā)送,并按照定時(shí)器的定時(shí)時(shí)間來(lái)觸發(fā)定時(shí)器中斷;
定時(shí)器中斷處理步驟:根據(jù)定時(shí)器定時(shí)中斷發(fā)送數(shù)據(jù),每次中斷根據(jù)計(jì)算延時(shí)計(jì)數(shù)器到期發(fā)送一個(gè)位,經(jīng)過(guò)若干個(gè)定時(shí)中斷完成1個(gè)字節(jié)數(shù)據(jù)的發(fā)送;如果字節(jié)數(shù)據(jù)發(fā)送完畢,觸發(fā)軟件中斷,進(jìn)入軟件中斷處理步驟。
2.根據(jù)權(quán)利要求1所述的通過(guò)軟件模擬實(shí)現(xiàn)多個(gè)UART通信接口的方法,其特征在于:所述I/O低電平中斷處理步驟,包括:
配置芯片接收管腳RXD的步驟:將接收管腳RXD配置為通用I/O輸入模式并關(guān)閉I/O中斷使能;
計(jì)算并設(shè)置定時(shí)器參數(shù)的步驟:所述定時(shí)器的定時(shí)時(shí)間間隔設(shè)置為多個(gè)UART通信接口中最高波特率的位時(shí)長(zhǎng)的1/n,即定時(shí)器中斷頻率為多個(gè)UART通信接口中最高波特率的n倍,通過(guò)定時(shí)器中斷頻率/UART通信接口的波特率計(jì)算獲得一個(gè)位需要定時(shí)中斷的次數(shù),其中n≥2;
啟動(dòng)起始位接收的步驟:設(shè)置接收位數(shù)等于起始位數(shù),啟動(dòng)起始位接收;
啟動(dòng)定時(shí)器的步驟:?jiǎn)?dòng)定時(shí)器開(kāi)始計(jì)時(shí)。
3.根據(jù)權(quán)利要求1或2所述的通過(guò)軟件模擬實(shí)現(xiàn)多個(gè)UART通信接口的方法,其特征在于:n的取值為2。
4.根據(jù)權(quán)利要求2所述的通過(guò)軟件模擬實(shí)現(xiàn)多個(gè)UART通信接口的方法,其特征在于:所述I/O低電平中斷處理步驟還包括數(shù)據(jù)采樣步驟,所述數(shù)據(jù)采樣步驟是延時(shí)半個(gè)位時(shí)間后在定時(shí)中斷處理步驟中再次采集起始位是否為低電平。
5.根據(jù)權(quán)利要求3所述的通過(guò)軟件模擬實(shí)現(xiàn)多個(gè)UART通信接口的方法,其特征在于:所述I/O低電平中斷處理步驟還包括數(shù)據(jù)采樣步驟,所述數(shù)據(jù)采樣步驟是延時(shí)半個(gè)位時(shí)間后在定時(shí)中斷處理步驟中再次采集起始位是否為低電平。
6.根據(jù)權(quán)利要求1所述的通過(guò)軟件模擬實(shí)現(xiàn)多個(gè)UART通信接口的方法,其特征在于:所述定時(shí)器中斷處理步驟,包括:判斷處于接收狀態(tài)還是發(fā)送狀態(tài),根據(jù)判斷結(jié)果選擇進(jìn)入數(shù)據(jù)接收流程或數(shù)據(jù)發(fā)送流程,并判斷數(shù)據(jù)收發(fā)是否結(jié)束,如果在設(shè)定的一段時(shí)間內(nèi)沒(méi)有數(shù)據(jù)收發(fā),則停止定時(shí)器;所述I/O低電平中斷處理步驟中的啟動(dòng)定時(shí)器的步驟還包括以下過(guò)程:判斷定時(shí)器是否已啟動(dòng),如果未啟動(dòng)則啟動(dòng)定時(shí)器。
7.根據(jù)權(quán)利要求6所述的通過(guò)軟件模擬實(shí)現(xiàn)多個(gè)UART通信接口的方法,其特征在于:在設(shè)定的一段時(shí)間內(nèi)沒(méi)有數(shù)據(jù)收發(fā)則停止定時(shí)器,所述設(shè)定的一段時(shí)間是根據(jù)通信數(shù)據(jù)量和頻繁度來(lái)設(shè)定。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于廈門(mén)雅迅網(wǎng)絡(luò)股份有限公司,未經(jīng)廈門(mén)雅迅網(wǎng)絡(luò)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210013739.7/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測(cè)方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來(lái)擴(kuò)展惡意軟件的動(dòng)態(tài)檢測(cè)
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測(cè)驗(yàn)軟件的裝置與方法
- 互動(dòng)業(yè)務(wù)終端、實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法
- 街景地圖的實(shí)現(xiàn)方法和實(shí)現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實(shí)現(xiàn)裝置及其圖像實(shí)現(xiàn)方法
- 增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)方法以及實(shí)現(xiàn)裝置
- 軟件架構(gòu)的實(shí)現(xiàn)方法和實(shí)現(xiàn)平臺(tái)
- 數(shù)值預(yù)報(bào)的實(shí)現(xiàn)方法及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 輸入設(shè)備實(shí)現(xiàn)方法及其實(shí)現(xiàn)裝置





