ZHCAB74D September 2018 – March 2022 AFE030 , AFE031 , TMS320F28075 , TMS320F28075-Q1 , TMS320F28076 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S
接收到的 FSK 信號遵循一組必須在軟件內(nèi)設(shè)計的通信參數(shù)。
圖 5-4 說明了相關(guān)的通信參數(shù)。標記的參數(shù)具有以下含義:
對于示例程序,默認遵循的通信參數(shù)如表 4-1 所示。創(chuàng)建一個 FSK_CORR_DETECTOR 結(jié)構(gòu)(在 fsk_corr_detector.h 中聲明),以保存實現(xiàn)準確接收所需的參數(shù)。
volatile FSK_CORR_DETECTOR FSK_struct1; // FSK structure
示例軟件和 fsk_corr_detect 庫用于檢測一組用戶指定的頻率、一個標記頻率和一個空間頻率。這些頻率必須處于 AFE031 的 CENELEC A 或 CENELEC B、C、D 配置的頻帶范圍之內(nèi)。示例程序使用 131.25kHz 的標記頻率和 143.75kHz 的空間頻率,旨在與 CENELEC B、C、D 配置一同使用。使用這些頻率來設(shè)置 FSK_CORR_DETECTOR 結(jié)構(gòu)的 mark_freq 和 space_freq 成員。
FSK_struct1.mark_freq = 131250; // Mark Frequency Detected
FSK_struct1.space_freq = 143750; // Space Frequency Detected
C2000 的 ADC 用于對 FSK 輸入信號進行采樣。采樣頻率 FS 必須遵循奈奎斯特定理,即輸入信號的采樣率必須至少是試圖檢測到的最高信號頻率的 2 倍。也就是說,如果要檢測的最高信號頻率為 100kHz,則 FS 必須至少為 200kHz。在示例程序中,要檢測的最高頻率是 143.75kHz 的空間頻率,采樣率設(shè)置為 300kHz,這高于所需的頻率。將 FSK_CORR_DETECTOR 結(jié)構(gòu)的 isr_freq 成員設(shè)置為可接受的 FS。
FSK_struct1.isr_freq = 300000; // ADC Sampling frequency
位判定算法的運行頻率應(yīng)該是位頻率的三倍。例如,如果每個位周期為 1ms,則位頻率為 1kHz,從而使所需的位判定頻率為 3kHz。示例程序以 5.12ms 的周期檢測位,從而使位頻率為 195.3125Hz,所需的位判定頻率為 585.9375Hz。軟件中的位判定頻率應(yīng)盡可能接近所需的頻率,以防止出現(xiàn)位邊界問題。使用該位判定頻率來設(shè)置 FSK_CORR_DETECTOR 結(jié)構(gòu)的 bit_freq 成員。
FSK_struct1.bit_freq = 586; // Bit decision frequency, 3x bit frequency
總之,為示例程序設(shè)置的頻率參數(shù)如表 5-4 所示。
參數(shù) | 頻率 |
---|---|
檢測到的標記頻率 | 131.25 kHz |
檢測到的空間頻率 | 143.75 kHz |
輸入信號采樣頻率 | 300kHz |
位判定算法頻率 | 586Hz(經(jīng)過向上舍入) |
設(shè)置 FSK_CORR_DETECTOR 結(jié)構(gòu)的 detection_threshold 成員。該值對于調(diào)整位檢測靈敏度而言有一定的作用。
#define FSK_BIT_DETECTION_THRESHOLD 0.1 // Bit detection threshold value
FSK_struct1.detection_threshold = FSK_BIT_DETECTION_THRESHOLD; // Set threshold
根據(jù)通過調(diào)用相應(yīng)的 init 函數(shù)輸入的成員值完成 fsk_corr_detect 庫的初始化。
FSK_CORR_DETECTOR_INIT(&FSK_struct1); // Initialize FSK structure
此外,通過在軟件中設(shè)置以下參數(shù)來考慮所接收信息的格式。