廣播信號經(jīng)節目制作播出、信號傳送、發(fā)射等環(huán)節,最終在聽(tīng)眾用戶(hù)端收聽(tīng),其中各個(gè)環(huán)節的系統工作狀態(tài)都會(huì )對最終的播出質(zhì)量產(chǎn)生影響。為全面監測廣播信號播出過(guò)程中多個(gè)環(huán)節的信號質(zhì)量,同時(shí)對高周信號和低周信號(音頻基帶信號)的音頻峰值進(jìn)行監測,就要求音頻峰值監測終端對廣播信號播出端、發(fā)射端以及解調后的音頻信號進(jìn)行監測。一般電臺的制作播出端、發(fā)射端、監測控制端不在同一地點(diǎn)。以上海為例:制作播出在虹橋路廣播大廈;發(fā)射端在東方明珠電視塔;監測中心在北京路外灘。最好的監測方法就是各地點(diǎn)分別采集,再通過(guò)內部的局域網(wǎng)將采集的數據傳送到監測中心集中分析處理。 1 原理框圖 C8051F020是美國Silicon Laboratories公司生產(chǎn)的8051系列完全集成的混合信號ISP Flash微控制器。 基于C805lF020的音頻峰值采集終端輸人平衡音頻信號,經(jīng)減法電路、增益調整電路、負波形反相電路、檢波電路、射極跟隨電路和分壓電路,最終利用單片機內部的8位和12位A/D轉換器,可以一次采集16路音頻峰值數據。C8051F020單片機將峰值數據和GPS(全球定位系統)時(shí)間打包為應用層數據,再通過(guò)UDP層、IP層和以太網(wǎng)層協(xié)議,最終打包為以太網(wǎng)包,通過(guò)以太網(wǎng)接口芯片RTL8019AS將數據發(fā)送到局域網(wǎng)上。原理框圖如圖1所示。 2 峰值采集電路分析 音頻峰值采集電路的輸入部分為減法電路,如圖2所示。輸入信號可以為平衡音頻信號: 將R2、R3、R4、R5取為相等阻值,則可以得到: V1=V+—V- 二級運放電路為反相比例放大器,可以調整信號的增益: 三級運放電路為負波形反相電路,當信號正相時(shí),Dl導通,電路表現為電壓跟隨器電路:V3=V2+其中,V2+是V2信號的正相電壓部分。 當信號負相時(shí),D2導通,電路表現為反相比例放大器電路特性,假設R9=R10=10 kΩ則: 其中,V2是V2信號的負相電壓部分。 所以經(jīng)過(guò)第三級運放以后:V3=V2+一V2一 二極管D3采用檢波二極管,與電容C5組成檢波電路;電阻R12、R13和R14為電壓調零網(wǎng)絡(luò );R15和R16組成的分壓電路將信號范圍調整進(jìn)了C8051F020的A/D轉換的電壓范圍。模數轉換子程序如下: void ADC0_and_ADCl(unsigned char xdata*adc0,unsigned char xdata*adcl){ unsigned char i; ADOINT=0: ADClCN=ADClCN & 0xDF: for(i=0;i<8;i++){ AMXOSL=i;//選擇ADC0/ADCl的輸人端口 AMXlSL=i: ADOBUSY=1: ADClCN=A13(21CN 1 0x10: while((ADClCN&0x20)==O);//等待ADCl數據轉換結束 ADClCN=ADClCN&0xDF: adcl=ADCl; while(ADOlNT==O);//等待ADC0數據轉換結束 ADOINT=0; adc0=ADCOH; } } 3 網(wǎng)絡(luò )傳送技術(shù)要點(diǎn) 網(wǎng)絡(luò )傳送部分主要負責將采樣后的音頻峰值信息以及采集時(shí)間,通過(guò)以太網(wǎng)將數據發(fā)送到目標PC機進(jìn)行數據處理。應用層協(xié)議如表1所列。 應用層協(xié)議調用UDP.C將應用層數據打包成UDP包,并綁定目標地址發(fā)送。使用UDP傳送方式主要基于以下考慮: ①TCP要求目標端連接,方式復雜,會(huì )消耗單片機大量時(shí)間資源。以往的經(jīng)驗表明會(huì )出現連接不可靠或斷開(kāi)的情況。 ②有大量的、實(shí)時(shí)的、長(cháng)時(shí)間的音頻峰值數據發(fā)送,UDP方式更適合這種應用。 一般指定的目標地址為IP地址,要得到目標機器的以太網(wǎng)地址,需要ARP協(xié)議(地址解析協(xié)議)的支持。以下是接收到ARP包后的處理程序: void arp_rcve(UCHAR xdata*inbuf){ : //是否收到有效的ARP包 //查看是否有已收到的IP地址,如果有則更新入口和重 //啟時(shí)間 if(arp一>dest_ipaddr!=my_ipaddr)return;//目標地址 //不指向自己,返回 //找空白的IP地址儲存條目。沒(méi)有找到空白的lP地址 //儲存條目,找到最舊的條目并替換。找不到最舊的條 //目,不替換 if(arp一>message_type==ARP_RESPONSE){//收到 //ARP回應包 //如果本機處于等待ARP回應狀態(tài),回應的IP是要等待 //的IP地址 if((waiting_for_arp)&&(wait.ipaddr==arp一> Source_ipaddr)){ waiting_for_arp=FALSE;//清除等待標志 ip_send(waic buf.wait.ipaddr,wait.pmto_id,wait.len); } } else if(arp一>message_type==ARP_REQUEST){ arp_send(arp一>source_hwaddr,arp一>source_ipad— dr,ARP_RESPONSE); }//如果收到ARP請求包,發(fā)送ARP請求回應 ) ARP協(xié)議會(huì )定時(shí)訪(fǎng)問(wèn)ARP存儲緩沖,如果緩沖中的條目生命時(shí)間到達,ARP協(xié)議會(huì )將該條目刪除。為了保證數據發(fā)送目標地址的硬件地址不被移去,程序中硬性規定ARP緩沖中目的地址的ARP條目不會(huì )因為時(shí)間而移去。 void age arp_cache(void){ UCHARi; for(i=0;i if(arp_cache.ipaddr!=udp_dest_ipaddr_rw){ if((arp_cache.ipaddr!=0)&&(arp_cache. timer)){ arp cache.timer一一; //生命時(shí)間到達.條目的IP地址項清零 if(arp_cache.timer==O)arp_ cache.ipaddr=01 } } } } 網(wǎng)絡(luò )傳送的硬件部分由C8051F020和RTL8019AS組成,構成10M以太網(wǎng)接口。以太網(wǎng)和IP地址可通過(guò)串口配置保存在Flash中,C8051F010上電后將以太網(wǎng)地址傳送給RTL8019AS。RTL8019AS初始化后完成以太網(wǎng)層數據包的接收和發(fā)送。 4 結 語(yǔ) 基于C8051F020單片機的音頻峰值采集終端具有高穩定性和網(wǎng)絡(luò )傳輸的特點(diǎn),滿(mǎn)足了廣播監測網(wǎng)絡(luò )中長(cháng)時(shí)間、不間斷和遠距離的要求,目前已成功應用到廣播監測網(wǎng)絡(luò )中。 |