Si4735 Digital FM Radio Receiver with RDS/RBDS

General Project Description

Equipment Used/Connections

This project builds upon the project implemented by Brett Wilson and Brett Berry. Please follow this link for General Project Description and Equipment Used/Connections: http://mbed.org/users/bwilson30/notebook/si4735-digital-amfm-radio-receiver/.

Functionality

The Si4735 IC has many programming options available, one of which is to acquire RDS/RBDS information for the tuned frequency. This project demonstrates the programming of Si4735 to enable it to capture the RDS/RDBS information and format the captured raw RDS register data into human readable format. The RDS/RDBS data provides information such as program type, song name, artist name, and other advertising broadcasted by the radio transmitter. For more information on RDS/RDBS visit: http://en.wikipedia.org/wiki/Radio_Data_System

Problems Encountered

  • Setting the correct RDS_CONFIG property.
  • Resetting the FIFO Buffer after issuing FM_RDS_BUFFER command.
  • Extracting the correct bits for the Program Service, and Radio Text fields of the RDS data.

Pictures & Video Demo

http://mbed.org/media/uploads/bwilson30/2011-10-11_16.02.00.jpg

/media/uploads/kpatel70/screen_shot_2012-10-11_at_4.03.11_pm.png /media/uploads/kpatel70/screen_shot_2012-10-11_at_4.03.42_pm.png

Code

Here is the library for the Si4735 radio interface with RDS/RDBS integration.

Import librarySi4735_lib

Si4735 Library with RDS/RBDS control functions

Below is the code for the sample program.

    ...

    Si4735 radio(p28, p27, p16, &pc);
   
    ...

    while(1) {
 
        radio.refreshDisplay(next_stn); // this call access the RDS information and displays it the COM port.
        
           ... // rest of the original program



Please log in to post comments.