無線數(shù)據(jù)收發(fā)系統(tǒng)畢業(yè)論文資料
無線數(shù)據(jù)收發(fā)系統(tǒng)畢業(yè)論文資料,無線數(shù)據(jù),收發(fā),系統(tǒng),畢業(yè)論文,資料
1 引言
伴隨著短距離、低功率無線數(shù)據(jù)傳輸技術(shù)的成熟,無線數(shù)據(jù)傳輸被越來越多地應(yīng)用到新的領(lǐng)域。與有線通信方式相比,無線通信以其不需鋪設(shè)明線,使用便捷等一系列優(yōu)點,在現(xiàn)代通信領(lǐng)域占重要地位。
但以往的無線產(chǎn)品存在范圍和方向上的局限。例如,一些無線產(chǎn)品在使用時,無法將信息反饋給控制者;還有一些無線產(chǎn)品不能很好地顯示參數(shù)或狀態(tài)信息,如果能在系統(tǒng)中增加一塊小型液晶顯示電路,產(chǎn)品不僅能向用戶顯示其狀態(tài)或狀態(tài)的改變,而且可以大大降低成本。正如人們所發(fā)現(xiàn)的,只要建立雙向無線通信-雙工通信并且選擇成本低的收發(fā)芯片,就會出現(xiàn)許多新應(yīng)用。
本次設(shè)計主要是利用無線收發(fā)電路,加上單片機控制與液晶顯示制成一套完整的數(shù)據(jù)收發(fā)系統(tǒng)??紤]到目前市場上的一些需求,設(shè)計的主要要求是方案成本低,體積小,低功耗,集成度高,盡量無需調(diào)外部元件,傳輸時間短,接口簡單。nRF401是國外最新推出的單片無線收發(fā)一體芯片,它在一個20腳的芯片中包括了高頻發(fā)射、高頻接收、PLL合成、FSK調(diào)制、多頻道切換等功能,并且外圍元件少,便于設(shè)計生產(chǎn),功耗極低,集成度高,是目前集成度較高的無線數(shù)傳產(chǎn)品,它為低速率低成本的無線技術(shù)提出了解決方案。
2 無線數(shù)據(jù)收發(fā)系統(tǒng)
2.1 系統(tǒng)組成
無線數(shù)據(jù)傳輸系統(tǒng)有點對點,點對多點和多點對多點三種。本系統(tǒng)由于實際應(yīng)用的需要,接收器和數(shù)據(jù)終端之間的數(shù)據(jù)傳輸通過nRF401進行,構(gòu)成點對點無線數(shù)據(jù)傳輸系統(tǒng)。整個系統(tǒng)中,兩數(shù)據(jù)終端之間的無線通信采用433MHz的頻段作為載波頻率,收發(fā)通過串口通信。
無線數(shù)據(jù)收發(fā)系統(tǒng)可以分為無線收發(fā)控制電路、單片機控制電路、顯示電路和按鍵電路四部分組成,系統(tǒng)原理如圖2-1所示:
液晶
顯示屏
單片機系統(tǒng)
無線收發(fā)器
按鍵
單片機系統(tǒng)
無線收發(fā)器
圖2-1 無線數(shù)據(jù)收發(fā)系統(tǒng)原理圖
2.2 實現(xiàn)過程
當我們需要發(fā)送數(shù)據(jù)時,使用按鍵來輸入所需發(fā)送的信息。按鍵與單片機AT89S52的P3.2-P3.5口相接,單片機的 P1.0口控制信息的發(fā)送與接收,并且TXD端與收發(fā)器輸入端相連,通過TXD將數(shù)據(jù)傳入收發(fā)器,收發(fā)器接收到數(shù)據(jù)后,通過FSK調(diào)制,將信號發(fā)送出去;接收端的收發(fā)器通過解調(diào),將載波信號轉(zhuǎn)換為數(shù)字信號,完成信息傳輸過程;收發(fā)器的輸出端通過RXD端將數(shù)字信號輸入到單片機;單片機將數(shù)據(jù)傳送到顯示器,這樣就完成了一次數(shù)據(jù)發(fā)送與接收并顯示的過程。
本系統(tǒng)采用的是半雙工傳送方式。 所謂半雙工就是通信的雙方均具有發(fā)送和接收信息的能力,信道也具有雙向傳輸性能,但是,通信的任何一方都不能同時既發(fā)送信息又接收信息,即在指定的時刻,只能沿某一個方向傳送信息。所以上述實現(xiàn)過程只介紹了由一方傳送到另一方的過程,而相反方向與其原理相同。無線數(shù)據(jù)收發(fā)系統(tǒng)的電路圖見附錄3。
3 收發(fā)部分原理與設(shè)計
nRF401是一種基于短程無線通信技術(shù)的芯片。收發(fā)部分采用nRF401芯片,其引腳DIN與單片機的TXD相連,需要發(fā)射的數(shù)字信號通過DIN輸入;引腳DOUT與單片機的RXD相連,解調(diào)出來的信號經(jīng)過DOUT輸出進入單片機。
3.1 無線收發(fā)芯片nRF401介紹[1]
3.1.1 主要引腳功能
圖3-1 nRF401引腳圖
(1) 9腳及10腳分別是DIN輸入數(shù)字信號和DOUT輸出數(shù)字信號均為標準的邏輯電平信號,需要發(fā)射的數(shù)字信號通過DIN輸入,解調(diào)出來的信號經(jīng)過DOUT輸出。
(2) 12腳為通道選擇,F(xiàn)REQ =“0”為通道#1(433.92MHz),F(xiàn)REQ =“1”為通道#2(434.33MHz)。
(3) 18腳為電源開關(guān),PWR_UP =“1”為工作模式,PWR_UP =“0”為待機模式。
(4) 19腳TXEN:高電平允許發(fā)送數(shù)據(jù),低電平允許接收數(shù)據(jù)。
(5) ANT1、ANT2:天線接入端。
3.1.2 內(nèi)部結(jié)構(gòu)與工作原理
nRF401無線收發(fā)芯片的結(jié)構(gòu)框圖如圖3-2所示:芯片內(nèi)包含有發(fā)射功率放大器(PA)、低噪聲接收放大器(LNA),晶體振蕩器(OSC),鎖相環(huán)(PLL),壓控振蕩器(VCO),混頻器(MIXER)等電路[2]。
圖3-2 內(nèi)部結(jié)構(gòu)方框圖
在接收模式中,RF輸入信號被低噪聲放大器(LNA)放大,經(jīng)由混頻器(MIXER)變換,這個被變換的信號在送入解調(diào)器(DEM)之前被放大和濾波,經(jīng)解調(diào)器解調(diào),解調(diào)后的數(shù)字信號在DOUT端輸出。在發(fā)射模式中,壓控振蕩器(VCO)的輸出信號是直接送入到功率放大器(PA),DIN端輸入的數(shù)字信號被頻移鍵控后饋送到功率放大器輸出。由于采用了晶體振蕩器和PLL合成技術(shù),頻率穩(wěn)定性極好。
3.1.3 特點
nRF401是一個單片RF收發(fā)芯片,工作頻率為國際通用的數(shù)傳頻率433MHz;具有FSK調(diào)制和解調(diào)能力,抗干擾能力強,特別適合工業(yè)控制應(yīng)用;采用PLL頻率合成技術(shù),頻率穩(wěn)定性好;最大發(fā)射功率達+10dBm,數(shù)據(jù)速率可達20kb/s;具有2個信號通道,適合需要多信道工作的特殊場合;工作電壓在+3~5V之間,最低工作電壓為2.7V;它還提供進一步降低電流消耗的待機模式,接收待機狀態(tài)僅為8μA;僅需外接一個晶體和幾個阻容、電感元件,即可構(gòu)成一個完整的射頻收發(fā)器。nRF401接收機使用頻移鍵控(FSK)調(diào)制方式,改善了噪聲環(huán)境下的系統(tǒng)性能。與幅移鍵控(ASK)方式相比,這種方式的通信范圍更廣,特別是在附近有類似設(shè)備工作的場合。
3.2 FSK調(diào)制[3]
本系統(tǒng)中的nRF401是具備FSK調(diào)制的無線收發(fā)芯片。所謂FSK調(diào)制,就是頻移鍵控,又稱數(shù)字頻率調(diào)制,是數(shù)字通信調(diào)制方式的一種,由于其方法簡單、易于實現(xiàn)、抗噪聲和抗衰落性能較強以及解調(diào)不須恢復(fù)本地載波等優(yōu)點而在現(xiàn)代數(shù)字通信系統(tǒng)的低、中速數(shù)據(jù)傳輸中得到廣泛得應(yīng)用。
3.2.1 產(chǎn)生原理
頻率鍵控法就是利用矩形脈沖序列控制的開關(guān)電路,對于兩個不同的獨立頻率源進行選通。它有兩個獨立的振蕩器,數(shù)字基帶信號控制開關(guān),選擇不同頻率的高頻振蕩信號實現(xiàn)FSK調(diào)制。圖3-3為頻率鍵控法原理框圖。
圖3-3 頻率鍵控法原理框圖
以二進制數(shù)字頻率調(diào)制為例,當數(shù)字信號為“1”時,正脈沖是控制門 1 接通,門 2 斷開,輸出頻率 f1 ;數(shù)字信號為“0”時,門 1 斷開,門 2 接通,輸出頻率 f2 。如果產(chǎn)生 f1,f2 的兩個震蕩器是互相獨立的,則輸出 2FSK 信號的相位是不連續(xù)的。震蕩器的頻率 f1,f2 可以直接是所需的載頻,也可以是低頻范圍通過混頻、倍頻方式搬移到載頻范圍。
3.2.2 FSK信號波形圖
已調(diào)信號的時域表達式為
(3.1)
圖3-4 2FSK信號的波形
3.3 時序參數(shù)
nRF401有3種工作模式:接收模式(RX)、發(fā)射模式(TX)和等待模式(Standby)。工作模式可由2個引腳設(shè)定,分別是TXEN和PWR_UP。因此通過單片機控制nRF401的工作模式,使其在接收、發(fā)射、等待任一種狀態(tài)之間轉(zhuǎn)換。
(1) TX?RX之間的切換
當從RX?TX模式時,數(shù)據(jù)輸入腳(DIN)必須保持為高至少1ms才能發(fā)送數(shù)據(jù),時序如圖3-5(a)。當從TX?RX模式時,數(shù)據(jù)輸出腳(DOUT)至少3ms以后有數(shù)據(jù)輸出,如圖3-5(b)。
PWR-UP
PWR-UP
DIN
TXEN
4
RX to TX
DOUT
4
RX to TX
VDD
0
2
ms
TX to RX
VDD
TXEN
0
2
ms
(b)
(a)
圖3-5 TX與RX轉(zhuǎn)換的時序圖
(2) Standby?RX 、Standby?TX的切換
從待機模式到接收模式,當PWR_UP輸入設(shè)成1時,經(jīng)過tSR時間后,DOUT腳輸出數(shù)據(jù)才有效。對nRF401來說,tSR最長的時間是3ms,如圖(a)。
從待機模式到發(fā)射模式,所需穩(wěn)定的最大時間是tST,如(b)。
Std. by to TX
TXEN
Std. by to RX
4
0
2
4
2
ms
ms
DIN
DOUT
PWR-UP
PWR-UP
VDD
VDD
0
(b)
(a)
圖3-6 Standby?RX 、Standby?TX的時序圖
(3) Power Up?TX 、Power Up?RX的切換
從上電到發(fā)射模式過程中,為了避免開機時產(chǎn)生干擾和輻射,在上電過程中TXEN的輸入腳必須保持為低,以便于頻率合成器進入穩(wěn)定工作狀態(tài)。當由上電進入發(fā)射模式時,TXEN必須保持1ms以后才可以往DIN發(fā)送數(shù)據(jù)。
從上電到接收模式過程中,芯片將不會接收數(shù)據(jù),DOUT也不會有數(shù)據(jù)輸出,直到電壓穩(wěn)定達到2.7V以上,并且至少保持5ms。
VDD=0 to RX
VDD=0 to TX
VDD
PWR-UP
DIN
(a)
0
2
4
ms
0
2
4
6
ms
(b)
DOUT
PWR-UP
VDD
圖3-7 Power Up?TX 、Power Up?RX時序圖
3.4 應(yīng)用電路設(shè)計
3.4.1 電路組成
nRF401無線收發(fā)芯片的應(yīng)用電路[5],如圖3-8所示:
圖3-8 nRF401的433Mhz應(yīng)用電路
(1) 輸入輸出
當nRF401是接收模式時,ANT1和ANT2引腳端提供射頻輸入到低噪聲放大器(LNA);當nRF401為發(fā)射模式時,從功率放大器提供射頻輸出到天線。
(2) PLL環(huán)路濾波器
PLL環(huán)路濾波器,是一個單端二階濾波器,濾波器元件參數(shù)值:C3=820pF,C4=15nF,R2=4.7kW
(3) VCO電感
芯片的VCO電路需要外接一個VCO電感,這個電感是非常關(guān)鍵的,需要一個高質(zhì)量的片式電感,Q值大于45,最大誤差±2%。
(4) 晶振電路
晶體振蕩器需要外接晶振,晶振的特性要求是:并聯(lián)諧振頻率f=4MHz,并聯(lián)等效電容C0<5pF,晶振等效串聯(lián)電阻RESR<150W,全部負載電容,包括印制板電容CL<14pF。負載電容CL如下式所示:
(3.2)
式中和, 和是電路板的寄生電容。
(5) RF輸出功率
連接在RF_PWR端和VSS之間的電阻R3可以設(shè)置輸出功率,最大發(fā)射功率可以調(diào)整到+10dBm。
3.4.2 印刷電路板設(shè)計
(1) nRF401電路的PCB板設(shè)計過程[9]
利用 Protel DXP 軟件設(shè)計制作nRF401無線收發(fā)電路部分,按本論文中的圖3-8所示。
① 在Protel DXP 軟件中按照設(shè)計電路制作連接電路,并封裝電路。制作PCB板,設(shè)置布局范圍,加載網(wǎng)絡(luò)表和元件庫,自動布局并做好調(diào)整電路,自動布線過程,最后調(diào)整整個電路板,將其實現(xiàn) 3D 功能。
② 查看模擬的 PCB 板后,實現(xiàn)制作[10]。
首先生成報表和網(wǎng)絡(luò)表,設(shè)置電路圖中已有的仿真模型的器件。在Protel DXP軟件中運行電路仿真。并觀察記錄有關(guān)電路仿真過程中的波形圖。
再進行對電路板 1:1的打印。
最后,將加工成形的 PCB 電路板打孔,并焊接元器件,實現(xiàn)nRF401應(yīng)用電路,檢測并調(diào)試其電路使之正常工作。nRF401應(yīng)用電路印刷電路板,如下圖所示:
圖3-9 應(yīng)用電路印制電路板圖
(2) PCB板設(shè)計要求
印刷電路板(PCB)的設(shè)計直接關(guān)系到射頻性能,為了獲得較好的RF性能,PCB設(shè)計至少需要兩層板來實現(xiàn),PCB分成射頻電路和控制電路兩部分布置。nRF401采用PCB天線,在天線的下面沒有接地層。射頻部分的電源與數(shù)字電路部分的電源分離。為了減少分布參數(shù)的影響,在PCB應(yīng)該避免長的電源走線,所有元件地線,VDD連接線必須離nRF401盡可能的近。nRF401的電源必須經(jīng)過很好的濾波,并且與數(shù)字電路供電分離,在離電源腳VDD盡可能近的地方用高性能的電容去耦。PCB板頂層和底層最好敷銅接地,把這兩層的敷銅用較多的過孔緊密相連,再將VSS腳連接到敷銅面。所有開關(guān)信號和控制信號都不能經(jīng)過PLL環(huán)路濾波器元件和VCO電感附近。
4 控制部分原理
控制電路主要組成部分為單片機AT89S52,通過AT89S52與nRF401進行串行通信,并用其控制nRF401的TXEN端,來調(diào)整收發(fā)狀態(tài)。AT89S52還控制液晶屏的顯示和按鍵等一些工作。
4.1 AT89S52功能介紹
AT89S52是一個低功耗高性能單片機,40個引腳,32個外部雙向輸入/輸出(I/O)端口,片內(nèi)含8k bytes的可重復(fù)編程的Flash存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),3個16位可編程定時計數(shù)器,1個全雙工串行通信口,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng)。AT89S52可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。
4.1.1 內(nèi)部結(jié)構(gòu)
AT89S52單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時器/計數(shù)器、并行I/O口、串行I/O口和中斷系統(tǒng)等幾大單元以及數(shù)據(jù)總線、地址總線和控制總線三大總線構(gòu)成。圖4-1為單片機內(nèi)部結(jié)構(gòu)框圖[13]。
(1) 中央處理器
中央處理器(CPU)是整個單片機的核心部件,能處理8位二進制數(shù)據(jù)或代碼,CPU負責控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。
(2) 程序存儲器
AT89S52共有8KB個E2PROM,用于存放用戶程序,原始數(shù)據(jù)或表格。
(3) 數(shù)據(jù)存儲器(RAM)
AT89S52內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。
圖4-1內(nèi)部結(jié)構(gòu)框圖
(4) 并行輸入輸出口
AT89S52共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。
(5) 串行輸入輸出口
AT89S52內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。
(6) 定時/計數(shù)器
AT89S52有三個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)功能,并以其定時或計數(shù)結(jié)果對單片機進行控制。
(7) 中斷系統(tǒng)
AT89S52具備較完善的中斷功能,有兩個外中斷、三個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有兩級的優(yōu)先級別選擇。
4.1.2 引腳功能
圖4-2 AT89S52芯片引腳圖
(1) 電源和晶振
VCC:供電電壓。
GND:接地。
XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。
XTAL2:來自反向振蕩器的輸出。
(2) I/O口
① P0口
P0口的字節(jié)地址為80H,位地址為80H~87H。P0口既可以作為通用I/O口使用,也可以作為單片機系統(tǒng)的地址/數(shù)據(jù)線使用。當作為輸出口使用時,由于輸出電路是漏極開路,必須外接上拉電阻才能有高電平輸出。
② P1口
P1口的字節(jié)地址為90H,位地址為90H~97H。P1口只能作為通用I/O口使用。當作為輸出口使用時,已能對外提供推拉電流負載,外電路無需再接上拉電阻;當作為輸入口使用時,應(yīng)先向其鎖存器寫入“1”,使輸出驅(qū)動電路的FET截止。
③ P2口
P2口的字節(jié)地址為0A0H,位地址為0A0H~0A7H。P2口用于為系統(tǒng)提供高位地址,但只作為地址線使用而不作為數(shù)據(jù)線使用。此外,P2口也可作為通用I/O口使用。
④ P3口
P3口的字節(jié)地址為0B0H,位地址為0B0H~0B7H。P3口可以作為通用I/O口使用,但在實際應(yīng)用中它的第二功能信號更為重要。
P3口引腳的第二功能,如下所示:
P3.0 RXD(串行輸入口)
P3.1 TXD(串行輸出口)
P3.2 /INT0(外部中斷0)
P3.3 /INT1(外部中斷1)
P3.4 T0(計時器0外部輸入)
P3.5 T1(計時器1外部輸入)
P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)
P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)
(3) 4根控制線
① RST:復(fù)位信號。保持RST腳兩個機器周期以上的高電平,就可以完成CPU系統(tǒng)復(fù)位操作,使系統(tǒng)的一些單元內(nèi)容回到規(guī)定值。
② /PSEN:外部程序存儲器讀選通信號。在讀外部ROM時,/PSEN有效(低電平),以實現(xiàn)外部ROM單元的讀操作。
③ /EA/VPP:訪問程序存儲器控制信號。當/EA信號為低電平時,對ROM的讀操作限定在外部程序存儲器;而當/EA為高電平時,則對ROM的讀操作是從內(nèi)部程序存儲器開始,并可延續(xù)至外部程序存儲器。
④ ALE/PROG:地址鎖存控制信號。在系統(tǒng)擴展時,ALE用于控制P0口輸出的低8位地址送入鎖存器鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的分時傳送。此外由于ALE是以六分之一晶振頻率的固定頻率輸出的正脈沖,因此也可作為外部時鐘或外部定時脈沖使用。
4.2 串口通信
通信主要有兩種方式:并行通信和串行通信。并行通信是在傳送數(shù)據(jù)過程中每個字節(jié)的各位同時進行傳送的通信方式,而串行通信[14]是指每個字節(jié)的各位分別進行傳送的通信方式。
4.2.1 串口通信方式
AT89S52串行口可設(shè)置四種工作方式,可有8位、10位和11位幀格式。本系統(tǒng)中,AT89S52采用串行口工作于方式1,即每幀10位的異步通信格式:1位起始位,8位數(shù)據(jù)位(低位在前),1位停止位。當SM0=0,SM1=1時,串行口選擇方式1。其幀格式為:
停止
起始
D6
D7
D0
D1
D2
D3
D4
D5
圖4-3 幀格式圖
4.2.2 串行通信控制寄存器
(1) 串行控制寄存器(SCON)
SCON的地址為98H,用于選擇串行口的工作方式和指示串行口的工作狀態(tài)。
各位含義如下:
① SM0、SM1:串行口工作方式選擇位。
② SM2:多機通信選擇位。
③ REN:串行口允許接收位?!?’時允許接收,‘0’時禁止接收。
④ TI: 串行口發(fā)送中斷標志位。在方式1中,于發(fā)送停止位之前,由硬件置位。因此TI=1,表示幀發(fā)送結(jié)束。
⑤ RI: 串行口接收中斷標志位。在方式1中,當接收到停止位時,該位由硬件置位。RI=1,表示幀接收結(jié)束。
(2) 串行數(shù)據(jù)緩沖器(SBUF)
串行數(shù)據(jù)緩沖器SBUF的地址為99 H,用來存放需發(fā)送和接收的數(shù)據(jù),它由兩個獨立的寄存器組成,一個是發(fā)送緩沖器,另一個是接收緩沖器,它們占用同一地址(99H)。當執(zhí)行寫SBUF指令時,數(shù)據(jù)寫入到串行口發(fā)送緩沖器中,讀SBUF就是讀串行口接收緩沖器。
(3) 電源控制寄存器(PCON)
PCON的地址為87H,該寄存器的最高位(SMOD)是串行口波特率的倍增位,當SMOD=1時,串行口波特率加倍。系統(tǒng)復(fù)位時,SMOD=0。
(4) 中斷允許寄存器(IE)
在IE中,ES位為串行中斷允許控制位。ES=0時禁止串行中斷,ES=1時允許串行中斷。
4.2.3 數(shù)據(jù)發(fā)送與接收
(1) 數(shù)據(jù)發(fā)送
在不發(fā)送數(shù)據(jù)時,TXD端保持高電平。當執(zhí)行寫SBUF的指令時,便啟動一次發(fā)送過程;發(fā)送數(shù)據(jù)時,先發(fā)送一個起始位,該位通知接收端開始接收,也使發(fā)送和接收過程同步。接下來發(fā)送8位數(shù)據(jù),先發(fā)送低位,最后發(fā)送的是高電平的停止位。
(2) 數(shù)據(jù)接收
REN=1,CPU允許串行口接收數(shù)據(jù),接收數(shù)據(jù)開始于檢測到RXD(P3.0)端發(fā)生一個“1”到“0”的跳變。先接收起始位,然后依次將采樣RXD端并將數(shù)據(jù)移入移位寄存器中。
若滿足條件RI=0且SM2=0或接收到停止位,則將前8位數(shù)據(jù)送入SBUF并置位RI;如果上述條件不滿足,則數(shù)據(jù)丟失。
(3) 波特率的設(shè)定
串口方式1的波特率是可變的,由定時器T1的溢出率決定:
(4.1)
其中,SMOD為PCON寄存器最高位的值。
溢出率為溢出周期的倒數(shù),假定計數(shù)初值為X,則計數(shù)溢出周期為
(4.2)
其中,fosc為晶振頻率。
則波特率計算公式為:
(4.3)
由波特率算出計數(shù)初值,以便進行定時器的初始化。初值X確定如下:
(4.4)
5 顯示部分
HY-12864[12]是使用HD61202作為列驅(qū)動器,同時使用HD61203作為行驅(qū)動器的液晶模塊,共有兩片HD61202和一片HD61203。由于HD61203不與MPU發(fā)生聯(lián)系,只要提供電源就能產(chǎn)生行驅(qū)動信號和各種同步信號,比較簡單,所以不做介紹。
HD61202是一種帶有列驅(qū)動輸出的液晶顯示控制器,它可與行驅(qū)動器HD61203配合使用,組成液晶顯示驅(qū)動控制系統(tǒng)。
5.1 HD61202功能簡介
5.1.1 特點
(1) 內(nèi)藏64×64=4096位顯示RAM,RAM中每位數(shù)據(jù)對應(yīng)LCD屏上一個點的亮、暗狀態(tài);
(2) HD61202是列驅(qū)動器,具有64路列驅(qū)動輸出;
(3) HD61202的占空比為1/32--1/64。
5.1.2 引腳功能
CS1,CS2:芯片片選端,CS1和CS2低電平選通;
E:讀寫使能信號,在E下降沿,數(shù)據(jù)被鎖存(寫)入HD61202;在E高電平期間,數(shù)據(jù)被讀出;
R/W: 讀寫選擇信號,R/W=1為讀選通,R/W=0為寫選通;
RS:數(shù)據(jù)、指令選擇信號,RS=1為數(shù)據(jù)操作,RS=0為寫指令或讀狀態(tài);
DB0-DB7:數(shù)據(jù)總線;
RST:復(fù)位信號,復(fù)位信號有效時,關(guān)閉液晶顯示,使顯示起始行為0,RST可跟MPU相連,由MPU控制;也可直接接VDD,使之不起作用。
5.2 HD61202的指令系統(tǒng)
(1) 顯示開/關(guān)指令
R/W RS
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0
0 0 1 1 1 1 1 1/0
當DBO=1時,LCD顯示RAM中的內(nèi)容;DBO=0時,關(guān)閉顯示。
(2) 顯示起始行(ROW)設(shè)置指令
R/W RS
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0
1 1 顯示起始行(0-63)
該指令設(shè)置了對應(yīng)液晶屏最上一行的顯示RAM的行號,有規(guī)律的改變顯示起始行,可以使LCD實現(xiàn)顯示滾屏的效果。
(3) 頁(RAGE)設(shè)置指令
R/W RS
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0
1
0
1
1
1
頁號(0-7)
顯示RAM共64行,分8頁,每頁8行。
(4) 地址(Y Address)設(shè)置指令
R/W RS
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0
0 1 顯示列地址(0-63)
設(shè)置了頁地址和列地址,就唯一確定了顯示RAM中的一個單元,這樣MPU就可以用讀、寫指令讀出該單元中的內(nèi)容或向該單元寫進一個字節(jié)數(shù)據(jù)。
(5) 狀態(tài)指令
R/W RS
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
1 0
BUSY 0 ON/OFF REST 0 0 0 0
該指令用來查詢HD61202的狀態(tài),各參量含義如下:
BUSY: 1-內(nèi)部在工作 0-正常狀態(tài)
ON/OFF:1-顯示關(guān)閉 0-顯示打開
REST: 1-復(fù)位狀態(tài) 0-正常狀態(tài)
在BUSY和REST狀態(tài)時,除讀狀態(tài)指令外,其它指令均不對HD61202產(chǎn)生作用。
在對HD61202操作之前要查詢BUSY狀態(tài),以確定是否可以對HD61202進行操作。
(6) 數(shù)據(jù)指令
R/W RS
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 1
寫 數(shù) 據(jù)
(7) 讀數(shù)據(jù)指令
R/W RS
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
1 1
讀 顯 示 數(shù) 據(jù)
讀、寫數(shù)據(jù)指令每執(zhí)行完一次讀、寫操作,列地址就自動增1,必須注意進行讀操作之前,必須有一次空讀操作,緊接著再讀才會讀出所要讀的單元中的數(shù)據(jù)。
5.3 顯示電路
在AT89S52的P3.6和P3.7口接入四-二輸入與非門芯片74LS00來控制顯示器的讀寫使能信號端;顯示器的8根數(shù)據(jù)總線接在AT89S52的P0口,實現(xiàn)數(shù)據(jù)傳輸;在顯示器的V0口接一電位器,由于液晶的對比度會隨著溫度的變化而相應(yīng)變化,所以加電位器可以調(diào)節(jié)液晶的對比度。
圖5-1 收發(fā)系統(tǒng)顯示電路
6 軟件設(shè)計
無線數(shù)據(jù)傳輸主要由無線數(shù)據(jù)收發(fā)器、AT89S52單片機、顯示器和按鍵組成,收發(fā)器與AT89S52間用串行口通信。整個系統(tǒng)的各個部分都是服務(wù)于無線數(shù)據(jù)傳輸這個目的。所以,在整個系統(tǒng)的軟件設(shè)計中,無線數(shù)據(jù)的傳輸是最為重要的。這里使用匯編語言編寫單片機控制程序??刂葡到y(tǒng)CPU采用AT89S52單片機,nRF401芯片發(fā)射/接收模式由程序控制,當有控制發(fā)送的按鍵按下時,nRF401為發(fā)射狀態(tài),其余的時候nRF401始終處于接收狀態(tài)。DOUT、DIN分別和單片機的RXD和TXD端相連,作為發(fā)射和接收時的數(shù)據(jù)傳輸。TXEN和P1.0端相連,由單片機的P1.0端對其發(fā)射還是接收進行程序控制。
6.1 主程序流程圖
當單片機上電開始執(zhí)行之后,對液晶和單片機寄存器進行初始化,同時設(shè)置串口控制字及波特率,接著進入鍵盤掃描程序和接收程序。若有某個按鍵按下,則執(zhí)行相應(yīng)的鍵盤子程序;若單片機判斷接收到數(shù)據(jù),則開始進行CRC校驗[14],如果數(shù)據(jù)正確就通過液晶顯示傳送的信息。主程序流程圖見圖6-1。
開始
初始化
設(shè)置串口工作方式
N
Y
N
N
判斷是否有按鍵按下
執(zhí)行相應(yīng)的程序
判斷是否接收到數(shù)據(jù)
CRC校驗是否正確
數(shù)據(jù)處理
送入顯示
掃描鍵盤,同時判斷是否有數(shù)據(jù)接收
Y
Y
圖6-1 主程序流程圖
6.2 液晶顯示子程序流程圖
液晶顯示模塊HY-12864內(nèi)有一個忙標志位ACC.7,它反映了控制器HD61202內(nèi)部運行時序狀態(tài)。當ACC.7=1時,表示內(nèi)部操作正在運行,不能接受外部數(shù)據(jù);當ACC.7=0時,表示已準備好接收,可以隨時接收單片機發(fā)來的數(shù)據(jù)和命令,這是HY-12864向單片機發(fā)出的唯一聯(lián)絡(luò)信號。液晶顯示子程序流程圖見圖6-2。
入口
對HY-12864初始化
寫入顯示設(shè)置命令
ACC.7=0?
延時1ms
獲得顯示RAM地址
Y
N
延時1ms
檢測忙信號
寫入相應(yīng)的數(shù)據(jù)
數(shù)據(jù)顯示完畢
返回主程序
圖6-2 液晶顯示子程序流程圖
6.3 數(shù)據(jù)收發(fā)子程序流程圖
單片機AT89S52控制nRF401的收發(fā)狀態(tài)、完成編解碼等工作。nRF401芯片 “PWR-UP” 端接高電平,“FREQ” 端接低電平,分別表示系統(tǒng)在上電后始終處于 “正常工作模式”和“工作頻道為通道1”。單片機AT89S52控制nRF401,使其一直為接收狀態(tài)。當按鍵4按下時,AT89S52接收到輸入的低電平信號,從腳送出高電平至P1.0腳,使nRF401進入發(fā)射狀態(tài)。數(shù)據(jù)收發(fā)子程序流程圖見圖6-3。
入口
置nRF401為接收狀態(tài)
判斷按鍵4是否按下
置nRF401為發(fā)射狀態(tài)
數(shù)據(jù)發(fā)射
Y
N
鍵盤掃描
圖6-3 數(shù)據(jù)收發(fā)子程序流程圖
6.4 鍵盤子程序流程圖
下圖為鍵盤子程序流程圖,此流程圖的含義是:當有按鍵按下時,程序開始進行判斷是哪個按鍵按下,判斷完畢后則轉(zhuǎn)向相應(yīng)的鍵處理子程序,進行字符的輸入或命令的處理,并通過按鍵4把要發(fā)送的數(shù)據(jù)進行CRC校驗編碼,再把編碼后的數(shù)據(jù)發(fā)送出去。
有按鍵按下
判斷是哪個按鍵按下
按鍵1
按鍵4
按鍵3
按鍵2
CRC校驗發(fā)送數(shù)據(jù)
清零
選擇要發(fā)送的數(shù)據(jù)
將要顯示的數(shù)據(jù)
移位
圖6-4 鍵盤子程序流程圖
7 測試結(jié)果及分析
7.1 硬件電路測試
本設(shè)計中將控制模塊和無線射頻模式分開設(shè)計,控制模塊通過一只單排7腳的接口控制射頻模塊,測試的步驟如下:
(1) 將控制模塊和無線射頻模塊焊好,檢查確認無虛焊、粘焊;
(2) 先對控制模塊上電進行測試,主要是測試控制模塊的串口能否收發(fā)數(shù)據(jù),測試方法是將控制模塊的串口與PC機的串口通過RS232標準相連接,并將串口的程序?qū)懙紸T89S52上,然后用串口測試軟件測試,如果串口能收發(fā)數(shù)據(jù),便可開始對無線射頻模塊進行測試;
(3) 將無線收發(fā)模塊與控制模塊連接起來,上電進行測試,按照程序,上電時處于接收狀態(tài),看是否與程序吻合;
(4) 確認射頻模塊上電處于接收狀態(tài)后,可測試nRF401的第4管腳是否為1.1V左右,如果是,則說明VCO電感設(shè)計合理,否則要重新設(shè)計PCB板,此外,nRF401在沒有數(shù)據(jù)接收時,仍會自動從DOUT發(fā)送隨機數(shù)據(jù),使用萬用表進行測試時,該引腳電壓應(yīng)為2.5V左右。
7.2 系統(tǒng)測試
7.2.1 測試方法
(1) 首先讓電路正常工作,把接收器放在一定的位置,將發(fā)射器從遠處逐漸靠近接收器,可測到傳送的最遠距離。
(2) 在距離接收器一定的距離時,間隔一段時間就發(fā)送數(shù)據(jù)信息,可測出接收器的接收靈敏度。
(3) 比較發(fā)射器和接收器的數(shù)據(jù)顯示是否相同,以測試傳輸數(shù)據(jù)的正確性。
7.2.2 功能測試及分析
由于無線通信環(huán)境的不確定性,各種環(huán)境下的傳輸效果是不盡相同的,路徑損耗、建筑物影響、人體影響、外界干擾、多徑現(xiàn)象和周圍環(huán)境的吸收等都會對傳輸?shù)木嚯x產(chǎn)生一定的影響,只能在一個給定的條件下進行測試和評估。因此,分別選擇了不同的試驗場地來進行實驗。
(1) 當建筑物很多的時候,數(shù)傳模塊兩端均離地面1.5m(2.0m)高時,能夠達到的最佳通信距離為5~10m;接收靈敏度為2~3秒;當發(fā)送端發(fā)送MESSAGE時,接收端能準確顯示MESSAGE這段英文字符。
(2) 在空曠場地,數(shù)傳模塊兩端均離地面1.5m高時,最遠的通信距離能夠達到50m;接收靈敏度為3~5秒;當發(fā)送端發(fā)送字母A時,接收端能準確顯示。
但測試中的通信距離與數(shù)據(jù)手冊上的說明相差較大,原因可能源于調(diào)諧天線。在實驗中發(fā)現(xiàn),當有人員走動或其它信號出現(xiàn)的時候,通信的距離會變得不穩(wěn)定,這是由于天線是一個輻射器件,任何環(huán)境的改變都會影響天線的性能。
測試中還發(fā)現(xiàn),在現(xiàn)場即使沒有任何發(fā)送器,在nRF401的DOUT引腳上也會觀察到微小的連續(xù)數(shù)字“噪聲”。后來通過研究發(fā)現(xiàn),當接收器打開時,環(huán)境中的任何信號(數(shù)據(jù)或噪聲)都會被天線捕捉到并被解調(diào)。這就是所看到的系統(tǒng)中沒有工作的發(fā)送器卻存在“噪聲”的原因。
通過對系統(tǒng)數(shù)據(jù)傳輸能力的測試,該系統(tǒng)發(fā)送和接收數(shù)據(jù)正確、可靠,各元件工作正常。在硬件連接正確的基礎(chǔ)上,利用nRF401進行串行數(shù)據(jù)接收及發(fā)送,收到了較好效果。
8結(jié)論
此次設(shè)計將應(yīng)用于無線通信領(lǐng)域,并且針對當前市場上無線產(chǎn)品的不足進行了改進。本文根據(jù)nRF401的特點,提出了一種將其應(yīng)用無線數(shù)據(jù)收發(fā)系統(tǒng)的實現(xiàn)方案。此方案采用了較完善的軟硬件設(shè)計和抗干擾措施,保證了系統(tǒng)工作的安全性和可靠性,是一種較好的設(shè)計思路,具有通用性,便于投入實際應(yīng)用。并且只要稍作改動就可以應(yīng)用到小區(qū)傳呼、工業(yè)數(shù)據(jù)采集、自動讀表、警報和安全系統(tǒng)、無線鍵盤、無線操縱桿、家庭自動化、遙測和玩具等其他一些短距離無線通信領(lǐng)域,實現(xiàn)無線數(shù)據(jù)的雙向傳輸,具有較好的市場應(yīng)用價值。
參考文獻
[1] 黃智偉.無線數(shù)字收發(fā)電路設(shè)計,第2版,電子工業(yè)出版社,2004年,253-269.
[2] WU Xunwei,HANG Guoqiang. Low power DC circuits employing AC power supply, SCIENCE IN CHINA (INFORMATION SCIENCES),2002,Vol.45 No.3,232.
[3] 苗長云,沈保鎖,竇晉江等.現(xiàn)代通信原理,第1版,電子工業(yè)出版社,2005年,174-177.
[4] Behrouz Forouzan. Introduction to Data Communications and Networking,F(xiàn)irst Edition,mechanic industry book concern,1999,121-125.
[5] Kaveh Pahlavan .Nordic nRF401 Product Specification,Nordic corporation,2000,36.
[6] Nigel Brooke.串行數(shù)據(jù)標準的選擇與使用,電子產(chǎn)品世界,2000年,10月,31-32.
[7] Richard G.lyons. Understanding Digital Signal Processing,Bradford University,2001,36-37.
[8] Tugal. D. A, Tugal. 0. Data Transmission-analysis Design Applications,
Florence,Italy,2004,32.
[9] 趙景波,劉金輝,榮盤祥等.Protel DXP 基礎(chǔ)與實例培訓(xùn)教程,第1版,中國電力出版社,2005年,119-144.
[10] 臧鐵鋼,唐才峰,陳學鋒等. Protel DXP 電路設(shè)計與應(yīng)用,第1版,中國鐵道出版社,2004年,172-179.
[11] 劉立楓,趙民建.信號接收機,中國無線電電子學文摘,2005年,31期,45-47.
[12] 周仕鳳.用MCS-51做LCD接口實驗,電子世界,2002年,第8期,37.
[13] 李廣第,朱月秀,王秀山等.單片機基礎(chǔ),第2版,北京航空航天大學出版社,2001年,40-70.
[14] 楊振江,杜鐵軍,李群等. 流行單片機實用子程序及應(yīng)用實例,第1版,西安電子科技大學出版社,2002年,102-115.
[15] 張俊謨. MCS-51和80C51系列單片機,電子世界,2001年,第8期,30.
[16] 蔡瑩.液晶技術(shù)與電子紙,電子產(chǎn)品世界,2003年,11上半月,38-40.
[17] 康華光,鄒壽彬.電子技術(shù)基礎(chǔ),第1版,高等教育出版社,2002年,191-197.
[18] 黃智偉,王彥,陳文光等.全國大學生電子設(shè)計競賽訓(xùn)練教程,第1版,電子工業(yè)出版社,2004年,73-80.
致 謝
四年大學的學習已經(jīng)接近尾聲,這次畢業(yè)設(shè)計不僅使我將所學的知識都融合在一起,還給了我一次鍛煉動手能力的機會,并且在指導(dǎo)教師的幫助下,使我的專業(yè)水平有了很大的提高。
在畢業(yè)設(shè)計即將結(jié)束之際,我要感謝我的指導(dǎo)教師李杰老師以及胡建明老師。他們不辭辛苦,經(jīng)常利用自己的休息時間幫助我。當我有不明白的問題時,老師們會耐心地給我講解,并在學習和科研方面給了我大量的指導(dǎo),為我提供了良好的科研環(huán)境,不僅讓我學到了知識,掌握了科研的方法,也獲得了實踐鍛煉的機會。老師們言傳身教、循循善誘,使我學到了作為一名大學生應(yīng)該具備的那種踏實勤懇、一絲不茍、求真務(wù)實的優(yōu)良品質(zhì)和嚴謹?shù)慕虒W態(tài)度。在本論文的撰寫過程中,老師從選題直至成稿一直給予我重要的指導(dǎo)和幫助,為我解開了無數(shù)的困惑,提供了很多關(guān)鍵性的建議。在課題的設(shè)計中,我對各種編程方法都有了更進一步的了解,拓寬了知識面,開闊了眼界,提高了對知識的綜合應(yīng)用能力,增強了學習知識的興趣。在內(nèi)容的研究中,他們在技術(shù)上給予了我極大的幫助,并且在論文的最后評閱過程中,也給我提出了非常有價值的意見,使我受益匪淺。在此祝愿老師們身體健康,全家幸福。
最后,我要再一次感謝所有在此期間幫助過我的人,我衷心的祝福你們!
附錄1:程序
COM EQU 34H ;指令寄存器
DAT EQU 35H ;數(shù)據(jù)寄存器
CWADD1 EQU 8400H ;寫指令代碼地址(左)
CRADD1 EQU 8600H ;讀狀態(tài)字地址(左)
DWADD1 EQU 8500H ;寫顯示數(shù)據(jù)地址(左)
DRADD1 EQU 8700H ;讀顯示數(shù)據(jù)地址(左)
CWADD2 EQU 8800H ;寫指令代碼地址(右)
CRADD2 EQU 8A00H ;讀狀態(tài)字地址(右)
DWADD2 EQU 8900H ;寫顯示數(shù)據(jù)地址(右)
DRADD2 EQU 8B00H ;讀顯示數(shù)據(jù)地址(右)
RELIE EQU 36H ;在漢字中保存列其始值
COLUMN EQU 30H ;列地址寄存器(0-127)
PAGER EQU 31H ;頁地址寄存器D2,D1,D0:頁地址
;D7:字符體D7=0為6X8點陣
; D7=1為8X8點陣
CODER EQU 32H ;字符代碼寄存器
COUNT EQU 33H ;計數(shù)器
ZIDI EQU 37H ;字體在表中的位置指針地位
;MOV DPTR,#CCTAB
; MOV ZIDI,DPL MOV ZIGAO,DPH 44,43,4A,4B,4C,4D,4E,4F
ZIGAO EQU 38H ;字體在表中的位置指針高位
;3CH,3DH,3EH,3FH作鍵盤用
;*******************************************************************
ORG 0000H
AJMP MAIN
;ORG 0023H
;AJMP JIESHOU
ORG 0030H
;數(shù)據(jù)接P0口
MAIN: MOV SP,#70H
LCALL INT
LCALL CLEAR
LCALL DDD ;靜態(tài)字顯示
MOV 41H,#20H
MOV 48H,#00H
MOV 42H,#50H
MOV R0,#12H
MOV R1,#50H
MOV A,#00H
CHUFAN2: MOV @R1,A
INC R1
DJNZ R0,CHUFAN2
MOV SCON,#50H
MOV TMOD,#00100001B
MOV TL1,#0F3H
MOV TH1,#0F3H
MOV TH0,#00H;軟件看門狗
MOV TH0,#00H
CLR TR0
SETB TR1
MOV PCON,#00H
CLR P1.0
;SETB EA
SETB ES
SETB PS
ANJIAN: JNB P3.2,DOU1
JNB P3.3,DOU1
JNB P3.4,DOU1
JNB P3.5,DOU1
LCALL JIESHOU
;LCALL DELAY
;LCALL DELAY
LJMP ANJIAN
DOU1: LCALL DELAY1
JNB P3.2,JIAYI0
JNB P3.3,JIASHI0
JNB P3.4,JIANYI0
JNB P3.5,JIANSHI0
LJMP ANJIAN
JIAYI0: AJMP MN0
JIASHI0:AJMP MN1
JIANYI0:AJMP MN2
JIANSHI0:AJMP MN3
;鍵盤入口地址
MN0: CLR C
MOV A,48H
SUBB A,#78H
JC MN3XIA
AJMP MNC
MN3XIA: MOV A,48H
CLR C
ADD A,#08H
MOV 48H,A
INC 42H
MNC: AJMP ANJIAN
MN1: CLR C
MOV A,41H
SUBB A,#3AH
JC MN2XIA1
MOV 41H,#21H
MOV 47H,41H
MOV 45H,#87H
MOV 46H,48H
LCALL SONGXIAN
AJMP QQ
MN2XIA1:INC 41H
MOV 47H,41H
MOV 45H,#87H
MOV 46H,48H
MOV R0,42H
MOV @R0,41H
LCALL SONGXIAN
QQ: AJMP ANJIAN
MN2: MOV R0,#12H
MOV R1,#50H
MOV A,#00H
CHUFAN1: MOV @R1,A
INC R1
DJNZ R0,CHUFAN1
LCALL QINGPING
MOV 41H,#20H
MOV 42H,#50H
MOV 48H,#00H
AJMP ANJIAN
MN3: CLR EA
MOV TMOD,#20H
MOV TL1,#0F3H
MOV TH1,#0F3H
MOV IE,#00H
SETB TR1
MOV PCON,#00H
MOV SCON,#40H
SETB P1.0
LCALL DELAY
MOV R7,#2FH
MN33: LCALL CHUANSONG
DJNZ R7,MN33
CLR P1.0
;SETB EA
AJMP ANJIAN
DELAY: MOV R7,#01H
D11: MOV R6,#01H
收藏