RDS广播发射是不是固有的编码格式?才能被接收,这个问.....
RDS是不是先按照RDS的编码规则编好数据再交给IC发射呢,还是任意的数据都能发射到并且能被接收器接收?我做想实现RDS数据收发,但是虽然芯片显示已收到RDS信号,但是4个区块全是错误的,根本没办法读取,在发射端我写入的是任意数据,难道写入的数据也要按照编码规则来,才能被发射端正确接收并且校验??
我不知道 误码检测和编码校验 到底是芯片自己硬件来做还是后端或者软件来处理?
貌似没人研究这玩意? {:mad:}{:mad:}{:mad:}{:mad:}
万能的坛坛{:mad:}{:mad:}{:mad:} 再顶一下下 QN8027 这个芯片资料很少啊,正犯愁那,交流一下{:smile:} 资料都有,就是RDS不能被收音机正确接收,发送0a 和 2a 消息,rds收音机没有反应。很慢的发送0a消息 收音偶尔能收到。 看一下我以前的贴http://www.amobbs.com/thread-5085687-1-1.html
不过用的是其他的芯片 谢谢楼上哥么 我也是碰到这个问题了,RDS不能被收音机正确接收,QN8027发送RDS数据QN8025总是提示同步? void main()
{
QND_Init(); //QN8025初始化
QND_SetSysMode(QND_MODE_DEFAULT);
QND_SetCountry(COUNTRY_CHINA); //使用区域:中国
if(QND_RDSEnable(QND_RDS_ON)) //开启RDS功能
{
SendData = QND_ReadReg(CID2);
if(SendData&0x80) Uart_SendData("\x66",1);
}
QND_RXConfigAudio(QND_CONFIG_MONO,QND_RX_AUDIO_STEREO);//设置立体声
InitSystemFlag = TRUE;
QND_TuneToCH(10000); //接收频率100.00MHz
while(1)
{
Timer_Task();
Key_Task();
Uart_Receice();
{
ret = QND_RDSDetectSignal(); //大概消耗了50ms
flag = ret;
flag ^=ret;
//flag = 0x80;
if(flag&0x80)
{
Uart_SendData(&ret,1); //RDS Rec
if(QND_RDSCheckBufferReady())
{
QND_RDSLoadData(SendData,0); //Rx Mode
}
}
else
{
if(ret&0x0F) Uart_SendData("\xFF",1);//RDS Erro
if(ret&0x70)
{
if(ret&0x40)
Uart_SendData("\xEA",1);//RDS MMBS Block detect
if(ret&0x20)
Uart_SendData("\xEB",1);//RDS third Block in on group C0/C1
if(ret&0x10)
Uart_SendData("\xEC",1);//RDS Block Sync
}
}
}
}
}
请教下robustman,程序不停进入RDS Block Sync接收不到数据什么原因? 楼主最后解决问题了吗,交流一下。
页:
[1]