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