注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

不懂风情,承蒙错爱。

Making love to Raspberry Pi

 
 
 

日志

 
 
关于我

我爱如莲的少男少女,他们笑容纯真,不说假话。

网易考拉推荐

TEA5767收音机模块  

2013-05-05 08:52:55|  分类: 嵌入式 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1、TEA5767的总线接口和控制寄存器

TEA5767芯片必须要由单片机通过控制总线向芯片内的寄存器写入控制字才能正常工作。TEA5767的控制总线有I2C和3-wire两种,引脚BUSMODE为低时选用I2C总线,引脚BUSMODE为高时选用3-wire总线。我用的是I2C总线方式。TEA5767的I 2C总线的地址是CO,是可收发的从器件结构,无内部地址。最大低电平是0.2 VCCD最大高电平是0.45VCCD。顺带说一句,TEA5767与SP3767HN是完全兼容的,如果看不懂TEA5767的英文资料,可以

下SP3767HN的PDF资料来看。如下图:

TEA5767收音机模块 - 夏一林 - 不懂风情,承蒙错爱。

2、数据传输

    向TEA5767 写入数据时,地址的最低位是0,即写地址是C0。读出数据时地址的最低位是1,即读地址是C1。TEA5767的控制寄存器要写入5个字节,每次写入数据时必须严格按照下列顺序进行:

地址、字节1、字节2、字节3、字节4、字节5。

每个字节的最高位首先发送。在时钟的下降沿后写入的数据生效。上电复位后,设置为静音,所有其它位均被置低,必须写入控制字初始化芯片。

TEA5767内部有一个5个字节的控制寄存器,在IC上电复位后必须通过总线接口向其中写入适当的控制字,它才能够正常工作。每个数据字节各位的功能含义见表4到表14

 3 写模式数据序列

 

数据字节1

数据字节2

数据字节3

数据字节4

数据字节5

 

 

表4 数据字节1的格式

BIT7(MSB)

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0(LSB)

MUTE

SM

PLL13

PLL12

PLL11

PLL10

PLL9

PLL8

 

 

 

表5 数据字节1各位的说明

BIT

SYMBOL

说明

7

MUTE

若MUTE=1 左右声道静音;若 MUTE=0 左右声道非静音

6

SM

搜索模式;若SM=1 搜索模式;若 SM=0 非搜索模式

5 to 0

PLL(13:8)

预置或搜索电台的频率数据高6位

表6 数据字节2的格式

BIT7(MSB)

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0(LSB)

PLL7

PLL6

PLL5

PLL4

PLL3

PLL2

PLL1

PLL0

表7 数据字节2各位的说明

BIT

SYMBOL

说明

7 to 0

PLL(7:0)

预置或搜索电台的频率数据低8位

表8 数据字节3的格式

BIT7(MSB)

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0(LSB)

SUD

SSL1

SSL0

HLSI

MS

ML

MR

SWP1

表9 数据字节3各位的说明

BIT

SYMBOL

说明

7

SUD

若 SUD=1 向上搜索; 若 SUD=0 向下搜索

6 and 5

SSL[1:0]

搜索停止电平:见表10-11

4

HLSI

若 HLSI=1 高端本振注入;若 HLSI=0 低端本振注入

3

MS

若 MS=1 强制单声道; 若 MS=0 开立体声

2

ML

若 ML=1 左声道静音强制单声道;

若 ML=0 左声道非静音

1

MR

若 MR=1 右声道静音强制单声道;

若 MR=0 右声道非静音

0

SWP1

软件可编程输出口1:若 SWP1=1 SWPOR1为高;

若 SWP1=0 SWPOR1为低

表10 搜索停止电平设定

SSL1

SSL0

搜索停止电平

0

0

不搜索

0

1

低电平 ADC output=5

1

0

中电平ADC output=7

1

1

高电平ADC output=10

表11    数据字节4的格式

BIT7(MSB)

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0(LSB)

SWP2

STBY

BL

XTAL

SMUTE

HCC

SNC

SI

表12    数据字节4各位的说明

BIT

SYMBOL

说明

7

SWP2

软件可编程输出口2:若 SWP2=1 口2为高;

若 SWP2=0口2为低

6

STBY

若 STBY=1 待机模式;

若 STBY=0 非待机模式

5

BL

若 BL=1 日本FM波段;

若 BL=0 美/欧 FM 波段

4

XTAL

若 XTAL=1 fxtal=32.768KHz; 若 XTAL=0 fxtal=13MHz

3

SMUTE

若SMUTE=1 软件静音开;

若 MUTE=0 软件静音关

2

HCC

若 HCC=1高音切割开;

若 HCC=0高音切割关

1

SNC

若 SNC =1立体声噪声消除开;

若 SNC=0立体声噪声消除关

0

SI

若SI=1 引脚SWPORT1 作ready flag输出标志;

若 SI=0 引脚SWOPRT1 作软件可编程输出口

表13    数据字节5的格式

BIT7(MSB)

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0(LSB)

PLLREF

DTC

-

-

-

-

-

-

表14    数据字节5各位的说明

BIT

SYMBOL

说明

7

PLLREF

若 PLLREF=1 则6.5 MHz 参考频率 PLL可用;   

若 PLLREF=0 则6.5 MHz参考频率 PLL不可用

6

DTC

若DTC=1 the 去加重时间常数为75μs;

若 DTC=0 the 去加重时间常数为50μs

5 to 0

-

不用管它

4、读数据

和写数据类似,从TEA5767 读出数据时,也要按照“地址、字节1、字节2、字节3、字节4、字节5”这样的顺序读出,读地址是C1。读出的5个字节的含义见表16到表25中的说明。

15 读模式

 

数据字节1

数据字节2

数据字节3

数据字节4

数据字节5

表16 字节1的格式

 

BIT7(MSB)

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0(LSB)

RF

BLF

PLL13

PLL12

PLL11

PLL10

PLL9

PLL8

表17 字节1的说明

 

BIT

SYMBOL

说明

7

RF

若RF=1 则发现了一个电台或搜索到头;

若 RF=0 未找到电台

6

BLF

若BLF=1 搜索到头;

若 BLF=0 未搜索到头

5 to 0

PLL[13:8]

搜索或预置的电台频率值的高6位

表18 字节2的格式

 

BIT7(MSB)

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0(LSB)

PLL7

PLL6

PLL5

PLL4

PLL3

PLL2

PLL1

PLL0

表19 字节2的说明

 

BIT

SYMBOL

说明

7 to 0

PLL[7:0]

搜索或预置的电台频率值的低8位

表20 字节3的格式

 

BIT7(MSB)

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0(LSB)

STEREO

IF6

IF5

IF4

IF3

IF2

IF1

IF0

表21 字节3的说明

 

BIT

SYMBOL

说明

7

STEREO

若 STEREO=1 为立体声;

若 STEREO=0 为单声道

6 to 0

PLL[13:8]

中频计数结果

表22 字节4的格式

 

BIT7(MSB)

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0(LSB)

LEV3

LEV2

LEV1

LEV0

CI3

CI2

CI1

0

表23 字节4的说明

 

BIT

SYMBOL

说明

7 to 4

LEV[3:0]

信号电平ADC 输出

3 to 1

CI[3:1]

芯片标记; 设置为0

0

-

该位为 0

表24 字节5的格式

 

BIT7(MSB)

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0(LSB)

0

0

0

0

0

0

0

0

表25 字节5的说明

 

BIT

SYMBOL

说明

7 to 0

-

供以后备用的字节;设置为0

 下面是计算频率和PLL值的C语言程序:

//由频率计算PLL
void get_pll(void)
{
    unsigned char hlsi;
    unsigned int twpll=0;
    hlsi=radio_write_data[2]&am

;0x10;
    if (hlsi)
        pll=(unsigned int)((float)((frequency+225)*4)/(float)32.768);    //频率单位:k
    else
        pll=(unsigned int)((float)((frequency-225)*4)/(float)32.768);    //频率单位:k
}
//由PLL计算频率
void get_frequency(void)
{
    unsigned char hlsi;
    unsigned int npll=0;
    npll=pll;
    hlsi=radio_write_data[2]&0x10;
    if (hlsi)
        frequency=(unsigned long)((float)(npll)*(float)8.192-225);    //频率单位:KHz
    else
        frequency=(unsigned long)((float)(npll)*(float)8.192+225);    //频率单位:KHz
}

根据上面的算法,以106.8的天津交通台为例,它的PLL32d1H,第一个字节的BIT7=0非静音,BIT6=0不搜索,第三个字节的BIT4=0低本振,第四个字节的BIT5=0欧美制式,BIT4=132768晶振,其余位的设置无所谓,可任意。各字节值见表2731。、

表27字节1:0x32

 

BIT7(MSB)

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0(LSB)

MUTE

SM

PLL13

PLL12

PLL11

PLL10

PLL9

PLL8

0

0

1

1

0

0

1

0

非静音

非搜索

3

2

 

 

 

 

 

表28字节2: 0xd1

 

BIT7(MSB)

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0(LSB)

PLL7

PLL6

PLL5

PLL4

PLL3

PLL2

PLL1

PLL0

1

1

0

1

0

0

0

1

d

1

表29字节3: 0xC0

 

BIT7(MSB)

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0(LSB)

SUD

SSL1

SSL0

HLSI

MS

ML

MR

SWP1

1

1

0

0

0

0

0

0

向上搜索

搜索停止中电平

低本振

立体声

非静音

随便

表30字节4:0x17

 

BIT7(MSB)

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0(LSB)

SWP2

STBY

BL

XTAL

SMUTE

HCC

SNC

SI

0

0

0

1

0

1

1

1

任意(不用)

非待机

欧美

32768

非软件静音

高音切割

除噪声

SWP1=RF

表31字节5: 0x00

 

BIT7(MSB)

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0(LSB)

PLLREF

DTC

-

-

-

-

-

-

0

0

0

0

0

0

0

0

不用6.5M

50μs

 

 

 

 

 

 

据此给出的控制字是:0x32,0xd1,0xC0,0x17,0x00,将这个控制字写入TEA5767就可以了。
  评论这张
 
阅读(2324)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018