0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用MAXQ2000進行音頻濾波

星星科技指導員 ? 來源:ADI ? 作者:ADI ? 2023-03-02 14:13 ? 次閱讀

乘法累加單元(MAC)和單周期內核的組合使MAXQ2000成為多功能微控制器(μC)。MAXQ2000具有性能和I/O外設,非常適合許多應用:鬧鐘、手持醫(yī)療設備、數字讀數——任何需要低功耗、高性能和大量I/O的應用。通過集成MAC,MAXQ2000進入DSP (μC)領域。

MAXQ2000能從MAC中得到多少性能?本應用筆記通過音頻濾波示例探討了這個問題,并給出了MAXQ2000支持的性能的定量指導。

軟件和硬件要求

本應用筆記簡單演示了音頻濾波器。音頻數據是作者預先錄制的消息,說“管道在新的時開始生銹”。此文本不是隨機選擇的 - 它提供了不錯的頻率分量組合,突出了簡單濾波器的可聽效果。錄音可以用任何適當長度的8kHz錄音代替,但不是必需的。

本應用筆記所需的硬件包括MAXQ2000評估板和用于連接計算機揚聲器的小電路。

MAXQ2000評估板是探索MAXQ2000功能的好工具。它包括一個LCD面板、LED組,并可訪問MAXQ2000 μC的所有I/O引腳。它還包括一個MAX1407 ADC/DAC,可用于音頻輸出。

所需的第二件硬件可以很容易地進行面包板測試。用于本演示的電路如圖1所示。它要求一個1 x 8的母頭接頭連接到J2000的MAXQ7評估板,另一個連接到任何接地(MAXQ1評估板上的TP2000是一個不錯的選擇)。揚聲器連接器可以是任何類型 — 顯示的是 3.5 毫米立體聲插孔,這使得連接到典型的計算機揚聲器變得簡單。請注意,兩個輸入通道是連接在一起的,因為我們的演示應用程序只顯示一個音頻通道(單聲道)。

poYBAGQAPomACM6GAAALn65iBs8496.gif


圖1.音頻播放所需的其他硬件。

運行此演示所需的軟件是使用 IAR 嵌入式工作臺構建和調試的。它利用MAXQ2000的硬件調試支持,提供了良好的調試環(huán)境。您可以在實際硬件上運行時設置斷點、設置和讀取寄存器和內存,并查看調用堆棧。

運行演示應用程序

MAXQ2000評估板上的按鈕用于選擇濾波器,并播放通過該濾波器的音頻樣本。使用按鈕 SW4 選擇濾波器 - 濾波器的名稱將顯示在 LCD 屏幕上(HI 表示高通,LO 表示低通,BP 表示帶通,ALL 表示所有通)。使用 SW5 按鈕開始通過所選過濾器播放音頻??梢栽诓シ胚^程中更改過濾器。

設計簡單的FIR濾波器

我開發(fā)了一個Java?小程序,可以讓我輕松創(chuàng)建新的過濾器。我沒有使用給定濾波器參數的標準窗口技術,而是選擇通過在極點零圖中放置零來粗略地“設計”我的濾波器,如圖 2 所示。該小程序允許在坐標平面的任何位置放置零點,并不斷更新演示應用所需的FIR濾波器系數。但請注意,該演示僅支持全零篩選器。支持 IIR 濾波器不會太困難 — 更多說明在支持 IIR 濾波器部分。

pYYBAGQAPoqARv2tAAA-lP0qqsY280.gif


圖2.使用零極點圖生成簡單的FIR濾波器。

通用濾波器采用線性方程的形式:

y(n) + ΣbKy(k) = ΣaJx(j)

其中 k 表示濾波器反饋部分的順序,j 表示濾波器前饋部分的順序。

示例 IIR 濾波器可以像以下這樣簡單:

y(n) = 0.5y(n-1) + x(n) - 0.8x(n-1)

某些濾波器被歸類為FIR濾波器。它們不包含反饋部分。換句話說,特征濾波方程中沒有 y 部分:

y(n) = ΣaJx(j) y(n) = x(n) - 0.2x(n - 1) + 0.035x(n - 3)

在任何一種情況下,濾波器都歸結為一個特征方程,該方程本質上是過去輸入和輸出值的加權平均值。濾波器設計的工作是產生那些 Aj和乙k值。為了有效地計算濾波器的輸出,我們需要能夠快速相乘和求和有符號數的硬件支持。輸入MAXQ2000的乘法累加單元。

使用乘法累加 (MAC) 單元實現(xiàn)篩選器

上一節(jié)中的小程序通過計算給定圖中零坐標的濾波器系數來工作。但是,計算的系數是浮點數,而我們的 MAC 使用純 16 位整數數學。為了糾正此問題,演示應用程序使用定點數字系統(tǒng),其中系數的 0 到 15 位位于小數點右側(第 16 位表示符號幅度)。一旦操作結束,MAC累加器中的48位結果將移動到足夠的位置以去除任何分數。

此解決方案是精度與速度的權衡。在許多情況下,這種方法的錯誤可以忽略不計。出于診斷目的,小程序顯示了計算濾波器的三個圖。第一個圖顯示了使用 64 位浮點數的理想濾波器行為。該圖標記為“理想變換”,如圖2所示。

圖 3 顯示了小程序生成的其余繪圖。圖3中的第一個圖顯示了使用16位定點數的有效濾波器。在許多情況下,誤差并不明顯,因此最后一個圖是一個誤差指示器,顯示理想行為除以實際頻率響應。理想情況下,這是 Y = 1 時的直線。

poYBAGQAPouAH9DOAAAnywY9CRE112.gif


圖3.濾波器 16 位實現(xiàn)的實際變換和舍入誤差(幾乎沒有誤差)。

為簡單起見,小程序生成MAXQ?應用所需的浮點系數,因此可以將新的濾波器簡單地剪切并粘貼到濾波器應用的源中(粘貼到文件data.asm中)。小程序還會生成另外兩個值 — 篩選器的順序(系數數)和偏移計數,因此應用程序可以適當地移動最終結果。此數據顯示在小程序底部的文本框中,可能如下所示:

Zeroes:
    dc16
    dc16 12, 11, 0x1000, 0x26d3, 0x1e42, 0xf9a3, 0xecde, 0xff31, 0xa94,
         0x2ae, 0xfd0c, 0xff42, 0xde
Shift amount: 12

在MAXQ匯編語言中實現(xiàn)濾波器

為了獲得最佳性能并執(zhí)行準確的性能分析,實際的過濾器將以匯編語言實現(xiàn)。這將使我們能夠準確計算生成一個輸出值所需的周期數,從而估計其他數據集的性能。

MAX1407具有12位ADC。但是,輸入數據是 16 位寬的,我們的過濾器產生 16 位的結果。因此,雖然這 4 個最低有效位 (LSB) 被浪費在此應用中,但我們可以安全地分析我們的性能,就像處理和生成 16 位值(CD 質量的音頻為 16 位)一樣。

在此示例中,濾波器系數存儲在表中的代碼空間中。選擇篩選器后,應用程序將查找相應的篩選器,讀取移位量和抽頭次數,然后準備好開始篩選數據。以下代碼應用篩選器系數:

    move  MCNT, #22h           ; signed, mult-accum, clear regs first

zeroes_filterloop:
    move  A[0], DP[0]          ; let's see if we are out of data
    cmp   #W:rawaudiodata      ; compare to the start of the audio data
    lcall UROM_MOVEDP1INC      ; get next filter coefficient
    move  MA, GR               ; multiply filter coefficient...
    lcall UROM_MOVEDP0DEC      ; get next filter data
    move  MB, GR               ; multiply audio sample...
    jump  e, zeroes_outofdata  ; stop if at the start of the audio data
    djnz  LC[0], zeroes_filterloop

zeroes_outofdata:
    move  A[2], MC2            ; get MAC result HIGH
    move  A[1], MC1            ; get MAC result MID
    move  A[0], MC0            ; get MAC result LOW

在執(zhí)行此代碼之前,LC[0] 設置為濾波器的抽頭數,DP[0] 設置濾波器的當前輸入字節(jié)地址,DP[1] 指向濾波器系數的開頭。因此,DP[1] 以遞增的方式處理濾波器系數,DP[0] 以遞減的方式處理輸入數據(首先處理最近的輸入)。

由于MAC在一個周期內工作,因此這里沒有很多代碼來處理它。MCNT 設置為 22h 表示使用有符號整數。在主循環(huán)中,連續(xù)寫入 MA,然后 MB 觸發(fā)乘法累加運算 — 結果在下一個時鐘周期中準備就緒。由于我們的累加器是 48 位(我們的乘法結果是 32 位),我們不必擔心任何溢出(除非我們的過濾器中有 64,000 個抽頭!

性能

該示例應用采用以 16kHz 輸出的單聲道 8 位音頻數據,不足以使 μC 疲憊不堪。因為我們用匯編語言編寫了濾波器,所以我們可以很容易地計算用于提出長度為 N 的 FIR 濾波器計算所需的時間的表達式的周期。然后,我們可以使用此表達式使用前面列出的算法找到最大過濾率。

我們可以將用于生成音頻樣本的函數分為三個部分:初始化、濾波器計算循環(huán)和結果修復。在我們發(fā)布的示例中,初始化需要 38 個周期,濾波器計算循環(huán)每個濾波器系數需要 17 個周期,結果修復需要 9 + (6 x S) 個周期,其中 S 是偏移量。通常,偏移量約為 12,因此我們可以估計結果固定在 81 個周期。因此,產生一個濾波輸出值需要 119 + (17 x N) 個周期。在20MHz時,MAXQ2000可以運行接近100kHz的11抽頭濾波器,這對于語音數據來說已經足夠好了。

讓我們回過頭來重新分析我們的應用程序,看看我們可以在哪里收緊它。我們將專注于過濾器循環(huán),因為這是我們大多數循環(huán)發(fā)生在除最微不足道的過濾器之外的任何過濾器上的地方。

我們可以對循環(huán)代碼進行一些關鍵的改進以提高效率。請記住,我們使用存儲在代碼空間中的預先錄制的音頻樣本。由于MAXQ的哈佛架構,代碼空間的查找比數據空間中的查找需要更多的時間。調用UROM_MOVEDP1INC和UROM_MOVEDP0DEC的函數各需要 5 個周期(LCALL 為 2 個周期,然后在函數內需要 3 個周期)。如果我們將過濾器存儲在 RAM 中(一個周期用于選擇指針,一個周期用于從中讀?。?,并且如果我們提供存儲在 RAM 中的實時輸入數據,則每個周期都可以替換為兩個周期。如果我們愿意向過濾器捐贈 256 個單詞的 RAM,我們可以使用 BP[Offs] 實現(xiàn)一個循環(huán)緩沖區(qū)來存儲輸入數據。這些更改將循環(huán)時間從 11 個周期減少到 17 個周期。我們的過濾器循環(huán)現(xiàn)在如下所示(周期計數列在注釋中的第一個):

zeroes_filterloop:
    move  A[0], DP[0]          ; 1, let's see if we are out of data
    cmp   #W:rawaudiodata      ; 2, compare to the start of the audio data
    move  DP[1], DP[1]         ; 1, select DP[1] as our active pointer
    move  GR, @DP[1]++         ; 1, get next filter coefficient
    move  MA, GR               ; 1, multiply filter coefficient...
    move  BP, BP               ; 1, select BP[Offs] as our active pointer
    move  GR, @BP[Offs--]      ; 1, get next filter data
    move  MB, GR               ; 1, multiply audio sample...
    jump  e, zeroes_outofdata  ; 1, stop if at the start of the audio data
    djnz  LC[0], zeroes_filterloop  ; 1

一旦我們在RAM中有了濾波器和輸入數據,我們就可以使用MAXQ架構的另一個技巧。MAXQ指令集是高度正交的——對于在任何操作中可以用作源的內容幾乎沒有限制。因此,我們可以將其直接寫入MAC寄存器,而不是將濾波器數據和輸入數據讀取到GR中。這使循環(huán)減少到 9 個周期。 最后一項改進可以使這段代碼真正飛起來。每次通過循環(huán)時,我們將當前數據指針與音頻輸入數據的開頭進行比較,以查看我們是否越界(MOVE A[0]、DP[0] 語句、CMP 比較語句和 JUMP E 語句)。如果我們將初始音頻數據(我們現(xiàn)在使用 BP[Offs] 指向的循環(huán)緩沖區(qū)讀?。┰O置為全部零,我們可以簡單地刪除這些檢查。將 RAM 初始化為 0 的成本可以忽略不計,而接下來幾千個樣本節(jié)省的 4 個周期可以忽略不計。我們的新循環(huán)代碼是纖細的 5 個周期。 在回到性能方程之前,讓我們看一下結果計算。我們目前將 48 位結果向下移動的方式似乎很浪費。 一種可能的解決方案是再次使用我們的MAC。與其向右移動 12(或 0 到 16 之間的任何值),我們可以向左移動 16 減去該量(即左移 4)。這會將我們的結果放在 MAC 寄存器的中間 16 位字中。請注意,我們的左移實際上是通過乘以 2 到某個冪

zeroes_filterloop:
    move  A[0], DP[0]          ; 1, let's see if we are out of data
    cmp   #W:rawaudiodata      ; 2, compare to the start of the audio data
    move  DP[1], DP[1]         ; 1, select DP[1] as our active pointer
    move  MA, @DP[1]++         ; 1, multiply next filter coefficient
    move  BP, BP               ; 1, select BP[Offs] as our active pointer
    move  MB, @BP[Offs--]      ; 1, multiply next filter data
    jump  e, zeroes_outofdata  ; 1, stop if at the start of the audio data
    djnz  LC[0], zeroes_filterloop  ; 1
zeroes_filterloop:
    move  DP[1], DP[1]         ; 1, select DP[1] as our active pointer
    move  MA, @DP[1]++         ; 1, multiply next filter coefficient
    move  BP, BP               ; 1, select BP[Offs] as our active pointer
    move  MB, @BP[Offs--]      ; 1, multiply next filter data
    djnz  LC[0], zeroes_filterloop  ; 1
    move  A[2], MC2            ; get MAC result HIGH
    move  A[1], MC1            ; get MAC result MID
    move  A[0], MC0            ; get MAC result LOW
    move  APC, #0C2h           ; clear AP, roll modulo 4, auto-dec AP

shift_loop:
    ;
    ; Because we use fixed point precision, we need to shift to get a real
    ; sample value.  This is not as efficient as it could be.  If we had a
    ; dedicated filter, we might make use of the shift-by-2 and shift-by-4
    ; instructions available on MAXQ.
    ;
    move  AP, #2               ; select HIGH MAC result
    move  c, #0                ; clear carry
    rrc                        ; shift HIGH MAC result
    rrc                        ; shift MID MAC result
    rrc                        ; shift LOW MAC result
    djnz  LC[1], shift_loop    ; shift to get result in A[0]
    move APC, #0               ; restore accumulator normalcy
    move AP, #0                ; use accumulator 0

在我們原來的右移應該是 12 的情況下)。 這將讓我們將結果計算提高到 12 個周期,而不是 9 + (6 x S) 個周期。

   ;
    ; don't care about high word, since we shift left and take the
    ; middle word.
    ;
    move  A[1], MC1            ; 1, get MAC result MID
    move  A[0], MC0            ; 1, get MAC result LOW
    move  MCNT, #20h           ; 1, clear the MAC, multiply mode only
    move  AP, #0               ; 1, use accumulator 0
    and   #0F000h              ; 2, only want the top 4 bits
    move  MA, A[0]             ; 1, lower word first
    move  MB, #10h             ; 1, multiply by 2^4
    move  A[0], MC1R           ; 1, get the high word, only lowest 4 bits significant
    move  MA, A[1]             ; 1, now the upper word, we want lowest 12 bits
    move  MB, #10h             ; 1, multiply by 2^4
    or    MC1R                 ; 1, combine the previous result and this one
    ;
    ; result is in A[0]
    ;

現(xiàn)在讓我們回到前面的等式。我們的新方程使用40個開銷周期和每個循環(huán)迭代5個周期的保守估計。使用與之前相同的100抽頭濾波器示例,MAXQ2000可以處理16kHz的37位單聲道音頻數據,如表1所示。

表 1.最大FIR濾波器采樣速率(20MHz MAXQ2000,環(huán)路)

過濾器長度(抽頭) 最大速率(赫茲)
50 68965.51724
100 37037.03704
150 25316.4557
200 19230.76923
250 15503.87597
300 12987.01299
350 11173.18436

對于需要更高采樣率且可能犧牲代碼空間的應用程序,我們可以實現(xiàn)另一項性能改進。我們可以“內聯(lián)”濾波器系數,這消除了選擇活動指針的需要和循環(huán)的需要(這種技術也稱為循環(huán)展開)。此更改的代價是增加了代碼空間 - 以前,我們的 100 點過濾器需要 100 個單詞才能存儲;現(xiàn)在需要存儲 300 個單詞(每個系數移動 2 個單詞,每個數據值移動 1 個單詞)。在 16 千字的設備中,對于性能優(yōu)勢來說,這可能是微不足道的代價。新代碼可能如下所示: 為了計算此更改的性能優(yōu)勢,我們再次假設開銷為 40 個周期,但現(xiàn)在每個循環(huán)迭代有 3 個周期,盡管我們已經真正消除了循環(huán)。100抽頭的性能限制現(xiàn)在為58kHz(見表2)。

   move  BP, BP               ; select BP[Offs] as our active pointer
zeroes_filtertop:
    move  MA, #FILTERCOEFF_0   ; 2, multiply next filter coefficient
    move  MB, @BP[Offs--]      ; 1, multiply next filter data
    move  MA, #FILTERCOEFF_1   ; 2, multiply next filter coefficient
    move  MB, @BP[Offs--]      ; 1, multiply next filter data
    move  MA, #FILTERCOEFF_2   ; 2, multiply next filter coefficient
    move  MB, @BP[Offs--]      ; 1, multiply next filter data
    . . .
    move  MA, #FILTERCOEFF_N   ; 2, multiply next filter coefficient
    move  MB, @BP[Offs--]      ; 1, multiply next filter data
    ;
    ; filter calculation complete
    ;

表 2.最大FIR濾波器采樣速率(20MHz MAXQ2000,展開環(huán)路)

過濾器長度(抽頭) 最大速率(赫茲)
50 105263.1579
100 58823.52941
150 40816.32653
200 31250
250 25316.4557
300 31250
350 27027.02703

支持 IIR 濾波器

本應用筆記不演示IIR濾波器的使用,但MAXQ2000沒有理由不支持IIR濾波器。涉及的更改將是:

將一段 RAM 專用于存儲最新的輸出樣本(這將最有效地實現(xiàn)為循環(huán)緩沖區(qū),使用 BP[Offs] 寄存器的方式類似于前面描述的方式)

包括濾波器反饋(“y”部分)的特征濾波器系數

添加另一個循環(huán),繼續(xù)累積作為過濾器反饋部分結果的產品

雖然添加另一個循環(huán)聽起來像是性能下降,但不一定是。雖然計算濾波器的一個輸出需要更多時間,但IIR濾波器通常需要較少的抽頭(N的值較小)來計算輸出值。

結論

MAXQ2000的性能和外設使其成為出色的通用μC。它可用于任何需要快速、多功能μC的地方,特別是在需要用戶交互的應用中。MAC的有效利用使MAXQ2000具有一定的數字濾波功能,使MAXQ2000成為目前最通用的μC之一。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7840

    瀏覽量

    153306
  • 濾波器
    +關注

    關注

    162

    文章

    8004

    瀏覽量

    180416
  • 連接器
    +關注

    關注

    99

    文章

    15074

    瀏覽量

    138752
收藏 1人收藏

    評論

    相關推薦

    MAXQ2000 SPI模塊與MAX6951/MAX6950怎么配合使用?

    本應用筆記提供了MAXQ?匯編程序范例,說明MAXQ2000 SPI模塊與MAX6951/MAX6950的配合使用。
    發(fā)表于 05-31 06:08

    MAXQ2000微控制器與MAX4397是如何連接的?

    MAX4397是什么?MAXQ2000微控制器與MAX4397是如何連接的?
    發(fā)表于 06-04 06:15

    MAXQ2000中文資料pdf

    MAXQ2000微控制器是低功耗16位器件,包含液晶顯示(LCD)接口,可以驅動最多100 (-RBX/-RBX+)段或132 (-RAX/-RAX+/-RFX/-RFX+)段。MAXQ2000適用于血糖監(jiān)測系統(tǒng),也適用于其他需要高性能、低功耗工
    發(fā)表于 06-30 11:29 ?97次下載

    MAXQ2000 Low-Power LCD Microco

    The MAXQ2000 microcontroller is a low-power, 16-bit device that incorporates a liquid-crystal
    發(fā)表于 02-06 13:32 ?29次下載

    采用MAXQ2000進行音頻濾波

    集成了乘累加單元(MAC)和單周期內核的MAXQ2000非常適合用作通用微控制器。MAXQ2000所具有的性能和I/O外設適合多種應用:如鬧鐘、手持醫(yī)療設備、數字讀取器等需要低功耗、高性能
    發(fā)表于 12-25 23:24 ?34次下載

    采用MAXQ2000 USB “拇指”評估套件進行設計

    采用MAXQ2000 USB “拇指”評估套件進行設計 本應用筆記介紹使用USB “拇指”評估(EV)套件快速開發(fā)MAXQ2000 RISC微控制器所需要的步驟。文檔解釋了怎樣安裝和配置評估套件的硬
    發(fā)表于 01-13 08:03 ?850次閱讀
    采用<b class='flag-5'>MAXQ2000</b> USB “拇指”評估套件<b class='flag-5'>進行</b>設計

    MAXQ2000 業(yè)內最高MIPS/mA的16位、RISC微

    MAXQ2000 業(yè)內最高MIPS/mA的16位、RISC微控制器、低功耗LCD微控制器 MAXQ2000 概述
    發(fā)表于 02-06 13:35 ?830次閱讀

    采用MAXQ2000 USB “拇指”評估套件進行設計

    摘要:本應用筆記介紹使用USB “拇指”評估(EV)套件快速開發(fā)MAXQ2000 RISC微控制器所需要的步驟。文檔解釋了怎樣安裝和配置評估套件的硬件和軟件,怎樣開發(fā)并裝入板上MAXQ2000微控制
    發(fā)表于 04-23 15:54 ?768次閱讀
    采用<b class='flag-5'>MAXQ2000</b> USB “拇指”評估套件<b class='flag-5'>進行</b>設計

    利用MAXQ2000設計電壓表

    摘要:本應用筆記演示了如何配置MAXQ2000微控制器實現(xiàn)簡單的電壓表設計。該應用采用MAXQ2000評估板,其中包括4½位段式LCD顯示器和MAX1407數據采集系統(tǒng)(DAS)以及一對外部電阻。MAXQ
    發(fā)表于 04-23 16:07 ?879次閱讀
    利用<b class='flag-5'>MAXQ2000</b>設計電壓表

    利用SD存儲介質擴展MAXQ2000的非易失性數據存儲空間

    摘要:本文討論如何使用安全數字(SD)媒體格式擴展MAXQ2000的非易失數據存儲器。 低功耗、低噪聲的MAXQ2000微控制器適合于多種應用。MAXQ2000在閃存中存儲非易失性數據,
    發(fā)表于 04-23 16:25 ?1246次閱讀
    利用SD存儲介質擴展<b class='flag-5'>MAXQ2000</b>的非易失性數據存儲空間

    采用MAXQ2000進行音頻濾波

    摘要:集成了乘累加單元(MAC)和單周期內核的MAXQ2000非常適合用作通用微控制器(µC) 。MAXQ2000所具有的性能和I/O外設適合多種應用:如鬧鐘、手持醫(yī)療設備、數字讀取器等需要低功
    發(fā)表于 04-23 17:27 ?1201次閱讀
    采用<b class='flag-5'>MAXQ2000</b><b class='flag-5'>進行</b><b class='flag-5'>音頻</b><b class='flag-5'>濾波</b>

    使用MAXQ2000和MAX7312進行LED打靶練習游戲

    本應用筆記提供了將MAXQ2000微控制器(MAXQ20內核)連接至MAX7312 16位端口擴展器所需的全部固件。應用示例是一個LED目標練習游戲。示例裝配程序是專門為MAXQ2000編寫和組裝的,使用免費的IAR嵌入式工作臺
    的頭像 發(fā)表于 01-14 14:58 ?1078次閱讀
    使用<b class='flag-5'>MAXQ2000</b>和MAX7312<b class='flag-5'>進行</b>LED打靶練習游戲

    使用MAXQ2000進行安全系統(tǒng)控制

    報警控制面板幾乎是每個人日常生活的一部分,無論是在家里還是在工作中。本文介紹使用MAXQ2000低功耗LCD微控制器的報警控制應用示例,該微控制器是在MAX-IDE開發(fā)環(huán)境中創(chuàng)建的。MAXQ2000可以方便地與安全應用中常用的外設接口,包括LCD顯示器、PIN輸入鍵盤、壓
    的頭像 發(fā)表于 02-07 13:53 ?882次閱讀
    使用<b class='flag-5'>MAXQ2000</b><b class='flag-5'>進行</b>安全系統(tǒng)控制

    使用MAXQ2000微控制器進行基于溫度的風扇控制

    MAXQ2000具有眾多的特性,可以創(chuàng)建多種有用的應用,例如通過脈寬調制(PWM)控制風扇的速度。MAXQ2000的眾多特性包括帶PWM和串行外設接口(SPI)的定時器。?)和1-Wire功能。本應
    的頭像 發(fā)表于 03-02 14:36 ?1276次閱讀
    使用<b class='flag-5'>MAXQ2000</b>微控制器<b class='flag-5'>進行</b>基于溫度的風扇控制

    如何將MAXQ2000用作電壓表

    本應用筆記演示如何為簡單的電壓表應用配置MAXQ2000微控制器。應用使用MAXQ2000評估板,該評估板包括一個4/1407段LCD顯示屏和一個MAX2000數據采集系統(tǒng)(DAS),以及一對外部電阻。
    的頭像 發(fā)表于 03-03 14:27 ?926次閱讀
    如何將<b class='flag-5'>MAXQ2000</b>用作電壓表

    電子發(fā)燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品