Features:
These RDS functions are available with ERDS 1.0 control program:
PS (Program Service), PI (Program Identification), PTY
(Program Type), TP (Traffic Program), TA (Traffic
announcement), DI (Decoder Identification), M/S
(Music/speech), RT (Radiotext), AF (Alternative
frequency) and CT (Clock-time and date).

Assembled RDS encoder

Connection diagram

ERDS 1.0 control program
Remarks:

Short description:
The digital part is "core" of the encoder. It provides clocks, power supply, parallel port interface and data processing. It generates impulses for the modulator. Data is stored in EPROM memory.
IC1 generates clock signals 1187,5 Hz (basic RDS clock), 19 kHz and 57 kHz,
which are destined for the modulator.
IC2 drives whole encoder.
Schematic:

IC1 - PIC12C508*
IC2 - PIC16F84*
IC3 - 78L05
IC4 - 24LC04 ,(serial EPROM)
T1, T2 - BC237, BC546B
D1 - any silicon diode
D2 - LED diode
X1 - 4,332 MHz crystal
C1, C2 - 15p
C3 - 20p
C4 - 470u
C5, C6 - 100n
R1 - 5k
R2, R3 - 2k2
R4, R5 - 10k
R6 - 680
sockets for ICs:
IC1, IC4 - 2x4
IC2 - 2x9
* You need two PIC microcontrollers with program inside. There is only one way to
obtain the PICs.
I can send them to your post address.
Short description:
Impulses from digital part are filtered with RC filter.
Then this signal is amplified and brought to easy DSB modulator with T1.
The signal from this modulator contains 57 kHz modulated data and a remainder of non-modulated data, which is removed in the second amplifier.
On the output there is a clean 57 kHz signal.
Schematic:

IC1 - LM358
T1 - BC237, BC546B
C1, C10, C11 - 100 nF
C2 - 15 nF
C3 - 10 nF
C4 - 6,8 nF
C5 - 4,7 nF
C6 - 1 uF
C7 - 220 uF
C8 - 330 pF
C9 - 10 uF
C12 - 22 pF
C13, C14 - 1 nF
R1, R2 - 1k5
R3, R4, R5, R6 - 4k7
R7, R17 - 27k
R8, R11 - 100k
R9, R10, R12, R14, R15, R16 - 10k
R13 - 39k
R18 - 2k7
R19 - instel pot 10k
R20 - 4k7
Recommended connection to the transmitter (different connections are also possible):

Waveforms on the C5 capacitor:

Output waveforms:

Output spectrum:

Print Drawing:

Print Description:

There are two programs for controlling the encoder.
The first provides input and
processing of information from the keyboard,
the second provides loading of RDS data to the encoder by parallel port (lpt 1 or 2).
For usual using, you have to know only the first (ERDS).
Download:
RDS Program 1 (62 kB)
or
erds.rar (64 kB)
Files contain ERDS 1.0 EU and RDS Loader 2.0
ERDS 1.0 EU:
This program was created for easy control of the encoder with many functions and
possibilities.
For loading data to the encoder you want free LPT1 port and RDS Loader
program placed in the same folder.

The program provides this RDS functions: PI, DI, M/S, PTY, TP, TA, PS, CT, RT, AF.
The
Program Service (PS) can be different for TA 0 and TA 1.
You can use up to 9 pages, every
page can contain different information.
Every transmitted program can have for example own Radiotext and PTY, you don't need to rewrite them.
Simply switch to the corresponding page and load data to the encoder.
When CT is set to 1, the program will start RDS Loader every minute for transmit one 4A
group.
This need PC to be always connected.
CT function isn't too precise in the encoder.
This means that during the CT is set to 1, RDS standard isn't fully observed.
RDS Loader 2.0:
This program reads information from a text file and sends it to the encoder via
parallel port.
It works under MS-DOS and MS-Windows (not NT).
386 processor or better is recommended.
Launching the program from the prompt:
rdsload.exe file1
file1 is a text file (created for example in Notepad). It contents the following information (this is an example):
xxxxxxxxxxxxxxx0 0 0000001101111000 RDS TEST This is an example of radiotext 0010000011111110 01100 0 0 0 0 0001 2 00110101 01001110
These lines means:
1. First 15 characters are arbitrary.
The 16th character controls transmitting of CT. 0
for no CT, 1 or 2 inserts one 4A group.
2. Number of the parallel port. 0 for LPT1.
3. Address of the parallel port, 16 bits. 0000001101111000 for LPT1 (0x378).
4. Program service (PS), max. 8 characters.
5. Radiotext (RT), max. 64 characters.
6. Program identification (PI), 16 bits.
7. Program type (PTY), 5 bits.
8. Music/Speech (M/S). 1 for music, 0 for speech.
9. Traffic program (TP). 1 or 0.
10. Traffic announcement (TA). 1 or 0.
11. Switch A/B for radiotext. 0 is recommended all the times.
12. Decoder identification (DI), 4 bits.
13. Number of alternative frequencies, max. 7. Alternative frequencies (AF), if exists,
followed on next lines as 8-bits numbers of channel. Number of the channel=10f-875
where f is frequency in MHz.
In our example there are two alternative frequencies: 92,8 and 95,3 MHz.
RDS Loader also generates file rdsload.out
I think this can be interesting for some people.
This file contains RDS groups
including computed CRC codes.
This contents is the same as the transmitted data.
To see this file you don't need the RDS encoder connected.
Simply press ESC during the loading.
Order and prices
If you are interested in this RDS encoder, contact me.
I will tell you my
post address and you can send me the money.
Then I will send you what you want.
If you want to build the encoder yourself, you need two programmed PIC
microcontrollers.
The price is $25 for both and the schematics.
The price for complete unit built is $94 incl. post charge.
Contact
E-mail: RDS_host@hotmail.com
