近几年来,无线通讯技术不断高速发展,HS6760 FM 对讲机的应用领域越来越广阔,其功能和通话质量较之前有很多的提高。为减少用户在使用或开发过程的障碍,本文以HS6760 FM 对讲机为例,对HS6760 FM 对讲机编程指南进行详细解说。
一、 HS6760的初始化
步骤 |
说明 |
reg |
value |
备注 |
1 |
选择FM 发射频率 |
chsel<13:8>=0x01 <5:0> chsel<7:0>=0x00 |
|
想要输入的频段值(以 MHz 为单位)*20;得到的数值转为十六进制数,写chsel<13:0>中 |
2 |
配置PGA 增益 |
0x02<7:4> |
4'b0011 |
000=-6dB;001=0dB;010=6dB; 0011=12dB;0100=15dB;0101=18dB; 1110=21dB;1111=24dB |
3 |
是否打开立体声 |
0x03<7> |
|
0 表示单声道,1 表示立体声 |
4 |
进入正常工作模式 |
0x01<7:6> |
2'b00 |
work mode. 00: Normal mode; 01: Mute mode; 10: Standby mode; 11: Sleep mode. |
5 |
选择晶振 |
0x02<2:1> |
2'b11 |
Crystal frequency select. 00: 32.768KHz 01: 7.6MHz 10: 12MHz 11: 24MHz |
6 |
reset 一下状态机 |
0x07<7> |
1'b0-->1'b1 |
先设 0 再设 1,上升沿表reset |
注 1 : 现在对 32.768k 晶振的支持还有问题,但能使用外灌的 32.768K 时钟
注 4 : 下每个指令之间最好等待 1ms
二、 FM 对讲机的整体程序架构
l 初始化 HS6760:
? 1、选择晶振频率
? 2、选择 FM 发射频率
? 3、进入 standby 模式
l 初始化 FM 接收芯片(RDA5087 或者 BK1080)和 class-D 芯片
? 1、选择晶振频率
? 2、选择 FM 接收频率
? 3、声音进入 mute 模式
l 主程序 while(1):
? S1:判断按键是否按下
? 1、如果是,就进入发射模式,发射芯片进入 normal mode;接收芯片mute 。
? 2、如果否,就进入接收模式。FM发射芯片进入standby模式,而接收芯片和class-D芯片打开。同时判别 SNR 或者 RSSI 的值是否太小,如果是,把接收芯片进入 mute模式,免得把沙沙声放出来。
? 3、delay 100ms,然后回到 S1。
注:每次 FM 发射芯片从 standby 模式进入正常发射模式,需要 reset 一下。