<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 兼容RS-232的點(diǎn)對點(diǎn)無(wú)線(xiàn)接口設計(圖)

兼容RS-232的點(diǎn)對點(diǎn)無(wú)線(xiàn)接口設計(圖)

作者: 時(shí)間:2008-01-11 來(lái)源:網(wǎng)絡(luò ) 收藏

本文設計了基于RF芯片nRF2401的-的無(wú)線(xiàn)數傳模塊,給出了系統的硬件電路及相關(guān)軟件設計的解決方案。

前言
隨著(zhù)通信、信息技術(shù)和微電子技術(shù)的飛速發(fā)展,短距離無(wú)線(xiàn)通信的應用步伐不斷加快。在短距離無(wú)線(xiàn)數據通信中,目前最為成熟的三個(gè)標準是:Bluetooth, 802.11(Wi_Fi)和IrDA。RFID和UWB憑借其獨有的特點(diǎn)成為短距離無(wú)線(xiàn)數據傳輸技術(shù)的后起之秀。


-接口標準是一種廣泛的普及標準,但此標準推出較早,在現代金融、保險、電信和電子化網(wǎng)絡(luò )中已暴露出明顯的問(wèn)題:信號線(xiàn)易受外界干擾;-采取不平衡傳輸方式,其共模抑制能力差,再加上雙絞線(xiàn)上的分布電容,其傳送距離最大約為15m。由于上述問(wèn)題的存在,導致RS-232串口數據線(xiàn)對電壓浪涌特別敏感。目前,非交流電源線(xiàn)路的浪涌所引起的損害占據全部浪涌損害的一大部分。其后果是:硬件損壞、數據丟失、通信中斷以及由此引起停機。


為了改進(jìn)RS-232通信距離短、易受外界干擾的缺點(diǎn)和滿(mǎn)足PC系統需要增加無(wú)線(xiàn)數據傳輸功能的需要,設計了基于RF芯片nRF2401的RS232的無(wú)線(xiàn)數傳模塊。

系統設計
nRF2401采用 5mm5mm的24引腳QFN封裝,具有突發(fā)傳遞和直接傳遞兩種工作模式。突發(fā)傳遞模式以低速率向nRF2401寫(xiě)入待發(fā)數據,以高速率無(wú)線(xiàn)傳輸,盡量降低功耗。直接傳遞模式與傳統RF器件工作模式一致。

圖1 TTL/ RS232的邏輯電平轉換電路


nRF2401的主要特點(diǎn):
● 全球開(kāi)放的2.4GHz頻段,125個(gè)頻道,滿(mǎn)足多頻及跳頻需要。
● 高速率( 1Mb/s),優(yōu)于藍牙技術(shù)。
● 外圍元件極少,電壓范圍為1.9~3.6V,電流消耗很小,功耗很低。
● 發(fā)射功率和工作頻率等所有工作參數可全部通過(guò)軟件設置。
● 芯片內部設有專(zhuān)門(mén)的穩壓電路,且無(wú)須外部SAW濾波器。
● 獨特設計:采用DuoCeiver 技術(shù)可同時(shí)接收兩個(gè)nRF2401的數據。
● 可通過(guò)軟件設置最多40位地址,且只有收到本機地址時(shí)才會(huì )輸出數據。
● 內置CRC校驗硬件電路和協(xié)議,有數據時(shí)隙和數據時(shí)鐘恢復功能。


1 nRF2401的高頻頭設計
nRF2401芯片以及其外圍元件電路組成了發(fā)送接收模塊??紤]到電磁性,nRF2401的應用電路單獨做成一塊PCB。高頻模塊使用雙層PCB,PCB設計中大量使用過(guò)孔,使頂層和底層的地充分接觸,PCB的空余部分大面積連續接地。

圖2 MCU與nRF2401的直連方式


2 接口電路設計
RS232信號在正負電平之間擺動(dòng)。發(fā)送數據時(shí),發(fā)送端驅動(dòng)器輸出正電平在+5~+15V,負電平在-5~-15V。從開(kāi)始傳送數據到結束,線(xiàn)上電平從TTL電平到RS-232電平再返回TTL電平。接收器典型的工作電平在+3~+12V與-3~-12V。選用MAX3232芯片作TTL/ RS232的邏輯電平轉換。圖1為T(mén)TL/ RS232邏輯電平轉換的原理圖電路。其中C16、C20使用1uF獨石電容,C17、C19使用0.1μF獨石電容。


MCU與nRF2401的連接采用I/O口直接連接方式。原理圖如圖2所示。連接電路中采用電阻分壓網(wǎng)絡(luò )來(lái)實(shí)現AT89S52與 nRF2401的數據交互。


3 軟件設計
nRF2401的ShockBurstTM RX/TX模式采用片上 FIFO來(lái)進(jìn)行低數據率的時(shí)鐘同步和高數據率的傳輸,因此極大地降低了功耗。ShockBurstTM發(fā)射主要通過(guò)MCU接口引腳CE、CLK1和DATA來(lái)完成。當MCU請求發(fā)送數據時(shí),置CE為高電平,此時(shí)的接收機地址和有效載荷數據作為nRF2401的內部時(shí)鐘,可用請求協(xié)議或MCU將速率調至1Mb/s;置CE為低電平可激活ShockBurstTM發(fā)射。nRF2401在突發(fā)模式下的幀格式如表1所示。

圖3 程序流程圖


程序流程圖如圖3所示。
nRF2401具有144位狀態(tài)字??刂破鲗RF2401設置為配置方式,然后由通道1向nRF2401寫(xiě)入狀態(tài)字的配置值,寫(xiě)時(shí)高位在前。配置方式下控制器寫(xiě)狀態(tài)字的過(guò)程與激活方式下向nRF2401寫(xiě)入數據的過(guò)程完全相同,都經(jīng)由CLK、DR和DATA組成的三線(xiàn)接口完成。


在配置模式下,將nRF2401配置為ShockBurstTM收發(fā)模式,該模式下使nRF2401能夠處理射頻協(xié)議,在配置完成后,在nRF2401工作過(guò)程中,只需改變其最低一字節中的內容,以實(shí)現接收模式和發(fā)送模式的轉換。ShockBurstTM的配置字由數據寬度、地址寬度、地址和CRC四部分組成。


程序中對狀態(tài)字后的120位進(jìn)行配置,其值為0x20 4000 DDDDDD DD 00CC CCCC CC83 6E05。配置后nRF2401的通道1數據段長(cháng)度為8字節,地址段長(cháng)度為32位,通道1硬件地址為0x CCCCCCCC,使能16位CRC校驗,單通道接收,工作于突發(fā)傳遞模式下,通信速率為1Mb/s,晶振頻率為16MHz,輸出功率-5dbm,工作頻段為2402MHz。


①發(fā)送、接收數據的程序設計
void ShockBurstTrans(){
unsigned char ByteNum;
MODE_RT;
Delay202();
for(ByteNum=0;ByteNum14;ByteNum++)
WriteTo2401(TXData[i]);
CE=0;
DATA=0;
}
數據接收設置為中斷服務(wù)程序方式。中斷服務(wù)程序如下:
void ReceiveShock()interrupt 0 using 3{
unsigned char ByteNum;
DATA=1;
for(ByteNum=0;

ByteNum8;ByteNum++)
RXData[ByteNum]=ReadFrom2401();
}
② 串行口程序設計
采用中斷方式進(jìn)行串口管理。串行通信中對數據流的處理采用突發(fā)處理方式。針對RAM空間有限的情況,利用軟件模擬FIFO寄存器結構。
串口的接收和發(fā)送工作是相對獨立的,構建兩個(gè)環(huán)形緩沖區來(lái)實(shí)現具有FIFO功能的緩沖區隊列。每一個(gè)環(huán)形緩沖區都對應有寫(xiě)入(Ptr_Wr)和讀出(Ptr_ Rd)兩個(gè)指針,從寫(xiě)指針到讀指針之間的相對區域存儲的是待發(fā)送或已接收的數據,兩個(gè)指針的前后次序通過(guò)標志位(bFlag_Order)判別,當它們的位置重合時(shí)則表示沒(méi)有有效數據。讀寫(xiě)指針相對位置與存儲的數據之間的關(guān)系如圖4所示。陰影部分表示有效數據。

圖4 讀寫(xiě)指針相對位置與存儲數據之間的關(guān)系示意圖



結論
隨著(zhù)Internet的飛速發(fā)展,從WAN到MAN,再到LAN、PAN,這些技術(shù)已逐漸成熟。無(wú)線(xiàn)網(wǎng)絡(luò )在各類(lèi)網(wǎng)絡(luò )中最具增長(cháng)潛力。由于各種無(wú)線(xiàn)標準自身的技術(shù)也有待于不斷完善和提高,無(wú)線(xiàn)技術(shù)的應用還有很大的市場(chǎng)空間。


nRF2401是一款性?xún)r(jià)比很高的單片無(wú)線(xiàn)收發(fā)芯片,利用AT89S52和nRF2401芯片設計的無(wú)線(xiàn)數據傳輸系統,成本低,體積小,應用靈活,具有良好的通用性和可靠性。通過(guò)調試結果表明,nRF2401芯片可以與微控制器連接實(shí)現無(wú)線(xiàn)數據通信,進(jìn)而實(shí)現了PC之間的無(wú)線(xiàn)通信,并且通信質(zhì)量可靠穩定。



關(guān)鍵詞: 232 RS 兼容 點(diǎn)對點(diǎn)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>