• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Cortex-M4內(nèi)核微處理器DMA方式的高速A/D采樣

      2012-06-25 02:46:08劉貫營趙玉榮
      關(guān)鍵詞:復(fù)用器數(shù)據(jù)格式外設(shè)

      劉貫營,趙玉榮

      (安徽理工大學(xué) 電氣與信息工程學(xué)院,淮南 232001)

      劉貫營(碩士研究生),主要從事嵌入式系統(tǒng)開發(fā)、智能儀器方向的研究;趙玉榮(碩士研究生),主要從事嵌入式系統(tǒng)方向的研究。

      1 MK60N512VMD100微處理器簡介

      MK60N512VMD100芯片是基于Cortex-M4內(nèi)核的典型芯片,是飛思卡爾Kinetis系列中集成度最高的芯片。Cortex-M4內(nèi)核是在Cortex-M3內(nèi)核的基礎(chǔ)上發(fā)展起來的,其性能比Cortex-M3提高了20%。Cortex-M4在Cortex-M3的基礎(chǔ)上強化了運算能力,增加了浮點運算控制器、DSP和并行計算等。MK60N512VMD100具有豐富的通信接口,主頻高達100MHz,32路DMA供外設(shè)和存儲器使用,大大提高了CPU利用率,具有33路單路和4路差分的16位A/D轉(zhuǎn)換器、2路12位D/A轉(zhuǎn)換器等外設(shè)。

      2 MK60N512VMD100芯片DMA和ADC介紹

      Kinetis系列微處理器都含有DMA,在最小的CPU干預(yù)下最高可提供32路DMA供外設(shè)和存儲器使用,大大提高了CPU的利用率。DMA通道復(fù)用器(類似多路選擇開關(guān))可以把最多63個DMA請求源和16個DMA通道中的任意一個映射到一起。16路獨立可選的DMA通道中,前4路還具有自觸發(fā)功能。DMA復(fù)用器有3種工作模式:禁用模式、普通模式和周期觸發(fā)模式。本文就介紹用周期觸發(fā)模式實現(xiàn)高速A/D采樣功能。

      DMA通道復(fù)用器除了提供正常的映射功能外,前4個通道還提供了周期觸發(fā)功能,由周期性中斷定時器(PIT)觸發(fā),這種機制能夠?qū)崿F(xiàn)在沒有CPU的干預(yù)下傳輸字節(jié)、幀或數(shù)據(jù)包。這種觸發(fā)功能可用于任何支持DMA傳輸?shù)耐庠O(shè),最常用的應(yīng)用包括以下兩種情況:

      ①定期輪詢一個特定的總線上的外部設(shè)備。例如:一個SPI總線作為源被映射到DMA通道0,一旦設(shè)置成功,只要SPI的發(fā)送緩沖區(qū)是空的就會請求DMA傳輸,從內(nèi)存中復(fù)制數(shù)據(jù)到緩存。SPI傳輸通過此通道上的一個觸發(fā)器每3μs(舉例)自動執(zhí)行一次。在SPI接收端,SPI和DMA可配置成把接收到的數(shù)據(jù)傳到內(nèi)存,在無需處理器干預(yù)的情況下有效地定期從外部設(shè)備讀取數(shù)據(jù)送到內(nèi)存中。

      ②利用GPIO端口產(chǎn)生或者采樣波形。通過配置DMA將數(shù)據(jù)傳送到一個或多個GPIO端口,可以使用存儲在存儲器中的表格數(shù)據(jù)產(chǎn)生復(fù)雜的波形。相反,使用DMA從一個或多個GPIO端口讀取數(shù)據(jù),是可以采樣到復(fù)雜波形的,并把數(shù)據(jù)存儲到內(nèi)存中。

      MK60N512VMD100芯片的ADC模塊具有線性逐次逼近算法與高達16位的分辨率,4路差分16位A/D轉(zhuǎn)換和24路單端外部模擬輸入。輸出模式有差分16位、13位、11位和9位幾種模式,單路支持16位、12位、10位和8位模式,并且輸出無符號數(shù)右對齊格式。

      當(dāng)應(yīng)用程序需要連續(xù)采樣時(每秒6 000個采樣點),CPU可能會有相當(dāng)大的負擔(dān)。雖然使用可編程延遲模塊(PDB)可能會減少一些CPU的負載,但是ADC支持DMA請求功能在高速采樣時能獲得更高的性能,ADC在轉(zhuǎn)換完成后通過DMA中斷請求觸發(fā)DMA。本文就介紹此種方法。

      3 軟件設(shè)計

      3.1 DMA周期觸發(fā)方式相關(guān)寄存器的設(shè)置

      (1)DMA通道配置寄存器(DMAMUX_CHCFGn)

      DMA通道配置寄存器(DMAMUX_CHCFGn)數(shù)據(jù)格式如圖1所示。

      圖1 DMA通道配置寄存器(DMAMUX_CHCFGn)數(shù)據(jù)格式

      bit7(ENBL):DMA通道使能,設(shè)置為0則通道禁用,為1則通道使能。

      bit6(TRIG):DMA通道觸發(fā)使能,設(shè)置為0則觸發(fā)禁用,為1則觸發(fā)使能。

      bit(5:0)(SOURCE):DMA通道源。

      (2)ADC狀態(tài)和控制寄存器2(ADCx_SC2)

      ADC狀態(tài)和控制寄存器2(ADCx_SC2)數(shù)據(jù)格式如圖2所示。

      bit7(ADACT):轉(zhuǎn)換狀態(tài)位,當(dāng)一個A/D轉(zhuǎn)換開始時ADACT被置位,當(dāng)一個轉(zhuǎn)換完成或中止時ADACT被清零。

      圖2 ADC狀態(tài)和控制寄存器2(ADCx_SC2)數(shù)據(jù)格式

      bit2(DMAEN):設(shè)置為0則DMA功能禁用,為1時DMA使能。當(dāng)一個ADC完成時發(fā)出ADCDMA請求。

      3.2 具體實現(xiàn)

      采用DMA的方式有利于提高系統(tǒng)的實時性和執(zhí)行效率。當(dāng)A/D轉(zhuǎn)換完成后產(chǎn)生中斷;DMA接收一次數(shù)據(jù)后,設(shè)備地址禁止后移;關(guān)閉接收一次數(shù)據(jù)后,目標內(nèi)存地址后移。設(shè)置DMA循環(huán)寫入模式,BUF寫滿后,自動回到初始地址開始傳輸。

      示例代碼如下:

      4 實驗及結(jié)論

      首先將信號發(fā)生器輸出的正弦波信號直接連接到示波器,調(diào)節(jié)波形,并選擇適當(dāng)?shù)姆宸逯?,然后接到采樣模擬信號輸入引腳,通過串口在PC機上觀察接收到的數(shù)據(jù)。實驗證明,用DMA方式來傳輸模/數(shù)轉(zhuǎn)換的值,提高了讀取速度和采樣頻率,同時降低了CPU的負荷,具有很好的應(yīng)用價值。

      [1]閆建國,孫克怡.STM32中采用DMA實現(xiàn)方波的產(chǎn)生和捕獲[J].單片機與嵌入式系統(tǒng)應(yīng)用,2011(10):67-68,71.

      [2]孫彥景.基于ARM處理器的HDLC通信的DMA實現(xiàn)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2007(8):56-58.

      [3]刑麗華,高志鵬,袁德殿.基于散列DMA的高速串口驅(qū)動設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2010(4):40-42.

      [4]Freescale.K60Sub-Family Reference Manual,2011.

      猜你喜歡
      復(fù)用器數(shù)據(jù)格式外設(shè)
      基于分束器與雙向型的光分插復(fù)用器分析研究
      在智能交通系統(tǒng)中PLC數(shù)據(jù)格式轉(zhuǎn)換方法的研究
      電子測試(2018年1期)2018-04-18 11:52:49
      復(fù)用器與遙控設(shè)備兼容問題探討及解決方案
      論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應(yīng)用
      DWG與SHP數(shù)據(jù)格式互轉(zhuǎn)換方法研究——以龍巖規(guī)劃測繪數(shù)據(jù)為例
      Microchip推出具備雙ADC外設(shè)的全新器件,擴展其低成本8位PIC?單片機產(chǎn)品線
      國產(chǎn)ZMUX-2016復(fù)用器在KU衛(wèi)星平臺上的試驗分析
      基于ArcGIS的規(guī)劃數(shù)據(jù)格式轉(zhuǎn)換研究
      貼身呵護 必不可少的PSP外設(shè)
      高可靠性DG409雙線4通道復(fù)用器
      定远县| 广德县| 沂南县| 桂林市| 沅陵县| 昆山市| 宣威市| 安溪县| 大洼县| 吐鲁番市| 昆明市| 从化市| 惠东县| 乐至县| 开远市| 清丰县| 萨迦县| 保靖县| 安化县| 将乐县| 清徐县| 东至县| 吉安县| 石景山区| 拉孜县| 大庆市| 西安市| 祁阳县| 射洪县| 镇安县| 安化县| 阜康市| 东源县| 凉山| 尼木县| 临洮县| 凉山| 克什克腾旗| 贵定县| 三台县| 九江市|