新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 基于8OC196的高精度、低成本A/D轉換

        基于8OC196的高精度、低成本A/D轉換

        作者: 時間:2010-09-07 來源:網絡 收藏

        2 轉換的硬件實現
        利用80C196KB自帶的10位轉換器和PWM輸出,實現高精度轉換的原理如下:假設傳感器提供的信號為Vs,經放大后提供給A/D轉換器信號為As,A/D轉換的結果為Rd,A/D轉換的舍入誤差為Ed,對于逐次逼近式A/D轉換有0≤Edlbit,若As對應的真實數字量為Ad,則有:Ad=Rd+Ed,所以有:Ad-Rd=Ed,在此,Rd信號由10位A/D轉換結果舍掉后兩位后得到,它作為A/D轉換結果的高8位,然后由PWM信號輸出,經濾波后得到Rd的模擬量RA,取As與RA的差分信號Es=As-RA,放大28倍后再次A/D轉換,第二次轉換后的數字量作為低10位數字量,兩次A/D轉換的結果合成后可以達到18位精度,其電路實現如圖2所示。該圖經實驗驗證和實際運行證明性能良好,具有實用性和參考價值。

        16b.jpg


        圖中,運算H1和H2構成了差分,H1和H2應選用性能較好的運算,該電路具有極高的共模抑制比,傳感器信號Vs經過差分放大器放大后得到As,As連接到80C196KB的0號A/D通道輸入口ACH0,A/D轉換后得到高8位數字量;80C196KB的PWM輸出信號經過U2與E2構成的濾波后,得到直流信號Rd,這就是80C196KB通過PWM進行D/A轉換的典型電路;運算放大器H3構成的電路實現Es×28,該信號連接到80C196KB的1號A/D通道輸入口ACH1,完成Es的A/D轉換,得到低位數字量。通過軟件合并高位數字量和低位數字量即可實現高精度A/D轉換。

        3 A/D轉換的軟件實現
        為保證實時性,A/D轉換的軟件通過中斷方式實現,首先主程序在初始化中設定定時器和A/D中斷工作模式,定時器中斷到來時啟動0通道A/D轉換。A/D中斷時,判斷A/D的通道號,當0通道ACH0中斷時,讀取并保存A/D結果的高8位,通過PWM輸出該結果,然后啟動下一次l通道ACHl的A/D轉換;當ACHl中斷時,讀取A/D轉換結果并與高8位合并,得到最終結果。
        當采用12MHz晶振時,80C196KB的A/D轉換時間為22us,PWM輸出周期是64us,PWM信號輸出后,為使D/A結果穩定后再啟動ACHl,延時了3倍PWM周期,整個A/D轉換時間(包括A/D轉換時間和軟件運行時間)可以在1ms內完成。A/D中斷服務程序的流程框圖如圖3所示。初始化程序和定時器中斷服務程序較簡單,流程圖略。

        16c.jpg

        4 結束語
        利用80C196KB的內置10位A/D轉換器和PWM信號,輔以簡單的放大電路和濾波電路實現模數轉換。這種方法成本低、精度高、速度快、容易實現,具有較高的實用價值。該A/D轉換方法在我單位研制的全自動數控對刀儀上得到成功應用。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 于都县| 隆回县| 兰考县| 辉南县| 河间市| 岳普湖县| 盐源县| 庄河市| 合江县| 蛟河市| 丰县| 仙游县| 义马市| 陆河县| 宁乡县| 蒙山县| 萨嘎县| 南木林县| 张家界市| 怀柔区| 永川市| 修武县| 星子县| 平阴县| 东辽县| 甘肃省| 古田县| 彰化县| 石屏县| 龙泉市| 贞丰县| 山东省| 合川市| 格尔木市| 长顺县| 福鼎市| 定南县| 阳信县| 新龙县| 城口县| 白朗县|