DriverZone Forums

Full Version: usb fm radio
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
can anyone please provide me with detailed datasheet of Si4701.. I wanted the control words that it uses for SPI data transfer.
In the code provided with FM radio,
#define CONTROL_WRITE(addr, data8) { \
WAIT_SPI; \
SEN_bar = OFF; \
SPIDAT = 0x60 | (addr >> 1); \
WAIT_SPI; \
SPIDAT = (data8.c[MSB] >> 1) | (addr << 7); \
WAIT_SPI; \
SPIDAT = (data8.c[LSB] >> 1) | (data8.c[MSB] << 7); \
WAIT_SPI; \
SPIDAT = (data8.c[LSB] << 7); \
WAIT_SPI; \
SEN_bar = ON; \
SPIDAT = 0xFF; }

// Control read from Si4701
#define CONTROL_READ(addr, data8) { \
WAIT_SPI; \
SEN_bar = OFF; \
SPIDAT = 0x70 | (addr >> 1); \
WAIT_SPI; \
SPIDAT = 0x7F | (addr << 7); \
WAIT_SPI; \
data8.c[MSB] = (SPIDAT << 1); \
SPIDAT = 0xFF; \
WAIT_SPI; \
data8.c[MSB] |= (SPIDAT >> 7); \
data8.c[LSB] = (SPIDAT << 1); \
SPIDAT = 0xFF; \
WAIT_SPI; \
data8.c[LSB] |= (SPIDAT >> 7); \
SEN_bar = ON; \
SPIDAT = 0xFF; }

i am having trouble understanding this operation....
sorry this is way above what driver is about.
however if you use goggle and just put in si4701
you can find the pin outs and data sheets e.t.c
Reference URL's