MAXQ3120 混合信號微控制器的應(yīng)用案例
監(jiān)視系統(tǒng)的設(shè)計者和廠商一直希望微控制器能夠為日常監(jiān)視應(yīng)用提供不斷增加的通用功能,包括滿足用電計量、汽車監(jiān)控、數(shù)據(jù)搜集和傳感器調(diào)節(jié)等方面的要求。maxq3120 就是為了滿足這些要求而開發(fā)的低功耗、高速微控制器。它的主要技術(shù)規(guī)范如下。
監(jiān)視系統(tǒng)的設(shè)計者和廠商一直希望微控制器能夠為日常監(jiān)視應(yīng)用提供不斷增加的通用功能,包括滿足用電計量、汽車監(jiān)控、數(shù)據(jù)搜集和傳感器調(diào)節(jié)等方面的要求。maxq3120 就是為了滿足這些要求而開發(fā)的低功耗、高速微控制器。它的主要技術(shù)規(guī)范如下。
•16 位、每秒8 百萬條指令(8mips)、單周期risk 核 •32kb 閃存(flash 存儲器) • 512b ram •具有獨(dú)立波特率產(chǎn)生器的2 個uart •3 個定時器,其中1 個支持pwm d/a • 紅外通信功能 •可驅(qū)動112 段lcd 的控制器 • 依靠電池備份、具有日歷和亞秒鬧鐘功能的實時時鐘 •16 x 16 位單周期乘法器和40 位累加器 •2 個16 位精密模數(shù)轉(zhuǎn)換器(adc)
下面介紹利用maxq3120 微控制器的以上特性和模擬i/o 及dsp 功能可以完成一些什么樣的任務(wù)。
語音記錄子系統(tǒng)
概念: 給一組工程師一片adc,他們就會發(fā)現(xiàn)如何用它來記錄語音。但是,除了簡單的記錄聲音,maxq3120 還能夠做很多事情。以maxq3120 為核心,配合用戶接口元件和廉價的nand 閃存,就可構(gòu)建一個功能完善的語音記錄子系統(tǒng)。
細(xì)節(jié): 可以利用maxq3120 的一個adc 和pwm 定時器實現(xiàn)音頻i/o。adc 的額定輸入電壓為+1v 到-1v,其內(nèi)置的前置放大器的可編程增益可達(dá)16。通常,具有內(nèi)置阻抗匹配的電容式拾音頭可以直接連接到adc 的輸入端。如果需要低噪聲或高增益,可以采用maxim 公司的前置放大器max4467 ,該放大器能為拾音頭提供所需的偏置,且為電池供電的應(yīng)用提供功耗極低的關(guān)斷模式。在輸出端,用一個單級放大器驅(qū)動揚(yáng)聲器,該放大器同時還具有一定的抗混疊和pwm 平滑功能。
音頻信號被轉(zhuǎn)換成數(shù)字信號后,必須進(jìn)行壓縮和存儲,以備重放。8mips 的處理能力使maxq3120 擁有足夠的“馬力”來應(yīng)付許多常用的標(biāo)準(zhǔn)語音編碼任務(wù)。此領(lǐng)域的“金科玉律”是itu g.711 編碼,其工作速率為64kbps ,每秒發(fā)送和接收8000 個8 位采樣。itu g.711 編碼有兩種不同的傳遞函數(shù),用來將12 位采樣值轉(zhuǎn)換為8 位編碼字。這兩種函數(shù)就是通常所謂的a 律(主要用在歐洲)和µ律(主要用在美國)。
如果期望更高的壓縮率,可以犧牲一些話音質(zhì)量,采用itu g.726 編碼。g.726 編碼采用自適應(yīng)差分脈沖編碼調(diào)制(adpcm)方案對語音信號進(jìn)行更高效率的編碼。這種編碼支持多種位率,最低為16kbps 。對大多數(shù)應(yīng)用來說,該編碼要求的處理速度不大于3mips。itu g.711 和itu g.726 編碼都只需要很少的ram。在錄音階段,定時器每125µs (8mhz 時鐘頻率下每1000 個處理器周期)產(chǎn)生一次中斷請求,微處理器響應(yīng)中斷后,計算在上一個定時器周期內(nèi)得到的采樣值的平均值(二或三個采樣,adc 每48µs 采樣一次),以便獲得需要的8khz 采樣率。之后,所采集的16 位采樣就可采用選定的編碼方案進(jìn)行編碼。在回放時,采樣數(shù)據(jù)被線性化后送到pwm 控制器,驅(qū)動揚(yáng)聲器。
壓縮后的音頻數(shù)據(jù)就可用于存儲,但maxq3120 微控制器除了程序閃存外沒有其他的存儲器,因此需用外部存儲器來存儲語音數(shù)據(jù)。對于此應(yīng)用性價比最高的外部存儲器是nand 閃存,其容量可達(dá)8 吉位。對于16kbps 編碼,這種器件可提供超過6 天的語音存儲。但是,nand 閃存并不完善。首先,大多數(shù)nand 閃存器件都帶有一個“瑕疵圖”,告訴應(yīng)用軟件在存儲器陣列中的何處有“壞點”存在。其次,就像其他的可擦除存儲器一樣,在長期使用后,nand 閃存的有些單元會喪失存儲能力。幸運(yùn)的是,nand 閃存的這些缺陷對語音應(yīng)用的影響不大,不像對固態(tài)磁盤等應(yīng)用的影響那么大。在語音應(yīng)用中,nand 閃存的這些缺陷可以被忽略,它們最多使語音中存在瞬間干擾。
對于容量如此巨大的語音存儲,必須進(jìn)行有效的存儲管理。這項工作由系統(tǒng)的用戶接口部分完成,用戶接口部分的核心是lcd 控制器。它能夠驅(qū)動4 個公共面上的28 段顯示,maxq3120 的lcd 控制器兼容于大量現(xiàn)有的3v lcd 玻璃。可以非常低的成本獲得定制的lcd 模塊。
用戶可以通過連接到maxq3120 通用i/o 端口的按鈕來控制語音記錄系統(tǒng)。maxq3120 有4 個8 位通用i/o 端口與器件的其他功能共用。
還需要做什么? maxq3120 是用于高級語音記錄系統(tǒng)的理想微控制器。在利用它設(shè)計語音記錄系統(tǒng)時,設(shè)計者僅需要完成下列工作:
•設(shè)計用戶接口: 選擇一款lcd ,確定如何顯示信息、設(shè)置按鈕功能、如何記錄和組織語音數(shù)據(jù)。 •選擇聲碼器: 可以選用以上提到的兩個itu 編碼器之一,也可以選用其他的專用編碼器,在存儲器容量足夠大時還可以直接存儲語音信號的原始采樣值。許多標(biāo)準(zhǔn)編碼器的c 語言源代碼是可以買到的,因此只需要簡單地開發(fā)接口程序。 •選擇存儲介質(zhì): nand 閃存是理想的選擇,但也可以根據(jù)實際情況選擇其他的存儲器,例如,廉價的通用可移動存儲器(sd、smartmedia™ 或mmc 存儲卡)。有些廠商還可提供存儲卡接口的c 語言源代碼和開發(fā)工具。 •電池管理: 如果語音記錄系統(tǒng)用電池供電,就需要某種形式的電源管理。maxim 有多種高效的低功耗電池管理方案。結(jié)合這些方案和maxq3120 的低功耗停止和睡眠模式,將使語音記錄器具有滿意的電池壽命。
{{分頁}}
多普勒雷達(dá)
概念: 很多年以前執(zhí)法部門就在使用多普勒測速雷達(dá)。如果這種雷達(dá)系統(tǒng)的造價能夠大大降低,那它的用途就不僅僅限于對付那些道路上的超速者。比如,它可在前方車輛停車時提醒駕駛員。maxq3120 能在多普勒雷達(dá)系統(tǒng)中發(fā)揮哪些作用呢?
細(xì)節(jié): 多普勒雷達(dá)的工作原理比較簡單。雷達(dá)裝置發(fā)射一個連續(xù)的、已知頻率的微波束(在美國微波頻率已上升到ku 波段,約24.150ghz) ,微波束遇到移動目標(biāo)后被反射回來。由于反射波的頻率稍微高于或低于發(fā)射波的頻率,所以把反射波和發(fā)射波混頻后可以得到頻率由下式確定的“拍音”:
f = [v * (f0 / c)] * cosθ
其中,ν是待測目標(biāo)的速度,f0 是額定發(fā)射頻率,θ是目標(biāo)運(yùn)動方向與雷達(dá)系統(tǒng)之間的夾角(如圖1a 所示),c 是光速。注意,如果目標(biāo)直接對著雷達(dá)系統(tǒng)而來,則θ= 0,cosθ= 1 ,目標(biāo)的運(yùn)動速度變?yōu)椋?/P>
v = [f / (f0 / c)]
例如,如果ku 波段多普勒雷達(dá)產(chǎn)生1khz 的“拍音”,則測量的目標(biāo)直面而來(或而退)的速度為12.4m/s (即每小時28 英里或45 公里)。可用maxq3120 處理這種音頻信號,框圖如圖1b 所示。
圖1a. 接收信號的多普勒頻移取決于目標(biāo)的運(yùn)動速度和目標(biāo)運(yùn)動方向與雷達(dá)系統(tǒng)之間的夾角。
圖1b. 在多普勒雷達(dá)系統(tǒng)中,maxq3120 控制雷達(dá)頭,并從雷達(dá)模塊輸出的中頻(if)信號中提取“拍音”信號。
利用兩個adc 通道中的一個,maxq3120 能夠采樣雷達(dá)模塊輸出的差分信號,提取出其中的最強(qiáng)頻率分量,并把它換算成每小時公里或英里數(shù)。此外,利用maxq3120 的乘-加單元還可進(jìn)行一些復(fù)雜的濾波運(yùn)算,從復(fù)雜的信號中提取出最強(qiáng)的頻率分量,并且可能從微弱信號中提取出有用信息(比如,多普勒雷達(dá)系統(tǒng)運(yùn)載車輛本身的運(yùn)動速度)。
{{分頁}}
很多情況下,用戶接口的設(shè)計非常瑣碎——常常是一些邏輯處理或者通過開關(guān)觸發(fā)音頻告警。有些應(yīng)用中,微控制器還要周期性地記錄速度、以及進(jìn)行速度測量的時間和日期等。
還需要做什么?多數(shù)廠家生產(chǎn)的多普勒雷達(dá)模塊輸出音頻if。對簡單的測速雷達(dá)系統(tǒng),剩下的工作非常簡單。對于更復(fù)雜一些的測量分析系統(tǒng),還需要開發(fā)一些有關(guān)信號處理的算法。幸運(yùn)的是,有許多可用于輔助開發(fā)濾波算法和識別算法的優(yōu)秀工具。
有些雷達(dá)系統(tǒng)需要指示目標(biāo)的運(yùn)動方向,即目標(biāo)是遠(yuǎn)離還是靠近雷達(dá)?傳統(tǒng)的多普勒雷達(dá)不能完成這項工作;它們對速度一樣而方向相反的運(yùn)動產(chǎn)生相同的頻移量?,F(xiàn)在,有些廠家生產(chǎn)的雷達(dá)模塊包含兩路正交輸出,解調(diào)這兩路輸出,根據(jù)它們的相位差雷達(dá)系統(tǒng)便可以確定目標(biāo)的運(yùn)動方向。maxq3120 微控制器有兩個adc,用它可以很容易地實現(xiàn)這種功能。
電話管理器
概念: 有時人們希望追蹤電話的使用情況(誰與誰通了話,什么時候通的話,通話時間是多少),但又不愿購買昂貴、復(fù)雜的通話計費(fèi)系統(tǒng)。這種情況的例子很多。比如,父母想追蹤孩子的電話使用情況。職業(yè)人員想要一個自動記錄他們何時給誰打了電話,以及誰何時給他們打了電話的日志工具。當(dāng)各個房間的電話公用一條電話線時,那些以住宿加(次日)早餐方式出租房間的房東,就希望有可以追蹤電話使用情況的系統(tǒng)。這種系統(tǒng)可以使他們比較容易地向客人收取電話費(fèi)??梢岳胢axq3120 微控制器組成監(jiān)視電話線上所有通話的裝置(見圖2)。
圖2. 電話管理器監(jiān)視呼出號碼、來電振鈴、主叫id 以及摘機(jī)事件,確定呼出號碼、主叫號碼以及通話時間。
細(xì)節(jié): 電話管理器必須監(jiān)視四種情況:電話線的掛機(jī)/摘機(jī)狀態(tài)、來電振鈴、呼叫號碼和主叫id 信息。其中最簡單的是摘機(jī)信號的監(jiān)視,因為摘機(jī)時,線電壓從48v ( 掛機(jī)狀態(tài))變?yōu)?2v 以下(摘機(jī)狀態(tài)),電壓檢測器很容易檢測這種變化并通知maxq3120 微控制器。
來電振鈴由電話公司在電話線上加載的高壓交流信號產(chǎn)生。該信號經(jīng)過電容耦合和光電隔離器后向處理器發(fā)出告警,同時保持與電話線的隔離。通常,與0.47µf 電容和4.7k電阻串聯(lián)的雙向光耦合器能夠可靠地檢測到該信號。為避免誤動作,可采用一對背靠背的齊納二極管,只有當(dāng)電壓超過擊穿電壓時才允許電流流入光隔離器。
呼叫號碼的接收稍復(fù)雜一些,因為有兩種向電話公司發(fā)送號碼的方法:脈沖撥號和音頻撥號。脈沖撥號方法根據(jù)撥打的數(shù)字在每秒鐘內(nèi)產(chǎn)生10 個電流脈沖。為了檢測脈沖撥號,只需檢測電話線上由低到高的電壓跳變的時間,如果以每秒10 次的速率出現(xiàn)一串跳變,無疑這就是脈沖式撥號。
但是,脈沖撥號電話機(jī)越來越少,目前流行的是雙音多頻(dtmf) 撥號方法。在該方法中,電話上的數(shù)字鍵被排成三列四行,見圖3。按下一個數(shù)字鍵,會產(chǎn)生一個與行對應(yīng)的音和一個與列對應(yīng)的音。通過檢測并解譯音調(diào)的組合情況,maxq3120 就可確定撥出的號碼。
{{分頁}}
圖3. 雙音多頻(dtmf)撥號方案為鍵盤上的每個鍵安排了一個行音和一個列音。注意,最右邊一列(a、b、c 和d 鍵)僅用在局端設(shè)備上,客戶端沒有。
goertzel 算法是一種適合于cpu 實現(xiàn)的高效音頻信號檢測方法。它是一個雙極點濾波器,可以在噪聲信道中清晰地檢測出音頻信號。在maxq 微控制器上實現(xiàn)該算法的程序已經(jīng)通過了測試。
利用主叫id 服務(wù)確定主叫者的電話號碼很容易。這項服務(wù)的訂戶可在第1 和第2 聲振鈴之間收到一個1200bps 的信號,其中包含主叫號碼、主叫者的名稱以及時間和日期等。
在美國,電話局采用bell 202 調(diào)制解調(diào)器標(biāo)準(zhǔn)傳送主叫id。歐洲所采用的標(biāo)準(zhǔn)是itu v.32 模式2 (1300hz 傳號和2100hz 空號)。兩種標(biāo)準(zhǔn)的數(shù)據(jù)傳送速率都為1200bps 。很容易在一個應(yīng)用中同時支持這兩種標(biāo)準(zhǔn),但這里僅討論美國使用的標(biāo)準(zhǔn)。在該標(biāo)準(zhǔn)中,“0”位用2200hz 音頻表示,“1”位用1200hz 音頻表示。maxq3120 可容易地檢測到過零點,并由此確定輸入信號頻率和它所代表的數(shù)據(jù)位。數(shù)據(jù)格式很簡單,為串行異步n81 格式(無奇偶校驗位,8 位數(shù)據(jù),1 位停止位)。
檢測到位值后還要解析消息的格式。有兩種主叫id 格式。第一種僅包含主叫號碼和日期及時間。如下所示:
如果用戶只訂了“僅號碼”主叫id 業(yè)務(wù),就用這種格式為他們傳送主叫id。注意,除了類型、長度和校驗和外,其他字符以ascii 碼傳送。如果沒有主叫號碼,就用字母“o”代之。如果主叫號碼應(yīng)呼叫者的要求禁止傳送,則用字母“p”代替電話號碼。校驗和為此信息中前面諸字節(jié)以256 為模的和,為2 的補(bǔ)碼格式。
如果用戶訂購了“姓名和號碼”主叫id 服務(wù),就會收到如下所示的信息:
其中,type 總為0x80,length 為所有數(shù)據(jù)塊的長度。數(shù)據(jù)塊的格式為:
其中,block type 表示傳送數(shù)據(jù)的類型,其值根據(jù)下表選擇:
一旦有關(guān)某次通話的數(shù)據(jù)搜集齊后便可存儲在i2c* eeprom 中。這類器件廉價、可靠,并且可以提供多種存儲容量。一個16kb 的eeprom 能夠存儲100 條姓名-號碼格式的主叫id 記錄。在maxq 系列處理器上用軟件實現(xiàn)i2c 通信的代碼也有提供。
還需要做什么?還可以考慮對該系統(tǒng)的功能進(jìn)行一些強(qiáng)化。盡管上面所討論的方案可以監(jiān)視所有在線的電話,但它還是無法告訴你是哪部電話發(fā)出或應(yīng)答呼叫。為了做到這一點,每部電話機(jī)上需要安裝一個無需任何用戶界面的監(jiān)視裝置。maxq3120 可以通過電流傳感器確定電話機(jī)何時被摘機(jī),并通知位于中央的電話管理器。為完成這種通信任務(wù),話機(jī)中的微控制器可以發(fā)送dtmf 數(shù)字信號,用來識別呼出或應(yīng)答話機(jī)。在掛機(jī)狀態(tài),電話公司對這些信號“視而不見”,因此,戶內(nèi)電話線就為這些數(shù)字信號提供了理想的信道。
另一方面的強(qiáng)化是自動登錄到一臺計算機(jī)。maxq3120 微控制器具有uart 通道,可以和pc 的串口連接,這樣就可將電話管理器徹底轉(zhuǎn)變?yōu)橐粋€小巧的電話計費(fèi)系統(tǒng)。如果再把這種計費(fèi)系統(tǒng)和前面介紹的語音記錄系統(tǒng)結(jié)合起來,你就擁有了一個非常完善的應(yīng)答機(jī)或電話記錄器。
電力監(jiān)視裝置
概念: 電費(fèi)為什么這么高?這是電力公司經(jīng)常聽到的抱怨。其中,與燃料價格無關(guān)的部分原因是越來越多的電器始終處于耗電狀態(tài)。
不要抱怨電冰箱,因為它的電源是間歇開關(guān)的,只有當(dāng)電冰箱的內(nèi)部溫度高于限定值時電源才被接通。實際上,耗電的設(shè)備到處都是。想一想多媒體設(shè)備中發(fā)出亮光的指示燈,告訴你它已被關(guān)閉,等待你的遙控命令來打開它。過去,“關(guān)掉”開關(guān)就意味著該設(shè)備不再有任何形式的工作。但在今天,關(guān)掉電視機(jī)只是使其處于等待模式,許多電路仍在耗電。事實上,現(xiàn)在已經(jīng)很難找到真正切斷電源的電器。
{{分頁}}
微機(jī)也是隱蔽耗電的設(shè)備。在當(dāng)今的網(wǎng)上時代,人們離開時還讓微機(jī)下載文件、收取郵件等等。它要花多少電費(fèi)?
在此最后一部分,maxq3120 回歸其本源,但角色轉(zhuǎn)變?yōu)橛秒娬?,而不再是供電者。圖4 示出了本應(yīng)用的框圖。
圖4. 用電監(jiān)視裝置能夠確定某電器何時用了多少電。它還可以報告會損壞敏感設(shè)備的電壓浪涌和掉電故障。
細(xì)節(jié): maxq3120 專為支持電表應(yīng)用而設(shè)計。它的兩個adc 分別設(shè)計用于監(jiān)視電壓通道和電流通道。在本項目中,maxq3120 連續(xù)監(jiān)視進(jìn)入某設(shè)備的電壓和電流。然后,它可以報告該設(shè)備的平均功率,用電高峰出現(xiàn)的次數(shù)和幅度,以及,如果需要的話還可提供該設(shè)備的功率因數(shù)。
如何報告呢?最簡單、直接的方法是在監(jiān)視裝置上采用一個小巧的lcd ??梢允褂靡粋€或多個按鈕控制maxq3120 在多種顯示模式間切換(電壓均方根、電流均方根、功率、度數(shù)等等)。lcd 價格極其低廉,用來監(jiān)視單個設(shè)備時,可做的非常緊湊、易用。
如果要監(jiān)視多個設(shè)備,可以建一個中心站來記錄來自各從站的數(shù)據(jù)。該項目的難點在于通常的供電電路用于數(shù)據(jù)傳送介質(zhì)時質(zhì)量太差。用廉價的模塊無法實現(xiàn)理想的數(shù)據(jù)傳輸速率。
但是,可以用廉價的模塊實現(xiàn)不太理想的數(shù)據(jù)傳輸速率。maxq3120 的adc 僅有20,000 次/秒的采樣速率,這種速率無法解調(diào)100khz 范圍內(nèi)的載波(這個頻段被普遍用于電力線控制系統(tǒng)),但是它們可以解調(diào)音頻范圍的載波。如果數(shù)據(jù)傳送速率足夠慢,比如約10bps ,可以實現(xiàn)非常可靠的通信。
這樣除了監(jiān)視電力外,maxq3120 的dsp 功能還要完成另外兩項工作:監(jiān)視來自兩個窄帶的信號功率,并嘗試從中檢測出低速頻移鍵控(fsk)信號;如果接到請求,還要為主站發(fā)送3khz 至7khz 的fsk 信號。
主站可以是單獨(dú)的裝置,也可以通過微機(jī)的串口與其連接。后一種方案更具有吸引力,因為微機(jī)的存儲量足夠大,且能夠完成比微控制器更復(fù)雜的任務(wù)。
還需要做什么?還需要做什么?不多??缮暾埻暾碾姳韰⒖荚O(shè)計(zip, 76kb),經(jīng)過簡單修改后可用于此項目。關(guān)于電力線通信,用于信號產(chǎn)生和帶通濾波的maxq3120 代碼也可找到。因此,只需將這些部件整合在一起便可輕松構(gòu)建一個低數(shù)據(jù)速率fsk 調(diào)制解調(diào)器。簡言之,通過簡單地整合現(xiàn)有的硬件和軟件元素,就可組成一個可工作的產(chǎn)品。
結(jié)論
通過這些應(yīng)用實例我們可以看到,除了作為多功能電表的核心外,maxq3120 微控制器還大有可為。強(qiáng)大的功能使這款微控制器在很多應(yīng)用領(lǐng)域有擴(kuò)展的機(jī)會,可能是你下一個混合信號項目的理想方案。
模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理
波段開關(guān)相關(guān)文章:波段開關(guān)原理
存儲器相關(guān)文章:存儲器原理
隔離器相關(guān)文章:隔離器原理 脈沖點火器相關(guān)文章:脈沖點火器原理
評論