MSP430單片機(jī)與多功能電話留言系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
前言
MSP430是最近被中國(guó)引進(jìn)的微處理器。它在超低功耗方面有突出的表現(xiàn),被業(yè)界稱為綠色MCU。同時(shí)它內(nèi)部有豐富的片內(nèi)外圍模塊,是一個(gè)典型的片上系統(tǒng)(SOC)。又是16位的精簡(jiǎn)指令結(jié)構(gòu),功能相當(dāng)強(qiáng)大,被廣泛應(yīng)用于嵌入式系統(tǒng)和智能設(shè)備。
一、MSP430系列單片機(jī)介紹
TI公司設(shè)計(jì)的MSP430系列單片機(jī)是一種超低功耗的混合信號(hào)微控制器。這些微控制器通過16位RISC結(jié)構(gòu)、CPU中的16個(gè)寄存器和常數(shù)發(fā)生器使 MSP430微控制器能達(dá)到最高的代碼效率;靈活的時(shí)鐘源可以使器件達(dá)到最低的功率消耗;數(shù)字控制的振蕩器(DCO)可使器件從低功耗模式迅速喚醒,在少于6us的時(shí)間內(nèi)激活到活躍的工作方式。MSP430的16位定時(shí)器經(jīng)常被應(yīng)用于工業(yè)控制中如:紋波計(jì)數(shù)器、數(shù)字化電機(jī)控制電表和手持式儀表等的理想配置,它的硬件乘法器大大加強(qiáng)了其功能并提供了軟硬件相兼容的范圍,提高了數(shù)據(jù)處理的能力。MSP430Fx1x 系列具有FLASH 存儲(chǔ)器,不同型號(hào)單片機(jī)的存儲(chǔ)器容量和外圍模塊各不相同,使用者可以根據(jù)需要具體選擇。MSP430系列器件均是工業(yè)級(jí)的,運(yùn)行環(huán)境溫度為 -40~+85℃。
MSP430系列單片機(jī)具有以下一些共同的特點(diǎn)。
1. 低電壓、超低功耗
MSP430系列單片機(jī),在1.8~3.6V電壓、1MHz的時(shí)鐘條件下運(yùn)行,耗電電流在0.1~400uA之間;具有16個(gè)中斷源,并且可以任意嵌套,使用靈活方便;用中斷請(qǐng)求將CPU喚醒只需6us,可以編制出實(shí)時(shí)性特別高的源代碼;可將CPU置于省電模式,以用中斷方式喚醒程序。
2.強(qiáng)大的處理能力
MSP430系列單片機(jī),為16位RISC結(jié)構(gòu),具有豐富的尋址方式(7種源操作數(shù)尋址、4種目的操作數(shù)尋址)、簡(jiǎn)潔的27條內(nèi)核指令以及大量的模擬指令;大量的寄存器以及片內(nèi)數(shù)據(jù)存儲(chǔ)器都可以參加多種運(yùn)算;高效的查表處理方法;有較高的處理速度,在8MHz晶體振蕩器驅(qū)動(dòng)下,指令周期為125us。這些特點(diǎn)保證了可編制出高效率的源程序。
3.系統(tǒng)工作穩(wěn)定
上電復(fù)位后,首先由DCOCLK啟動(dòng)CPU,以保證程序從正確的位置開始執(zhí)行,保證晶體振蕩器有足夠的啟動(dòng)和穩(wěn)定時(shí)間。然后可以用軟件設(shè)置最后的系統(tǒng)時(shí)鐘頻率。如果晶體振蕩器在用作CPU時(shí)鐘發(fā)生故障,DCO會(huì)自動(dòng)啟動(dòng),以保證系統(tǒng)正常工作;如果程序跑飛,可用看門狗將其復(fù)位。
4.豐富的片內(nèi)外設(shè)
MSP430系列單片機(jī)的各成員都集成了較豐富的片內(nèi)外設(shè)。例如:使程序迅速?gòu)?fù)位的看門狗、可以用來對(duì)模擬電壓進(jìn)行比較的比較器、有高達(dá)200kbps的12/14位硬件A/D轉(zhuǎn)換器、能直接驅(qū)動(dòng)液晶多達(dá)120段。
5.保密性好
熔絲保密功能和256 位密碼相結(jié)合幾乎沒有解密的可能,可以充分保證用戶程序的安全性。
二、ISD4004 單片語(yǔ)音錄放電路介紹
ISD4004系列芯片的工作電壓為3V,單片錄放時(shí)間為8~16分鐘,音質(zhì)好,適用于移動(dòng)電話及其他便捷式電子產(chǎn)品中。芯片采用CMOS技術(shù),內(nèi)含振蕩器、防混疊濾波器、平滑濾波器、音頻放大器、自動(dòng)靜噪及高密度多電平閃爍存儲(chǔ)陣列。芯片設(shè)計(jì)是基于所有操作必須由微控制器控制,操作指令通過串行通信接口 (SPI)送入。芯片采用多電平直接模擬量存儲(chǔ)技術(shù),每個(gè)采樣值直接存儲(chǔ)在片內(nèi)閃爍存儲(chǔ)器中,因此能夠非常真實(shí)、自然地再現(xiàn)語(yǔ)音、音樂、音調(diào)和效果聲,避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和“金屬聲”。芯片的采樣頻率可以為4kHz, 5.3kHz, 6.4kHz和8kHz,采樣頻率越低,錄音時(shí)間越長(zhǎng),但是音質(zhì)將有所下降。采樣的信息在斷電的情況下能長(zhǎng)期保存在閃爍存儲(chǔ)器當(dāng)中,同時(shí)芯片可以反復(fù)錄音 10萬(wàn)次之多。
圖一 ISD4004管腳圖
同相模擬輸入(ANA IN+) 這是錄音信號(hào)的同相輸入端。輸入放大器可用單端或差分驅(qū)動(dòng)。單端輸入時(shí),信號(hào)由耦合電容輸入,最大幅度為峰峰值32mV,耦合電容和此端的3KΩ 電阻輸入阻抗決定了芯片頻帶的低端截止頻率。差分驅(qū)動(dòng)時(shí),信號(hào)最大幅度為峰峰值16mV。
反相模擬輸入(ANA IN-) 差分驅(qū)動(dòng)時(shí),這是錄音信號(hào)的反相輸入端。信號(hào)通過耦合電容輸入,最大幅度為峰峰值16 mV。
音頻輸出(AUD OUT) 提供音頻輸出,可驅(qū)動(dòng)5KΩ 的負(fù)載。
片選(/SS) 此端為低,即向該ISD4004 芯片發(fā)送指令,兩條指令之間為高電平。
串行輸入(MOSI) 此端為串行輸入端,主控制器應(yīng)在串行時(shí)鐘上升沿之前半個(gè)周期將數(shù)據(jù)放到此端,供ISD 輸入。
串行輸出(MISO) ISD 的串行輸出端。ISD 未選中時(shí),此端為高阻態(tài)。
串行時(shí)鐘(SCLK) ISD 的時(shí)鐘輸入端,由主控制器產(chǎn)生,用于同步MOSE 和MISO 的數(shù)據(jù)傳輸。數(shù)據(jù)在SCLK 上升沿鎖存到ISD,在下降沿移出ISD。
中斷(/INT) 此端為漏極開路輸出。ISD 在任何操作(包括快進(jìn))中檢測(cè)到EOM 或OVF時(shí),此端變低并保持。中斷狀態(tài)在下一個(gè)SPI 周期開始時(shí)清除。中斷狀態(tài)也可用RINT指令讀取。OVF 標(biāo)志----指示ISD 的錄、放操作已達(dá)到存儲(chǔ)器的末尾。EOM 標(biāo)志——只在放音中檢測(cè)到內(nèi)部的EOM 標(biāo)志時(shí),EOM狀態(tài)位才置1。
行地址時(shí)鐘(RAC) 漏極開路輸出。每個(gè)RAC 周期表示ISD 存儲(chǔ)器的操作進(jìn)行了一行(ISE4004 系列中存貯器共2400 行)。該信號(hào)保持高電平175ms,低電平25ms??爝M(jìn)模式下,RAC 的218.75µs 是高電平,31.25µs 為低電平。該端可用于存儲(chǔ)管理技術(shù) 。
外部時(shí)鐘(XCLK) 此端內(nèi)部有下拉元件。芯片內(nèi)部的采樣時(shí)鐘在出廠前已調(diào)校,誤差在+1%內(nèi)。商業(yè)級(jí)芯片在整個(gè)溫度和電壓范圍內(nèi),頻率變化在+2.25%內(nèi)。工業(yè)級(jí)芯片在整個(gè)溫度和電壓范圍內(nèi),頻率變化在-6/+4%內(nèi),此時(shí)建議使用穩(wěn)壓電源。若要求更高精度,可從此端輸入外部時(shí)鐘。由于內(nèi)部的防混淆及平滑濾波器已設(shè)定,故上述推薦的時(shí)鐘頻率不應(yīng)改變。輸入時(shí)鐘的占空比無(wú)關(guān)緊要,因?yàn)閮?nèi)部已進(jìn)行了分頻。在不外接地時(shí)鐘時(shí),此端必須接地。
自動(dòng)靜噪(AMCAP) 當(dāng)錄音信號(hào)電平下降到內(nèi)部設(shè)的某一閾值以下時(shí),自動(dòng)靜噪功能使信號(hào)衰弱,這樣有助于降低無(wú)信號(hào)(靜音)時(shí)的噪聲。通常此端對(duì)地接1µF 的電容,構(gòu)成內(nèi)部信號(hào)電平峰值檢測(cè)電路的一部分。檢出的峰值電平與內(nèi)部定的閾值作比較,決定自動(dòng)靜噪功能的翻轉(zhuǎn)點(diǎn)。大信號(hào)時(shí),自動(dòng)靜噪電路不衰減,靜音時(shí)衰減6dB。1mF的電容也影響自動(dòng)靜噪電路對(duì)信號(hào)幅度的響應(yīng)速度。此端接VCCA 則禁止自動(dòng)靜噪。
2.ISD4004的指令表(表一)和串行外設(shè)接口(SPI)
表一 ISD4004 指令表
ISD4004工作于SPI串行接口。SPI協(xié)議是一個(gè)同步穿行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK的下降沿工作,因此對(duì)ISD4004而言,在時(shí)鐘上升沿鎖存MOSI引腳的數(shù)據(jù),下降沿到來時(shí)將數(shù)據(jù)送至MISO引腳。協(xié)議具體內(nèi)容如下:
所用串行數(shù)據(jù)傳輸開始于SS下降沿。
SS在傳輸期間必須保持為低電平,在兩條指令之間則保持為高電平。
數(shù)據(jù)在時(shí)鐘上升沿移入,在下降沿移出。
SS變低,輸入指令和地址后,ISD才能開始錄放操作。
指令格式為8位控制碼外加16位地址碼。
ISD的任何操作如果遇到EOM或OVF,則產(chǎn)生一個(gè)中斷,該終端狀態(tài)在下一個(gè)SPI周期開始時(shí)被清除。
使用讀指令使中斷狀態(tài)位移出ISD的MISO引腳時(shí),控制及地址數(shù)據(jù)也應(yīng)同步從MOSI端移入。
所有操作在運(yùn)行位(RUN)置1時(shí)開始,置零時(shí)結(jié)束。
所有指令都在SS端為上升沿開始運(yùn)行。
三、多功能電話留言系統(tǒng)的電路設(shè)計(jì)
本系統(tǒng)由于需要較多的端口,所以選擇MSP430F133作為主控制器。MSP430F133擁有6個(gè)8位的并行端口,且2個(gè)8位端口有中斷能力,同時(shí)它具有FLASH存儲(chǔ)器,方便開發(fā)和調(diào)試,而且便于擴(kuò)展,能滿足大多數(shù)有關(guān)微處理器開發(fā)和應(yīng)用。
多功能電話系統(tǒng)的原理圖如圖二所示,其模擬部分基本上援用普通電話的電路(在此不作介紹)。它主要是由MSP430F133和ISD4004及其外圍設(shè)備和接口組成。主要電路有:鍵盤控制電路,LCD顯示電路,語(yǔ)音IC電路,放大電路和對(duì)模擬電話部分的控制電路。
圖二 多功能電話系統(tǒng)的電路框圖
鍵盤控制電路(圖三):我們采用4X4鍵盤,通過74922鍵盤掃描集成電路編碼,只要鍵盤編碼器 IC74922的第12腳(DA)為高電平,便是有按鍵按下,此時(shí)主控制器就可以讀取74922的14-17腳的按鍵值,此時(shí)程序就可以判斷哪個(gè)鍵按下,并對(duì)其進(jìn)行相應(yīng)的操作,只要按鍵持續(xù)進(jìn)行,第12腳(DA)就將持續(xù)為高電平,一直到按鍵放開,才為低電平。
LCD顯示電路:我們使用 16X2 兩行英文字形的LCD,要LCD顯示字型必須先設(shè)定LCD初值,同時(shí)控制LCD的三條控制線和8條數(shù)據(jù)線,三條控制線分別為暫存器選擇線(RS)、讀/寫控制線(R/W)和使能控制端(E)。LCD內(nèi)部有一塊存儲(chǔ)字型的ROM,里面存儲(chǔ)著192個(gè)5X7點(diǎn)陣型的字型,這些字型由存放在LCD內(nèi)部的DD RAM里的8位元碼(與ASCII碼相同)調(diào)出來顯示,所以我們只要輸入ASCII碼,它就可查出各個(gè)字形的顯示碼,它也可以由使用者自行設(shè)計(jì)顯示字型,LCD的使能端是高電平,可以直接接在主控制器上,也可以接在74LS139上(如果接多片語(yǔ)音芯片ISD4004,可以一起對(duì)使能端進(jìn)行編碼)。
語(yǔ)音IC ISD4004電路(圖四):它的控制腳有4個(gè),這就是所謂的SPI串行傳輸端口,分別為 /SS、SCLK、MOSI、MISO四個(gè)管腳,其中/SS是語(yǔ)音IC的使能管腳,它的使能是通過74LS139 2X4 解碼器的選擇來做多功能的使能控制,這樣就可以減少主控制器的端口使用,一片74LS139最多可以接4個(gè)端口的使能。因?yàn)樵撟g碼器的輸出為低電平,所以我們所接的都是低電平使能的引腳。要送數(shù)據(jù)給語(yǔ)音IC時(shí),/SS必須為低電平,而在每個(gè)指令傳輸完后,/SS必須要維持為高電平,當(dāng)/SS為低電平時(shí),才可以傳輸數(shù)據(jù),而SCLK是語(yǔ)音IC的工作時(shí)鐘,只要在上升沿之前,將數(shù)據(jù)送到MOSI上,上升沿到來后,數(shù)據(jù)就會(huì)被讀入語(yǔ)音IC內(nèi),因?yàn)檎Z(yǔ)音IC的控制方法是串行的方式,所以所送的數(shù)據(jù)都必須以單個(gè)比特的方式讀進(jìn)去。在錄音或放音時(shí),每經(jīng)過400ms,RAC腳都會(huì)產(chǎn)生一個(gè)低脈沖,因?yàn)檎Z(yǔ)音IC內(nèi)共有 2400個(gè)行,每個(gè)行錄音結(jié)束時(shí),就會(huì)輸出一個(gè)低脈沖,此引腳可用來判斷錄音路到哪里并用于位置的記錄控制,而/INT引腳則是在放音時(shí),用于放音結(jié)束與否的判斷,當(dāng)放音結(jié)束后,這個(gè)引腳就會(huì)輸出低電平,控制程序就可知放音已經(jīng)結(jié)束了。
放大電路部分: 語(yǔ)音放大電路(本系統(tǒng)采用差分驅(qū)動(dòng)放大器)是對(duì)語(yǔ)音輸入信號(hào)進(jìn)行放大處理,以達(dá)到ISD4004輸入信號(hào)的要求,使用功率放大器(圖五)來驅(qū)動(dòng)揚(yáng)聲器,通過放大濾波可以使揚(yáng)聲器發(fā)出清晰而且響亮的語(yǔ)音信號(hào)。
對(duì)模擬電話部分的控制電路:對(duì)模擬電話部分的控制信號(hào)有:振鈴信號(hào)、免提信號(hào)、接受語(yǔ)音信號(hào)、發(fā)送語(yǔ)音信號(hào)和遠(yuǎn)程按鍵信號(hào)。由于MSP430單片機(jī)可以用中斷使其從低功耗迅速喚醒,所以在正常沒有電話或者沒有對(duì)電話進(jìn)行操作時(shí),MSP430處于節(jié)能方式下,當(dāng)振鈴工作或者對(duì)電話操作時(shí),通過振鈴信號(hào)或者按鍵使MSP430激活處于正常工作狀況下。來電話時(shí)對(duì)振鈴進(jìn)行計(jì)數(shù),如果超出設(shè)定的振鈴數(shù)(可以自行設(shè)定)后無(wú)人應(yīng)答,就根據(jù)語(yǔ)言提示進(jìn)行下一步操作,如果選擇1#,就準(zhǔn)備啟動(dòng)留言系統(tǒng),如果選擇2#,并且輸入的密碼(可以自行設(shè)定和遠(yuǎn)程修改)校驗(yàn)正確,就準(zhǔn)備啟動(dòng)查看留言系統(tǒng)。
結(jié)束語(yǔ)
本文介紹了一種新型的低功耗微處理器MSP430的特性及其外圍設(shè)備的設(shè)計(jì),MSP430系列單片機(jī)以其優(yōu)越的性能已經(jīng)被廣泛應(yīng)用在各種中小型嵌入式系統(tǒng)中,如手持式設(shè)備、微通信系統(tǒng)和電機(jī)控制等。
參考文獻(xiàn)
1 《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》2001(1-6)合訂本 北京
2 魏小龍 《MSP430系列單片機(jī)接口技術(shù)及系統(tǒng)設(shè)計(jì)實(shí)例》2002 北京 北航出版社
3 胡大可 《MSP430系列單片機(jī)C語(yǔ)言程序設(shè)計(jì)與開發(fā)》2002 北京 北航出版社
4 柳何 《移動(dòng)電子解說器》2002 Internet
5 張世昌等 《隨身解說器》Internet