Pages: 1 2 [3]   Go Down
Author Topic: RDA5807SP FM Radio Receiver - i2C  (Read 7219 times)
0 Members and 1 Guest are viewing this topic.
Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 626
Posts: 34183
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes it is an odd ball chip alright.
Here is a useful snippet
Quote
When reading use an address byte. When writing do not use an address byte.
This is from:- http://forums.parallax.com/showthread.php?131976-FM-Receiver-Module-documentation

Also
Quote
When in write transfer, data bytes is written out from MCU, and when in read transfer, data bytes is read out from RDA5807SS. There is no visible register address in I2C interface transfers.
Quote
For read transfer,
after command byte from MCU, RDA5807SS sends out the first register high byte, then the first register low byte, then the second register high byte, till receives NACK from MCU. MCU gives out ACK for data bytes besides last data byte. MCU gives out NACK for last data byte, and then RDA5807SS will return the bus to MCU, and MCU will give out STOP condition. The RDA5807SS supported two type I2C interface:RDA5807SS Mode and TEA5767 Mode. The different register defined in different interface Mode. Details refer to RDA5807SS Programming Guide.

From:-
http://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDYQFjAA&url=http%3A%2F%2Fwww.thebackshed.com%2Fforum%2Fuploads%2Fjman%2F2012-03-01_165913_RDA5807SS_datasheet_v1.0.pdf&ei=TwmeT9H0OsTL0QXsv_SGDw&usg=AFQjCNEqEDFHkiZATCakxMKhydZ4MHNVfA&sig2=MkxoY3MabKsvyTu_niEuTA
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 33
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I see what you're referencing.... but I'm not sure I understand how to implement it.  How does it know what register I'm trying to write to if I don't specify the address?

Code:

When reading use an address byte. When writing do not use an address byte.

The following snip-it works:
'========================[Write/Read data to/from FM module ]=====================
Write_ConfigRegs: ' Write Data to Configure Registers
I2COUT SDA, WrFM, [Conf2.Highbyte, Conf2.Lowbyte, Conf3.Highbyte, Conf3.Lowbyte, Conf4.Highbyte, Conf4.Lowbyte, Conf5.Highbyte, Conf5.Lowbyte, Conf6.Highbyte, Conf6.Lowbyte]
RETURN

Read_Status:
I2CIN SDA, RdFM, 0, [Status1,Status2,status3,status4]
DEBUG CRSRXY,10,1,"Status : ", HEX2 status1, " ", HEX2 status2, " ", HEX2 status3, " ", HEX2 status4, " "
RETURN
'================================================= =========================
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 626
Posts: 34183
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I am not sure, it seems to imply it starts at zero and successive pairs of bytes go in the next register up.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello friends! I am also interested in this chip, tell me and how to record the frequency of the chip? thanks
Logged

Pages: 1 2 [3]   Go Up
Jump to: