Page 5 of 5

Re: Rogers postbag - FM radio band transmitter

Posted: Wed Mar 01, 2017 10:37 pm
by raphik
Yep, it's orange. In addition, I measured it with the polymeter as well.

Re: Rogers postbag - FM radio band transmitter

Posted: Wed Mar 01, 2017 11:42 pm
by RogerClark
@raphik

Thats roughly what I thought. I knew about the signal to distinguish left and right.

I presumed that the RDS used a separate IF and demodulator, but it sounds like you can get to it as long as the output bandwidth on your receiver's audio output is high enough.

I think I'd be better off using my SDR dongle

Re: Rogers postbag - FM radio band transmitter

Posted: Mon Mar 27, 2017 2:38 pm
by Vassilis
Today I received my FM transmitter. It's time for tests now ! :D

Re: Rogers postbag - FM radio band transmitter

Posted: Tue Mar 28, 2017 6:33 pm
by Vassilis
The first test was a disappointment. I tried to connect a maple mini and a logic analyzer directly to the QN8027 I2C pins. It seems that the 1k resistors to I2C pins were prevent the maple mini to take over the QN8027 control.
So, I de-soldered these resistors and I connected the maple mini directly to the QN8027 I2C pins by using a 4k7 pull up resistors to 3.3v.
After a lot of tests finally I managed to control the QN8027 but ... there was no sound on the FM radio player ...

I examined the PCB to see were the audio jack connector pins are connected. Are connected to the AC1618 chip that seems to be a chip with DSP capabilities. The QN8027 line-in pins are also connected to that chip (on different pins).

Anyway. I connected an external 3.5mm mini jack directly to QN8027 line-in pins through two 1uF capacitors. The sound quality was horrible. The original sound quality was by far better !

Next step is to setup the RDS

To be continue ...

Re: Rogers postbag - FM radio band transmitter

Posted: Tue Mar 28, 2017 7:19 pm
by RogerClark
Sound quality is OK for me.

I connected a Bluetooth receiver dongle to the solder pads of the jack socket and the only time the sound quality gets rough is on mp3s that are very loud and if I have the Bluetooth volume at maximum on my phone. So I normally use about 90% volume and it works well for me.

Re: Rogers postbag - FM radio band transmitter

Posted: Tue Mar 28, 2017 9:00 pm
by Vassilis
@Roger
The sound quality is very good when I connect my mp3 player to the 3.5mm mini jack. The sound quality is not good when I connect my mp3 player to the Left and Right pins of the QN8027 chip (pin 9 and 10), when I control it with the maple mini. I used two additional capacitors, 1 uF on each pin.

Normaly, the sound goes from the mini jack to the QN8027 through the AC1618 chip. I disconnected the QN8027 from the AC1618 chip (the I2C bus). So, the AC1618 couldn't see the QN8027 and it didn't pass the sound from the mini jack to the QN8027.

Re: Rogers postbag - FM radio band transmitter

Posted: Wed Mar 29, 2017 3:06 pm
by Vassilis
Finally I managed to make the RDS work !
Here there are some screenshots from my cell phone

J5_1a.png
J5_1a.png (24.29 KiB) Viewed 256 times

J5_2a.png
J5_2a.png (24.07 KiB) Viewed 256 times

J5_3a.png
J5_3a.png (24.15 KiB) Viewed 256 times

Re: Rogers postbag - FM radio band transmitter

Posted: Thu Mar 30, 2017 8:04 pm
by RogerClark
Excellent !

Re: Rogers postbag - FM radio band transmitter

Posted: Fri Mar 31, 2017 8:12 am
by Vassilis
Thanks Roger!

In case someone wants to use the RDS, the initialization is the following.
That source code is a part of my main sketch.

Code: Select all


/**
 *  31 March 2017 by Vassilis Serasidis
 *  My Home: http://www.serasidis.gr
 *
 *  http://www.stm32duino.com
 *
 *  How to set the RDS registers can be found on that excel file (created by pinko)
 *  http://www.blog.exrockets.com/blog/wp-content/uploads/2015/06/RDS_CALCULATOR.xlsx
 */

#define QN8027_ADDRESS 0x2C //QN8027 I2C address

 tmp1 = read_from_FM_transmitter(0x12); //Read the value of <RDS> register 0x12
 tmp1 |= 0b10000000; //Set RDSEN bit
 
 /* send_to_FM_transmitter(register, data); */
 send_to_FM_transmitter(0x12, tmp1); //Enable RDS
 send_to_FM_transmitter(0x08, 0b00010000); //COUNTRY CODE and PROGRAM TYPE
 send_to_FM_transmitter(0x09, 0b00000000); //PROGRAM REFERENCE NUMBER
 send_to_FM_transmitter(0x0a, 0b00100000);
 
 /**
  *  Segmend address code (register 0x0b).
  *  From here you select the 4-byte page number. Bits 0-3.
  *  0b01000000 -> Page 1, Message <SERA>
  *  0b01000001 -> Page 2, Message <SIDI>
  *  0b01000010 -> Page 3, Message <S   >
  *  Full RDS message -> <SERASIDIS   >
  */
 send_to_FM_transmitter(0x0b, 0b01000000);
 send_to_FM_transmitter(0x0c, 'S'); //Send the character 'S'
 send_to_FM_transmitter(0x0d, 'E'); //Send the character 'E'
 send_to_FM_transmitter(0x0e, 'R'); //Send the character 'R'
 send_to_FM_transmitter(0x0f, 'A'); //Send the character 'A'
 
 tmp1 = read_from_FM_transmitter(0x00); //Read <SYSTEM> register
 tmp1 ^= 0b00000100; //Toggle the <RDSRDY> bit to send the 4-byte RDS message
 
 /* Send the RDS message <SERA> */
 send_to_FM_transmitter(0x00, tmp1);
 
 Repeat the above process to send the whole message in 4-byte parts.