<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > C8051F020高速ADC采樣的代碼優(yōu)化

C8051F020高速ADC采樣的代碼優(yōu)化

作者:黃玉金,董浩斌 時(shí)間:2012-01-18 來(lái)源:電子產(chǎn)品世界 收藏

  在應用的片內高速進(jìn)行時(shí)間序列采樣時(shí),編寫(xiě)代碼使工作于最高速度是一個(gè)難題。本文從的C語(yǔ)言中斷模式的驅動(dòng)代碼設計開(kāi)始,分析對應的匯編語(yǔ)言中消耗CPU的主要步驟,研究ADC采樣的優(yōu)化方式。經(jīng)過(guò)驗證,通過(guò)使用額外定時(shí)器可以?xún)?yōu)化ADC采樣結束時(shí)機的控制;而在時(shí)間關(guān)鍵場(chǎng)所,因為減少了現場(chǎng)保護和恢復的操作代碼,查詢(xún)方式比中斷模式具有更高的時(shí)間效率。

本文引用地址:http://dyxdggzs.com/article/128269.htm

  引言

  在設計需要進(jìn)行時(shí)間序列采樣的數據采集儀表中,需要用ADC對電壓信號進(jìn)行等間隔高速采樣并緩存,帶有高速ADC的[1]是一種很好的選擇。是一款由Silicon Laboratories公司生產(chǎn)的高性能8位混合信號兼容MCS-51,內部集成4096字節的XRAM,以及2個(gè)帶有PGA的高速ADC,其中8位模數轉換器ADC1采樣率高達500kSPS(Sample per second)。在進(jìn)行時(shí)間序列分析的應用中需要編程ADC1進(jìn)行數據采集并將數據緩存到XRAM中。C8051F020的機器周期和時(shí)鐘周期相等(傳統的機器周期等于其時(shí)鐘周期的12倍),當使用24MHz的晶振時(shí),速度最高可達到24MIPS(Million Instructions Per Second),傳統單片機僅2MIPS。雖然這個(gè)速度看起來(lái)已經(jīng)很快,但是如果需要使得ADC1工作于最高頻率,代碼的編寫(xiě)則需要相當的技巧。針對時(shí)間關(guān)鍵部分的編程,除了需要考慮常規的代碼優(yōu)化方案[2],如循環(huán)展開(kāi)、宏替換函數等之外,本文將從基本的采樣設計程序結構設計入手,研究如何在Keil集成開(kāi)發(fā)環(huán)境下編寫(xiě)合適的C語(yǔ)言代碼驅動(dòng)F020的ADC1,使其工作于最高采樣率。

  ADC1高速采樣的初步時(shí)間估算

  時(shí)間序列的獲取需要進(jìn)行等時(shí)間間隔采樣,也就是要編寫(xiě)代碼驅動(dòng)ADC1進(jìn)行高速等間隔采樣并將數據存儲到有限數量的XRAM。C8051F020中沒(méi)有DMA模塊,控制ADC1采樣以及將采樣結果傳送到XRAM均需要CPU的直接操作。設定單片機系統時(shí)鐘24MHz,則其機器周期為T(mén)=1/24MHz≈41.67ns。ADC1的時(shí)鐘根據器件手冊最高可配置為6MHz[1],可由系統時(shí)鐘4分頻得到;當ADC1工作于500kHz時(shí),采樣周期為2μs=2000ns,在該段時(shí)間如果運行單周期的指令,可以運行2000ns/41.67ns=48條指令,簡(jiǎn)記為48T。已采樣點(diǎn)數計算和判斷、跳轉以及外部存儲器的訪(fǎng)問(wèn)等操作均需要執行時(shí)間≥2T的指令,初步分析在此期間最多可以運行24條匯編指令。

  為了實(shí)現等時(shí)間間隔采樣,根據對F020數據手冊的閱讀,應該采用定時(shí)器2或3周期觸發(fā)ADC1,并在A(yíng)DC1采樣結束立即將采樣結果傳送到XRAM。該類(lèi)程序的設計一般有兩種模式:查詢(xún)方式和中斷方式。通常而言,中斷有利于節約CPU時(shí)間,本設計即從中斷模式設計開(kāi)始分析。



關(guān)鍵詞: 單片機 ADC C8051F020 201201

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>