[發(fā)明專利]一種數(shù)據(jù)通訊處理方法有效
| 申請?zhí)枺?/td> | 201811193759.0 | 申請日: | 2018-10-15 |
| 公開(公告)號: | CN109542811B | 公開(公告)日: | 2021-12-07 |
| 發(fā)明(設計)人: | 姚鑫;黃維;馮康樂 | 申請(專利權(quán))人: | 廣東寶萊特醫(yī)用科技股份有限公司 |
| 主分類號: | G06F13/28 | 分類號: | G06F13/28 |
| 代理公司: | 廣州嘉權(quán)專利商標事務所有限公司 44205 | 代理人: | 俞梁清 |
| 地址: | 519085 廣東省珠*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù)通訊 處理 方法 | ||
本發(fā)明的技術(shù)方案包括一種數(shù)據(jù)通訊處理方法,基于DMA雙緩沖結(jié)合軟中斷實現(xiàn)大量、實時數(shù)據(jù)通訊,在DMA中斷程序中,僅執(zhí)行切換DMA通道的目的地址以及觸發(fā)軟中斷的操作,在軟中斷程序中再進行數(shù)據(jù)的搬運操作,而DMA中斷才會導致CPU中斷,軟中斷不會導致CPU中斷,因此DMA中斷開銷較小,能夠盡量在CPU事務繁忙時占用較小的CPU資源,在資源緊缺、事務繁忙的系統(tǒng)中有較強的優(yōu)勢。
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)通訊處理方法,屬于數(shù)據(jù)通信技術(shù)領(lǐng)域。
背景技術(shù)
在現(xiàn)在嵌入式系統(tǒng)中,MCU承擔的任務越來越多,通信數(shù)據(jù)接口的速度越來越快,因此通信帶來的負擔也越來越重。MCU的通信接口在滿負載通信的情況下,占用處理器較多的資源且容易造成通信數(shù)據(jù)丟失。
傳統(tǒng)的DMA雙緩沖數(shù)據(jù)雖然能夠解決數(shù)據(jù)丟失的問題,但是當數(shù)據(jù)量較大時,DMA中斷時搬運數(shù)據(jù)耗時較多,將會占用處理器較多資源,使得難以滿足系統(tǒng)資源緊缺、任務繁多的數(shù)據(jù)通訊要求。
發(fā)明內(nèi)容
為解決上述問題,本發(fā)明的目的在于提供一種數(shù)據(jù)通訊處理方法,該方法基于DMA雙緩沖結(jié)合軟中斷實現(xiàn)大量、實時數(shù)據(jù)通訊,在DMA中斷程序中,僅切換DMA通道的目的地址以及觸發(fā)軟中斷,在軟中斷程序中再進行數(shù)據(jù)的搬運,而DMA中斷才會導致CPU中斷,軟中斷不會導致CPU中斷,因此DMA中斷開銷較小,能夠盡量在CPU事務繁忙時占用較小的CPU資源,在資源緊缺、事務繁忙的系統(tǒng)中有較強的優(yōu)勢。
本發(fā)明解決其問題所采用的技術(shù)方案是:一種數(shù)據(jù)通訊處理方法,基于DMA雙緩沖結(jié)合軟中斷實現(xiàn)MCU與外設的數(shù)據(jù)通訊,所述MCU包括串口、FIFO存儲器、DMA控制器、內(nèi)存及CPU;包括如下步驟:
S1、開啟串口DMA接收模式,配置FIFO存儲器并設置其接收閾值;
S2、在內(nèi)存中開辟兩個接收緩沖區(qū),分別為第一緩沖區(qū)和第二緩沖區(qū);
S3、初始化DMA控制器,配置外設與內(nèi)存之間的DMA通道,設置DMA通道的源地址為外設的數(shù)據(jù)存儲地址;
S4、設置DMA通道的目的地址為第一緩沖區(qū)的地址,并使能DMA通道接收數(shù)據(jù);
S5、當?shù)谝痪彌_區(qū)接收的數(shù)據(jù)容量達到緩沖區(qū)容量閾值時產(chǎn)生DMA中斷,CPU執(zhí)行DMA中斷程序,將DMA通道的目的地址切換為第二緩沖區(qū)的地址,并使能DMA通道接收數(shù)據(jù),同時觸發(fā)第一軟中斷;
S6、在第一軟中斷程序中,DMA控制器將第一緩沖區(qū)的數(shù)據(jù)轉(zhuǎn)移到FIFO存儲器中之后退出第一軟中斷程序并返回主程序,通過CPU處理FIFO存儲器中的數(shù)據(jù);
S7、當?shù)诙彌_區(qū)接收的數(shù)據(jù)容量達到緩沖區(qū)容量閾值時產(chǎn)生DMA中斷,CPU執(zhí)行DMA中斷程序,將DMA通道的目的地址切換為第一緩沖區(qū)的地址,并使能DMA通道接收數(shù)據(jù),同時觸發(fā)第二軟中斷;
S8、在第二軟中斷程序中,DMA控制器將第二緩沖區(qū)的數(shù)據(jù)轉(zhuǎn)移到FIFO存儲器中之后退出第二軟中斷程序并返回主程序,通過CPU處理FIFO存儲器中的數(shù)據(jù);
S9、循環(huán)執(zhí)行步驟S5-S8,直至通訊結(jié)束。
進一步,所述第一緩沖區(qū)和第二緩沖區(qū)的緩沖區(qū)容量閾值相等。
進一步,所述DMA中斷為外設產(chǎn)生的硬中斷,所述第一軟中斷和第二軟中斷為MCU進程產(chǎn)生的軟中斷。
進一步,所述DMA中斷的優(yōu)先級高于所述第一軟中斷和第二軟中斷的優(yōu)先級。
進一步,所述FIFO存儲器包括一FIFO控制器,所述FIFO控制器具有一讀取指針和一寫入指針,當DMA控制器對FIFO存儲器進行讀取或?qū)懭雱幼鲿r,F(xiàn)IFO控制器對應地改變該讀取指針或該寫入指針的值。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廣東寶萊特醫(yī)用科技股份有限公司,未經(jīng)廣東寶萊特醫(yī)用科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811193759.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種精量穴播機
- 下一篇:一種RFID自動抓拍智能球





