基于MSP430的無(wú)線通信系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于MSP430的無(wú)線通信系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于MSP430的無(wú)線通信系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于MSP430的無(wú)線通信系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于MSP430的無(wú)線通信系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩50頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 基于 MSP430 的無(wú)線通信系 統(tǒng) 設(shè)計(jì) 摘要 本文 介紹了一種基于 MSP430 單片機(jī)與 NRF24L01 的無(wú)線通信系統(tǒng)設(shè)計(jì)。 該系統(tǒng)由單片機(jī)系統(tǒng)、 NRF24L01 無(wú)線模塊、 電源管理模塊 、 復(fù)位電路 等單元電路 組成。 該系統(tǒng)所用到的無(wú)線收發(fā)系統(tǒng)采用 NRF24L01 與集成芯片 NETUSB2401L 構(gòu)成 ,利用單片機(jī)的 內(nèi)部ADC12進(jìn)行模擬信號(hào)與數(shù)字信號(hào)的轉(zhuǎn)換 ,應(yīng)用把轉(zhuǎn)換的結(jié)果 內(nèi)部 DMA暫時(shí)存儲(chǔ)在 FLASH,通過(guò) SPI串口發(fā) 送給 NRF24L01, NRF24L01收到數(shù)據(jù)后通過(guò)無(wú)線發(fā)送給 NETUSB24L01,在通過(guò)終端機(jī)進(jìn)行處理分 析 。它的核心控制器采用 體積小 , 低功耗 的 單片機(jī) MSP430實(shí)現(xiàn) 。該系統(tǒng)主要 應(yīng)用于對(duì)于測(cè)試環(huán)境復(fù)雜的壓力、溫度等信號(hào) 實(shí)時(shí)無(wú)線傳輸?shù)浇K端進(jìn)行處理分析。 關(guān)鍵詞: 單片機(jī) MSP430 , NRF24L2401, 無(wú)線傳輸 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) The wireless communication system design based on MSP430 Abstract This article describes a wireless communication system based on MSP430 MCU and NRF24L01 design. The system consists of the SCM system, the nRF24L01 a wireless module, power management module, the reset circuit unit circuit. The system used by the wireless transceiver system uses NRF24L01 and integrated chip NETUSB2401L of composition, use of the microcontrollers internal ADC12 analog signal and digital signal conversion, the results of the conversion application internal DMA to temporarily store in FLASH.SPI send nRF24L01 nRF24L01 data received through the wireless send NETUSB2401L through the terminal machine processing and analysis. Its core controller, small size, to achieve low-power microcontroller MSP430. The system is mainly used in real-time wireless transmission of complex test environment pressure, temperature and other signals to the terminal for processing and analysis. Keywords: SCM the MSP430, NRF24L2401, Wireless transmission 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 I 頁(yè) 共頁(yè) 目 錄 1 引言 . 1 1.1課題的背景與來(lái)源 . 1 1.2 無(wú)限傳輸?shù)膬?yōu)點(diǎn) . 2 1.3 課題的意義 . 3 1.4 課題的設(shè)計(jì)內(nèi)容及優(yōu)勢(shì) . 3 2 系統(tǒng)總體方案設(shè)計(jì)設(shè)計(jì) . 5 2.1 系統(tǒng)概述 . 5 2.2 整體電路圖 . 5 3 硬件 電路設(shè)計(jì) . 7 3.1 電源管理電路 . 7 3.1.1 電路設(shè)計(jì) . 7 3.1.2 LP2985 芯片簡(jiǎn)介 . 7 3.2 復(fù)位電路 . 8 3.2.1 MAX708 芯片簡(jiǎn)介 . 8 3.2.2 復(fù)位電路設(shè)計(jì) . 10 3.3 時(shí)鐘電路 . 11 3.4 無(wú)線模塊電路 . 11 3.4.1 nRF24L01 芯片簡(jiǎn)介 .11 3.4.2 nRF24L01 無(wú)線模塊電 路 . 15 3.4.3 NETUSB2401 無(wú)線模塊介紹 . 15 3.5 單片機(jī)控制模塊 . 16 3.5.1 MSP430 的簡(jiǎn)介 . 16 3.5.2 MSP430 的功能特性 . 17 3.6 MSP430內(nèi)部 ADC12模塊 . 18 3.6.1 MSP430 內(nèi) 部 AD12 介紹 . 18 3.6.2 ADC12 接地和噪聲的考慮 . 22 3.7 MSP430內(nèi)部 DMA 模塊 . 23 4 軟件設(shè)計(jì) . 27 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 II 頁(yè) 共頁(yè) 5 總結(jié) . 32 附錄 一:整體電路圖 . 34 附錄 二:系統(tǒng)程序 . 35 參考文獻(xiàn) . 49 致謝 . 51清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 1 頁(yè) 共 51 頁(yè) 1 引言 1.1 課題的背景與來(lái)源 無(wú)線通信是利用電磁波 信號(hào) 可以在自由空間中傳播的 特性進(jìn)行信息交換的一種通信方式, 1897 年 M.G.馬可尼成功完成了在一個(gè)固定點(diǎn)與一艘拖船之間的無(wú)線通信試驗(yàn)后 , 標(biāo)志通信技術(shù)的發(fā)展進(jìn)入了無(wú)線領(lǐng)域的新階段。為了能夠區(qū)分不同的信號(hào),通常以信號(hào)的頻率來(lái)做標(biāo)志,因此在無(wú)線通信技術(shù)中頻率是非常重要的資源。世界各國(guó)都有相關(guān)的無(wú)線電管理部門(mén)來(lái)負(fù)責(zé)管理本國(guó)的無(wú)線頻率資源,建設(shè)使用無(wú)線通信的網(wǎng)絡(luò)都需要經(jīng)過(guò)這些部門(mén)的審批,并購(gòu)買(mǎi)一定范圍頻率資源的使用權(quán)才可以開(kāi)始運(yùn)營(yíng)。惟有如此,才能保證各種使用無(wú)線信號(hào)的行業(yè)之間不會(huì)互相沖突,各自在規(guī)定的頻率范圍內(nèi)工作。另外在通信中常常需要傳輸?shù)?信號(hào)本身是低頻率的信號(hào),但為了能夠依照頻率的劃分來(lái)區(qū)分各種信號(hào),需要對(duì)信號(hào)進(jìn)行調(diào)制,把低頻信號(hào)通過(guò)一定的調(diào)制信號(hào)附著在特定的頻率上再發(fā)送到空間中,以避免造成信號(hào)間的無(wú)序干擾 1。 近些年信息通信領(lǐng)域中,發(fā)展最快、應(yīng)用最廣的就是無(wú)線 通信技術(shù) 。 自從 MSP430單片機(jī)問(wèn)世以來(lái),就以其體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛的在智能儀器儀表、工業(yè)控制、家用 電器、計(jì)算機(jī)網(wǎng)絡(luò)、通信領(lǐng)域、以及醫(yī)用設(shè)備等領(lǐng)域都得到了 應(yīng)用。在儀器儀表領(lǐng)域,結(jié)合不同的傳感器,可實(shí)現(xiàn)諸如電壓、頻率、溫度、流量、速度、壓力、角度等物理量 的測(cè)量。采用單片機(jī)控制使得一起儀表的數(shù)字化、智能化、微型化,且 功能比起采 用數(shù)字或電子電路更加強(qiáng)大。例如精密的測(cè)量設(shè)備功率計(jì)、示波器以及 分析儀 2。 單片機(jī)也可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。如工廠流水線的智能化管理、電梯智能化控制、各種報(bào)警系統(tǒng),還可以與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等。如今家用電器上 基本都有采用單片機(jī)控制,從電飯煲、洗衣機(jī)、電冰箱、空 調(diào)、彩電、其他音箱視頻器材、再到電子天平設(shè)備,可謂五花八門(mén),無(wú)所不在 3。 現(xiàn)在的單片機(jī)普遍具備通信接口,可以很方便的與計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信,為在計(jì)算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備上都基本實(shí)現(xiàn)了單片機(jī)的智能控制,從手機(jī)、電話機(jī)、小型程控交換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車(chē)無(wú)線通信、再到日常工作中隨時(shí)可見(jiàn)的移動(dòng)電話、集群移動(dòng)通信、無(wú)線對(duì)講機(jī)等 4。 單片機(jī)在醫(yī)療設(shè)備中的用途亦然很廣泛,例如醫(yī)用呼吸機(jī),各種智能分析儀,監(jiān)護(hù)清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 2 頁(yè) 共 51 頁(yè) 儀,超聲診斷設(shè)備以及病床無(wú)線呼叫系統(tǒng)等。 對(duì)于單片機(jī)的應(yīng)用 可謂是一種趨勢(shì),并且這種趨勢(shì)將更加熱烈,將滲透到各個(gè)領(lǐng)域,各個(gè)方面。通過(guò)對(duì)于通信技術(shù)的學(xué)習(xí),以及簡(jiǎn)單的編程語(yǔ)言學(xué)習(xí),作為一名具備一定基礎(chǔ)知識(shí)的大學(xué)生,應(yīng)該在此基礎(chǔ)上學(xué)會(huì)對(duì)于單片機(jī)的基本應(yīng)用,達(dá)到所學(xué)所用的目的。本課題是基于 MSP430的無(wú)線通信系統(tǒng)設(shè)計(jì),課題響應(yīng)了時(shí)代的要求,有重要的現(xiàn)實(shí)意義。由于在數(shù)據(jù)采集環(huán)境中,干擾嚴(yán)重,環(huán)境復(fù)雜,有線通信 由于布線不合理與電磁干擾等因素的影響, 對(duì)于數(shù)據(jù)的 正確 傳輸 受 到了很大的限制, 導(dǎo)致誤碼率低,信號(hào)失真嚴(yán)重。為了滿足這個(gè)方面的不足,如何應(yīng)用解決本實(shí)際要求,開(kāi)發(fā)一款無(wú)線傳輸系 統(tǒng),可對(duì)于這些信號(hào)進(jìn)行實(shí)時(shí)的、低誤碼率的傳輸滿足要求十分必要?;诒痉矫娴膽?yīng)用要求,應(yīng)用 MSP430單片機(jī)進(jìn)行控制與 NRF24L01無(wú)線傳輸可以實(shí)現(xiàn)此目的 1,4。 1.2 無(wú)限傳輸?shù)膬?yōu)點(diǎn) 1成本廉價(jià) 有線通信方式的建立必須架設(shè)電纜,或挖掘電纜溝,因此需要大量的人力和物力;而用無(wú)線數(shù)傳電臺(tái)建立專(zhuān)用無(wú)線數(shù)據(jù)傳輸方式則無(wú)需架設(shè)電纜或挖掘電纜溝,只需要在每個(gè)終端連接無(wú)線數(shù)傳電臺(tái)和架設(shè)適當(dāng)高度的天線就可以了。相比之下用無(wú)線數(shù)傳模塊建立專(zhuān)用無(wú)線數(shù)據(jù)傳輸方式,節(jié)省了人力物力,投資是相當(dāng)節(jié)省的。當(dāng)然在一些近距離的數(shù)據(jù) 通訊系統(tǒng)中,無(wú)線的通訊方式并不比有線的方式成本低,但是有時(shí)候?qū)嶋H的現(xiàn)場(chǎng)環(huán)境難以布線,客戶根據(jù)現(xiàn)場(chǎng)環(huán)境的需要還是會(huì)選用無(wú)線的方式來(lái)實(shí)現(xiàn)通訊。 2建設(shè)工程周期短 當(dāng)要把相距數(shù)公里到數(shù)十公里距離的遠(yuǎn)程站點(diǎn)相互連接通訊的時(shí)候,采用有線的方式,必須架設(shè)長(zhǎng)距離的電纜或者挖掘漫長(zhǎng)的電纜溝,這個(gè)工程周期可能就需要數(shù)個(gè)月的時(shí)間,而用數(shù)傳模塊建立專(zhuān)用無(wú)線數(shù)據(jù)傳輸?shù)姆绞?,只需要架設(shè)適當(dāng)高度的天線,工程周期只需要幾天或者幾周就可以,相比之下,無(wú)線的方式可以迅速組建起通信鏈路,工程周期大大縮短。 3適應(yīng)性好 有 線通訊的局限性太大,在遇到一些特殊的應(yīng)用環(huán)境,比如遇到山地、湖泊、林區(qū)等特殊的地理環(huán)境或是移動(dòng)物體等布線比較困難的應(yīng)用環(huán)境的時(shí)候,將對(duì)有線網(wǎng)絡(luò)的布線工程有著極強(qiáng)的制約力,而用無(wú)線數(shù)傳模塊建立專(zhuān)用無(wú)線數(shù)據(jù)傳輸方式將不受這些清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 3 頁(yè) 共 51 頁(yè) 限制,所以說(shuō)用無(wú)線數(shù)傳模塊建立專(zhuān)用無(wú)線數(shù)據(jù)傳輸方式將比有線通訊有更好的更廣泛的適應(yīng)性,幾乎不受地理環(huán)境限制。 4 擴(kuò)展性好 在用戶組建好一個(gè)通訊網(wǎng)絡(luò)之后,常常因?yàn)橄到y(tǒng)的需要增加新的設(shè)備。如果采用有線的方式,需要重新的布線,施工比較麻煩,而且還有可能破壞原來(lái)的通訊線路,但是如果采用 無(wú)線數(shù)傳電臺(tái)建立專(zhuān)用無(wú)線數(shù)據(jù)傳輸方式,只需將新增設(shè)備與無(wú)線數(shù)傳電臺(tái)相連接就可以實(shí)現(xiàn)系統(tǒng)的擴(kuò)充了,相比之下有更好的擴(kuò)展性。 5 設(shè)備維護(hù)上更容易實(shí)現(xiàn) 有線通訊鏈路的維護(hù)需沿線路檢查,出現(xiàn)故障時(shí),一般很難及時(shí)找出故障點(diǎn),而采用無(wú)線數(shù)傳模塊建立專(zhuān)用無(wú)線數(shù)據(jù)傳輸方式只需維護(hù)數(shù)傳模塊,出現(xiàn)故障時(shí)則能快速找出原因,恢復(fù)線路正常運(yùn)行 3。 1.3 課題的意義 由于測(cè)試環(huán)境的惡劣,一些測(cè)量物體的運(yùn)動(dòng),有線數(shù)據(jù)傳輸?shù)牟季€困擾, 一 套 系統(tǒng)能滿足 這些 測(cè)試要求,適合于對(duì)于復(fù)雜測(cè)試環(huán)境的數(shù)據(jù)采集 傳輸 ,顯得十分必要 。雖然動(dòng)態(tài)的壓力數(shù)據(jù)采集可以通過(guò)數(shù)據(jù)采集卡實(shí)現(xiàn),然而數(shù)據(jù)采集卡開(kāi)發(fā)成本較高,數(shù)據(jù)的采集也往往受限于某位置,靜止被測(cè)物體運(yùn)動(dòng),這在一定程度上為測(cè)試帶來(lái)了不便,特別是針對(duì)于某些 運(yùn)到參數(shù)的測(cè)量,如行走、運(yùn)到等,被測(cè)對(duì)象因限于測(cè)量設(shè)備電源線、數(shù)據(jù)傳輸?shù)拈L(zhǎng)度無(wú)法展開(kāi)運(yùn)到。 目前,無(wú)線通信技術(shù)發(fā)展日趨成熟,采用無(wú)線通信實(shí)現(xiàn)數(shù)據(jù)的傳輸具有成本低廉、適應(yīng)性好、擴(kuò)展性好以及開(kāi)發(fā)周期短等特點(diǎn) , 針對(duì)于一些運(yùn)到物體某些參數(shù)的測(cè)量不便,以及復(fù)雜的測(cè)試環(huán)境現(xiàn)場(chǎng)布線會(huì)產(chǎn)生較高的誤碼率,本 文 提出了一種以 MSP430為核心,配以 NRF24L01 無(wú)線模塊傳輸數(shù)據(jù), 既能夠?qū)崿F(xiàn)對(duì)被測(cè)信號(hào)的高速采集,又能夠準(zhǔn)確可靠地將數(shù)據(jù)傳遞給 計(jì)算機(jī) 進(jìn)行處理。 可以實(shí)現(xiàn)對(duì)于一些在一定范圍內(nèi)運(yùn)動(dòng)的物體進(jìn)行參數(shù)測(cè)量,從而省去了布線帶來(lái)的麻煩,還提高了傳輸效率。 1.4 課題的設(shè)計(jì)內(nèi)容 及優(yōu)勢(shì) 系統(tǒng)的主要功能: 對(duì)采集的信號(hào)通過(guò)適配電路轉(zhuǎn)換后,在符合 MSP430 單片機(jī)的接口允許范圍內(nèi)時(shí)輸出單片機(jī),用內(nèi)置的 ADC12 進(jìn)行模擬信號(hào)與數(shù)字信號(hào)的轉(zhuǎn)換,單片機(jī)通過(guò) SPI 傳輸協(xié)議將處理后的信號(hào)發(fā)送給 NRF24L01,在 NRF24L01 再將此信號(hào)通清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 4 頁(yè) 共 51 頁(yè) 過(guò)無(wú)線發(fā)送到 NETUSB-24L01, NETUSB-24L01 無(wú)線模塊自帶有控制接收的外圍電路和USB 接口, 可與計(jì)算機(jī)直接相連,對(duì)信號(hào)進(jìn)行實(shí)時(shí)分析處理,從而了解被測(cè)參數(shù)。 本課題的優(yōu)勢(shì):采用無(wú)線通信,免去了有線傳輸中的高額布線成本和復(fù)雜的抗干擾方案設(shè)計(jì),并且可以測(cè)量運(yùn)動(dòng)物體的參量,其應(yīng)用靈活。在需要的情況下可以加入CD4501 作為多路開(kāi)關(guān),實(shí)現(xiàn)在于數(shù)據(jù)的多路采集,拓展性強(qiáng)。由于采用的 MSP430 單片機(jī),其以低功耗,體積小,功能模塊強(qiáng)而突出,使得本通信系統(tǒng)低功耗,減小了對(duì)于電源 的成本,更多的模塊功 能使得對(duì)于系統(tǒng)的升級(jí)應(yīng)用提供了很大的方便。 MSP430 單片機(jī)是高度集成芯片,采用集成芯片設(shè)計(jì)后,對(duì)于電路的維護(hù),檢修帶來(lái)了很大的方便。 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 5 頁(yè) 共 51 頁(yè) 2 系統(tǒng)總體方案設(shè)計(jì) 2.1 系統(tǒng)概述 本系統(tǒng) 模塊主要由上位機(jī)硬件電路和下位機(jī)硬件電路組成。其主要功能是完成 對(duì) 采集數(shù)據(jù)的傳輸。上位機(jī)硬件電路由計(jì)算機(jī)應(yīng)用軟件、 NETUSB-24L01 無(wú)線模塊組成。NETUSB-24L01 無(wú)線模塊自帶有控制接收的外圍電路和 USB 接口,可與計(jì)算機(jī)直接相連。其使用簡(jiǎn)單、易與掌握。下位機(jī)硬件電路選擇 MSP430FG4618 作為核心的控制芯片,主要功能是完成模擬信號(hào)的采集、接收 上位機(jī)發(fā)送的無(wú)線通訊命令,并能夠?qū)?A/D 轉(zhuǎn)換后的數(shù)字量 用 DMA 傳送給 FLASH 進(jìn)行存儲(chǔ),通過(guò) SPI 模式傳遞給 nRF24L01,數(shù)據(jù)暫存至 TX_FIFO 中。 SPI 串口速率在通信協(xié)議和器件配置時(shí)已確定 6 10。 系統(tǒng)框圖如下: 圖 2.1 系統(tǒng)框圖 2.2 整體電路圖 整體電路圖 主要 包括 NRF24L01 無(wú)線模塊 和 MSP430 控制模塊 。 MSP430 摸塊 電路圖設(shè)計(jì)相對(duì)而言比較復(fù)雜,其中電源管理電路、時(shí)鐘電路和復(fù)位電路 ,也要考慮到高頻收發(fā)電路布線的注意事項(xiàng), 這是 主控 電路的重點(diǎn)與難點(diǎn)。 其中復(fù)位電路模塊采用 MAX708芯片,電源模塊采用 LP2985 將 5V 的電眼轉(zhuǎn)換為 MSP430 需要的電壓 3.3V, 輸出電壓也比較穩(wěn)定,紋波少 。時(shí)鐘選擇 芯片 SG350SCF,作為 MSP430 的主系統(tǒng)是時(shí)鐘,頻率為 8M。主控芯片則選擇內(nèi)部資源豐富,低功耗、體積小的 MSP430 單片機(jī)。 無(wú)線模塊選用 NRF24L01 無(wú) 線 收 發(fā) 芯 片 , 其 配 置 比 較 簡(jiǎn) 單 。 整 體 電 路 如 下 :MSP430FG4618 nRF24L01 NETUSB2401L 信號(hào) 適配電路 A/D DMA AA 計(jì)算機(jī) 串口 USB接口 天線 天線 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 6 頁(yè) 共 51 頁(yè) V D D2C S N4M O S I6I R Q8G N D1CE3S C K5M I S O7U2N R F 2 4 0 1 模塊D V C C 11P 6 .3 /A 3 / O A 1 O2P 6 .4 /A 4 / O A 1 I03P 6 .5 /A 5 / O A 2 O4P 6 .6 /A 6 / D A C 0 / O A 1 05P 6 .7 /A 7 / D A C 1 / S V S I N6V R E F +7X IN8X O U T9V e R E F + / D A C O10V R E F - /V e R E F -11P 5 .1 /S 0 / A 1 2 / D A C 112P 5 .0 /S 1 / A 1 3 / O A 1 I 113P 1 0 . 7 / S 2 / A 1 4 / O A 2 I114P 1 0 . 6 / S 3 / A 1 515P 1 0 . 5 / S 416P 1 0 . 4 / S 517P 1 0 . 3 / S 618P 1 0 . 2 / S 719P 1 0 . 1 / S 820P 1 0 . 0 / S 921P 9 .7 /S 1 022P 9 .6 /S 1 123P 9 .5 /S 1 224P 9 .4 /S 1 325P9.3/S1426P9.2/S1529P9.1/S1628P9.0/S1729P8.7/S1830P8.6/S1931P8.5/S2032P8.4/S2133P8.3/S2234P8.2/S2335P8.1/S2436P8.0/S2537P7.7/S2638P7.6/S2739P7.5/S2840P7.4/S2941P7.3/S30/UCA0CLK42P7.2/S31/UCA0SOMI43P7.1/S32/UCA0SIMO44P7.0/UCA0STE/S3345P4.7/UCA0RXD/S3446P4.6/UCA0TXD/S3547P4.5/UCLK1/S3648P4.4/SOMI1/S3749P4.3/SIMO1/S3850P 4 .2 /S T E 1 /S 3 951C O M 052P 5 .2 /C O M 153P 5 .3 /C O M 254P 5 .4 /C O M 355P 5 .5 /R 0 356P 5 .6 /L C D R E F / R 1 357P 5 .7 /R 2 358L C D C A P / R 3 359D V C C 260D V S S 261P 4 .1 /U R X D 162P 4 .0 /U T X D 163P 3 .7 /T B 664P 3 .6 /T B 565P 3 .5 /T B 466P 3 .4 /T B 367P 3 .3 /U C B 0 C L K68P 3 .2 /U C B 0 S O M I/ U C B 0 S C L69P 3 .1 /U C B 0 S I M O / U C B 0 S D A70P 3 .0 /U C B 0 S T E71P 2 .7 /A D C 1 2 C L K /D M A E 072P 2 .6 /C A O U T73P 2 .5 /U C A 0 R X D74P 2 .4 /U C A 0 T X D75P2.3/TB276P2.2/TB177P2.1/TB078P2.0/TA279P1.7/CA180P1.5/TACLK/ACLK82P1.6/CA081P1.4/TBCLK/SMCLK83P1.3/TBOUTH/SVSOUT84P1.2/TA185P1.1/TA0/MCLK86P1.0/TA087XT2OUT88TDO/TDI90XT2IN89TDI/TCLK91TMS92TCLK93RST/NMI94P6.0/A0/OA0I095P6.2/A2/OA0I197AVSS98DVSS199AVCC100P6.1/A1/OA0O96U4M S P 4 3 0 F G 4 6 1 8R E S E T8R E S E T /7NC6P F O /5M R /1V C C2G N D3P F I4U1M A X 7 0 8V in1G N D2O N / O F F3O U T5B Y P A S S4U5L P 2 9 8 5ST1G N D2O U T3V C C4U6S G 3 5 0 S C F - 8 M12345678J1C O N 8Q1P N P 1S1S W -P BD1L E DR21KR11KR32 2 KR41KC21 0 0 n FD V C CC31 0 0 n FD V S SC41 0 n F+ C11 0 u F+ C91 0 u F+ C 1 11 0 u FV R E F - /V e R E F -+C51 0 u F+ C 1 31 0 u FV e R E F + C 1 51 0 u FC61 0 0 n FV R E F +G N DC81 0 0 n FCEC 1 01 0 0 n FS C KC 1 41 0 0 n FY T D OAVSSS O M IC 1 21 0 0 n FY T M SDVSSV D DY T D IAVCCC S NY T C L KD V C CS I M OY R S TY IR QG N DV D DG N DG N DV D DV D DG N DP6.0YRSTV D DYTCLKA V S SY 8 MG N DYTMSV R E F - /V e R E F -G N DG N DYTDIA V S SV C CYTDOV R E F +Y8MA V S SY R S TV e R E F +A V S SA V C CD V S SD V C CV C CV C CV C CG N DCEG N DYIRQV D DSCKG N DSOMIB Y P A S SV C CSIMOG N DG N DCSNB Y P A S S1J2C O N 1V D D+C71 0 u FV D D 圖 2.2 整體電路圖 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 7 頁(yè) 共 51 頁(yè) 3 硬件 電路設(shè)計(jì) 主要由電源管理模塊, 復(fù)位電路模塊, 時(shí)鐘模塊 , AD 轉(zhuǎn)換模塊, 無(wú)線模塊, DMA模塊 等 組成。 3.1 電源管理電路 3.1.1 電路設(shè)計(jì) 因?yàn)?MSP430FG4618 單片機(jī)工作電壓為直流 3.3V,且底層電路功耗很小。電源的設(shè)計(jì)的好壞決定了電壓輸出的穩(wěn)定性 ,從而決定單片機(jī)是否能穩(wěn)定工作 。本電源的設(shè)計(jì)采用 LP2985 將 5V 的電壓轉(zhuǎn)換為 3.3V,此芯片低噪聲低壓差 。為了降低干擾,采用了小電容與地連接 11。 具體電路如圖 3-3: 圖 3.1 電壓變換模塊電路圖 3.1.2 LP2985 芯片簡(jiǎn)介 芯片優(yōu)勢(shì) : 該芯片有能力提供 150mA 連續(xù)負(fù)載電流, 有 過(guò)熱保護(hù)。有低漏失,低靜態(tài)電流,該穩(wěn)壓器允許使用小,價(jià)格低廉的陶瓷電容,降低設(shè)計(jì)成本。另外 還具有低噪聲,小包裝的優(yōu)勢(shì)。 結(jié)構(gòu)框 圖如下 : 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 8 頁(yè) 共 51 頁(yè) 圖 3.2 LP2985結(jié)構(gòu) 框圖 3.2 復(fù)位電路 3.2.1 MAX708 芯片簡(jiǎn)介 概述: MAX708 是一種微處理器電源監(jiān)控芯片 , 可同時(shí)輸出高電平有效和低電平有效的復(fù)位信號(hào) 。 復(fù)位信號(hào)可由 VCC電壓 、 手動(dòng)復(fù)位輸入 、 或由獨(dú)立的比較器觸發(fā) 。 獨(dú)立的比較器可用于監(jiān)視第二個(gè)電源信號(hào) , 為處理器提供電壓跌落的預(yù)警功能 。 這一功能是為器件發(fā)出復(fù)位信號(hào)前的正常關(guān)機(jī) 、 向操作者發(fā)送警報(bào) 、 或電源切換而考慮的 。 MAX708 提供 3種域值電平可供選擇 。 性能: RESET 信號(hào) /RESET 信號(hào)輸出 域值值為 1.25V 用于電源失效或低電源警告的獨(dú)立比較器 手動(dòng)復(fù)位輸入 需要 100 uA 的電源電流 復(fù)位域值為 2.63V 2.93V 3.08 V 在 VCC = 1 V 時(shí)能提供有效的 RESET 信號(hào) 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 9 頁(yè) 共 51 頁(yè) 應(yīng)用 : 電池供應(yīng)的器件 微處理器臨界狀態(tài)監(jiān)控 控制器 便攜式工具 芯片引腳圖: 圖 3.3 MAX708引腳圖 MAX708 是電壓監(jiān)測(cè)芯片,當(dāng)輸 入電壓低于某個(gè)值是, 708 產(chǎn)生復(fù)位信號(hào)。 MAX708 的引腳使用說(shuō)明: MAX708 VCC-電源 MAX708 GND-地 MAX708 RS-復(fù)位輸出(高電平的復(fù)位信號(hào)),即輸出高電平的復(fù)位信號(hào) MAX708 /RS-復(fù)位輸出(低電平的復(fù)位信號(hào)),即輸出低電平的復(fù)位信號(hào) MAX708 /MR-手動(dòng)復(fù)位 (manual reset)。當(dāng)這一端的電壓低于 0.8V 時(shí), RS 端和 /RS端有信號(hào)產(chǎn)生 MAX708 PF1-電壓失敗輸入端。當(dāng)這一端電平低于 1.25V 時(shí), /PF0 變?yōu)榈碗娖?。?dāng)這一腳不用時(shí),將它接地或接 VCC MAX708 /PF0-電壓失敗輸出端。一般懸空不用 MAX708 NC-沒(méi)連接 原理框圖: 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 10 頁(yè) 共 51 頁(yè) 圖 3.4 MXX708原理框圖 3.2.2 復(fù)位電路設(shè)計(jì) 電路由 MXA708 復(fù)位芯片、電阻、 PNP 三極管、按鍵、發(fā)光二級(jí)管構(gòu)成。當(dāng)按鍵按下時(shí), /MR 引腳為 0.7V 的低電平,在 /RESET 引腳產(chǎn)生信號(hào),輸送給體統(tǒng),使單片機(jī)復(fù)位。按鍵的同時(shí)發(fā)光二極管發(fā)光,提示系統(tǒng)復(fù)位 12。 圖 3.5 復(fù)位電路 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 11 頁(yè) 共 51 頁(yè) 3.3 時(shí)鐘電路 時(shí)鐘電路采用集成的四腳 8M 晶體振蕩器 SG350SCF-8M,作為單片機(jī) MSP430 的主系統(tǒng)時(shí)鐘 ,該電路設(shè)計(jì)比較簡(jiǎn)單,連接方便 13。電路設(shè)計(jì)圖如下 : 圖 3.6 時(shí)鐘電路 3.4 無(wú)線模塊電路 與單片機(jī)相連接的無(wú)線模塊采用 nRF24L01芯片,與電腦相連的選擇 NETUSB-2401芯片, NETUSB-24L01無(wú)線模塊自帶有控制接收的外圍電路和 USB接口,可與計(jì)算機(jī)直接相連。 無(wú)線傳輸技術(shù)有 無(wú)線傳輸藍(lán)牙技術(shù) (Bluetooth Technology ), ZigBee( IEEE 802.15.4), IrDA, (Infrared) 紅外技術(shù) , Wi-Fi(IEEE 802.11): W ireless Fidelity, UWB (Ultra-Wideband), nRF2401L射頻收發(fā)芯片 。 其中 IrDA (Infrared) 紅外傳輸波長(zhǎng)短 , 對(duì)障礙物的衍射能差 ; W i-F i 覆蓋范圍很廣 , 可達(dá) 100 m ,但是 其電波易受干擾 ; U V B 技術(shù) 目前 只有在美國(guó)官方承認(rèn) ; ZigBee 技術(shù)和藍(lán)牙接近 , 但大多時(shí)候處于睡眠模式 , 適合于不需實(shí)時(shí)傳輸 或連續(xù)更新的場(chǎng)合 ; nRF24L01 單片射頻收發(fā)芯片 , 2.4 GHz 頻段 ,采用 G F SK 調(diào)制時(shí)的數(shù)據(jù)速率為高速率 8M bps, 高于藍(lán)牙 , 具有高數(shù)據(jù)吞吐量 ,程序開(kāi)發(fā)簡(jiǎn)單 ??紤]到 實(shí)時(shí)采集數(shù)據(jù) ,選擇 nRF24L01芯片作為無(wú)線傳輸芯片 14,15。 3.4.1 nRF24L01 芯片簡(jiǎn)介 nRF24L01 是一款工作在 2.42.5GHz 世界通用 ISM 頻段的單片無(wú)線收發(fā)器芯片。無(wú)線收發(fā)器包括 :頻率發(fā)生器、增強(qiáng)型 SchockBurstTM 模式控制器、功率放大器晶體振蕩器、調(diào)制器、解調(diào)器。輸出功率、 頻道選擇和協(xié)議的設(shè)置可以通過(guò) SPI 接口進(jìn)行設(shè)置。 極低的電流消耗 : 當(dāng)工作在發(fā)射模式下發(fā)射功率為 -6dBm 時(shí)電流消耗為 9.0mA,接收模式時(shí)為 12.3mA,掉電模式和待機(jī)模式下電流消耗更低。 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 12 頁(yè) 共 51 頁(yè) 結(jié)構(gòu)方框圖 : 圖 3.7 nRF4L01 及外部接口 nRF24L01芯片引腳圖 : 圖 3.8 nRF24L01芯片引腳圖 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 13 頁(yè) 共 51 頁(yè) nRF24L01引腳及功能 圖 3.9 nRF24L01引腳及功能說(shuō)明 工作模式: nRF24L01可以設(shè)置為 以 下幾種主要的模式 圖 3.10 nRF24L01主要工作 模式 nRF24L01 在不同模式下的引腳功能 : 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 14 頁(yè) 共 51 頁(yè) 圖 3.11 nRF24L01引腳功能 nRF24L01所有的配置都在配置寄存器中,所有寄存器都是通過(guò) SPI口進(jìn)行配置的。 SPI接口: SPI接口是標(biāo)準(zhǔn)的 SPI接口,其最大的數(shù)據(jù)傳輸率為 10Mbps。大多數(shù)寄存器可讀。 SPI指令設(shè)置: CSN為低后 SPI接口等待執(zhí)行指令,每條指令的執(zhí)行都必須通過(guò)一次 CSN由高到低的變化。 中斷 : nRF24L01的終端引腳( IRQ)為低電平觸發(fā),當(dāng)狀態(tài)寄存器 TX-DX, RX-DR或 MAX-RT為高時(shí)觸發(fā) 中斷。當(dāng) MCU給中斷源寫(xiě) 1時(shí),中斷引腳被禁止??善帘沃袛嗫梢员?IRQ中斷屏蔽。通過(guò)設(shè)置可屏蔽中斷位為高,則中斷響應(yīng)被禁止。默認(rèn)狀態(tài)所有的中斷源是被禁止的。 SPI時(shí)序: Sn-狀態(tài)寄存器位 ; Dn-數(shù)據(jù)位 。 圖 3.12 SPI讀操作 時(shí)序圖 圖 3.13 SPI寫(xiě)操作時(shí)序圖 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 15 頁(yè) 共 51 頁(yè) 圖 3.14 SPI NOP 操作時(shí)序圖 3.4.2 nRF24L01 無(wú)線模塊電路 本模塊由于設(shè)計(jì) 主要共能是與單片機(jī) MSP340進(jìn)行數(shù)據(jù)傳輸,并將收到的數(shù)據(jù)通過(guò)無(wú)線將數(shù)據(jù)傳輸?shù)?NETUSB2401, NETUSB2401同過(guò) USB與計(jì)算機(jī)相連。 所用引腳如圖,其他采用懸空處理 16。 圖 3.15 nRF24L01無(wú)線模塊電路 3.4.3 NETUSB2401 無(wú)線模塊介紹 NetUSB-2401為 USB接口無(wú)線通信模塊,采用 2.4GHz全球開(kāi)放頻段免許可證使用,外形小巧( USB大小),最大傳輸數(shù)率達(dá) 2Mbps,適用于室內(nèi)通過(guò)電腦無(wú)線遙控,無(wú)線數(shù)據(jù)采集等 。 性能及特點(diǎn): 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 16 頁(yè) 共 51 頁(yè) (1) 2.4Ghz全球開(kāi)放頻段免許可證使用 (2) 最高工作速率 2Mbps,高效 GFSK調(diào)制,適合短距離無(wú)線控 (3) 125 頻道,滿足多點(diǎn)通 信和跳頻通信需要 (4) 內(nèi)置硬件 CRC 檢錯(cuò)和點(diǎn)對(duì)多點(diǎn)通信地址控制 (5) 低功耗 1.9 3.6V 工作, Power down 模式下?tīng)顟B(tài)僅為 1uA (6) 可軟件設(shè)地址,只有收到本機(jī)地址時(shí)才會(huì)輸出數(shù)據(jù)(提供中斷指示 ) (7) 提供二次開(kāi)發(fā)包,提供實(shí)例源代碼,無(wú)需掌握 USB驅(qū)動(dòng)和 USB協(xié)議以及無(wú)線通信協(xié)議,只需要通過(guò)軟件編程來(lái)控制無(wú)線收發(fā) (8) 室內(nèi)通訊距離約為 1530米,看具體環(huán)境和通信速率而定 (9) 模塊尺寸 : U盤(pán)大小 (可以根據(jù)需要定制外觀和尺寸 ) 圖 3.16 NETUSB2401實(shí) 物圖片 3.5 單片機(jī)控制模塊 3.5.1 MSP430 的簡(jiǎn)介 MSP430系列單片機(jī)是美國(guó)德州儀器( TI) 1996年開(kāi)始向市場(chǎng)推出的一種超低功耗擁有精簡(jiǎn)指令集( RISC )處理器的混合信號(hào)( Mixed Signal Processor)。由于它針對(duì)實(shí)際的應(yīng)用需求,將多個(gè)不同的模擬電路、數(shù)字電路模塊和微處理器集成在一個(gè)芯片上,清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 17 頁(yè) 共 51 頁(yè) 所以稱(chēng)之為混合信號(hào)處理器。該系列單片機(jī)多用于需要電池供電的便攜式儀器儀表中 2。 3.5.2 MSP430 的功能特性 低電源電壓范圍: 1.8V至 3.6V 超低功耗:主動(dòng)模 式 :400微安在 1MHz, 2.2V時(shí) 待機(jī)模式: 2.2微安 關(guān)閉模式( RAM保持): 0.35微安 有五種省電模式, 在不到 6微妙 就 從待機(jī)模式下 喚醒 16位 RISC構(gòu)架,擴(kuò)展內(nèi)存, 125ns指令周期時(shí)間 三通道內(nèi)部 DMA 12位 A/D轉(zhuǎn)換 器具有內(nèi)部參考,采樣保持和自動(dòng)掃描功能 16位 3路 Timer-A比較寄存器 16位 7路 Timer-B比較寄存器 電源電壓監(jiān)控器可編程電平檢測(cè) 串行通信接口( USART1) ,可以通過(guò)軟件選擇同步 USRT或同步 SPI 通用串行通信接口:增強(qiáng)型 USRT支持自動(dòng)波特率檢測(cè) IrDA編程器和解碼器 同步 SPI I2C總線標(biāo)志 MSP430引腳圖 : 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 18 頁(yè) 共 51 頁(yè) 圖 3.17 MSP430引腳分布圖 3.6 MSP430 內(nèi)部 ADC12 模塊 3.6.1 MSP430 內(nèi)部 AD12 介紹 這 個(gè) ADC12模塊支持快速 12位模數(shù)轉(zhuǎn)換。這個(gè)模塊包含 12位的內(nèi)核、內(nèi)部參考 和 16位的轉(zhuǎn)換控制緩沖寄存器,這個(gè)轉(zhuǎn)換控制緩沖允許 16通道的信號(hào)獨(dú)立轉(zhuǎn)換不受 CPU的干預(yù) 2。 ADC12特點(diǎn)包括 : 大于 200 ksps最大轉(zhuǎn)化率 12位轉(zhuǎn)換器沒(méi)有失蹤的代碼 采樣與可編程, 采樣周期 用 軟件或計(jì)時(shí)器 控制 。 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 19 頁(yè) 共 51 頁(yè) 轉(zhuǎn)換啟動(dòng)的軟件 ,Timer_A,或 Timer_B 軟件可選片上參考電壓一代 (1.5 V或 2.5 V) 軟件可選的內(nèi)部或外部引用 八個(gè)單獨(dú)配置外部輸入通道 (12個(gè) MSP430FG43x和 MSP430FG461x設(shè)備 ) 轉(zhuǎn)換頻道為內(nèi)部溫度傳感器 ,AVCC,和外部引用 獨(dú)立 channel-selectable參考來(lái)源為 正 和 負(fù) 引用 選擇轉(zhuǎn)換時(shí)鐘源 ,重復(fù)單次 轉(zhuǎn)換 、順序及 重復(fù) 序 列 ADC12的功能模塊; 1. 參考電壓發(fā)生器; AD都需要一個(gè)基準(zhǔn)信號(hào),通常 為電壓基準(zhǔn)。 ADC12內(nèi)置參考電源,而且參 考電壓有 6種可編程選擇,分別為 VR+與 VR-的組合。 其中 VR+有: AVCC(模擬電源正端) VREF+( A/D轉(zhuǎn)換器內(nèi)部參考電源的輸出正端) VeREF+(外部參考電源的正輸入端 ) VR-有: AVSS( 電源負(fù)端) VREF-或 VeREF-( A/D轉(zhuǎn)換器內(nèi)部或者外部參考電源負(fù)端) 2. 模擬多路器: 對(duì)多個(gè)模擬信號(hào)進(jìn)行采 樣并轉(zhuǎn)換時(shí),由于 A/D只有一個(gè)轉(zhuǎn)換內(nèi)核,每次只能選通一個(gè)信號(hào)進(jìn)行采樣并轉(zhuǎn)換。 ADC12配置有 8路外部通道和 4路內(nèi)部通道: 8路外部通道: A0 A7實(shí)現(xiàn)外部 8路模擬信號(hào)的輸入 4路內(nèi)部通道: VeREF+, VREF-或 VeREF-,( AVCC-AVSS) /2,片內(nèi)溫度傳感器的輸出。 3. 具有采樣和保持功能的 12位轉(zhuǎn)換器內(nèi)核: ADC12是一個(gè) 12位的模數(shù)轉(zhuǎn)換器,并能夠?qū)?shù)據(jù)保存在轉(zhuǎn)換存儲(chǔ)器中。 該內(nèi)核可以可編程的參考電壓( VR+和 VR_)定義 轉(zhuǎn)換的最大值和最小值。當(dāng)輸入模擬電壓等于或者高于 VR+shi ,ADC12輸出滿量程值 0FFFH,當(dāng)輸入小于或者等于 VR+時(shí), ADC12輸出 0。 輸入模擬電壓的最終結(jié)果滿足公式: 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 20 頁(yè) 共 51 頁(yè) (式 3.1) 4. 采樣及轉(zhuǎn)換所需的時(shí)序控制 例如: ADC12CLK轉(zhuǎn)換時(shí)鐘、 SAMPCON采樣及轉(zhuǎn)換信號(hào)、 SHT控制的采樣周期、 SHS控制的采樣觸發(fā)來(lái)源選擇、 ADC12SSEL選擇的內(nèi)核時(shí)鐘源及 ADC12DIV選擇的分頻系數(shù)。 5. 轉(zhuǎn)換結(jié)果緩存 ADC112共有 12個(gè)轉(zhuǎn)換通道,設(shè)置了 16個(gè)轉(zhuǎn)換存儲(chǔ)器,用于暫存轉(zhuǎn)換結(jié)果,合理設(shè)置后, ADC12硬件會(huì)自動(dòng)將轉(zhuǎn)換結(jié)果存放到相應(yīng) 的 ADC12MEM寄存器中。每個(gè)轉(zhuǎn)換器ADC12MEMx都有相應(yīng)的控制寄存器 ADC12CTLx??刂萍拇嫫骺刂聘鱾€(gè)轉(zhuǎn)換寄存器 必須選擇的轉(zhuǎn)換條件。 6. 相關(guān)寄存器 : 轉(zhuǎn)換控制寄存器: ADC12CTL0與 ADC12CTL1 中斷控制寄存器: ADC12IFG、 ADC12IE 控制寄存器: ADC12MCTL0 ADC12MCTL15 存儲(chǔ)寄存器: ADC12MEM0 ADC12MEM15 7. ADC提供的四種轉(zhuǎn)換模式: 單通道單詞轉(zhuǎn)換 序列通道單詞轉(zhuǎn)換 單通道多次轉(zhuǎn)換 序列通道多次轉(zhuǎn)換 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 21 頁(yè) 共 51 頁(yè) 圖 3.18 MSP430內(nèi) 部 ADC12方框圖 拓展示例模式 :SHP=0, SHI長(zhǎng)度決定采樣時(shí)間長(zhǎng)度。 擴(kuò)展示例模式時(shí)序圖 : 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 22 頁(yè) 共 51 頁(yè) 圖 3.19 拓展模式轉(zhuǎn)換時(shí)序圖 脈沖示例模式: SHP=1, SHI用來(lái)觸發(fā)采樣。 脈沖示例模式時(shí)序圖: 圖 3.20 脈沖模式轉(zhuǎn)換時(shí)序圖 3.6.2 ADC12 接地和噪聲的考慮 為了提高 AD轉(zhuǎn)換的精度,必須考慮好噪聲的處理,加上匹配的電容有助于消除噪聲,從而提高轉(zhuǎn)換的精確性 。本設(shè)計(jì)根據(jù) MSP430的使用手冊(cè),采用了 10uF的有極性電容和100nF的無(wú)極性性電容進(jìn)行減弱噪 聲影響 17。電路設(shè)計(jì)如下 : 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 23 頁(yè) 共 51 頁(yè) 圖 3.21 ADC12去噪電路 3.7 MSP430 內(nèi)部 DMA 模塊 直接存儲(chǔ)器存取 (DMA Direct Memory Access)方式是用硬件實(shí)現(xiàn)存儲(chǔ)器與存儲(chǔ)器之間或存儲(chǔ)器與 IO設(shè)備之間直接進(jìn)行高速數(shù)據(jù)傳送,不需要 CPU的干預(yù)。這種方式通常用來(lái)傳送數(shù)據(jù)塊。 MSP430f16x系列單片機(jī)內(nèi)部含有 DMA模塊,而且?guī)缀鮾?nèi)部所有外設(shè)都可以觸發(fā) DMA開(kāi)始存取數(shù)據(jù) 2。 硬件介紹: MSP430F15X/16X 系列單片機(jī)具有 DMA 控制器,從而能夠?yàn)閿?shù)據(jù)高速傳輸提供保證。 例如,通過(guò) DMA控制器可以直接將 ADC 轉(zhuǎn)換存貯器的內(nèi)容傳到 RAM 單元。 MSP430系列單片機(jī)擴(kuò)展的 DMA具有來(lái) 自 所有外設(shè)的觸發(fā)器,不需要 CPU的干預(yù)即可提供先進(jìn)的清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 24 頁(yè) 共 51 頁(yè) 可配置的數(shù)據(jù)傳輸能力,從而加速了基于 MCU的信號(hào)處理進(jìn)程, DMA傳輸?shù)挠|發(fā)來(lái)源對(duì) CPU 來(lái)說(shuō)是完全透明的, DMA控制器可在內(nèi)存與外部及外部硬件之間進(jìn)行精確的傳輸控制。 DMA 消除了數(shù)據(jù)傳輸延遲時(shí)間以及各種開(kāi)銷(xiāo),從而可以解放 16為 RISC CPU,以便其將更多的時(shí)間用于處理數(shù)據(jù),而非執(zhí)行正在處理的任務(wù) 2。 MSP430F16x系列單片機(jī)的 DMA模塊有以下特點(diǎn):數(shù)據(jù)傳送不需要 CPU介入,完全由 DMA控器自行管理。在整個(gè)地址空間范圍內(nèi)傳輸數(shù)據(jù),塊方式傳輸可達(dá) 65536字節(jié);能夠提高片內(nèi)外設(shè)數(shù)據(jù)吞吐能力,實(shí)現(xiàn)高速傳輸,每個(gè)字或者字節(jié)的傳輸僅需要 2個(gè)MCLK;減少系統(tǒng)功耗,即使在片內(nèi)外設(shè)進(jìn)行數(shù)據(jù)輸入或輸出時(shí), CPU也可以處于超低功耗模式而不需喚醒;字節(jié)和字?jǐn)?shù)據(jù)可以混合傳送: DMA傳輸可以是字節(jié)到字節(jié)、字到字、字節(jié)到字或者字到字節(jié)。當(dāng)字到字節(jié)傳輸時(shí),只有字中較低字節(jié)能夠傳輸,當(dāng)從字節(jié)到字傳輸時(shí),傳輸?shù)阶值牡妥止?jié),高字節(jié)被自動(dòng)清零;四種傳輸尋址模式:固定地址到固定地址、固定地址到塊地址、塊地址到固定地址以及塊地址到塊地址;觸發(fā)方式靈活:邊沿或者電平觸發(fā)。單個(gè)、塊或突發(fā)塊傳輸模式:每次觸發(fā) DMA操作,可以根據(jù)需要傳輸不同規(guī)模的數(shù)據(jù) 。 DMA的四種尋址模式如下圖所示: 圖 3.22 DMA四種尋址模式 DMA控制器模塊: 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 25 頁(yè) 共 51 頁(yè) 3個(gè)獨(dú)立的傳輸通 道:通道 0、通道 1和通道 2。每個(gè)通道都有源地址寄存器、目的地址寄存器、傳送數(shù)據(jù)長(zhǎng)度寄存器和控制寄存器。每個(gè)通道的觸發(fā)請(qǐng)求可以分別允許和禁止;可配置的通道優(yōu)先權(quán):優(yōu)先權(quán)裁決模塊,傳輸通道的優(yōu)先級(jí)可以調(diào)整,對(duì)同時(shí)有觸發(fā)請(qǐng)求的通道進(jìn)行優(yōu)先級(jí)裁決,確定哪個(gè)通道的優(yōu)先級(jí)最高。 MSP430的 DMA控制器可以采用固定優(yōu)先級(jí),還可以采用循環(huán)優(yōu)先級(jí)。程序命令控制模塊,每個(gè) DMA通道開(kāi)始傳輸之前, CPU要編程給定相關(guān)的命令和模式控制,以決定 DMA通道傳輸?shù)念?lèi)型;可配置的傳送觸發(fā)器:觸發(fā)源選擇模塊, DMAREQ(軟件觸發(fā))、 Timer_ACCR2輸出、Timer_BCCR2輸出、 I2C 數(shù)據(jù)接收準(zhǔn)備好、 I2C 數(shù)據(jù)發(fā)送準(zhǔn)備好、 USART接收發(fā)送數(shù)據(jù)、DAC12模塊 DAC12IFG、 ADC12模塊的 ADC12IFGx、 DMAxIFG、 DMAE0 外部觸發(fā)源。并且還具有觸發(fā)源擴(kuò)充能力。 DMA有六種傳輸模式: 單字或者單字節(jié)傳輸;塊傳輸;突發(fā)塊傳輸;重復(fù)單字或者單字節(jié)傳輸;重復(fù)塊傳輸;重復(fù)突發(fā)塊傳輸。前三個(gè),傳輸完成后 DMAEN自動(dòng)復(fù)位;再次傳輸時(shí)需要重新置位 DMAEN位以使能 DMA通道。后三個(gè)為重復(fù)模式,一次傳輸完成后, DMAEN不 復(fù)位;再次出發(fā)時(shí),可以再次啟動(dòng)數(shù)據(jù)傳輸。六種傳輸模式通過(guò) DMADTx寄存器設(shè)置 。 1 單字或者單字節(jié)傳輸 : DMA 通道被定義為單字或者單字節(jié)傳輸模式,每個(gè)字或者字節(jié)的傳輸都要觸發(fā)信號(hào)觸發(fā)。設(shè)置 DMADTx=0 就定義了單字或者單字節(jié)傳輸模式,規(guī)定的傳輸完畢后DMAEN 位自動(dòng)清除,如果需要再次傳輸,必須重新置位 DMAEN。如果設(shè)置 DMADTx 4 為重復(fù)單字或者單字節(jié)傳輸模式, DMAEN 位一直保持置位,每次觸發(fā)伴隨一次傳輸。 DMAxSZ 寄存器保存?zhèn)鬏數(shù)膯卧獋€(gè)數(shù),如果該寄存器為 0,則沒(méi)有傳輸。傳輸之前DMAxSZ 寄存器的值寫(xiě)入到一個(gè)臨時(shí)的寄存器中,每次操作之后 DMAxSZ 做減操作。當(dāng) DMAxSZ減為零的時(shí)候,它所對(duì)應(yīng)的臨時(shí)寄存器將原來(lái)的值重新置入 DMAxSZ,同時(shí)相應(yīng)的 DMAIFG標(biāo)志置位。 2 塊傳輸模式 : 在塊傳輸模式,每次觸發(fā)可以傳輸一個(gè)數(shù)據(jù)塊。設(shè)置 DMADTx=1 為塊傳輸模式,每個(gè)數(shù)據(jù)塊傳輸完畢, DMAEN 位自動(dòng)清除,在觸發(fā)傳輸下一個(gè)數(shù)據(jù)塊之前,該位要被重新置位。在傳輸某個(gè)數(shù)據(jù)塊期間,其他的傳輸請(qǐng)求將被忽略。設(shè)置 DMADTx=5 為重復(fù)塊傳輸模式,某個(gè)數(shù)據(jù)塊傳輸完畢, DMAEN 位仍然保持 置位,之后,新的觸發(fā)可以清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 26 頁(yè) 共 51 頁(yè) 引起又一次數(shù)據(jù)塊傳送。 DMAxSZ 寄存器保存數(shù)據(jù)塊所包含的單元個(gè)數(shù)。DMASRCINCR 和 DMADSTINCR 反映在數(shù)據(jù)塊傳輸過(guò)程中的目的地址和源地址的變化情況。在塊傳輸或者重復(fù)塊傳輸過(guò)程中, DMAxSA, DMAxDA, DMAxSZ 寄存器的值寫(xiě)入到對(duì)應(yīng)的臨時(shí)寄存器中, DMAxSA, DMAxDA寄存器所對(duì)應(yīng)的臨時(shí)值在塊傳輸過(guò)程中增加或者減少,而 DMAxSZ 在塊傳輸過(guò)程中減計(jì)數(shù),始終反映當(dāng)前數(shù)據(jù)塊還有多少單元沒(méi)有傳輸完畢,當(dāng) DMAxSZ 減為 0,它所對(duì)應(yīng)的臨時(shí)寄存器將原來(lái)的值重 新置入 DMAxSZ,同時(shí)相應(yīng)的 DMAIFG被置位。在塊傳輸過(guò)程中, CPU 暫停工作,不參與數(shù)據(jù)的傳輸。數(shù)據(jù)塊需要 2MCLKDMAxSZ 個(gè)時(shí)鐘周期。當(dāng)每個(gè)數(shù)據(jù)塊傳輸完畢, CPU 按照暫停前的狀態(tài)重新開(kāi)始執(zhí)行。 3 突發(fā)塊傳輸模式 : 這個(gè)和塊傳輸模式類(lèi)似,只不過(guò)每傳輸 4個(gè)字或字節(jié), DMA釋放內(nèi)部總線, CPU運(yùn)行 2個(gè) MCLK周期;在傳輸過(guò)程中 CPU有 20%的執(zhí)行時(shí)間,而塊傳輸需要等 DMA完全傳送完之后, CPU方能運(yùn)行。 DMA觸發(fā)源:每個(gè)通道的觸發(fā)源有 DMAxTSELx位進(jìn)行控制的,這些位必須在 DMAEN位 為 0是進(jìn)行設(shè)置,否則可能出現(xiàn)不可預(yù)料的 DMA觸發(fā)。 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 27 頁(yè) 共 51 頁(yè) 4 軟件設(shè)計(jì) 系統(tǒng)功能的實(shí)現(xiàn)是依靠硬件和軟件 的相互結(jié)合 ,硬件決定了系統(tǒng)基本結(jié)構(gòu)和特性,而軟件則是驅(qū)動(dòng)系統(tǒng)的靈魂 ,對(duì)硬件進(jìn)行控制 ,兩者缺一不可,相輔相成。本系統(tǒng)的軟件分為主程序和子程序。主程序控制整個(gè)系統(tǒng),控制和協(xié)調(diào)各個(gè)執(zhí)行模塊。子程序?qū)崿F(xiàn)具體的 相關(guān)共能 。 本設(shè)計(jì)的軟件程序包括主程序、中斷子程序、 數(shù)據(jù)處理 子程序等等 1820。 程序的 功 能有: 1) 對(duì)所需要的模塊進(jìn)行初始化(如 DCO初始化、端口初始化、 SPI初始化、 nRF24L01初始化、定時(shí)器初始化等) 2)數(shù)據(jù)采集、存儲(chǔ) 3)用無(wú)線的方式發(fā)送數(shù)據(jù) 主流程圖 : 圖 4.1 主流程圖 開(kāi)始 配置 nRF24L01 為接收狀態(tài) 是否接收到55? 配置各模塊 ADC 采集數(shù)據(jù) N Y 存儲(chǔ)到 FLASH 無(wú)線發(fā)送數(shù)據(jù) 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 28 頁(yè) 共 51 頁(yè) 部分程序 : /數(shù)據(jù)處理部分 void Data_Pro(unsigned char *rx_buf) if(nRF24L01_RxPacket(rx_buf)=1) /判斷是否接收到數(shù)據(jù) unsigned char *FLASHADD; / FLASH地址指針 while(&FLASHADD!=0) /發(fā)送數(shù)據(jù) TxBuf0=0xEB; /寫(xiě)第一個(gè)字節(jié)內(nèi)容 TACCTL0 = CCIE; /開(kāi)啟 AD轉(zhuǎn)換定時(shí)器 _EINT(); /允許中斷 Delay(8000); /延時(shí),等待系統(tǒng)穩(wěn)定 nRF2401_SetRXinit(); /配置為接收狀態(tài),等待接收新的命令 Delay(8000); /等待系統(tǒng)穩(wěn)定,也為了和上位機(jī)速度匹配 else /沒(méi)有接收到數(shù)據(jù) nRF2401_SetRXinit();/配置為接收狀態(tài),繼續(xù)等待,直到檢測(cè)到接收數(shù)據(jù)為止 Delay(8000); 初始化流程圖 : 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 29 頁(yè) 共 51 頁(yè) 圖 4.2 初始化流程圖 判斷是否接收到數(shù)據(jù): DCO 初始化 端口初始化 SPI 初始化 擦除 AD 初始化 nRF24L01初始化 定時(shí)器初始化 DMA 初始化 關(guān)閉看門(mén)狗 配置為接收狀態(tài) 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 30 頁(yè) 共 51 頁(yè) 圖 4.3 通信測(cè)試模塊 采集存儲(chǔ)模塊 流程圖: 圖 4.4 采集存儲(chǔ)模塊 N Y 啟動(dòng) ADC 模塊 啟動(dòng) DMA 模塊 FLASH 擦除 寫(xiě) FLASH 開(kāi)始 判斷是否寫(xiě)滿 83K 退出 Y 配置 24L01 為接收態(tài) 讀取 24L01 狀態(tài)寄存器的值 接收為 55? 通信正常 配置 24L01 為發(fā)送態(tài) N 開(kāi)始 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 31 頁(yè) 共 51 頁(yè) m代計(jì)數(shù)器值 ,取值范圍 為 0-31。 無(wú)線發(fā)送 模塊 程序: 圖 4.5 無(wú)線發(fā)送 模塊 流程圖 讀 FLASH m=0,讀一位,計(jì)數(shù)器 m+1 m=31? 發(fā)送數(shù)據(jù) Y N 通信是否正常 退出 開(kāi)始 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 32 頁(yè) 共 51 頁(yè) 5 總結(jié) 通過(guò)查閱相關(guān)資料,學(xué)習(xí)了 MSP430FG4618 單片機(jī)以及 nRF24L01 無(wú)線收發(fā)芯片,以及 MAX708、 LP2809 芯片,最終完成了基于無(wú)線通信系統(tǒng)的設(shè)計(jì)。該系統(tǒng)主要的功能是完成對(duì)于外部模擬信號(hào)通過(guò)單片機(jī)處理,并通過(guò) nRF24L01 芯片發(fā)送出去,接收芯片接收到信號(hào)后,把數(shù)據(jù)傳遞給終端機(jī)。終端機(jī)通過(guò)相關(guān)軟件進(jìn)行 數(shù) 據(jù)分析,以了解所接收信號(hào)的性質(zhì)。 在本次系統(tǒng)設(shè)計(jì)過(guò)程中的方案選擇體會(huì): 對(duì)于 AD的選擇:可選方案有外部 AD與內(nèi)部 ADC12 為了滿足通信速度的匹配 AD轉(zhuǎn)換后的數(shù)據(jù)緩存方案:用外加的 FIFO進(jìn)行 緩存或 用內(nèi)部的 FLASH模塊。 在此系統(tǒng)設(shè)計(jì)中, 在 AD的選擇上 我采用內(nèi)部的 ADC12經(jīng)行 AD轉(zhuǎn)換,用內(nèi)部的 FLASH模塊經(jīng)行數(shù)據(jù)緩存。在外加上適當(dāng)?shù)碾娙輰?duì) ADC12 經(jīng)行減弱干擾處理后, ADC12 的轉(zhuǎn)換可靠性可以和一般的外部 AD相媲美,并且 MSP430 的內(nèi)部 ADC12資源豐富, 使其配置更加靈活,也能降低設(shè)計(jì)成本,符合電子設(shè)計(jì)的經(jīng)濟(jì)性原則。 在數(shù)據(jù)緩存方 案的選擇上,我選用了用 MAP430 單片機(jī)內(nèi)部 FLASH,由于 MSP430 單片機(jī)的內(nèi)部 FLASH 資源豐富,容量達(dá) 116KB,可以存儲(chǔ)較多的采樣轉(zhuǎn)換數(shù)據(jù),又 ADC12的轉(zhuǎn)換結(jié)果存儲(chǔ)寄存器可以直接通過(guò) MDA方式傳遞到 FLASH經(jīng)行存儲(chǔ)。此方案的選擇可以滿足數(shù)據(jù)傳輸速度不匹配的問(wèn)題,還能加深對(duì)于 MSP430 單片機(jī)模塊功能的了解與應(yīng)用。如果采用 FIFO 進(jìn)行數(shù)據(jù)緩存,會(huì)讓設(shè)計(jì)成本大大提高,也讓電路設(shè)計(jì)變得繁瑣,不便于調(diào)試,檢修。所以 我覺(jué)得 選擇的內(nèi)部 FLASH緩存更合適 。 在程序設(shè)計(jì)方面,通過(guò)查閱了關(guān)于 MSP430 應(yīng)用資 料,以及學(xué)習(xí) MSP430的使用的相關(guān)視頻,再加上指導(dǎo)老師的指導(dǎo)下,采用由模塊到系統(tǒng)的突破方法。首先是學(xué)習(xí)一些基本的編程流程,思想。在逐個(gè)的了解 MSP430 的各個(gè)功能, 當(dāng)對(duì)功能模塊掌握清楚之后在把模塊功能結(jié)合起來(lái),經(jīng)行調(diào)試就變得簡(jiǎn)單了。比當(dāng)初一開(kāi)始就系統(tǒng)的學(xué)更有效多了。 在四個(gè)多月的畢業(yè)設(shè)計(jì)期間,在指導(dǎo)老師的耐心指導(dǎo)下。順利的完成了本次課程設(shè)計(jì)。在這個(gè)過(guò)程中通過(guò)對(duì)于方案的反復(fù)更正,對(duì)各個(gè)模塊的優(yōu)化,了解了系統(tǒng)設(shè)計(jì)的基本方法。也讓以前學(xué)習(xí)的知識(shí)得到了應(yīng)用,對(duì)于網(wǎng)絡(luò)的應(yīng)用以及所需資料的如何獲取有了更多的認(rèn)識(shí)。 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 33 頁(yè) 共 51 頁(yè) 但 是畢業(yè)設(shè)計(jì)也暴露出自己專(zhuān)業(yè)基礎(chǔ)的很多不足之處。比如缺乏綜合應(yīng)用專(zhuān)業(yè) 知識(shí)的能力,對(duì) 英文 材料的 閱讀的困難 , 導(dǎo)致設(shè)計(jì)過(guò)程顯得比較艱難,對(duì)于設(shè)計(jì)理解不是很透徹,從而犯過(guò)很多低級(jí)的錯(cuò)誤。對(duì)與無(wú)線終端的接收處理部分,限于時(shí)間和能力有限,不能完成。 這次 課程設(shè)計(jì) 是對(duì)自己大學(xué)四年所學(xué)的一次大檢閱,使我明白自己知識(shí)還很淺薄,雖然 大學(xué)四年 學(xué)習(xí)了 不少專(zhuān)業(yè)知識(shí) ,但是自己的求學(xué)之路還很長(zhǎng) ,能力依舊十分欠缺 ,以后更應(yīng)該在工作中學(xué)習(xí),努力使自己 的能力得到不斷的提升 , 完成更多的挑戰(zhàn) 。 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 34 頁(yè) 共 51 頁(yè) 附錄 一: 整體電路圖 V D D2C S N4M O S I6I R Q8G N D1CE3S C K5M I S O7U2N R F 2 4 0 1 模塊D V C C 11P 6 .3 /A 3 / O A 1 O2P 6 .4 /A 4 / O A 1 I03P 6 .5 /A 5 / O A 2 O4P 6 .6 /A 6 / D A C 0 / O A 1 05P 6 .7 /A 7 / D A C 1 / S V S I N6V R E F +7X IN8X O U T9V e R E F + / D A C O10V R E F - /V e R E F -11P 5 .1 /S 0 / A 1 2 / D A C 112P 5 .0 /S 1 / A 1 3 / O A 1 I 113P 1 0 . 7 / S 2 / A 1 4 / O A 2 I114P 1 0 . 6 / S 3 / A 1 515P 1 0 . 5 / S 416P 1 0 . 4 / S 517P 1 0 . 3 / S 618P 1 0 . 2 / S 719P 1 0 . 1 / S 820P 1 0 . 0 / S 921P 9 .7 /S 1 022P 9 .6 /S 1 123P 9 .5 /S 1 224P 9 .4 /S 1 325P9.3/S1426P9.2/S1529P9.1/S1628P9.0/S1729P8.7/S1830P8.6/S1931P8.5/S2032P8.4/S2133P8.3/S2234P8.2/S2335P8.1/S2436P8.0/S2537P7.7/S2638P7.6/S2739P7.5/S2840P7.4/S2941P7.3/S30/UCA0CLK42P7.2/S31/UCA0SOMI43P7.1/S32/UCA0SIMO44P7.0/UCA0STE/S3345P4.7/UCA0RXD/S3446P4.6/UCA0TXD/S3547P4.5/UCLK1/S3648P4.4/SOMI1/S3749P4.3/SIMO1/S3850P 4 .2 /S T E 1 /S 3 951C O M 052P 5 .2 /C O M 153P 5 .3 /C O M 254P 5 .4 /C O M 355P 5 .5 /R 0 356P 5 .6 /L C D R E F / R 1 357P 5 .7 /R 2 358L C D C A P / R 3 359D V C C 260D V S S 261P 4 .1 /U R X D 162P 4 .0 /U T X D 163P 3 .7 /T B 664P 3 .6 /T B 565P 3 .5 /T B 466P 3 .4 /T B 367P 3 .3 /U C B 0 C L K68P 3 .2 /U C B 0 S O M I/ U C B 0 S C L69P 3 .1 /U C B 0 S I M O / U C B 0 S D A70P 3 .0 /U C B 0 S T E71P 2 .7 /A D C 1 2 C L K /D M A E 072P 2 .6 /C A O U T73P 2 .5 /U C A 0 R X D74P 2 .4 /U C A 0 T X D75P2.3/TB276P2.2/TB177P2.1/TB078P2.0/TA279P1.7/CA180P1.5/TACLK/ACLK82P1.6/CA081P1.4/TBCLK/SMCLK83P1.3/TBOUTH/SVSOUT84P1.2/TA185P1.1/TA0/MCLK86P1.0/TA087XT2OUT88TDO/TDI90XT2IN89TDI/TCLK91TMS92TCLK93RST/NMI94P6.0/A0/OA0I095P6.2/A2/OA0I197AVSS98DVSS199AVCC100P6.1/A1/OA0O96U4M S P 4 3 0 F G 4 6 1 8R E S E T8R E S E T /7NC6P F O /5M R /1V C C2G N D3P F I4U1M A X 7 0 8V in1G N D2O N / O F F3O U T5B Y P A S S4U5L P 2 9 8 5ST1G N D2O U T3V C C4U6S G 3 5 0 S C F - 8 M12345678J1C O N 8Q1P N P 1S1S W -P BD1L E DR21KR11KR32 2 KR41KC21 0 0 n FD V C CC31 0 0 n FD V S SC41 0 n F+ C11 0 u F+ C91 0 u F+ C 1 11 0 u FV R E F - /V e R E F -+C51 0 u F+ C 1 31 0 u FV e R E F + C 1 51 0 u FC61 0 0 n FV R E F +G N DC81 0 0 n FCEC 1 01 0 0 n FS C KC 1 41 0 0 n FY T D OAVSSS O M IC 1 21 0 0 n FY T M SDVSSV D DY T D IAVCCC S NY T C L KD V C CS I M OY R S TY IR QG N DV D DG N DG N DV D DV D DG N DP6.0YRSTV D DYTCLKA V S SY 8 MG N DYTMSV R E F - /V e R E F -G N DG N DYTDIA V S SV C CYTDOV R E F +Y8MA V S SY R S TV e R E F +A V S SA V C CD V S SD V C CV C CV C CV C CG N DCEG N DYIRQV D DSCKG N DSOMIB Y P A S SV C CSIMOG N DG N DCSNB Y P A S S1J2C O N 1V D D+C71 0 u FV D D 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 35 頁(yè) 共 51 頁(yè) 附錄 二:系統(tǒng)程序 #include #define IDLE 0x00 / 閑置,沒(méi)有中斷請(qǐng)求 #define TX_DS 0x20 / TX 數(shù)據(jù)發(fā)送 #define RX_DR 0x40 / RX 數(shù)據(jù)接收 #define TX_ADR_WIDTH 5 / 5 字節(jié)發(fā)送地址寬度 #define RX_ADR_WIDTH 5 / 5 字節(jié)接收地址寬度 #define TX_PLOAD_WIDTH 32 / 32 字節(jié)發(fā)送寬度 #define RX_PLOAD_WIDTH 32 / 32 字節(jié)接收寬度 #define RD_RX_PLOAD 0x61 / 接收寄存器地址 #define WR_TX_PLOAD 0xA0 / 發(fā)送寄存器地址 unsigned char const TX_ADDRESSTX_ADR_WIDTH = 0x34,0x43,0x10,0x10,0x01; / 定義靜態(tài)發(fā)送地址 unsigned char const RX_ADDRESSRX_ADR_WIDTH = 0x34,0x43,0x10,0x10,0x01; / 定義靜態(tài)接收地址 /SPI(NRF24L01)命令 / #define WRITE_REG 0x20 /定義寫(xiě)寄存器命令 #define CONFIG 0x00 / 定義配置寄存器地址 #define SETUP_AW 0x03 / 定義 設(shè)置 地址寬度 寄存器地址 #define RX_ADDR_P0 0x0A / 定義 接收地址通道 0 寄存器地址 #define TX_ADDR 0x10 / 定義 發(fā)送地址 寄存器地址 #define EN_AA 0x01 / 定義使能自動(dòng)應(yīng)答寄存器地址 #define EN_RXADDR 0x02 / 定義 使能發(fā)送地址 寄存器地址 #define SETUP_RETR 0x04 / 定義 設(shè)置自動(dòng)重新傳送 寄存器地址 #define RF_CH 0x05 / 定義 射頻通道 寄存器地址 #define RF_SETUP 0x06 / 定義 射頻設(shè)置 寄存器地址 #define RX_PW_P0 0x11 / 定義 接收數(shù)據(jù) , 通道 0 寄存器地址 #define FLUSH_RX 0xE2 /清除 RXFIFO #define FLUSH_TX 0xE1 /清除 RXFIFO #define R_RX_PAYLOAD 0x61 /讀 RX有效數(shù)據(jù) #define STATUS 0x07 /狀態(tài)寄存器 /對(duì) MSP430的管腳定義 / #define CE_H (P7OUT |= BIT5) #define CE_L (P7OUT &= BIT5) #define IRQ (P7OUT |= BIT4) #define SCK_H (P7OUT |= BIT3) 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 36 頁(yè) 共 51 頁(yè) #define SCK_L (P7OUT &= BIT3) #define MISO (P7OUT |= BIT2) #define MOSI (P7OUT |= BIT1) #define CSN_H (P7OUT |= BIT0) #define CSN_L (P7OUT &= BIT0) /聲明函數(shù) void Erase(void); void DCO_Init(void); void Delay(unsigned int d); void PORT_Init(void); void CLOCK_Init(void); void SPI_Init(void); void nRF24L01_Config(void); void DMAReEnable(char channel); void DMAStart(char channel); unsigned char SPI_RW(unsigned char byte); unsigned char SPI_RW_Reg(unsigned char reg, unsigned char value); unsigned char SPI_Read(unsigned char reg); void DMAInit(char channel,char trigger,char transMode,char srcMode,char dstMode,unsigned int src,unsigned int dst,unsigned int size); unsigned char SPI_Read_Buf(unsigned char reg, unsigned char *pBuf, unsigned char bytes); unsigned char SPI_Write_Buf(unsigned char reg, unsigned char const *pBuf, unsigned char bytes); unsigned char nRF24L01_RxPacket(unsigned char* rx_buf); void nRF24L01_TxPacket(unsigned char * tx_buf); void nRF2401_SetRXinit(void); void nRF24L01_Tx(unsigned char * tx_buf); void Data_Pro(unsigned char *rx_buf); void TA0_Init(unsigned int i,unsigned int j); void AD_Init(void); /定義變量 unsigned char TxBuf32; / 發(fā)送寄存數(shù)組 unsigned char RxBuf32; /接收數(shù)據(jù)寄存數(shù)組 int m=0;/發(fā)送數(shù)據(jù)計(jì)數(shù)器,取值范圍為 0-31 /主函數(shù) void main (void) WDTCTL = WDTPW+WDTHOLD; /關(guān)閉看門(mén)狗 DCO_Init(); /DCO初始化 PORT_Init(); /端口初始化 CLOCK_Init(); /時(shí)鐘初始化 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 37 頁(yè) 共 51 頁(yè) SPI_Init(); /SPI始化 Erase(); /擦除閃存指定空間 nRF24L01_Config(); /配置 nRF24L01模塊 AD_Init(); /AD初始化 TA0_Init(3,2000); /時(shí)鐘初始化, SMCLK為 1M nRF2401_SetRXinit(); /設(shè)置 nRF24L01為接收狀態(tài) Delay(8000); /延時(shí) 8000uS while(1) Data_Pro(RxBuf); /數(shù)據(jù)處理函數(shù) /擦除 0xFF00-0x3800+0x1FF00-0x10000=1C600=113kB+512 Bytes空間 void Erase(void) unsigned char *p; /注意數(shù)據(jù)類(lèi)型定義,不同類(lèi)型占不同大小空間 FCTL2=FWKEY+FSSEL_1+FN1;/選擇閃存擦除時(shí)鐘 MCLK, 2分頻 FCTL3=FWKEY; /擦除起始地址, 總讀為 096h p=(unsigned char *)0x3E00;/指針 p起始地址 do FCTL1=FWKEY+ERASE; /開(kāi)始擦除 *p=0; /向段內(nèi)任意地址空寫(xiě),啟動(dòng)擦除操作 p+=0x100; /指針地址每次 +0x100 while(p!=(unsigned char *)0xFE00); /當(dāng) p指到 0xFE00時(shí),結(jié)束循環(huán),擦除下一段空間 FCTL1=FWKEY+WRT; /開(kāi)啟寫(xiě)模式 FCTL2=FWKEY+FSSEL_1+FN1;/選擇閃存擦除時(shí)鐘 MCLK, 2分頻 FCTL3=FWKEY; /擦除起始地址 p=(unsigned char *)0x10000; /指針 p起始地址 do FCTL1=FWKEY+ERASE; /開(kāi)始擦除 *p=0; /向段內(nèi)任意地址空寫(xiě),啟動(dòng)擦除操作 p+=0x100; /指針地址每次 +0x100 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 38 頁(yè) 共 51 頁(yè) while(p!=(unsigned char *)0x1F600); /當(dāng) p指到 0x1FE600時(shí),結(jié)束循環(huán),擦除下一段空間 FCTL1=FWKEY+WRT; /延時(shí)子程序,延時(shí)時(shí)間 =( 13+10*d) *125ns.需要延時(shí) 130us,則 d=103 void Delay(unsigned int d) int k; for(k=0;kMCLK,關(guān)閉 XT2振蕩器 do IFG1&=OFIFG; /晶振錯(cuò)誤中斷標(biāo)志 Delay(0xFF); /延時(shí),等待時(shí)鐘穩(wěn)定 while(IFG1&OFIFG)!=0); /晶振錯(cuò)誤中斷標(biāo)志 =1,說(shuō)明晶振錯(cuò)誤,則等待 /初始化端口,只用到了 P6、 P7口 void PORT_Init(void) P1DIR = 0xFF; /默認(rèn)端口為輸出模式 P1SEL = 0 /選擇引腳為 IO端口 P1OUT = 0; /輸出寄存器 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 39 頁(yè) 共 51 頁(yè) P2DIR = 0xFF; /默認(rèn)端口為輸出模式 P2SEL = 0; P2OUT = 0; P3DIR = 0xFF; P3SEL = 0; P3OUT = 0; P4DIR = 0xFF; P4SEL = 0; P4OUT = 0; P5DIR = 0xFF; P5SEL = 0; P5OUT = 0; P6DIR = 0xFF; P6DIR &=BIT0; /p6.0為實(shí)驗(yàn)結(jié)果輸入端,需要設(shè)為輸入 P6SEL = 0; P6OUT = 0; P7DIR = 0xFF; /首先全變?yōu)?1,以后只改需要的位置 P7DIR &=BIT2; /p7.2為 SPI單片機(jī)主模式輸入端,需要設(shè)為輸入 P7DIR &=BIT4; /p7.4為 IRQ輸入端,需要設(shè)為輸入 P7SEL = 0; /普通 io功能 P7OUT = 0x09; /- - CE IRQ SCK SOMI SIMO CSN / 0 0 0 0 1 0 0 1 P8DIR = 0xFF; P8SEL = 0; P8OUT = 0; P9DIR = 0xFF; P9SEL = 0; P9OUT = 0; P10DIR = 0xFF; P10SEL = 0; P10OUT = 0; 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 40 頁(yè) 共 51 頁(yè) /時(shí)鐘初始化 void CLOCK_Init(void) _BIS_SR(SCG0+OSCOFF); /關(guān)閉晶振和 DCO FLL_CTL1&=XT2OFF; /選擇 XT2提供時(shí)鐘 do IFG1&=OFIFG; Delay(0xFF); /延時(shí),等待時(shí)鐘穩(wěn)定 while(IFG1&OFIFG)!=0);/晶振忙則等待 FLL_CTL1|=SELM1+SELS; /選擇 MCLK、 SMCLK的時(shí)鐘源為 DCO Delay(0xFF); /等待 XT2穩(wěn)定 /初始化 SPI void SPI_Init(void) P7SEL |= 0x00E; /選擇 3位 SPI引腳 UCA0CTL1 |= UCSWRST; /軟件復(fù)位使能 UCA0CTL0 |= UCMSB+UCMST+UCCKPH+UCSYNC; /控制寄存器配置 3線 8位 SPI,主機(jī)模式 /UCCKPH=1, UCCKPL=0, UCA0CTL1 |= UCSSEL_2; / 時(shí)鐘源選擇為 SMCLK UCA0BR0 = 0x04; / SPICLK = SMCLK/2 UCA0BR1 = 0x00; UCA0CTL1 &= UCSWRST; /SPI使能 /初始化 AD void AD_Init(void) /使用內(nèi)部參考電源 2.5V,通道 A0單次轉(zhuǎn)換 int i; P6SEL |= 0x01; / 使能 AD轉(zhuǎn)換通道 0 ADC12CTL0 = REFON + REF2_5V + ADC12ON + SHT0_2; / 開(kāi)啟 AD12內(nèi)核,開(kāi)啟內(nèi)部參考電壓,內(nèi)部參考電壓為 2.5V。 ADC12CTL1 = SHP; / 使用抽樣定時(shí)器,由采樣輸入信號(hào)的上升沿觸發(fā)采樣定時(shí)器 ADC12IE=0x01; ADC12MCTL0 = SREF_1; / Vr+=Vref+ 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 41 頁(yè) 共 51 頁(yè) for (i = 0x3600; i; i-); / 延時(shí),使配置完成 ADC12CTL0 |= ENC; / 使能 AD轉(zhuǎn)換 /TA0初始化 void TA0_Init(unsigned int i,unsigned int j) /i=分頻, J=計(jì)數(shù)值 TACTL = TACLR ; /清除 TAR TACTL |= TASSEL_2; /選擇 SMCLK switch(i) case 0: TACTL |= ID_0; break; /1分頻, 8 MHz case 1: TACTL |= ID_1; break; /2分頻, 4 MHz case 2: TACTL |= ID_2; break; /4分頻, 2 MHz default: TACTL |= ID_3; break; /8分頻, 1 MHz TACTL |= MC_1; /增計(jì)數(shù)模式 CCR0 = j; /計(jì)數(shù)值 /配置 24L01寄存器 void nRF24L01_Config(void) Delay(8000); /延時(shí) 8000us CE_L; SPI_RW_Reg(WRITE_REG + CONFIG, 0x0f); /命令 001 00011 寫(xiě) 00 寄存器 /- RX_RD TX_DS MAX_T EN_CRC CRCO PWR_UP PRIM_RX / 0 0 0 0 1 1 1 /中斷 中斷 中斷 CRC使能 16位 CRC 上電 接收模式 SPI_RW_Reg(WRITE_REG + EN_AA, 0x00);/置通道 0接收地址 .命令 001 00011 寫(xiě) 10 寄存器 /- - P5 P4 P3 P2 P1 P0 /0 0 0 0 0 0 0 0 自動(dòng)應(yīng)答禁止 SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); /設(shè)置接收通道允許 /- - P5 P4 P3 P2 P1 P0 /0 0 0 0 0 0 0 1 接收通道 0允許 SPI_RW_Reg(WRITE_REG + SETUP_AW, 0x03);/設(shè)置地址寬度 ,5個(gè)字節(jié) /- - - - - - AW1 AW0 /0 0 0 0 0 0 1 1 5字節(jié)地址 , AW1 AW0 : 00 無(wú)效 01 3字節(jié) 10 4字節(jié) 11 5字節(jié) 清華 大學(xué) 2012 屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第 42 頁(yè) 共 51 頁(yè) SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x00); /設(shè)置 自動(dòng)重發(fā)控制 /禁止自動(dòng)重發(fā)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論