新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > MAXQ3120中模數轉換器在輪詢模式下的使用

        MAXQ3120中模數轉換器在輪詢模式下的使用

        ——
        作者: 時間:2007-01-26 來源:《Maxim公司》 收藏

        在設置中斷優先級比較麻煩或者中斷固有的不可預測性不好處理的應用中,模數轉換器(adc)工作在輪詢模式下要比工作在中斷驅動模式下更適合。本應用筆記詳細論述了maxq3120微控制器的16位σ-δ adc工作在輪詢模式下時需要注意的一些事項。用匯編語言源代碼演示了輪詢模式的實現方法。

        本文引用地址:http://www.104case.com/article/21494.htm

        概述

        maxq3120是第一款集成了雙通道、16位σ-δ模數轉換器(adc) (圖1)的maxq微控制器。該adc使這款微控制器尤其適用于單相電表,同時也適用于任何需要高精度模數轉換的應用場合。對于設置中斷優先級比較麻煩或者中斷固有的不可預測性不好處理的應用,adc最好工作在輪詢模式下而不是中斷驅動模式下。

        圖1. adc功能框圖 該應用筆記闡述了maxq3120的adc工作在輪詢模式下時的使用情況,并討論了編程注意事項。給出了adc的一個特定代碼實例。對maxq3120乘法-累加器(mac)的用法和lcd驅動器性能也進行了說明。在這個實例中,mac完成adc輸出的簡單求和(和隨后的求平均值運算),并由lcd顯示平均轉換結果。

        本文所給出的代碼實例是針對maxq3120編寫并經過測試的,但也可以在包含相似資源的其他相關maxq器件上運行。該例程代碼的整個開發環境采用max-ide 1.0版本和maxq3120評估板硬件版本b。


        編程注意事項

        當maxq3120的adc工作在輪詢模式下時,軟件設計應考慮轉換器的以下幾個特性:第一,設計者必須了解adc控制寄存器(adcn)中各個位的意義和用法。表1列出了該寄存器的各個位,每一位的功能說明如表2所示。當一個adc輸出值準備就緒時,硬件將asr1或asr0位置1。此時軟件可以從adc的輸出寄存器(ad1或ad0)中讀取一個帶符號的16位數值。如果在讀輸出寄存器之前完成了多次轉換,那么新的轉換結果不寫入輸出寄存器。采樣丟失位asl1或asl0置位,并舍棄這些轉換結果。在附帶的軟件(參見下面的實例代碼部分)中,每次讀輸出寄存器之前都要測試asr0位的狀態。在本文這種情況下,輸出是否溢出并不重要。因此忽略了采樣丟失位的狀態。同時,增益設置為1,由內部帶隙提供基準電壓,在該實例中僅使能了一個模數轉換通道(0)。



        軟件中另一個需考慮的問題是adc中各種不同模塊的建立時間。調制器、sinc3濾波器和基準帶隙緩沖器都存在建立時間。通過在程序的開始階段啟動adc,并允許其連續運行,可以使這些建立時間只出現一次。軟件實例中包含一個大約1s的軟件循環延時(基于8mhz時鐘),可以減慢程序循環以及隨后的顯示刷新操作。adc啟動之后也加入了這一延時,從而給各模塊提供了建立時間。當然這一延時比所需要的建立時間長的多(具體規格參見maxq3120數據資料),采用這種代碼延時只是為了實現更加簡單。

        maxq3120包含一個可以在一個時鐘內實現16位 x 16位字mac功能的硬件模塊。該性能可與許多數字信號處理器相媲美,使得maxq3120能夠快速執行數學計算。本應用不需要快速數學計算功能,但mac幫助計算adc輸出的平均值,以平滑輸出結果并使顯示的數值變化更緩慢一些。為了得到這個平均值,一個乘數取為1,將16個16位轉換結果傳送給mac。這16個數據字的總和存放在累加器中。在完成求和運算后,該結果除以16 (移位和相加)來計算平均值。這個平均值送到lcd上進行顯示。有關mac性能的詳細說明參見maxq微控制器用戶指南。


        實例代碼

        和本應用筆記配套的軟件包含在adc_polled.zip文件中,可以進行下載。該文件包括:源代碼文件adc_polled.asm,my3120kit_lcd.asm,maxq_math.asm;包含文件maxq3120x.inc;以及max-ide工程文件adc_polled.prj。將這些文件解壓到一個公用目錄下,對該軟件進行匯編并在maxq3120評估板上執行。
        給maxq3120的adc輸入施加一個變化的電壓,然后觀察lcd上的顯示結果,該應用非常有用并能提供更多的信息。用一個定值電阻和一個電位器可產生范圍合適的可變電壓。該電路的元件連接原理圖見圖2。maxq3120評估板在db-9串行連接器附近提供了一小塊原型區域。原型區域邊沿還具有連接avcc和agnd走線的過孔。加入這一簡單電路后,可在模擬通道0輸入端(an0+)施加0至0.823v電壓(最大值接近1v)。如原理圖所示,an0-輸入接agnd,以提供一個參考電平。


        圖2. 產生adc輸入的分壓器電路原理圖 結束語

        maxq3120微控制器包括一個雙通道、16位σ-δ adc,可用于所有需要高精度模數轉換的系統中。該應用筆記講述了工作在輪詢模式下時需要考慮的一些adc特性。實例代碼演示了如何在輪詢模式下使用adc。實例代碼還演示了包括mac硬件和直接lcd驅動性能在內的其他maxq3120特性。maxq3120評估板作為該軟件的平臺。通過加入由兩個常見元件組成的電路,用戶可將一個可變電壓加到adc輸入端,并觀察評估板上lcd的顯示結果。


        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 五峰| 江孜县| 洪雅县| 尼勒克县| 沙湾县| 武平县| 阿克| 巴彦县| 海盐县| 湖南省| 曲松县| 临澧县| 德清县| 布尔津县| 台南市| 松潘县| 磐安县| 陕西省| 鹤峰县| 临沂市| 视频| 崇左市| 景谷| 东海县| 茂名市| 兰溪市| 社旗县| 中宁县| 临猗县| 化州市| 巴塘县| 双江| 吉林市| 淄博市| 上栗县| 上饶市| 长泰县| 缙云县| 锡林浩特市| 庆城县| 凌云县|