单片机/MCU论坛
直播中

肖伟

9年用户 104经验值
擅长:可编程逻辑
私信 关注
[文章]

对讲机频点亚音解析,BK4811主芯片

`最近儿子想玩对讲机,就在某宝花54块买了一对给他们,突然想起前阵在路边检得一个对讲机,但是没有任何资料,唯一信息就是铬牌。
品牌没有官网,下不到写频软件,到这里基本确定是块砖了,但是这不是DIY人的性格,于是开始漫长的折腾。
外面没法入手,咱们就从内部盘它,拆机。
1606402654676.jpg
这货内部结构到是不复杂,芯片不多,晶振旁边是RF芯片BK4811,一排三个IC,分别是MCU,24C08,还有个没字,分析应该是语音芯片,调到频道几会播报的,应该就是这个芯片的作用,MCU查了半天也是个没资料的,经研究发现,BK4811跟MCU有5个引脚相连,还好找到了BK4811的芯片手册,这5个脚分别是,GPIO1,INIT,SDATA,SCN,SCK。根据这个可以看出是通过3线SPI通信的,于是我就把这5根线飞出来。
1606402654653.jpg
接上逻辑分析仪,还好对讲机功能不多,开机初始化,接收模式,发射模式,
QQ截图20201126231719.jpg QQ截图20201126231728.jpg
这是采集到一个信道的数据,芯片手册写的不详细,有寄存器数据还是看不懂,
于是我就把16个信道的数据全部记录下来,从中找有变化的寄存器,这个方法不错,还是给我找到一些东西,频率设置是REG_113和REG_114,模拟亚音频率设置是REG_91,知道这些就好办了,根据芯片手册说明,各种计算,得出射频频率值和亚音频率值,虽然还是不能写频,但54块买的那两台能写,根据算计出的频率写入,现在就可以通信了。
`
对讲芯片BK4811B-Datasheet-V1[1].2.pdf (1.28 MB)
(下载次数: 76, 2020-11-26 23:32 上传)
1606402275218.jpg

回帖(3)

jf_97613580

2020-11-29 00:31:11
好棒呀,DIY人的快乐真的不只是做出东西的乐趣,起因好美,因为儿子喜欢,所以去做,好棒
举报

南山

2020-12-3 10:21:57
实习生,非常实用,感谢楼主分享。
举报

jf_38961254

2020-12-3 11:09:35
感谢楼主分享,楼主能否说下频率怎样算出来的吗?
1 举报
  • 肖伟: 芯片手册中有频率计算公式:
    1. REG16 = dec2hex(round(hex2dec('4B80')/(121.875e3/IF)));
    2. CH_SPACE = 12.5e3/(121.875e3/IF);
    3. IF_CONSTANT = 9.75;
    4. REG127_dec = round(CH_SPACE*DIV/F_REF*2^24/2); % Get DIV from table 1
    5. REG127 = dec2hex(REG127_dec);
    6. if (length(REG127)>=5)
    a) REG126_B4 = 1 % REG126[4]
    b) REG127(1) = []; % only keep 16 LSBit for REG127
    c)else
    d) REG126_B4 = '0;';
    e)end
    7. N_IF = round(IF_CONSTANT*REG127_dec);
    8. N = round(f*REG3_B15toB13*2^24/F_REF/2 - N_IF);
    9. REGs = dec2bin(N, 32);
    10. REG113 = dec2hex(bin2dec(REGs(1:16)), 4); % MSB 16 bit
    11. REG114 = dec2hex(bin2dec(REGs(17:end)), 4); % K LSB 16 bit

更多回帖

发帖
×
20
完善资料,
赚取积分