摘要:介紹最新51兼容的射頻SoC(片上系統(tǒng))nRF9E5的系統(tǒng)框架、各個組成部分、工作方式和配置方法;分析無線數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)和運用nRF9E5進行無線數(shù)據(jù)系統(tǒng)設(shè)計的通信協(xié)議;給出系統(tǒng)的硬件原理圖和程序流程圖;歸納nRF9E5在無線數(shù)據(jù)傳輸系統(tǒng)設(shè)計中的優(yōu)勢。
引言
nRF9E5是Nordic VLSI公司于2004年2月5日推出的系統(tǒng)級RF芯片,其內(nèi)置nRF905 433/868/915MHz收發(fā)器、8051兼容微控制器和4輸入10位80ksps A/D轉(zhuǎn)換器,是真正的系統(tǒng)級芯片,如圖1所示。內(nèi)置nRF905收發(fā)器與nRF905芯片的收發(fā)器一樣,可以工作于ShockBurst(自動處理前綴、地址和CRC)方式。內(nèi)置電壓調(diào)整模塊,最大限度地抑制噪音,為系統(tǒng)提供1.9~3.6V的工作電壓,QFN5×5mm封裝,載波檢測。nRF9E5符合美國通信委員會和歐洲電信標準學(xué)會的相關(guān)標準。由于nRF905功耗低,工作可靠,因此很適用于無線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計。
圖1
1 nRF9E5功能介紹
1.1 nRF9E5硬件
(1)微控制器
nRF9E5的片內(nèi)微控制器與標準8051兼容,指令時序與標準8051稍有區(qū)別。典型的區(qū)別是:nRF9E5的片內(nèi)微控制器的指令周期為4到20個指令周期。中斷控制器支持5個擴展中斷源:ADC中斷、SPI中斷、RADIO1中斷、RADIO2中斷和喚醒定時器中斷。片內(nèi)控制器還有3個與8052相同的定時器。1個和8051相同的串口,可以用定時器1和定時器2來作為異步通信的波特率產(chǎn)生器。此外,還擴展了2個數(shù)據(jù)指針,以方便于從XRAM區(qū)讀取數(shù)據(jù)。微處理器中有256B的數(shù)據(jù)RAM和512B的ROM。上電復(fù)位或軟件復(fù)位后,處理器自動執(zhí)行ROM引導(dǎo)區(qū)中的代碼。用戶程序通常是在引導(dǎo)區(qū)的引導(dǎo)下,從EEROM加載到1個4KB的RAM中,這個4KB的RAM也可作存儲數(shù)據(jù)用。NRF9E5的大部分寄存器和標準8051相同,只是增加了一些特殊功能寄存器,如RADIO(P2)、ADCCON、ADCDATAH、ADCDATAL、ADCSTATIC、PWMCON、PWMDUTY、RCAP2L、RCAP2H、CKLFCON等。nRF9E5中的P0、P1和P2口寄存器地址和標準8051中的相同,都是0x80、0x90、0xA0,但功能和標準8051中的有所不同。
(2)CKLF時鐘、RTC喚醒定時器、GPIO喚醒和WTD
nRF9E5內(nèi)有一個低頻的時鐘CKLF,該時鐘常開。當(dāng)晶振開始工作后,CKLF頻率為4Hz;晶振不工作時,CKLF是一個低功耗RC晶振器,只要VDD≥1.8V,其連續(xù)工作。RTC喚醒定時器、WTD(看門狗)和GPIO喚醒全都工作在CKLF頻率,以保證芯片功耗工作時能夠完成這三個功能。RTC喚醒定時器是一個24位可編程控制的遞減計數(shù)器,WTD則是一個16位可編程控制遞減計數(shù)器。RTC喚醒定時器和WTD的循環(huán)周期一般在300μs~80ms,默認為1ms。RTC喚醒定時器也能作GPIO的輸出源,也就是說,當(dāng)RTC喚醒定時器初始化時間發(fā)生溢出時,能夠產(chǎn)生一個用作GPIO輸出的程序脈沖。
(3)SPI接口和A/D轉(zhuǎn)換器
SPI(串行外設(shè)接口)的接口引腳有MISO(接收EEPROM的SDO送來的數(shù)據(jù))、SCK(給EEPROM的SCK提供時鐘信號)、MOSI(送數(shù)據(jù)到EEPROM的SDI)、EECSN(給EEPROM的CSN送使能信號)。SPI口的MISO、SCK和MOSI與P1口的低3位重用,通過寄存器SPI_CTRL控制來控制功能間的撤換。SPI硬件不產(chǎn)生任何片選信號,可以用GPIO口來進行片選。通常,系統(tǒng)上電時,SPI自動和片外25320相連。當(dāng)程序加載完成后,MISO(P1.2)、MOSI(P1.0)可能會用作其它用途,比如其它的SPI器件或GPIO。
nRF9E5片內(nèi)有10位ADC,A/D轉(zhuǎn)換參考電壓可以通過軟件設(shè)置在AREF和1.22V之間(內(nèi)部參考電壓)。A/D轉(zhuǎn)換器的4個輸入可通過軟件進行選擇,通道0~3可以把對應(yīng)引腳AIN0~AIN3上的電壓值分別轉(zhuǎn)換為數(shù)字值,通道4用于對nRF9E5工作電壓的監(jiān)控。A/D轉(zhuǎn)換器默認工作于10位方式,可通過軟件使其工作于6位、8位或12位方式。
圖3
(4)射頻收發(fā)器
nRF9E5收發(fā)器通過內(nèi)部并行口或內(nèi)部SPI口與其它模塊進行通信 ,具有同單片射頻收發(fā)器nRF905相同的功能。收發(fā)器通過片內(nèi)MCU的并行口或SPI口與微控制器通信,數(shù)據(jù)準備好,載波檢測和地址匹配信號能夠作為微控制器和中斷。
nRF905工作于433/868/915MHz ISM頻段。收發(fā)器由1個完事的頻率合成器、1個功率放大器、1個調(diào)節(jié)呂和2個接收器組成。輸出功率、頻道和其它射頻參數(shù)可通過對特殊功能寄存器RADIO(0xA0)編程進行控制。發(fā)射模式下,射頻電流消耗為11mA,接收模式下為12.5mA。為了節(jié)能,可通過程序控制收發(fā)器的開/關(guān)。
1.2 nRF9E5的收發(fā)方式
不同于nRF401和nRF903,nRF9E5使用SPI接口進行單片機與無線模塊間的數(shù)據(jù)傳輸。這部分在nRF9E5片內(nèi)的8051內(nèi)核與nRF905射頻收發(fā)器之間完成。nRF9E5片內(nèi)的8051內(nèi)核與nRF905射頻收發(fā)器之間完成。nRF905片內(nèi)的8051內(nèi)核與nRF905射頻收發(fā)器之間完成。nRF9E5的收發(fā)器有三種工作方式,ShockBurst接收(RX)方式、ShockBurst發(fā)送(TX)方式和空閑方式。當(dāng)收發(fā)器在空閑方式下,微控器依然在運行。
nRF9E5使用Nordic VLSI公司的ShockBurst的特性,進行高速的數(shù)據(jù)傳輸。與射頻數(shù)據(jù)相關(guān)的協(xié)議由nRF9E5片內(nèi)的nRF9E5收發(fā)器自動處理。nRF9E5只用簡單的SPI接口便能和nRF9E5進行數(shù)據(jù)傳輸,數(shù)據(jù)傳輸?shù)乃俣热Q于SPI接口的速度,這個可以在nRF9E5片內(nèi)8051內(nèi)核中進行配置。ShockBurst實現(xiàn)低速數(shù)據(jù)輸入,高速數(shù)據(jù)輸出,從而降低了系統(tǒng)的平均能耗。在ShockBurst接收方式下,當(dāng)收到一個有效地址的射頻數(shù)據(jù)包時,地址匹配寄存器位(AM)和數(shù)據(jù)準備好寄存器位(DR)通知片內(nèi)MCU把數(shù)據(jù)讀出。在ShockBurst發(fā)送方式下,nRF9E5自動給要發(fā)送的數(shù)據(jù)加上前綴和CRC校驗。當(dāng)數(shù)據(jù)發(fā)送完后,數(shù)據(jù)準備好寄存器位(DR)會通知MCU數(shù)據(jù)已經(jīng)處理完畢。
當(dāng)系統(tǒng)沒有發(fā)送和任務(wù)時,其進入空閑方式,nRF9E5在空閑方式下,一旦有任務(wù)要處理時,其能夠在很短的時間內(nèi)就進入ShockBurst接收方式和ShockBurst發(fā)送方式??臻e方式下,晶體振蕩器依然工作,配置字中的內(nèi)容不至于丟失。
1.3 載波檢測
在ShockBurst接收方式下,當(dāng)出現(xiàn)nRF9E5工作信道內(nèi)的射頻載波時,載波檢測引腳(CD)被置高,這個特性很好的避免了同一工作頻率下不同發(fā)射器數(shù)據(jù)包之前的碰撞。當(dāng)收發(fā)器準備發(fā)射數(shù)據(jù)時,它首先進入接收方式并探測所工作的信道是否空閑。載波檢測的標準一般比靈敏度低5dB,比如,靈敏度為-100dBm,載波檢測功能探測低至-105dBm的載波。也就是說,載波低于-105dBm,載波檢測信號為低(一般為0),高于-95dBm,則載波檢測信號為高(一般為VDD),介于-105~95dBm之間,載波檢測信號可能為低也可能為高。
2 無線數(shù)據(jù)傳輸系統(tǒng)
2.1 系統(tǒng)組成
無線數(shù)據(jù)傳輸系統(tǒng)有點對點,點對多點和多點對多點三種。本系統(tǒng)由于實際應(yīng)用的需要,由于位PC機,主接收器和多臺數(shù)據(jù)終端組成。主接收器和數(shù)據(jù)終端之前的數(shù)據(jù)傳輸通過nRF9E5進行,構(gòu)成點對多點多無線數(shù)據(jù)傳輸系統(tǒng)。整個系統(tǒng)中,PC機和數(shù)據(jù)終端之間的無線通信采用433MHz的頻段作為載波頻率。為了避免同頻干擾的問題,系統(tǒng)采用TDMA(Time Division Multiple Access)通信技術(shù)。主接收器采用逐一掃描的方式探測各個數(shù)據(jù)終端有沒有收發(fā)通信請求或其它任務(wù);數(shù)據(jù)終端則采用中斷方式,對主接收器發(fā)出的地址信息進行處理,若與本機地十相符則執(zhí)行命令。由此可見,上位PC機與數(shù)據(jù)終端的通信轉(zhuǎn)化為主接收器與數(shù)據(jù)終端間的通信,以及PC機與主接收通過串口(USB或UART)間的通信。整個無線數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)如圖2所示。
2.2 通信協(xié)議
通信協(xié)議是通信雙方為實現(xiàn)信息交換而制定的規(guī)則。本系統(tǒng)采用時分多路訪問通信技術(shù)(TDMA),將點對多點的通信方式轉(zhuǎn)化為點對點的通信,因此必然涉及信源與信宿之間建立通信連接時的地址匹配問題。由于主接收器與數(shù)據(jù)終端之間的通信可能會受到其它數(shù)據(jù)終端或外界環(huán)境的干擾而發(fā)生錯誤,因此,需要通信協(xié)議來保證數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
nRF9E5只有一種協(xié)議格式,其中的前綴也就是數(shù)據(jù),設(shè)備地址包括本機的地址和主接收器的地址,CRC校驗可進行選8位或16位。
3 無線數(shù)據(jù)傳輸系統(tǒng)的實現(xiàn)
3.1 系統(tǒng)硬件
圖3為無線數(shù)傳系統(tǒng)中主要接收器的硬件原理圖。數(shù)據(jù)終端的硬件原理與圖3類似,只不過沒有與PC機相接的串口部分,并且GPIO口和A/D轉(zhuǎn)換口號相應(yīng)的數(shù)據(jù)輸入端相連,如溫度傳感器和中斷信號等。ANT1和ANT2為天線連接引腳,可采用PCB環(huán)形差分天線,晶振工作頻率為16MHz。25AA320為EEPROM,在nRF9E5上電后,系統(tǒng)根據(jù)引導(dǎo)程序,把25AA320中和程序代碼拷貝到nRF9E5的4KB RAM中。LM1117為電源管理模塊,把5V電平轉(zhuǎn)化為nRF9E5可用的3.3V。MAX3232CSE為nRF9E5串口與PC串口間通信的電平轉(zhuǎn)換芯片。由圖3可知,用nRF9E5進行無線數(shù)據(jù)傳輸系統(tǒng)設(shè)計非常方便。nRF9E5的外形尺寸非常小,在對外形尺寸要求很嚴格的場合,nRF9E5更使用。
3.2 系統(tǒng)軟件
無線數(shù)據(jù)傳輸主要由無線數(shù)據(jù)終端、主接收器和PC機組成,PC機與主接收器間用串行口通信。整個系統(tǒng)的各個部分都是服務(wù)于無線數(shù)據(jù)傳輸這個目的。所以,在整個系統(tǒng)的軟件設(shè)計中,無線數(shù)據(jù)的傳輸為最主要部分。如圖4和圖5所示,是無線數(shù)據(jù)傳輸?shù)慕邮蘸桶l(fā)送流程。軟件設(shè)計應(yīng)根據(jù)通信協(xié)議并考慮數(shù)據(jù)的糾錯,檢錯可采用CRC校驗8位或16位方式。在圖4、圖5中,TRX_CE發(fā)送和接收使能寄存器位,DR為數(shù)據(jù)準備寄存器位,AM為地址匹配寄存器位,AUTO_RETRAN為自動重發(fā)寄存器位。
4 結(jié)論
利用射頻無線片上系統(tǒng)nRF9E5,容易實現(xiàn)小尺寸、高穩(wěn)定性的無線數(shù)據(jù)傳輸系統(tǒng),433/868/915MHz三個工作頻段可根據(jù)使用需要進行選擇。nRF9E5片內(nèi)的UART方便于實現(xiàn)與PC機間的串行通信,其片內(nèi)的A/D轉(zhuǎn)換器方便于進行數(shù)據(jù)采集。nRF9E5的ShockBurst技術(shù)和電源監(jiān)管技術(shù),使得無線數(shù)據(jù)傳輸系統(tǒng)的功耗更低,設(shè)計中為節(jié)約用電而編寫的程序代碼也更少。
評論
查看更多