Design and implementation of RDS function based on S1473X
[Copy link]
FM radio (FM) has always played a very important role in people's entertainment life. Many manufacturers engaged in consumer electronics design have embedded FM parts in products such as MP3, smart phones, PDAs, etc. The RDS data broadcasting system (Radio Data System) uses the subcarrier in FM stereo to provide users with various data information services while transmitting audio programs, such as broadcast program lists, emergency notices, and road traffic information. Although there are few radio stations with RDS functions in China except Taiwan and Hong Kong, this technology has developed quite maturely abroad, and the demand is also increasing rapidly. The module introduced in this article is based on this application and provides FM reception and RDS information services for car audio systems. The following mainly introduces the design of the FM module and the processing of audio and RDS data.
1 S14730/31 peripheral circuit design
S14730/31 is the earliest highly integrated CMOS AF/FM radio receiver chip in the industry. Because S1473X has an advanced digital low-IF architecture with built-in DSP, it only needs a few peripheral components and no manual adjustment to achieve all AM/FM reception functions from antenna input to audio output. This module is not only small in size and light in weight, but also supports multiple serial control methods, so it is particularly suitable for car audio and other small portable devices. S14730/31 is a multi-functional solution, its main functions include: advanced automatic search algorithm; mute function; automatic calibration of digital FM; FM stereo processing; analog and digital voice output.
Since S1473X integrates all functions from antenna input to audio output on a single chip, the design process of radio circuit with S1473X as the core becomes simple. The peripheral circuit of S1473X is shown in Figure 1.

Note:
(1) All ground wires must be directly connected to the ground on the PCB board.
(2) Pins 1 and 20 are not connected and are left floating.
(3) Pin 2 is connected to the FM antenna interface, and pin 4 is connected to the AM antenna interface.
(4) The S14730/31 should be placed as close to the antenna as possible, and the path between the AMI and FMI pins should be as short as possible.
2 Introduction to RDS Data Broadcasting System
RDS (Radio Data SySTem) data broadcasting system is a high-tech technology that has appeared in the field of wireless broadcasting in recent years. It uses existing FM equipment to load some additional non-sound data into the additional channel of the FM stereo channel through modulation. In this way, based on these additional data, the RDS data broadcasting system has the ability to process data, text, symbols and information. It can be used for traffic information broadcasting, broadcast paging, background music, and has the remarkable characteristics of large-scale networking and high reliability. The RDS solution will show more and more technical advantages.
2.1 RDS broadcast signal
The realization of FM automatic search technology requires the RDS data source, namely RDS broadcast data, as the background condition, that is, it needs the support of the local broadcasting system. The FM band of the RDS receiver is in the range of 87.5~108.0 MHz, and the interval between adjacent radio bands is at least 100 kHz, and the subcarrier data is loaded on 57 kHz. The data content includes radio station type, program type, traffic announcements, standard time, weather forecast, etc. At the same time, an open interface is provided to provide data text application channels for special users. The essence of RDS broadcasting technology is a working method that uses the subcarrier of FM stereo (FM) broadcasting to carry data information. RDS data is modulated by FSK to become an RDS data signal with a carrier of 57 kHz. The RDS data signal is mixed with the sound signal played by the radio station itself to become a composite signal, which is then sent through FM modulation.
2.2 Introduction to Common RDS Functions
PI (Program Identification): is a 16-bit binary number that indicates the transmission of a radio station. If the radio finds two transmitters using the same code, it can be considered that the programs transmitted by the two are the same. The radio can then decide which transmitter to use based on the stronger signal and better quality.
PS (Program Service name): is an eight-character string used to identify the radio station being received. The PI code can only be read by the machine, while the PS is designed to be visible to the listener so that he can know which radio station he is currently listening to.
PTY (Program Type Code): Used to confirm which type of program the current program belongs to among the 32 program types defined in the RDS standard, such as news, current affairs, weather, children's programs, etc.
TP (Traffic Program Identification): Identification of a station with traffic program information. TP has only one digit. It indicates that the station is being listened to. In fact, it means that the program may release traffic or travel announcements. Drivers can use it as a way to find traffic information and travel news in unfamiliar areas.
RT (Radio text): Used to display relevant information of the program being played, such as the name of the currently playing song, the singer, etc., similar to the additional information of CD/MP3.
RT+ (Radio Text Plus): It is an extended function of RT and a new function added in the new standard revised by RDS in 2009. It is mainly used to display some details such as song performers, rolling news headlines, and some information of the current radio station, such as the station's website, hotline, etc. RT+ is fully compatible with RT.
2.3 RDS Data Format
RDS signal transmission follows an internal protocol that specifies the specific format of RDS data and its corresponding meaning. From the perspective of signal transmission, every 8 bytes of data is called a data packet, which is the most basic unit of signal transmission. A type of data packet is called a group. There are 32 types of groups, including group 0A, group 0B, group 1A, group 1B, ..., group 15A, group 15B.
1 group=4 block=104 b
1 block = 16 bits of data + 10 bits of check bit
From the perspective of data content, RDS data is organized into sets of groups and sections. Each set of data corresponds to the concept of data packets from the transmission perspective and is also composed of 8 bytes of data. However, each set of data in a set of RDS data is different, and each has a different specific meaning in terms of content. Further down, each set of RDS data is divided into 4 sections of data, each section occupies two bytes, and different sections also have different specific meanings. A certain number of groups of RDS data are combined together to form a complete set of RDS data. As time goes by and the broadcast program is followed up, the specific content of adjacent sets of RDS data may change, but the nature of the content is fixed and unified. Figure 2 is the definition of each block and specific bit of RDS data.

Among them: A3~A0 represents the data group number, ranging from 0 to 15; B0 represents the version type of the data group, which is divided into A and B; PI code represents the unique identification of the radio station, and each data group contains PI code; TP indicates whether the current radio station contains traffic information; PT4~PT0 has a total of 5 bits, which are used to display the current program type; checkword+offset A, B, C, D is the check bit plus offset of 10 b, which is used for data synchronization and error checking.
3 Software Implementation of RDS Function
This article discusses how to use the commonly used chip S1473X in vehicles to realize the RDS receiving function. Since the S1473X has a built-in digital signal processor and has the function of decoding RDS data, there is no need to equip a separate decoding chip, and it also eliminates the work of controlling data synchronization and error checking in software programming. It can be easily completed by just sending instructions and reading the return value of the instructions. Let's first get familiar with the instruction format of S14 73X.
3.1 S1473X instruction format
S1473X exchanges information with the system controller through commands and responses. In order to perform an action, the system controller sends a byte of command and several bytes of related parameters. S1473x performs the corresponding action and returns the corresponding status byte and several response bytes according to the type of command. The complete control process of S1473X consists of the following four parts:
Command CMD: sent by the main controller to control the behavior of S1473X, such as power on, power off or tuning to a specified frequency;
Parameter ARG: sent by the main controller, it is a parameter describing the command, used to further specify the specific behavior of the command. For example, the command to tune to a specified frequency, its parameter includes the specified frequency;
Status: returned by S1473X, each command has 1 B status return, which is used to indicate the execution status of the command, such as interrupt status, whether it is ready, etc.
Response RESP: returned by S1473X. When the controller sends a command to read data, S1473X returns the read content. For example, FM_RDS_STATUS reads the data status of RDS.
3.2 Implementation of RDS Function
By sending command 0X24, that is, function FM-RDS_STATUS, the RDS information of the current channel is obtained, and a null value is read from the RDS stack. The RDS information includes the synchronization status flag, the stack status flag, the information of the entire group (block A, B, C, D) and the error information transmitted by each block. In addition, the attribute command 0X1500, RDS_INT_SOURCE is responsible for the interrupt configuration related to RDS. The attribute command 0X1501, RDS_INT_FIFO_COUNT is responsible for setting the minimum value of the RDS group data stored in the RDS stack before the RDSRECV flag position is set to 1. Because some RDS function displays, such as displaying radio program names, song names and other information, require several groups of RDS group data to be transmitted, so the RDS stack must have a certain storage capacity to display the information completely. The entire RDS function implementation process is shown in Figure 3.

4 Conclusion
In recent years, the development of terminals that provide information service functions, such as mobile phones, MP3, PDA, etc., has been accelerating, and their functions have tended to be integrated. Intelligent terminals that integrate multiple information service functions are the development direction of these portable devices. Many consumers hope to add FM functions to their handheld products. Data broadcasting services such as RDS use the existing broadcasting network with a wide coverage, so the network construction investment is very small. In addition, many FM chips have integrated RDS decoding functions, so the implementation of RDS functions has become simple and easy. I believe that FM+RDS will have more extensive applications.
|