當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]嵌入式系統(tǒng)通常需要數(shù)模轉(zhuǎn)換器 (DAC) 生成模擬電壓與波形。DAC 有時(shí)用作嵌入式處理器的外置器件,有時(shí)集成至處理器中。無

    嵌入式系統(tǒng)通常需要數(shù)模轉(zhuǎn)換器 (DAC) 生成模擬電壓與波形。DAC 有時(shí)用作嵌入式處理器的外置器件,有時(shí)集成至處理器中。無論哪種情況,CPU 都必須在適當(dāng)時(shí)間將預(yù)期輸出值寫入 DAC。一般情況下我們采用定時(shí)器中斷 CPU寫入預(yù)期值來實(shí)現(xiàn)上述目的。如果 DAC 必須生成周期波形,CPU須從表格寫入下一個(gè)值,遞增數(shù)據(jù)表指針 (table pointer),并且檢查表格邊界,以便確定何時(shí)復(fù)位數(shù)據(jù)表指針。

    將周期值寫入 DAC 的過程要求 CPU 開銷保持輸出波形。所需要的 CPU 開銷取決于數(shù)據(jù)表的長度、輸出波形的頻率以及 CPU 的工作頻率。例如,為了每個(gè)周期采用 32 個(gè)數(shù)據(jù)點(diǎn)生成 1 個(gè) 1kHz 的正弦波,在 CPU 頻率為 1MHz 情況下要求 CPU 每秒能夠處理 32000 個(gè)中斷信號。處理如此多的中斷僅在中斷之間留下 1000000 / 32000 = 31.25 個(gè) CPU 指令周期。針對上下文切換與執(zhí)行,如果每個(gè)中斷服務(wù)只需要 15 個(gè) CPU 周期,所需 CPU 開銷就會(huì)達(dá)到近 50%。

    如果應(yīng)用要求第二個(gè)模擬輸出波形,那么 CPU 負(fù)載將會(huì)增大,甚至在所需的中斷服務(wù)時(shí)間內(nèi)不能更新兩個(gè) DAC。 MSP430F15x/16x 器件是解決該問題的良好方案。這些器件集成了兩個(gè) DAC 與 1 個(gè) DMA 控制器。DMA 控制器的用途是在無需 CPU 干預(yù)情況下將數(shù)據(jù)從一個(gè)位置轉(zhuǎn)移到另一個(gè)位置。在本例中,DMA 能夠在規(guī)定時(shí)間內(nèi)將數(shù)據(jù)從數(shù)據(jù)表轉(zhuǎn)移到 2 個(gè) DAC。數(shù)據(jù)轉(zhuǎn)移結(jié)構(gòu)圖如下所示。 

感谢您访问我们的网站,您可能还对以下资源感兴趣:

欧美洲乱码伦视频免费国产