数码之家

 找回密码
 立即注册
搜索
查看: 11253|回复: 20

[STM] 分享TEF6621T车载收音机底层驱动资料

[复制链接]
发表于 2019-8-24 13:33:46 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
最近有时间,翻出来了好久之前在车机上拆的收音机模块,于是乎写了下底层驱动,有同款收音机芯片的朋友可以参考一下,DIY属于自己的收音机。
驱动使用STM32F103C8T6编写,软件模拟iic,主晶振8MHz
和STM32F103RB/RC/ZE T6兼容,工程稍作修改即可。

IMG_2235.JPG

根据板子反面丝印提示焊接需要的线,需要焊接的线有8.5V供电线,IIC的SDA和SCL,音频输出的L,R,天线和一些地线即可。

IMG_2234.JPG
这是模块全貌,外围电路小板上已经集成,不需要做任何改动。

IMG_2233.JPG

连接好外围电路,发现芯片会发热,一度让我认为芯片是坏的,根据PDF手册查询到芯片电流120ma,这样功率大概1W,貌似发热是正常的???
先不管发热了,试了下IIC有应答,那芯片应该没有坏。


在百度上可以很轻松的找到中文PDF,在PDF中可以看出是标准IIC,IIC是一种通讯协议,好多芯片都是IIC接口,例如AT24C02存储器或者SHT20等一些传感器。


这是PDF中对芯片的一些基本介绍,因为外围电路已经确定,直接跳过,看下内部的寄存器如何操作。

1.png

这里明确说明了通信的格式,读写两种方式。要注意的是,这个PDF翻译的时候有一些错误,这里的读地址和写地址是反的,
就相当于快递的收件人和发件人搞反了。
2.png
这里是四个读寄存器,读取的时候只要按照读数据格式进行编程即可。
后面也有对四个寄存器每个位的详细介绍,有兴趣的可以看下。

3.png

例如这是对STATUS寄存器的描述,只要去判断相应的位,便可判断目前的工作状态。


4.png
写寄存器同理,只是数量比较多,PDF也对每个寄存器有详细说明,而且是中文的,大家一看便知。

5.png


打赏

参与人数 2家元 +105 收起 理由
家睦 + 100
moontree + 5 謝謝分享

查看全部打赏

 楼主| 发表于 2019-8-24 13:34:19 | 显示全部楼层
本帖最后由 氢氟酸 于 2019-8-24 14:01 编辑
  1. void TEF6621T_Init(void)
  2. {
  3.         u8 D[10];
  4.         static TEF6621T_BUF TEF6621T_Send_buf;
  5.         static bool FST=1;
  6.         if(FST==1)
  7.         {
  8.                 TEF6621T_Send_buf.BAND=1;//0:AM  1:FM
  9.                 TEF6621T_Send_buf.Frequency=105;//MHz
  10.                 FST=0;
  11.         }
  12.         TEF6621T_Send_buf.MSA=mirror_test|TUNER0;
  13.         
  14.         TEF6621T_Send_buf.TEF6621T_TUNER0=TEF6621T_Send_buf.BAND<<5;//设定AM或者FM
  15.         TEF6621T_Send_buf.TEF6621T_TUNER0|=(int)((TEF6621T_Send_buf.Frequency*20)/0xff);//设定频率高

  16.         TEF6621T_Send_buf.TEF6621T_TUNER1=(int)(TEF6621T_Send_buf.Frequency*20)%0x200;//设定频率低
  17.         
  18.         TEF6621T_Send_buf.TEF6621T_TUNER2=FM_AGC_threshold_retain|INJ_Auto;
  19.         
  20.         TEF6621T_Send_buf.TEF6621T_RADIO=NBS_High|LOCUT_On|MONO_ON|DEMP_103us;


  21.         IIC_Start();
  22.         IIC_Send_Byte(TEF6621T_Write_Add);
  23.         IIC_Wait_Ack();
  24.         IIC_Send_Byte(TEF6621T_Send_buf.MSA);
  25.         IIC_Wait_Ack();
  26.         
  27.         IIC_Send_Byte(TEF6621T_Send_buf.TEF6621T_TUNER0);//TUNER0  
  28.         IIC_Wait_Ack();
  29.         IIC_Send_Byte(TEF6621T_Send_buf.TEF6621T_TUNER1);//TUNER1  
  30.         IIC_Wait_Ack();
  31.         IIC_Send_Byte(TEF6621T_Send_buf.TEF6621T_TUNER2);//TUNER2
  32.         IIC_Wait_Ack();
  33.         IIC_Send_Byte(TEF6621T_Send_buf.TEF6621T_RADIO);//RADIO
  34.         IIC_Wait_Ack();
  35.         IIC_Stop();
  36.         delay_ms(200);

  37.         printf("%d %d %d %d     frequency:%.1fMHz\r\n",D[0],D[1],D[2],D[3],TEF6621T_Send_buf.Frequency);
  38.         
  39.         while(1)
  40.         {
  41.         IIC_Start();
  42.         IIC_Send_Byte(TEF6621T_Read_Add);
  43.         IIC_Wait_Ack();
  44.         D[0]=IIC_Read_Byte(1);
  45.         D[1]=IIC_Read_Byte(1);
  46.         D[2]=IIC_Read_Byte(1);
  47.         D[3]=IIC_Read_Byte(0);
  48.         IIC_Stop();
  49.         if(((D[0] & 0x10 )==0x10) && D[1]>110)//数据有效
  50.                 printf("frequency:%.1fMHz signal:%.1f\r\n",TEF6621T_Send_buf.Frequency,D[1]/2.55);
  51.         delay_ms(200);
  52.         }
  53. }
复制代码

TEF6621中文资料.pdf

380.46 KB, 下载次数: 47, 下载积分: 家元 -55

实验23 IIC实验.zip

4.1 MB, 下载次数: 73, 下载积分: 家元 -55

打赏

参与人数 1家元 +2 收起 理由
moontree + 2 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2019-8-24 14:43:10 | 显示全部楼层
太高级了!没学过这个
回复 支持 反对

使用道具 举报

发表于 2019-8-24 20:56:54 来自手机浏览器 | 显示全部楼层
大佬玩的越来越高级了…
回复 支持 反对

使用道具 举报

发表于 2019-10-6 22:36:04 | 显示全部楼层
看样子是个很牛的收音机芯片
回复 支持 反对

使用道具 举报

发表于 2020-2-21 01:16:24 | 显示全部楼层
楼主你好!我也有一个在车机上拆的收音机模块,芯片型号是TEF6624T不知道和你的这个能不能兼容
回复 支持 反对

使用道具 举报

发表于 2020-8-27 10:19:17 | 显示全部楼层
叱咤调频 发表于 2020-2-21 01:16
楼主你好!我也有一个在车机上拆的收音机模块,芯片型号是TEF6624T不知道和你的这个能不能兼容 ...

6624带RDS功能,但是不要rds的话,跟6621是兼容的
回复 支持 反对

使用道具 举报

发表于 2020-8-27 17:15:53 | 显示全部楼层
我有6638的板子,一直还没玩,有时间跟大佬学一下怎么搞:lol:
回复 支持 反对

使用道具 举报

发表于 2020-8-27 18:59:29 | 显示全部楼层
120mA ?  集成了小功放?
回复 支持 反对

使用道具 举报

发表于 2020-11-16 16:54:39 | 显示全部楼层
没有M币下载不到附件。:cry:
回复 支持 反对

使用道具 举报

发表于 2020-12-12 10:41:05 | 显示全部楼层
留脚印,得空搞一下。
回复 支持 反对

使用道具 举报

发表于 2021-1-2 00:05:59 | 显示全部楼层
TEF6621T车载收音机底层驱动,手里有一个模块:lol:
回复 支持 反对

使用道具 举报

发表于 2021-1-4 09:16:58 | 显示全部楼层
还不如玩SI4730或者RDA5830呢~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-4 18:17:55 | 显示全部楼层
rogerllg 发表于 2021-1-4 09:16
还不如玩SI4730或者RDA5830呢~

TEF6635,TEF6686,SAF7751更爽
回复 支持 反对

使用道具 举报

发表于 2021-1-5 09:30:25 | 显示全部楼层
氢氟酸 发表于 2021-1-4 18:17
TEF6635,TEF6686,SAF7751更爽

搞SDR更好玩..:lol:
回复 支持 反对

使用道具 举报

发表于 2021-12-31 19:12:18 | 显示全部楼层
学一下,刚开始学习
回复 支持 反对

使用道具 举报

发表于 2022-6-27 16:01:56 | 显示全部楼层
谢谢分享!!!!!!!!!!目前在找个芯片的应用资料。谢谢兄弟了
回复 支持 反对

使用道具 举报

发表于 2022-6-27 20:25:31 来自手机浏览器 | 显示全部楼层
居然潜水一年多了…
回复 支持 反对

使用道具 举报

发表于 2022-8-31 15:00:44 | 显示全部楼层
有高手玩过Si4735、TEF6621T、TEF6686、SAF7751这些收音芯片吗?不到性能、音质方面区别大不大?
回复 支持 反对

使用道具 举报

发表于 2022-11-24 17:47:12 | 显示全部楼层
不知道70180可以用吗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-29 10:53 , Processed in 0.249600 second(s), 17 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表