English
Language : 

TDA7546 Datasheet, PDF (34/68 Pages) STMicroelectronics – Multichip module for TMC tuner applications
Functional description
TDA7546
The RAM buffer is used as a circular FIFO (Figure 9). If more than 24 blocks are written, the
oldest data will be overwritten. One level of the buffer consists of 4 bytes (2 information
bytes, 2 RDS data bytes). If less than 4 bytes of the RAM buffer are read out from the
master via the SPI or I2C interface, the buffer address will not be incremented.
Figure 10. RAM buffer states
Rp Wp
1
32
Rp Wp
Rp Wp
Rp
4
23
22
0
1
2
write
23
22
0
1
write
2
23
22
0
1
2
23
22
0
1
2
21
21
21
Wp 21
Rp
bne = 0
bne = 0 1
bne = 1
3
bne = 1 0
3
bfull = 0
bfull = 0
bfull = 0
bfull = 0
Wp
bovf = 0
bovf = 0
bovf = 0
bovf = 0
read
reset status
5
Rp
Wp
23
22
0
1
2
21
bne = 1
3
bfull = 0 1
bovf = 0
write the first data
into buffer (internally)
Wp
write next three data into
buffer (internally)
Wp
Rp
read three data from buffer
(externally)
Rp
Wp
write
23
22
0
1
21
2
bne = 1
3
bfull = 1
bovf = 0 1
write
23 0
22
21
bne = 1
bfull = 1
bovf = 1
1
2
3
Wp
Rp
the write pointer reaches position
before the read pointer
(24 data written before any read)
the Wp reaches Rp
overflow flag is set
and the first data is
overwritten
Wp and Rp are
moving together
overwriting next data
read
6 Rp Wp
Rp
23
22
0
1
2
21
bne = 1 0
3
bfull = 0
bovf = 0
read
Rp Wp
23 0
22
21
bne = 0
bfull = 0
bovf = 0
1
2
3
the read pointer reaches but
doesn't go ahead the write pointer
the read pointer doesn't go
ahead the write pointer
Note : The read pointer Rp is driven externally through micro read access,
and the write pointer Wp is driven internally on every incoming block.
The different states of the buffer are indicated with the help of following flags:
– “bne”, buffer not empty. It is set as soon as one RDS block is written in
the buffer, and reset when reading rds_int register. This flag is a bit of
rds_int register, it is also an interrupt source .
– “bfull”, buffer full. It is set when 24 RDS blocks have been written, that is
to say that there is about 20 ms to read out the buffer content before an
overflow occurs. This flag is an interrupt source.
– “bovf”, buffer overflow. It is set if more than 24 RDS blocks are written.
This flag is a bit of register rds_corrp (refer to Table 39) and is cleared
only by reading the whole buffer (24 blocks).
34/68