0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于51單片機(jī)和nRF905芯片實(shí)現(xiàn)無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:電子科技 ? 作者:王華斌,孟立凡, ? 2021-05-05 09:17 ? 次閱讀

作者:王華斌,孟立凡,谷宗冉,吳慧飛

短程、便捷、廉價(jià)的無(wú)線(xiàn)通信技術(shù)正成為關(guān)注的焦點(diǎn),使人們對(duì)它的需求越來(lái)越高。例如無(wú)線(xiàn)數(shù)據(jù)采集、無(wú)線(xiàn)設(shè)備管理和監(jiān)控、無(wú)線(xiàn)抄表以及礦井下的無(wú)線(xiàn)通信等都是其典型應(yīng)用。

1 系統(tǒng)總體結(jié)構(gòu)

文中利用51單片機(jī)和無(wú)線(xiàn)數(shù)據(jù)收發(fā)芯片nRF905構(gòu)成無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng),給出了硬件和軟件設(shè)計(jì)方案。其數(shù)據(jù)傳輸過(guò)程是:從傳感器輸入的模擬信號(hào)經(jīng)AD采集后,將數(shù)據(jù)輸入單片機(jī),然后單片機(jī)將該發(fā)送數(shù)據(jù),通過(guò)SPI接口發(fā)送給 nRF905,nRF905將數(shù)據(jù)自動(dòng)加上前導(dǎo)碼和CRC碼后將數(shù)據(jù)包發(fā)送。當(dāng)接收端的nRF905接收到有效數(shù)據(jù)后,DR置高;單片機(jī)檢測(cè)到DR為高電平后,復(fù)位TRX_CE引腳,使nRF905進(jìn)入空閑模式,通過(guò)SPI接口從nRF905中讀出接收數(shù)據(jù),然后通過(guò)串口在上位機(jī)顯示。文中主要介紹的是 51單片機(jī)軟件模擬SPI和無(wú)線(xiàn)數(shù)據(jù)收發(fā)這兩個(gè)部分。圖1是該系統(tǒng)的總體結(jié)構(gòu)框圖。

2 SPI總線(xiàn)

SPI(Serial Peripheral Interface串行外設(shè)接口)總線(xiàn)系統(tǒng)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。該接口一般使用4條線(xiàn):串行時(shí)鐘線(xiàn)(SCK)、主機(jī)輸入從機(jī)輸出數(shù)據(jù)線(xiàn)MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線(xiàn)MOSI和低電平有效的從機(jī)選擇線(xiàn)SS??梢?jiàn)SPI總線(xiàn)只需要少數(shù)的幾根線(xiàn),就可以實(shí)現(xiàn)與具有SPI總線(xiàn)硬件接口功能的各種器件進(jìn)行通信,并且用SPI總線(xiàn)接口簡(jiǎn)化電路設(shè)計(jì),節(jié)省許多I/O口線(xiàn)供其它功能使用,提高了設(shè)計(jì)的可靠性。而對(duì)于一些不具有SPI硬件接口的器件,可以用I/O口線(xiàn)來(lái)模擬SPI。由于nRF905射頻收發(fā)模塊是通過(guò)SPI接口由MCU控制的,而采用不具有SPI接口的單片機(jī),只能通過(guò)單片機(jī)的I/O口來(lái)模擬SPI總線(xiàn)接口,實(shí)現(xiàn)無(wú)線(xiàn)通信系統(tǒng)的設(shè)計(jì)。這樣當(dāng)傳輸速度要求不是太高時(shí),使用I/O口模擬 SPI總線(xiàn),既可以增加應(yīng)用系統(tǒng)接口器件的種類(lèi),同時(shí)還提高系統(tǒng)的性能,節(jié)約成本。

3 nRF905無(wú)線(xiàn)收發(fā)芯片

nRF905是挪威Nordic VLSI公司推出的單片射頻收發(fā)器,工作電壓1.9~3.6 V,工作于433/868/915MHz這3個(gè)ISM頻段,頻道轉(zhuǎn)換時(shí)間《650μs,最大數(shù)據(jù)速率為100kbit/s。nRF905由頻率合成器、接收解調(diào)器、功率放大器、晶體振蕩器和GFSK調(diào)制器組成。自動(dòng)產(chǎn)生前導(dǎo)碼和CR校驗(yàn)碼,可以很容易通過(guò)SPI接口進(jìn)行編程配置。外圍器件連接簡(jiǎn)單,無(wú)需外部SAw濾波器。nRF905有兩種工作模式和兩種節(jié)能模式。兩種工作模式分別是ShockBurst TM發(fā)送模式和ShockBurst RM接收模式,兩種節(jié)能模式分別是掉電和SPI編程模式,Standby和SPI編程模式。nRF905的工作模式由 TRX_CE,TX_EN,PWR_UP這3個(gè)引腳的設(shè)置來(lái)決定。

4 nRF905和STC89C52RC的硬件連接電路

nRF905具有標(biāo)準(zhǔn)的SPI硬件接口,對(duì)于不帶SPI串行總線(xiàn)接口的STC89C52RC單片機(jī)來(lái)說(shuō),可以使用軟件來(lái)模擬SPI的操作。單片機(jī)和 NRF905的對(duì)應(yīng)接法是:P1.6接MISO,P1.5口接MOSI,Pl.7口接SCIOCK,P1.3接CSN。選用單片機(jī)的P1.5模擬數(shù)據(jù)輸出端MOSI;Pl.6模擬數(shù)據(jù)輸入端MISO P1.7模擬SCK的輸出端;P1.3模擬從機(jī)選擇端CSN,由程序清零此I/O口,使得與它通信的NRF905做從機(jī)。采用SPI的進(jìn)行數(shù)據(jù)傳送時(shí),在 SCK的每個(gè)下降沿將89C52配置NRF905的命令和數(shù)據(jù)通過(guò)MOSI引腳移入,在SCK的每個(gè)上升沿將欲傳給89C52的數(shù)據(jù)從MISO引腳移出。所以,這里將串行時(shí)鐘輸出口P1.7的初始狀態(tài)設(shè)置為低電平,選通從機(jī),即P1.3=0低電平后,再置P1.1為高電平。這樣,89C52在輸出1位 SCK時(shí)鐘的同時(shí),將使NRF905中數(shù)據(jù)串行左移,從而輸出1位數(shù)據(jù)至89C52的P1.6口,此后再置P1.7為0,使89C52從P1.5輸出1位數(shù)據(jù)至NRF905,至此結(jié)束了模擬1位數(shù)據(jù)的傳輸。按上述步驟循環(huán)8次,即完成通過(guò)SPI總線(xiàn)傳輸1 bit的操作。nRF905有5個(gè)內(nèi)部寄存器,分別是狀態(tài)寄存器、RF配置寄存器、發(fā)送地址寄存器、發(fā)送數(shù)據(jù)寄存器和接收數(shù)據(jù)寄存器,這5個(gè)寄存器都是通過(guò)89C52軟件模擬的SPI接口來(lái)配置的。除了對(duì)寄存器進(jìn)行配置外,89C52還要對(duì)nRF905的工作模式進(jìn)行切換控制。

5 電源電路設(shè)計(jì)

本系統(tǒng)使用兩個(gè)電源,單片機(jī)STC89C52RC使用5 V電源,NRF905采用3.3 V電源進(jìn)行供電,然后把STC89C52RC和NRF905共地,否則會(huì)出現(xiàn)無(wú)法傳輸數(shù)據(jù)。其中轉(zhuǎn)換芯片分別使用AMSlll7-5.0轉(zhuǎn)5 V芯片和AMSl117-3.3轉(zhuǎn)3.3 V芯片電路圖,如圖3所示。電源電路使用220 V的交流電適配器輸出的9 V直流,經(jīng)C1濾波進(jìn)入AMSlll7-5.0,然后在輸出端接一個(gè)100μF的電容進(jìn)行濾波去耦,從而得到5 V直流電壓供單片機(jī)使用;然后5 V電壓接入下一級(jí)AMSlll7-3.3電源轉(zhuǎn)換芯片,輸出3.3 V供NRF905使用。

6 軟件設(shè)計(jì)的C語(yǔ)言實(shí)現(xiàn)

對(duì)于發(fā)送端,首先進(jìn)行I/O口和SPI接口初始化,然后對(duì)nRF905的寄存器進(jìn)行配置并且初始化各個(gè)接口,經(jīng)過(guò)初始化,處理完采集好的數(shù)據(jù),設(shè)置 nRF905為發(fā)送模式,調(diào)用發(fā)送代碼,延時(shí)一段時(shí)間,等待數(shù)據(jù)發(fā)送完畢;同理在接收端也執(zhí)行相同的初始化,不同的只是初始化完畢后,把nRF905模塊設(shè)置成接收模式,然后調(diào)用接收程序。最后通過(guò)串口在上位機(jī)進(jìn)行顯示。

7 實(shí)驗(yàn)分析

文中對(duì)其軟硬件進(jìn)行了設(shè)計(jì)和調(diào)試,構(gòu)建了基于SPI無(wú)線(xiàn)通信系統(tǒng)平臺(tái)。實(shí)驗(yàn)證明,通過(guò)該系統(tǒng)無(wú)線(xiàn)測(cè)試板殼應(yīng)力,在nRF905發(fā)射模塊端,敲打板殼使之發(fā)生形變,再用應(yīng)變儀傳感器測(cè)得其形變的電壓值,在數(shù)據(jù)發(fā)射之前對(duì)此模擬信號(hào)進(jìn)行AD采集,并通過(guò)無(wú)線(xiàn)發(fā)射模塊把采集到的數(shù)據(jù)發(fā)射出去;同時(shí)先在離發(fā)射模塊相距50 m的位置放置一個(gè)接收模塊,接收發(fā)射數(shù)據(jù)并顯示。然后間距每進(jìn)行一次實(shí)驗(yàn)后增加50 m。以此判斷它們?cè)诒WC信號(hào)傳輸穩(wěn)定情況下的最遠(yuǎn)傳輸距離。測(cè)得最佳結(jié)果在相距350 m以?xún)?nèi)的樓宇之間,數(shù)據(jù)傳輸穩(wěn)定。超過(guò)350 m時(shí),數(shù)據(jù)顯示出現(xiàn)時(shí)顯時(shí)無(wú)的現(xiàn)象。表1是在300 m左右實(shí)際測(cè)得的幾組應(yīng)變值。

8 結(jié)束語(yǔ)

文中介紹了用SPI總線(xiàn)接口進(jìn)行數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)方法,采用nRF905射頻收發(fā)芯片和STC89C52RC單片機(jī)設(shè)計(jì)了無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng),完成硬件電路和系統(tǒng)軟件調(diào)試后,進(jìn)行了無(wú)線(xiàn)數(shù)據(jù)收發(fā)實(shí)驗(yàn)。實(shí)驗(yàn)過(guò)程是通過(guò)應(yīng)變儀傳感器測(cè)板殼形變得到的模擬信號(hào),經(jīng)AD采集后產(chǎn)生要發(fā)送的數(shù)據(jù),然后對(duì)其進(jìn)行發(fā)射、接收和顯示。實(shí)驗(yàn)結(jié)果表明,在相距350 m的樓宇之間通信,該無(wú)線(xiàn)傳輸系統(tǒng)工作穩(wěn)定,接收和發(fā)射的數(shù)據(jù)完全相同,這表明該系統(tǒng)能實(shí)現(xiàn)數(shù)據(jù)的有效傳輸,具有高速、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2541

    文章

    49957

    瀏覽量

    747466
  • 芯片
    +關(guān)注

    關(guān)注

    450

    文章

    49636

    瀏覽量

    417144
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628345
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于nRF905無(wú)線(xiàn)串口通信系統(tǒng)

    本文介紹了一種硬件設(shè)計(jì)簡(jiǎn)單、數(shù)據(jù)傳輸可靠的無(wú)線(xiàn)串口通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。文中從基于nRF905芯片
    發(fā)表于 03-04 12:21

    stm32單片機(jī)驅(qū)動(dòng)nrf905的問(wèn)題

    我用51單片機(jī)與 stm32單片機(jī)進(jìn)行無(wú)線(xiàn)通信,現(xiàn)在,M3可以發(fā)送數(shù)據(jù)51
    發(fā)表于 10-13 00:22

    NRF905無(wú)線(xiàn)傳輸模塊驅(qū)動(dòng)51單片機(jī)傳輸數(shù)據(jù)

    NRF905無(wú)線(xiàn)傳輸模塊驅(qū)動(dòng)51單片機(jī)傳輸數(shù)據(jù);
    發(fā)表于 05-04 21:24

    一種基于nRF905和C8051F單片機(jī)無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

    無(wú)線(xiàn)射頻器收發(fā)組成的一種無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng)的方案。該系統(tǒng)由發(fā)射和接收模塊組成,發(fā)射模塊主要將要發(fā)送的數(shù)據(jù)
    發(fā)表于 07-19 06:02

    如何利用ATmega16和nRF905實(shí)現(xiàn)無(wú)線(xiàn)數(shù)據(jù)傳輸設(shè)備設(shè)計(jì)?

    本文介紹利用ATmega16單片機(jī)無(wú)線(xiàn)數(shù)據(jù)收發(fā)芯片nRF905構(gòu)成的短距離無(wú)線(xiàn)
    發(fā)表于 06-01 06:54

    基于PC 機(jī)無(wú)線(xiàn)水文信息數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    基于PC 機(jī)無(wú)線(xiàn)水文信息數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要:PC 機(jī)
    發(fā)表于 04-23 14:10 ?29次下載

    基于nRF905無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng)

    介紹了單片射頻收發(fā)器nRF905,設(shè)計(jì)了基于nRF905和MCU的無(wú)線(xiàn)通信系統(tǒng);給出了相關(guān)的硬件設(shè)計(jì)電路和完整的通信協(xié)議;經(jīng)過(guò)實(shí)際
    發(fā)表于 12-13 17:11 ?141次下載

    基于SPI總線(xiàn)的無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

    基于SPI總線(xiàn)的無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)   摘要: 通過(guò)基于SPI總線(xiàn)的無(wú)線(xiàn)數(shù)據(jù)通信設(shè)備,利用無(wú)線(xiàn)
    發(fā)表于 03-13 11:42 ?3727次閱讀
    基于SPI總線(xiàn)的<b class='flag-5'>無(wú)線(xiàn)</b><b class='flag-5'>數(shù)據(jù)傳輸</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    NRF905無(wú)線(xiàn)串口通信系統(tǒng)

    本文介紹了一種硬件設(shè)計(jì)簡(jiǎn)單、數(shù)據(jù)傳輸可靠的無(wú)線(xiàn)串口通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。文中從基于nRF905芯片
    發(fā)表于 03-22 14:23 ?216次下載

    NRF905無(wú)線(xiàn)收發(fā)芯片原理及設(shè)計(jì)實(shí)現(xiàn)

    介紹了無(wú)線(xiàn)收發(fā)芯片nRF905 的功能, 及其與51 單片機(jī)的接口設(shè)計(jì)。單片機(jī)可以很容易地通過(guò)S
    發(fā)表于 03-02 16:43 ?444次下載
    <b class='flag-5'>NRF905</b><b class='flag-5'>無(wú)線(xiàn)</b>收發(fā)<b class='flag-5'>芯片</b>原理及設(shè)計(jì)<b class='flag-5'>實(shí)現(xiàn)</b>

    nRF905無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng)

    nRF905無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng)。
    發(fā)表于 11-06 11:32 ?0次下載

    基于nRF905芯片無(wú)線(xiàn)傳輸設(shè)計(jì)與實(shí)現(xiàn)

    介紹 了利 用nRF905芯片進(jìn)行 無(wú)線(xiàn)傳輸的設(shè)計(jì) 思想和 實(shí)現(xiàn)方法。整個(gè)無(wú)線(xiàn)
    發(fā)表于 10-25 18:04 ?547次下載

    nRF905無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng)

    電子設(shè)計(jì)研發(fā)部分的研發(fā)人員常用資料,nRF905無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng),感興趣的可以瞧一瞧。
    發(fā)表于 11-03 14:53 ?0次下載

    NRF905無(wú)線(xiàn)收發(fā)芯片原理及設(shè)計(jì)實(shí)現(xiàn)

    介紹了無(wú)線(xiàn)收發(fā)芯片nRF905 的功能,及其與51單片機(jī)的接口設(shè)計(jì)。單片機(jī)可以很容易地通過(guò)SPI
    發(fā)表于 06-17 08:00 ?11次下載
    <b class='flag-5'>NRF905</b><b class='flag-5'>無(wú)線(xiàn)</b>收發(fā)<b class='flag-5'>芯片</b>原理及設(shè)計(jì)<b class='flag-5'>實(shí)現(xiàn)</b>

    NRF905無(wú)線(xiàn)模塊軟硬件開(kāi)發(fā)包資料包括AVR MSP430 C51單片機(jī)軟件DEMO源碼: 51

    NRF905無(wú)線(xiàn)模塊軟硬件開(kāi)發(fā)包資料包括AVR MSP430 C51單片機(jī)軟件DEMO源碼: 51系(周立功
    發(fā)表于 07-22 12:44 ?36次下載
    <b class='flag-5'>NRF905</b><b class='flag-5'>無(wú)線(xiàn)</b>模塊軟硬件開(kāi)發(fā)包資料包括AVR MSP430 C<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>軟件DEMO源碼: <b class='flag-5'>51</b>系