基于MSP430F169的水聲遙控發(fā)射系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:隨著水聲通信技術(shù)的快速發(fā)展,水聲遙控系統(tǒng)也已投入使用,它在水下通信、遙測(cè)及水下航行器的控制等方面有著廣闊的應(yīng)用前景。該設(shè)計(jì)基于微功耗單片機(jī)MSP430F169作為處理器設(shè)計(jì)路以便實(shí)現(xiàn)不同頻率信號(hào)的產(chǎn)生、選擇及顯示,并選用D類功放對(duì)所產(chǎn)生的信號(hào)進(jìn)行功率放大。系統(tǒng)軟件根據(jù)所設(shè)計(jì)的電路進(jìn)行移頻編程,根據(jù)MFSK調(diào)制的基本原理,通過(guò)采用添加保護(hù)時(shí)間抵抗碼間干擾的編碼方案,完成不同遙控信號(hào)的產(chǎn)生、控制及顯示。
作為水聲通信技術(shù)的一種應(yīng)用,水聲遙控技術(shù)的發(fā)展與水聲通信技術(shù)息息相關(guān)。近年來(lái),PSK以及MPSK、DPSK(相移差鍵控)等被用于高通信速率場(chǎng)合中的信道編碼,已成為當(dāng)前水聲通信領(lǐng)域的主要研究方向之一,被國(guó)外很多系統(tǒng)應(yīng)用。水聲通信技術(shù)近年來(lái)由非相干通信向相干通信的方向發(fā)展,并且隨著數(shù)字電路及信號(hào)處理芯片計(jì)算能力的提高,水聲通信系統(tǒng)的調(diào)制方式、信號(hào)處理方法等都逐漸采用各種高端復(fù)雜的技術(shù),比如自適應(yīng)均衡技術(shù)、空間調(diào)制技術(shù)、分集接收技術(shù)、盲均衡技術(shù)等。近二十年來(lái),水聲遙控技術(shù)也得到了迅速的發(fā)展。我國(guó)已經(jīng)能夠以200~400 bit/s的速率在2 kHz帶寬內(nèi)利用時(shí)延編碼和實(shí)時(shí)信道標(biāo)校技術(shù)實(shí)現(xiàn)水聲信號(hào)數(shù)字傳輸,它的特點(diǎn)是中低速率,沿水平方向中等作用距離的低誤碼率。
水聲遙控系統(tǒng)主要向著以下幾個(gè)方向發(fā)展:1)靈活性好,系統(tǒng)能夠適應(yīng)海灣、河流入??诘冉;鞚釁^(qū)域和深海遠(yuǎn)洋海域。2)體積變小,系統(tǒng)體積小、重量輕,便于攜帶,有利于產(chǎn)品的使用和推廣。3)可靠性高,系統(tǒng)能夠準(zhǔn)確的完成遙控指令信號(hào)的傳送、接收和判決。對(duì)于需要長(zhǎng)期在水下作業(yè)的系締,超低功耗已也成為水聲遙控系統(tǒng)的重要研究研究方向,本設(shè)計(jì)采用超低功耗的MSP430F169的單片機(jī)進(jìn)行設(shè)計(jì),使系統(tǒng)工作時(shí)間增長(zhǎng),減少了由于更換電池而帶來(lái)的人力物力的浪費(fèi);采用編碼調(diào)制信號(hào)并且可以提高系統(tǒng)功能的可靠性。
1 系統(tǒng)總體設(shè)計(jì)
遙控發(fā)射系統(tǒng)硬件部分由信號(hào)產(chǎn)生電路,D類功放電路等組成;信號(hào)產(chǎn)生電路主要采用以MSP430F169為核心的最小系統(tǒng)電路,MSP430F 169最小系統(tǒng)主要由主控MCU、電源、復(fù)位電路、時(shí)鐘電路、JTAG調(diào)試電路等模塊組成。電源模塊為MCU及各外圍模塊提供電源,時(shí)鐘模塊為MCU提供時(shí)鐘源,JTAG接口用于單片機(jī)的程序調(diào)試和仿真。D類(丁類)功率放大器也稱數(shù)字功放,它是用音頻信號(hào)的幅度去線性調(diào)制高頻脈沖的寬度,與模擬功放的主要差別在于功率管的工作狀態(tài),它采用PWM(脈寬調(diào)制)原理設(shè)計(jì),功率管工作在開(kāi)關(guān)狀態(tài)。
2 MSP430最小系統(tǒng)電路設(shè)計(jì)
MSP4301F16x系列是TI的MSP430F1x系列(FLASH存儲(chǔ)器型)單片機(jī)中功能最強(qiáng)大的子系列。MSP430F16x具有更大的程序和數(shù)據(jù)存儲(chǔ)區(qū)、更多的外圍模塊,其片內(nèi)甚至還包括一個(gè)硬件乘法器。與此同時(shí)該系列單片機(jī)的開(kāi)發(fā)工具簡(jiǎn)便,內(nèi)置DMA和D/A轉(zhuǎn)換模塊,其具有豐富的片內(nèi)外圍,性價(jià)比極高,所以本題目采用這個(gè)型號(hào)作為微處理器。
MSP430F16x系列是超低功耗Flash型16位RISC指令集單片機(jī)。它采用“馮-紐曼”結(jié)構(gòu),RAM、ROM和全部外圍模塊均位于同一個(gè)地址空間內(nèi)。它的體系結(jié)構(gòu)由五種低功耗模式組成,最優(yōu)化降低了系統(tǒng)功耗。MSP430x15x/16x/161x系列處理器片內(nèi)有二個(gè)固定16位定時(shí)器、8路快速的12位A/D轉(zhuǎn)換器、雙路8/12位D/A轉(zhuǎn)換器、兩個(gè)通用連續(xù)同步/非同步通信接口(USART)、I2C、DMA。
2.1 電源電路
對(duì)于MSP430F169最小系統(tǒng)來(lái)說(shuō),MSP430F169及其部分外圍模塊需要3.3V電源,其他模塊則需要5V電源。為了給系統(tǒng)供電方便,可以使用電源轉(zhuǎn)換芯片將5V電壓轉(zhuǎn)換成3.3V電壓。設(shè)計(jì)采用芯片AMS117—3.3來(lái)進(jìn)行DC—DC電壓轉(zhuǎn)換,其中,三個(gè)電容用來(lái)進(jìn)行穩(wěn)壓濾波,使得系統(tǒng)電源穩(wěn)定,用LED用來(lái)指示電源狀態(tài)。
2.2 晶振電路
單片機(jī)MSP430F169的時(shí)鐘模塊有數(shù)字控制振蕩器DCO、低速晶體振蕩器、高速晶體振蕩器3個(gè)時(shí)鐘源,這些時(shí)鐘模塊可產(chǎn)生MCLK(主系統(tǒng)時(shí)鐘)、SMCLK(子系統(tǒng)時(shí)鐘)和ACLK(輔助時(shí)鐘)3種不同頻率的時(shí)鐘,系統(tǒng)可以通過(guò)軟件根據(jù)具體需求來(lái)選擇不同的時(shí)鐘以滿足不同模塊的需求。數(shù)字控制振蕩器DCO,集成在MSP430F169內(nèi)部。當(dāng)外部振蕩器失效時(shí),系統(tǒng)會(huì)自動(dòng)選擇DCO振蕩器為MCLK時(shí)鐘源。高速晶體振蕩器XT2可外接450 kHz-8 MHz的晶體振蕩器。
2.3 復(fù)位電路
微控制器正常工作時(shí)該引腳將處于高電平才能正常工作。在系統(tǒng)中,復(fù)位電路主要完成系統(tǒng)的上電復(fù)位和系統(tǒng)在運(yùn)行時(shí)用戶的按鍵復(fù)位,復(fù)位電路可由簡(jiǎn)單的RC電路構(gòu)成,也可使用其的相對(duì)較復(fù)雜,但功能更完善的電路。在這里采用簡(jiǎn)單的由電阻、電容、二極管構(gòu)成的RC復(fù)位電路。經(jīng)使用證明,其復(fù)位邏輯是可靠的。
2.4 JTAG電路
MSP430F169具有60KB可電擦寫(xiě)的FLASH存儲(chǔ)器和JTAG調(diào)試接口,可先將編譯好的程序通過(guò)JTAG接口下載到FLASH內(nèi),然后通過(guò)JTAG接口進(jìn)行程序控制,讀取片內(nèi)CPU狀態(tài)及存儲(chǔ)器內(nèi)容等為設(shè)計(jì)者調(diào)試提供便利,整個(gè)編譯、調(diào)試過(guò)程均在同一個(gè)軟件集成環(huán)境中進(jìn)行,不需要專門(mén)的仿真器和編譯器,這種JTAG調(diào)試、FLASH技術(shù)和集成開(kāi)發(fā)環(huán)境相結(jié)合的開(kāi)發(fā)方式,具有實(shí)用、便捷、價(jià)格便宜等優(yōu)點(diǎn)。
2.5 鍵盤(pán)控制及數(shù)碼管顯示電路
對(duì)于本次設(shè)計(jì),需要對(duì)系統(tǒng)進(jìn)行控制使其產(chǎn)生不同的信號(hào),并顯示產(chǎn)生的信號(hào),這就需要用到鍵盤(pán)和LED顯示。本設(shè)計(jì)要產(chǎn)生6個(gè)信號(hào),為了使設(shè)計(jì)方便,簡(jiǎn)化電路,采用獨(dú)立按鍵式鍵盤(pán)。這種鍵盤(pán)是直接用MSP430的I/O端口線構(gòu)成單個(gè)的按鍵電路,每個(gè)按鍵獨(dú)立的占用一根I/O線,每個(gè)按鍵的工作狀態(tài)相互獨(dú)立,不受其他I/O線的影響。對(duì)于顯示部分,采用七段數(shù)碼管即可完成。
3 D類功放電路
由MSP430F169直接產(chǎn)生的信號(hào)的功率很小,信號(hào)需要經(jīng)功率放大后發(fā)出去,以保證能夠傳輸足夠遠(yuǎn)的距離,這就離不開(kāi)功率放大器。
功放電路設(shè)計(jì)采用LM353對(duì)信號(hào)經(jīng)行放大和反相,通過(guò)比較器LF395進(jìn)行信號(hào)進(jìn)行比較產(chǎn)生方波驅(qū)動(dòng)功放管,同時(shí)對(duì)導(dǎo)通時(shí)間進(jìn)行控制,避免了兩只功率管同時(shí)導(dǎo)通燒毀電路的情況出現(xiàn)。對(duì)于功率的放大選用VMOS管IRFP250來(lái)完成,用變壓器完成功率的合成及電路匹配。
4 系統(tǒng)的軟件實(shí)現(xiàn)
4.1 編碼設(shè)計(jì)
海洋中存在的眾多不定因素使水聲信道變得異常復(fù)雜。隨機(jī)起伏的海面與地況不明的海底;海水中存在的大量的魚(yú)群、浮游生物、氣泡層、渦流、層流、不同溫度的水團(tuán);隨著溫度、鹽度、深度等不斷變化的聲波傳播速度;各種風(fēng)雨、波浪、生物與傳播噪聲等均對(duì)聲波在海水中的傳播有巨大影響,因此,對(duì)于水下聲信號(hào)的傳播的研究面臨巨大的困難。
水聲遙控信號(hào)在水中傳播,受到水聲信道特性的影響,會(huì)產(chǎn)生一定的干擾,甚至?xí)霈F(xiàn)信號(hào)畸變,為了解決這一問(wèn)題,接合水聲信道的特性,常用的兩種非相干的信號(hào)調(diào)制方式頻移鍵控(FSK)、多進(jìn)制數(shù)字頻率調(diào)制(MFSK)。MFSK是FSK的多進(jìn)制調(diào)制方式,與FSK相比它有較高的傳信率,適用于高速傳輸?shù)南到y(tǒng),但是其信道利用率降低。本次設(shè)計(jì)采用MFSK調(diào)制方式進(jìn)行編碼,但是為了降低干擾,抵抗水聲信道的多途效應(yīng),在信號(hào)之間添加了一定的碼元保護(hù)時(shí)間,很方便有效地解決了這一問(wèn)題。
對(duì)于本次設(shè)計(jì),要求系統(tǒng)工作頻率為25~35 kHz,脈沖寬度為1 ms,脈沖間隔為100 ms,在工作頻率范圍內(nèi)選擇3個(gè)不同的頻率進(jìn)行編碼。
編碼規(guī)則如下:
1)選用3個(gè)頻率的正弦波信號(hào)f1=26 kHz,f2=30 kHz,f3=34 kHz,一種頻率在一個(gè)指令碼中只出現(xiàn)一次,以便于多種情況下準(zhǔn)確識(shí)別碼元的填充頻率,降低誤碼率,通過(guò)不同頻率的碼元的順序來(lái)分辨不同的信號(hào);
2)單個(gè)碼元持續(xù)時(shí)間為1ms,碼元間隔為100 ms;
3)對(duì)于3個(gè)頻率的編碼信號(hào),每次只要發(fā)射兩個(gè)填充不同頻率的碼元即完成信號(hào)的識(shí)別。
遙控分系統(tǒng)的工作頻率分別為:f1=26 kHz,f2=30 kHz,f3=34 kHz
當(dāng)航模的運(yùn)動(dòng)速度為v時(shí),接收到的信號(hào)的多普勒頻移最大為:
當(dāng)航模的運(yùn)動(dòng)速度為5 m/s是,多普勒頻移為0.23 kHz,遠(yuǎn)小于這4個(gè)頻率的最小間隔(4 kHz),不影響遙控?cái)?shù)據(jù)的解碼。
通過(guò)單片機(jī)MSP430F169內(nèi)部的DMA和D/A來(lái)產(chǎn)生不同頻率的正弦波信號(hào)。對(duì)于本次設(shè)計(jì)系統(tǒng)要求的三種不同頻率的信號(hào),需要分別對(duì)它們進(jìn)行采樣,采樣的點(diǎn)數(shù)需要根據(jù)系統(tǒng)時(shí)鐘頻率及DMA控制器像DAC12傳輸數(shù)據(jù)的速率來(lái)決定。對(duì)于數(shù)據(jù)的采樣,可在碼元持續(xù)時(shí)間內(nèi)對(duì)所有周期進(jìn)行采樣,DMA控制器可以按照一定的頻率連續(xù)不斷地將這些采樣數(shù)據(jù)傳輸?shù)紻AC12模塊,經(jīng)DAC12轉(zhuǎn)換輸出對(duì)應(yīng)的正弦波形。DMA控制器傳輸數(shù)據(jù)不需要CPU的參與,CPU可獨(dú)立于各種低功耗模式。但是需要注意,DMA控制器的傳輸速度要比DAC12處理數(shù)據(jù)的速度快,所以當(dāng)使用DMA控制器的時(shí)候,應(yīng)避免DMA控制器和DAC12操作不一致。
4.2 鍵盤(pán)掃描及數(shù)碼管顯示
設(shè)計(jì)選用的按鍵通過(guò)機(jī)械觸點(diǎn)的閉合與斷開(kāi)來(lái)控制輸入點(diǎn)信號(hào)的產(chǎn)生。由于機(jī)械觸點(diǎn)的彈性作用使得它在斷開(kāi)或閉合的瞬間會(huì)產(chǎn)生抖動(dòng),進(jìn)而使產(chǎn)生的電壓波形如圖4所示。
為了保證系統(tǒng)對(duì)一次按鍵按下只作一次處理,需要采取措施消除抖動(dòng)的影響。對(duì)于這個(gè)問(wèn)題,一般采用軟件方法去抖動(dòng),在編程過(guò)程中,當(dāng)判斷有鍵按下時(shí)加入一定時(shí)間的延時(shí)子程序,然后再次確定按鍵是否被按下。如果再次確認(rèn)的結(jié)果仍然處于被按下的狀態(tài),則再做該鍵按下的相應(yīng)處理,這樣就可以避開(kāi)抖動(dòng)的時(shí)間段,消除抖動(dòng)影響。
對(duì)于數(shù)碼管靜態(tài)顯示,數(shù)碼管每一位的字選線與一個(gè)8位端口相連,只要在該位的字選線上出現(xiàn)字形碼,就可以顯示出相應(yīng)的字符。一般顯示程序并不直接將段碼賦值給對(duì)應(yīng)端口,而是建立一張段碼表,顯示時(shí)以所要顯示的數(shù)字為索引查詢這張表格。
4.3 系統(tǒng)編程
對(duì)于本系統(tǒng)來(lái)說(shuō),其程序框圖如圖5所示,根據(jù)框圖完成系統(tǒng)編程。通過(guò)對(duì)鍵盤(pán)進(jìn)行掃描,來(lái)判斷是否有按鍵按下以及按下的按鍵是第幾個(gè),如果按鍵按下,根據(jù)所按的按鍵來(lái)輸出相應(yīng)的信號(hào)并進(jìn)行顯示。不同頻率的信號(hào)其采樣點(diǎn)不同,對(duì)于26kHz、30 kHz、34 kHz的信號(hào),它們的采樣點(diǎn)分別為一周期內(nèi)22個(gè)、20個(gè)、19個(gè),當(dāng)有按鍵按下時(shí),DMA向DAC12傳輸相應(yīng)的采樣數(shù)據(jù),產(chǎn)生所要求的信號(hào)。此外,在系統(tǒng)初始化時(shí)要開(kāi)啟8 MHz晶振。
5 系統(tǒng)調(diào)試
系統(tǒng)要求兩個(gè)填充不同頻率的脈沖之間的間隔為100 ms,脈沖寬度為1ms。將編寫(xiě)的程序編譯下載到MSP430F169,給系統(tǒng)上電,MSP430F 169輸出端的波形如圖6(a)所示,不同的遙控信號(hào)在示波器中的顯示情況是一樣的,再次不一一列舉。圖中示波器時(shí)間單位為50 ms,兩脈沖間隔為100μs,滿足設(shè)計(jì)要求。圖6(b)、(c)、(d)所示為MSP430F169產(chǎn)生的不同頻率的脈沖信號(hào)。圖中示波器的時(shí)間單位為200μs,脈沖信號(hào)的脈寬為1 ms,滿足設(shè)計(jì)要求。
6 結(jié)論
該設(shè)計(jì)主要從MFSK編碼的基本原理入手,選用比較常用的MSP430F169微功耗單片機(jī)作為處理器,進(jìn)行水聲遙控發(fā)射系統(tǒng)的理論研究及軟硬件實(shí)現(xiàn)。電路經(jīng)調(diào)試編程后可以準(zhǔn)確的完成不同信號(hào)的產(chǎn)生、選擇及顯示。在水池實(shí)驗(yàn)里,對(duì)相應(yīng)的接收設(shè)備進(jìn)行控制,操作簡(jiǎn)單,誤碼率小,達(dá)到了預(yù)期目標(biāo)。