顯示具有 FM 標籤的文章。 顯示所有文章
顯示具有 FM 標籤的文章。 顯示所有文章

2020年6月22日 星期一

FM Transceivers (en)




Why this

  With these strategies, it is now much easier to develop device drivers. Therefore, I wrote Python drivers for several FM transceiver modules (Si4713RDA5820NKT0803L).  Repository is here.


Transceiver modules 
 Si4713 
  • A transmitter which can also measure noise(signal) level of a particular frequency.
  • Can send RDS message.
  • Popular, resource (documents and sample code are well available).
KT0803L
  • Transmitter mode only.
  • Noisy.
  • Cheap and well available.
RDA5820N
  • Can switch between transmitter / receiver / audio-amplifier / ADC modes.
  • Can send RDS message.
  • PLL locks very slowly.
  • Rare, documents and resources are rare.
  • Website is not reachable.

How to use
  • Usage and test methods are here and here
  • USB-I2C converter is required if you want to control transceivers with PC, options are:
  • There are xxxxx_proxy.py modules with smaller size to be used on ESP32.

Test Results
Si4713
Basic functional test
with FX2LP USB-I2C converter and Jupyter notebook

Basic functional test
with ESP32 and MicroPython Remote Kernel + Jupyter notebook

RDS transmission test 


RDA5820N
Basic functional test

KT0803L
to be added

Dependencies:

FM Transceivers


緣由
  採用 這套策略 之後,開發 device driver 變得容易且快速多了,於是為手上的幾個 FM transceiver 模組 (Si4713, RDA5820N, KT0803L) 也寫了 Python drivers,放在 這裡

模組特性
 Si4713 
  • 主要是 transmitter 的功能。
  • 也可以 量測指定頻率的訊號強度。
  • 可以發送 RDS 訊息。
  • 市面上較常見,開發資源較多。
KT0803L
  • 只有 transmitter 的功能。
  • Noise floor 會整個被抬高,很吵。
  • 市面上常見,較便宜。
RDA5820N
  • 具有 transmitter / receiver / audio-amplifier / ADC 的功能,可以任選一種模式切換。
  • 可以發送 RDS 訊息。
  • 切換頻率的時候 PLL lock 的速度很慢。
  • 使面上較少見,開發資源較少。
  • 官網 連不上。
使用方式
  • 所有的 測試與使用方式 ,都記錄在 這裡 和 這裡
  • 需搭配 USB-I2C converter,例子:
  • 如果要上傳到 ESP32 上面使用,可以用體積較小的 xxxxx_proxy.py 。

測試結果
Si4713
Basic functional test
with FX2LP USB-I2C converter and Jupyter notebook

Basic functional test
with ESP32 and MicroPython Remote Kernel + Jupyter notebook

RDS transmission test 


RDA5820N
Basic functional test

KT0803L
to be added

Dependencies: