This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:tech:dabmodule [2022/09/26 08:15] – [First attempts] bullar | en:tech:dabmodule [2022/11/10 20:56] (current) – [Hardware] bullar | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== DAB+ Module ====== | ====== DAB+ Module ====== | ||
+ | |||
+ | ===== Motivation ===== | ||
In the age of 'music streaming', | In the age of 'music streaming', | ||
Line 30: | Line 32: | ||
So there is a solution at hand. Simply read out the FLASH and copy it for your own use. | So there is a solution at hand. Simply read out the FLASH and copy it for your own use. | ||
The right tool can be obtained in the Far East for less than €10. | The right tool can be obtained in the Far East for less than €10. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Reading it out is easy, but it is more difficult to find out where what is located. After a detailed study of the data sheets, application notes and the evaluation of the SPI traffic between the MCU and SI4684 in the TechniSat radio, the following address locations could be found: | ||
+ | |||
+ | < | ||
+ | Start End Size | ||
+ | ============================================= | ||
+ | 0x002000 - 0x0036A1 (0x016A1) | ||
+ | 0x004000 - 0x0056A1 (0x016A1) | ||
+ | 0x086000 - 0x0FEE69 (0x78E69) | ||
+ | 0x106000 - 0x187721 (0x81721) | ||
+ | </ | ||
+ | |||
+ | This information is needed later when the corresponding firmware has to be loaded. But first we need a hardware. | ||
+ | |||
+ | ===== Hardware ===== | ||
+ | |||
+ | My goal was to develop the smallest possible module, which can then be placed anywhere, similar to the KeyStone solution. | ||
+ | The chip manufacturer' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | The module contains everything for relaxed FM/DAB+ reception and offers the following connectivity: | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | The connections are in a 2.54mm grid and can also be soldered to pin strips. To keep everything small, the passive components are designed in SMD 0402. A great challenge for the manual assembly but with a steady hand it is (mostly) possible. | ||
+ | |||
+ | The PCB always looks more benign after routing than during the design process. For a better representation in the following picture without filled ground areas: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | In order for the selected SMA socket to fit, the PCB should only be produced 1.0mm thick. With 29x18mm, the module looks quite handy. Produced by [[https:// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | By the way, a microscope is also very helpful when assembling. And don't forget to program the FLASH component better beforehand. You may have to remove short cuts on the pins of the SI4684 with some desoldering braid after reflow soldering (with T962). These cannot be avoided at a pin pitch of 0.5mm. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | The module is now available for initial use. So that it remains solder-technically virgin, I have designed a pogo adapter: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | created for testing based on Arduino Uno with a standard experiment board. You can of course use any other evaluation board that offers a programmable SPI interface. Please don't forget the level shifter since the DAB+ module works with 3.3V signals. If you also connect an amplifier (here a PAM8302A) then you can soon hear the success. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Software ===== | ||
+ | |||
+ | As already mentioned, the DAB+ module is controlled via an SPI interface. The Arduino does this and at the same time provides a UART terminal (115,200 Bd) where you can call up individual functions via the serial interface: | ||
+ | |||
+ | < | ||
+ | COMMANDS: | ||
+ | | ||
+ | test < | ||
+ | | ||
+ | | ||
+ | | ||
+ | DAB Mode: | ||
+ | scan -> scan for available DAB ensembles | ||
+ | tune < | ||
+ | service < | ||
+ | info -> display the ensemble info | ||
+ | time -> display the current DAB time | ||
+ | version | ||
+ | vol < | ||
+ | mute < | ||
+ | FM Mode: | ||
+ | scan -> scan available FM stations | ||
+ | tune < | ||
+ | seek < | ||
+ | info -> display signal quality and RDS data | ||
+ | version | ||
+ | vol < | ||
+ | mute < | ||
+ | </ | ||
+ | |||
+ | Don't forget to connect an antenna otherwise it will be quiet. A commercially available DAB+ antenna from an electronics store can be connected to the SMA connector or just a lambda/ | ||
+ | |||
+ | The test S/W on the Arduino consists of six S/W modules: | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | |||
+ | A good start is the '' | ||
+ | |||
+ | **What happens during '' | ||
+ | |||
+ | With '' | ||
+ | |||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | |||
+ | After a successful '' | ||
+ | |||
+ | If anyone wants to extend functionality, | ||
+ | |||
+ | ===== Conclusion ===== | ||
+ | |||
+ | Even if not all software functions have been implemented yet, the module' | ||
+ | |||
+ | Since the test software was completed in Bangkok (during the quarantine) here is just a FM and DAB+ scan as an example from this city: | ||
+ | |||
+ | < | ||
+ | FM | ||
+ | |||
+ | Freq= 88.0MHz: RSSI=26, SNR=27 | ||
+ | 00.00.0000 00:00 PI=-1 PTY=18 ps= sd=Radio Thailand F.M. 88.00 MHz. www.prd.go.th | ||
+ | 00.00.0000 00:00 PI=-1 PTY=18 ps=NBT 88 | ||
+ | |||
+ | Freq= 88.5MHz: RSSI=20, SNR=20 | ||
+ | 00.00.0000 00:00 PI=0 PTY=0 ps=GOODTIME sd= | ||
+ | |||
+ | Freq= 89.0MHz: RSSI=30, SNR=32 | ||
+ | Freq= 90.5MHz: RSSI=21, SNR=19 | ||
+ | Freq= 91.5MHz: RSSI=22, SNR=24 | ||
+ | Freq= 92.5MHz: RSSI=17, SNR=19 | ||
+ | |||
+ | Freq= 93.0MHz: RSSI=18, SNR=20 | ||
+ | 00.00.0000 00:00 PI=9483 PTY=12 ps= COOL sd= | ||
+ | 00.00.0000 00:00 PI=9483 PTY=12 ps= COOL | ||
+ | |||
+ | Freq= 93.5MHz: RSSI=21, SNR=22 | ||
+ | |||
+ | Freq= 94.0MHz: RSSI=22, SNR=24 | ||
+ | 00.00.0000 00:00 PI=9485 PTY=10 ps= sd=COOLfahrenheit | ||
+ | 00.00.0000 00:00 PI=9485 PTY=10 ps= EFM94 | ||
+ | 00.00.0000 00:00 PI=9485 PTY=10 ps= EFM94 sd= www.efm.fm | ||
+ | |||
+ | Freq= 98.0MHz: RSSI=38, SNR=27 | ||
+ | Freq=101.5MHz: | ||
+ | |||
+ | Freq=103.5MHz: | ||
+ | 00.00.0000 00:00 PI=0 PTY=0 ps= sd=103.5 FM ONE | ||
+ | 00.00.0000 00:00 PI=0 PTY=0 ps= FM ONE sd=103.5 FM ONE | ||
+ | |||
+ | Freq=104.5MHz: | ||
+ | 00.00.0000 00:00 PI=11368 PTY=10 ps= FLEX sd= | ||
+ | 00.00.0000 00:00 PI=11368 PTY=10 ps= FLEX | ||
+ | |||
+ | Freq=105.5MHz: | ||
+ | |||
+ | Freq=106.5MHz: | ||
+ | 00.00.0000 00:00 PI=-24219 PTY=12 ps= sd= | ||
+ | 00.00.0000 00:00 PI=-24219 PTY=12 ps= WAVE sd=GOOD MUSIC GOOD FEELING | ||
+ | 00.00.0000 00:00 PI=-24219 PTY=12 ps= GREEN | ||
+ | 00.00.0000 00:00 PI=-24219 PTY=12 ps= WAVE sd=GOOD MUSIC GOOD FEELING | ||
+ | 00.00.0000 00:00 PI=-24219 PTY=12 ps= GREEN | ||
+ | |||
+ | |||
+ | DAB+ | ||
+ | |||
+ | Ensemble Freq 06 185.360 MHz | ||
+ | Bangkok DAB+ | ||
+ | |||
+ | Services: | ||
+ | ID Name | ||
+ | |||
+ | 0: | ||
+ | 1: | ||
+ | 2: RROne FM 101 | ||
+ | 3: Thai PBS Digital | ||
+ | 4: 103.5 dab+ RADIO | ||
+ | 5: Looktung Network | ||
+ | 6: FM 94(TV5) | ||
+ | 7: KU RADIO | ||
+ | 8: MET 107 | ||
+ | 9: | ||
+ | 10: | ||
+ | 11: HITZ 955 | ||
+ | 12: | ||
+ | 13: LTM FM 95 | ||
+ | |||
+ | ALL: | ||
+ | AM=2 BR=64 SR=48000 SM=4 (Stereo 64Kbps 48000Hz DAB+) | ||
+ | </ | ||
+ | |||
+ | ===== Downloads ===== | ||
+ | |||
+ | * {{: | ||
+ | * {{: | ||
+ | * {{: | ||
+ | * {{: | ||
+ | * {{: | ||
+ | |||
+ | ===== Donate ===== | ||
+ | |||
+ | If you like my articles feel to donate a cappuccino or so... | ||
+ | |||
+ | < | ||
+ | |||
+ | <form action=" | ||
+ | <input type=" | ||
+ | <input type=" | ||
+ | <img alt="" | ||
+ | </ | ||
+ | |||
+ | </ |