張輝
(1.煤炭科學技術研究院有限公司 安全分院, 北京 100013;
2.煤炭資源高效開采與潔凈利用國家重點實驗室(煤炭科學研究總院), 北京 100013)
?
DMA技術在煤礦高速數據采集系統中的應用
張輝1,2
(1.煤炭科學技術研究院有限公司 安全分院, 北京100013;
2.煤炭資源高效開采與潔凈利用國家重點實驗室(煤炭科學研究總院), 北京100013)
摘要:提出采用MCU自帶的DMA功能來實現煤礦井下高速數據采集系統的緩存與傳輸,數據通過DMA快速地移動,節約了MCU資源,使得MCU能夠進行其他操作,從而實現了煤礦井下數據的高速采集。
關鍵詞:DMA技術; 數據采集; 高速采樣
網絡出版地址:http://www.cnki.net/kcms/detail/32.1627.TP.20160405.1135.018.html
0引言
隨著煤炭開采強度和深度的加大,煤礦安全生產形勢依然嚴峻[1]。煤礦井下采掘空間的精細探測成為必不可少的手段。在探測中使用的系統多為高速數據采集系統,如煤礦微震監測系統(采樣速率小于35 kHz)、瞬變電磁探測儀(采樣速率小于500 kHz)等,都需要高速采集傳感器或設備接收到的模擬信號,然后緩存并進行數據處理[1-2]。
通常的數據采集系統通過傳感器把待測的物理量(溫度、壓力、位移等)轉換為模擬量電信號(電壓、電流、頻率等),然后經過信號調理電路將信號放大或衰減、濾波等,輸入至A/D模數轉換器,最后輸出數字信號至控制器部分,控制器負責數據緩存與數據傳輸。數據采集系統的采集速度除了與模數轉換器的轉換時間、多路開關的切換時間有關外,還與控制器緩存與傳輸時間有關。顯然,要達到煤礦精細探測所需的數據采集速率,除選用高速模數轉換器外,更重要的是縮短數據緩存與傳輸時間。
參考文獻[3-8]分別采用FPGA、雙口RAM及PCI總線方式,通過增加外部控制元件或直接利用外部總線接口實現高速采樣。參考文獻[9]采用Linux操作系統設計DMA驅動,參考文獻[10]采用SOC技術設計DMA單元。本文提出采用MCU自帶的DMA功能來實現煤礦井下物探中高速數據采集系統的緩存與傳輸。由于單片機內部已有實現數據采集的DMA功能,所以減少了系統硬件數量,降低了硬件成本,加快了產品開發速度,同時也減小了硬件體積,便于井下使用。
1DMA技術原理
DMA是一種外設和存儲器之間或者存儲器和存儲器之間的高速數據傳輸處理手段。它無須MCU干預,數據通過DMA快速移動,節省了MCU資源,此時MCU可以進行其他操作。
采用DMA技術的數據采集工作邏輯如圖1所示。DMA控制器和MCU核心共享系統數據總線,執行直接存儲器數據傳輸。當MCU核心和DMA控制器同時訪問相同目標(SRAM緩存或外設)時,DMA請求會暫停MCU訪問系統總線達若干個周期,總線矩陣中的總線仲裁器執行循環調度,以保證MCU至少可以得到一半的系統總線(SRAM或外設)帶寬。
當發生一個事件后,外設向DMA控制器發出一個DMA請求信號,DMA控制器接收到請求信號后發出總線請求信號,通過總線仲裁后,DMA控制器開始進行總線控制。此時MCU被掛起來,所有總線在DMA管理下進行數據傳送。DMA控制器自動完成外設到存儲器的數據傳輸。這就實現了A/D到存儲器的高速數據緩存和傳輸。

圖1 采用DMA技術的數據采集工作邏輯
2DMA技術實現
為實現高速數據采集,本文設計采用具有DMA功能的單片機,同時采用具有SPI接口的高速AD轉換器,通過單片機的SPI接口,利用其DMA功能實現數據高速采集。
2.1電路設計
采集電路的AD轉換電路和井下分站內的MCU電路如圖2、圖3所示。AD轉換器與MCU通過MCU的SPI1總線相連。

圖2 AD轉換電路

圖3 MCU電路
A/D部分選用8通道、24位采樣Σ-Δ 轉換ADC,最高轉換速率為52 kbit/s,滿足設計要求。其設計參數:轉換延時為2.17 μs,時鐘CLK信號頻率為18 MHz。DRDY是數據轉換完成信號,SCLK是SPI接口時鐘信號,D1是SPI接口數據信號。
MCU部分選用STM32F4系列單片機,實現與A/D部分通信。STM32F4系列單片機為基于ARM內核的32位單片機,時鐘頻率為168 MHz,內存為192 kB;內部具有DMA控制器,能夠實現多種外設的DMA控制。A/D部分的DRDY接入MCU的中斷引腳,A/D部分的SCLK、D1接入MCU的SPI1外設接口。
初始化設置完成后,DRDY中斷信號觸發DMA控制,DMA控制器通過總線訪問SPI1接口,自動讀取AD轉換后數據,然后保存到MCU內存中,實現A/D高速采集。
2.2軟件設計
軟件工作流程如圖4所示。軟件工作時首先要進行初始化設置,分別是SPI接口設置、中斷設置、DMA設置。SPI1接口設置為18 MHz時鐘,8位數據主模式。中斷設置中,使能DMA中斷和DRDY信號中斷。DMA設置中,選擇SPI1的數據寄存器作為DMA的數據源,選擇SRAM中1 440 byte的一段內存(為避免網絡鏈路層自動分片,空間大小要小于1 500 byte)作為DMA目標數據區。當每次AD轉換完成后,輸入DRDY信號。MCU接收到DRDY信號后進入DRDY中斷,設置DMA連續讀取24 byte數據。當DMA在內存中開辟的緩存區滿時觸發DMA中斷,DMA重新設定指向的數據緩存區,并通知主程序已經采集完成一段數據。
從圖4可以看出,如果DMA開辟的緩存區足

圖4 軟件工作流程
夠大,使用DMA技術完成數據采集占用的MCU資源僅為進入DRDY中斷設置DMA每次讀取數據長度的時間。這就可以將有限的MCU資源用于數據顯示、傳輸、預處理及保存等功能,保證了整個數據采集系統的有效運行。
3實驗結果
在實驗室利用信號發生器輸入正弦波,以模擬系統接收的信號。
為了測試高速數據采集系統是否有準確的采樣頻率,輸入不同頻率信號,并對結果進行對比。在2 s內采樣點數共計70 320個,實際采樣頻率為35 160 Hz,與設定采樣頻率(35 156 Hz)的誤差為0.011%,分析認為,可能是時鐘晶振導致的采樣頻率誤差。
為了測試高速數據采集系統是否有準確的采樣值,對同一頻率信號用不同采樣頻率采樣后進行對比。輸入150 Hz,1 V的信號,采樣結果及誤差見表1。從表1可以看出,采樣結果與輸入頻率相對應,說明采樣結果正確。
4結語
運用DMA技術實現高速數據采樣的緩存和傳輸,可以節省MCU資源,縮短數據存儲和傳輸時間。本文采用具有DMA功能的MCU設計煤礦高速數據采集系統,該系統已在某煤礦微震監測系統中使用,實現了8通道同步傳感器數據采集,采樣速率達到 35 kHz。如果提高AD轉換器速率,系統的采樣速率可以進一步提高。

表1 不同采樣頻率得到的采樣結果及誤差
[1]楊海燕,岳建華. 礦井瞬變電磁法理論與技術研究[M]. 北京:科學出版社,2015.
[2]陸菜平,竇林名,吳興榮,等. 巖體微震監測的頻譜分析與信號識別[J]. 巖土工程學報,2005,27(7):772-775.
[3]余芳芳,郭來功,李良光. 基于STM32F407的微震信息采集系統設計[J]. 工礦自動化,2014,40(7):9-12.
[4]秦鴻剛,劉京科,吳迪.基于FPGA的雙口RAM實現及應用[J].電子設計工程,2010,18(2):72-74.
[5]賀孟,蘇永海. 基于FPGA的實時多通道DMA系統設計[J]. 成都大學學報:自然科學版,2015,34(3):280-284.
[6]嚴建峰,吳寧. 基于PCI總線的DMA高速數據傳輸系統[J]. 電子科技大學學報,2007,36(5):858-861.
[7]王俊,鄭焱,王紅,等. 基于DMA的并行數字信號高速采集系統[J].電子技術應用,2010,36(3):42-44.
[8]單天昌,陸達.基于FPGA的PCI接口DMA傳輸的設計與實現[J].計算機技術與發展,2010,20(4):215-219.
[9]龍再川,趙凱生,洪明堅,等. ARM系統中DMA方式在數據采集中的應用[J].國外電子元器件,2007(2):66-69.
[10]梁科,李國峰,王錦,等. 通用多通道高性能DMA控制器設計[J].天津大學學報,2008,41(5):621-626.
Application of DMA Technology in high speed data acquisition system of coal mine
ZHANG Hui1,2
(1.Mine Safety Branch, China Coal Science and Technology Institute Co., Ltd., Beijing 100013, China;2.State Key Lab of High Efficient Mining and Clean Utilization of Coal Resources(China Coal Research Institute), Beijing 100013, China)
Abstract:The paper proposed to use DMA function built-in MCU to implement caching and transmission of underground high speed data acquisition system of coal mine. The data moves through the DMA quickly, which saves MCU resources, and makes MCU can perform other operations, so as to achieve high speed data acquisition of coal mine.
Key words:DMA technology; data acquisition; high speed sampling
作者簡介:張輝(1977-),男,四川南川人,工程師,碩士,主要從事煤礦礦用儀器儀表開發工作,E-mail:zzhang_hui@126.com。 周立人(1992-),男,山東鄒城人,碩士研究生,研究方向為電力系統及其自動化,E-mail:617209069@qq.com。
基金項目:國家“十二五”科技重大專項項目(2011ZX05040-002-004)。 山東省自然科學基金項目(ZR2012EEM021)。
收稿日期:2015-12-02;修回日期:2016-02-18;責任編輯:胡嫻。 2015-11-06;修回日期:2016-02-15;責任編輯:胡嫻。
中圖分類號:TD67
文獻標志碼:B網絡出版時間:2016-04-05 11:35
文章編號:1671-251X(2016)04-0074-04
DOI:10.13272/j.issn.1671-251x.2016.04.018
張輝.DMA技術在煤礦高速數據采集系統中的應用[J].工礦自動化,2016,42(4):74-77.