RSSI:Received Signal StrengthIndicator,表明了接收機接收到的信號的強度。一般使用分貝(db)從0到-120db。RDA5807內部接收器中具有RSSI測量功能,通過軟件讀取該數值,來表征接收到的信號的強度。
RDA5807的RSSI信號響應有一定的時間,下面通過實際測試看到這個響應時間大約為0.5秒。
利用RDA5807可以對于某一地區(qū)的調頻電臺進行探測和掃描。
RDA5807的RSSI功能
RDA5807內部接收模塊如下圖所示。在模塊的右下方,可以看到它具有/RBDS/RSSI模塊。
RDA5807和RSSI相關的寄存器
根據RDA5807數據手冊給出的信息。在讀取的內部寄存器的0xB中,15:9數據位表示了RSSI數值。該數值表征了接收信號的強度,按照對數尺度來顯示。數值越大,信號的強度越高。

讀取RDA5807RSSI數據
使用外面的代碼來讀取RDA5807內部寄存器。由于RDA5807具有自動內部寄存器地址生成的功能。當開始一個讀數據幀的時候,RDA5807內部的寄存器地址自動從0xA開始遞增。
由于RDA5807內部的寄存器是16bit,所以要讀到0xB寄存器的內容,需要從開始讀寄存器開始,連續(xù)讀取三個字節(jié),才能夠讀到0xB寄存器的高八位內容。
下面代碼顯示了讀取RDA5807內部四個字節(jié)的內容,然后返回其中第三個字節(jié)的內容。
void RDA5807I2CRead(uint8_t * pucData, int nLength) { HAL_I2C_Master_Receive(&hi2c1, RDA5807_I2C_ADD, pucData, nLength, 10); } unsigned char RDA5807ReadRSSL(void) { unsigned char ucData[4]; RDA5807I2CRead(ucData, 4); return ucData[2] >> 1; // 該數據位應該右移一位,所得到的就是RSSI的數值了。 }
代碼中ucDatga[2]的高7位是RSSI,因此最后需要通過右移一位來獲得RSSI數值。
掃描本地區(qū)的調頻廣播頻道的電臺強度
通過設置不同的FM接收頻道,然后讀取相應的RSSI,標準了本地區(qū)在FM廣播段的電臺的情況。
(1)設置完收音機的頻率后,讀取RSSI的變化情況 測試RDA5807的RSSI的響應變化速度。 下面分別測試設置頻率為97.4MHz(北京音樂臺)和101.4MHz(空閑頻段),每隔2ms讀取RSSI,連續(xù)讀取256個數字顯示的的強度曲線。
FM:97.4Mhz:北京音樂臺

FM:101.4MHz:空閑頻段。

前面的曲線顯示,每當設置一次頻率,RDA5807內部的RSSI都是從0開始測量,經過大約0.5秒之后,測量值大都穩(wěn)定在恒定的數值。
所以通過設定頻率掃描測量不同頻率下的射頻信號強度的時候,需要等到0.5秒鐘之后再讀取RSSI,才能夠獲得比較穩(wěn)定的數值。
(2)通過外部信號源的變化,讀取RSSI的變化情況
外部的射頻信號源使用普通的數字合成信號發(fā)生器。DS345可以產生高達30Mhz的信號。通過使用它的方波信號,利用其三次諧波可以達到80~110Mhz范圍內的射頻信號。來檢測RDA5807接受信息的情況。
下面是設置DS345輸出掃頻,掃頻的范圍是28.970Mhz~29.030Mhz。掃描的速度為1kHz, 掃描的波形呈現等腰三角形。這就模擬了一個使用三角波形進行調頻的輸出。
RDA5807的頻道設置在87Mhz,在這個頻率范圍內,沒有本地的調頻電臺。 使用示波器觀察RDA5807的左右輸出。輸出波形如下圖所示,基本上與調制信號是一致的。

信號源的頻率從28Mhz變化到29Mhz。它的三次諧波從84Mhz,變化到87Mhz,RDA5807接收到的射頻信號強度從29變化到55。變化曲線如下圖所示:

信號的的頻率從29Mhz增加到30MHz,它的三次諧波的頻率從87Mhz變化到90Mhz。RDA5807接收到的射頻信號的強度從55下降到30。數值變化去下如下圖所示。

從前面的變化可以看到,信號的整個的變化過程大約持續(xù)了0.3秒左右。這表明了RDA5807測量RSSI的時間響應大約是0.3秒。
如果外部信號的強度變化速率大于0.3秒,在RDA5807的RSSI數值就會反應不了這么快速的變化。所獲得的是信號強度變化的平均值。
(3)掃描80MHz~110MHz之間的調頻廣播信號強度
為了獲得更加精細的掃描頻譜的頻率分辨率,將RDA5807的頻率間隙設置為:25kHz。
相關的設置將會影響到寄存器03H的部分設置。見下面的表格:

相應的設置代碼修改如下:
//------------------------------------------------------------------------------
#define RDA5807_TUNE_CONFIG_LENGTH 4
uint8_t RDA5807_tune_config[] = {
0xd0, 0x0d, // Register 2
0x00, 0x00, // Reigster 3
};
void RDA5807SetTuneConfig(uint16_t channel) {
RDA5807_tune_config[2] = (uint8_t)(channel >> 2);
// RDA5807_tune_config[3] = (uint8_t)(((channel & 0x3) << 6) | 0x10);
RDA5807_tune_config[3] = (uint8_t)(((channel & 0x3) << 6) | 0x13);
}
void RDA5807SetChannel(float freq) {
// g_nRDA5807Channel = (int)((freq - 87.0) * 10.0 + 0.5);
g_nRDA5807Channel = (int)((freq - 87.0) * 40.0 + 0.5);
RDA5807SetTuneConfig(g_nRDA5807Channel);
RDA5807I2CWrite(RDA5807_tune_config, RDA5807_TUNE_CONFIG_LENGTH);
}
根據前兩部的實驗結果可以知道RDA5807的RSSI信號的響應時間大于0.3秒,所以在掃描頻率的時候,每設置一個新的頻率,等待1秒之后,再讀取RDA5807內部的RSSI的數值。
掃描頻率范圍從80MHz到110Mhz,每隔25kHz測量一次,總共1200個數據。下面的曲線是經過20分鐘的掃描之后獲得的北京地區(qū)星期五下午2點鐘左右的各個調頻廣播信號的強度數據。

包括了總共22個FM電臺的頻譜,對于所有RSSI大于33的頻率設定為一個電臺,它們對應的頻率如下:


編輯:hfy
-
接收機
+關注
關注
9文章
1244瀏覽量
56242 -
RF
+關注
關注
66文章
3201瀏覽量
171824 -
RSSI
+關注
關注
2文章
101瀏覽量
28946 -
RDA5807
+關注
關注
1文章
9瀏覽量
4185
發(fā)布評論請先 登錄
認識RSSI:無線信號的“聽診器”
藍牙室內定位核心技術解析:RSSI 與 AOA 的測距原理對比與精度升級邏輯
AFE5807 超聲模擬前端技術文檔總結
PGA5807A 產品核心信息總結
基于焊接強度測試機的IC鋁帶鍵合強度全流程檢測方案
如何在嵌入式RF測試中實施多域信號分析
如何測試協議分析儀的實時響應效率?
織物透氣性測試儀中流量傳感器的動態(tài)響應優(yōu)化方法
藍牙信標RSSI濾波算法
AD608低功耗混頻器/限幅器/RSSI 3V接收機IF子系統技術手冊
實測案例:如何用推拉力測試機進行SMT元器件焊接強度測試?
粗鋁線鍵合強度測試:如何選擇合適的推拉力測試機?
RDA5807的RSSI信號響應RF強度測試
評論