新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > C8051F020的音頻峰值采集和網(wǎng)絡(luò)傳送

C8051F020的音頻峰值采集和網(wǎng)絡(luò)傳送

——
作者:上海市廣播科學(xué)研究所 沈紅星 時(shí)間:2007-12-11 來(lái)源:?jiǎn)纹瑱C(jī)及嵌入式系統(tǒng)應(yīng)用 收藏

  廣播信號(hào)經(jīng)節(jié)目制作播出、信號(hào)傳送、發(fā)射等環(huán)節(jié),最終在聽(tīng)眾用戶端收聽(tīng),其中各個(gè)環(huán)節(jié)的系統(tǒng)工作狀態(tài)都會(huì)對(duì)最終的播出質(zhì)量產(chǎn)生影響。為全面監(jiān)測(cè)廣播信號(hào)播出過(guò)程中多個(gè)環(huán)節(jié)的信號(hào)質(zhì)量,同時(shí)對(duì)高周信號(hào)和低周信號(hào)(音頻基帶信號(hào))的音頻峰值進(jìn)行監(jiān)測(cè),就要求音頻峰值監(jiān)測(cè)終端對(duì)廣播信號(hào)播出端、發(fā)射端以及解調(diào)后的音頻信號(hào)進(jìn)行監(jiān)測(cè)。一般電臺(tái)的制作播出端、發(fā)射端、監(jiān)測(cè)控制端不在同一地點(diǎn)。以上海為例:制作播出在虹橋路廣播大廈;發(fā)射端在東方明珠電視塔;監(jiān)測(cè)中心在北京路外灘。最好的監(jiān)測(cè)方法就是各地點(diǎn)分別采集,再通過(guò)內(nèi)部的局域網(wǎng)將采集的數(shù)據(jù)傳送到監(jiān)測(cè)中心集中分析處理。

原理框圖

    是美國(guó)Silicon Laboratories公司生產(chǎn)的8051系列完全集成的混合信號(hào)ISP Flash微控制器。

    基于C805lF020的音頻峰值采集終端輸人平衡音頻信號(hào),經(jīng)減法電路、增益調(diào)整電路、負(fù)波形反相電路、檢波電路、射極跟隨電路和分壓電路,最終利用單片機(jī)內(nèi)部的8位和12位A/D轉(zhuǎn)換器,可以一次采集16路音頻峰值數(shù)據(jù)。單片機(jī)將峰值數(shù)據(jù)和GPS(全球定位系統(tǒng))時(shí)間打包為應(yīng)用層數(shù)據(jù),再通過(guò)UDP層、IP層和以太網(wǎng)層協(xié)議,最終打包為以太網(wǎng)包,通過(guò)以太網(wǎng)接口芯片RTL8019AS將數(shù)據(jù)發(fā)送到局域網(wǎng)上。原理框圖如圖1所示。


{{分頁(yè)}}2
  峰值采集電路分析

        音頻峰值采集電路的輸入部分為減法電路,如圖2所示。輸入信號(hào)可以為平衡音頻信號(hào):

   

   將R2、R3、R4、R5取為相等阻值,則可以得到:

       V1=V+—V-

   
   二級(jí)運(yùn)放電路為反相比例放大器,可以調(diào)整信號(hào)的增益:

  

    三級(jí)運(yùn)放電路為負(fù)波形反相電路,當(dāng)信號(hào)正相時(shí),Dl導(dǎo)通,電路表現(xiàn)為電壓跟隨器電路:V3=V2+其中,V2+是V2信號(hào)的正相電壓部分。

  
    當(dāng)信號(hào)負(fù)相時(shí),D2導(dǎo)通,電路表現(xiàn)為反相比例放大器電路特性,假設(shè)R9=R10=10 kΩ則:

   

    其中,V2是V2信號(hào)的負(fù)相電壓部分。

    所以經(jīng)過(guò)第三級(jí)運(yùn)放以后:V3=V2+一V2一


    二極管D3采用檢波二極管,與電容C5組成檢波電路;電阻R12、R13和R14為電壓調(diào)零網(wǎng)絡(luò);R15和R16組成的分壓電路將信號(hào)范圍調(diào)整進(jìn)了的A/D轉(zhuǎn)換的電壓范圍。模數(shù)轉(zhuǎn)換子程序如下:

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數(shù)據(jù)轉(zhuǎn)換結(jié)束

ADClCN=ADClCN&0xDF:

adcl[i]=ADCl;

while(ADOlNT==O);    //等待ADC0數(shù)據(jù)轉(zhuǎn)換結(jié)束

ADOINT=0;

adc0[i]=ADCOH;

    }

}{{分頁(yè)}}

 

網(wǎng)絡(luò)傳送技術(shù)要點(diǎn)

    網(wǎng)絡(luò)傳送部分主要負(fù)責(zé)將采樣后的音頻峰值信息以及采集時(shí)間,通過(guò)以太網(wǎng)將數(shù)據(jù)發(fā)送到目標(biāo)PC機(jī)進(jìn)行數(shù)據(jù)處理。應(yīng)用層協(xié)議如表1所列。

    應(yīng)用層協(xié)議調(diào)用UDP.C將應(yīng)用層數(shù)據(jù)打包成UDP包,并綁定目標(biāo)地址發(fā)送。使用UDP傳送方式主要基于以下考慮:

    ①TCP要求目標(biāo)端連接,方式復(fù)雜,會(huì)消耗單片機(jī)大量時(shí)間資源。以往的經(jīng)驗(yàn)表明會(huì)出現(xiàn)連接不可靠或斷開(kāi)的情況。

    ②有大量的、實(shí)時(shí)的、長(zhǎng)時(shí)間的音頻峰值數(shù)據(jù)發(fā)送,UDP方式更適合這種應(yīng)用。


    一般指定的目標(biāo)地址為IP地址,要得到目標(biāo)機(jī)器的以太網(wǎng)地址,需要ARP協(xié)議(地址解析協(xié)議)的支持。以下是接收到ARP包后的處理程序:

void arp_rcve(UCHAR xdata*inbuf){

//是否收到有效的ARP包

//查看是否有已收到的IP地址,如果有則更新入口和重

//啟時(shí)間

if(arp一>dest_ipaddr!=my_ipaddr)return;//目標(biāo)地址

  //不指向自己,返回

  //找空白的IP地址儲(chǔ)存條目。沒(méi)有找到空白的lP地址

  //儲(chǔ)存條目,找到最舊的條目并替換。找不到最舊的條

  //目,不替換

if(arp一>message_type==ARP_RESPONSE){//收到

//ARP回應(yīng)包

//如果本機(jī)處于等待ARP回應(yīng)狀態(tài),回應(yīng)的IP是要等待

//的IP地址

    if((waiting_for_arp)&&(wait.ipaddr==arp一>

Source_ipaddr)){

waiting_for_arp=FALSE;//清除等待標(biāo)志

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請(qǐng)求包,發(fā)送ARP請(qǐng)求回應(yīng)

){{分頁(yè)}}


    ARP協(xié)議會(huì)定時(shí)訪問(wèn)ARP存儲(chǔ)緩沖,如果緩沖中的條目生命時(shí)間到達(dá),ARP協(xié)議會(huì)將該條目刪除。為了保證數(shù)據(jù)發(fā)送目標(biāo)地址的硬件地址不被移去,程序中硬性規(guī)定ARP緩沖中目的地址的ARP條目不會(huì)因?yàn)闀r(shí)間而移去。

void age arp_cache(void){

UCHARi;

for(i=0;i<CACHESIZE}i++){

//目的地址的ARP條目不會(huì)因?yàn)闀r(shí)間而移去

if(arp_cache[i].ipaddr!=udp_dest_ipaddr_rw){

if((arp_cache[i].ipaddr!=0)&&(arp_cache[i].

timer)){

arp cache[i].timer一一;

//生命時(shí)間到達(dá).條目的IP地址項(xiàng)清零

    if(arp_cache[i].timer==O)arp_

cache[i].ipaddr=01

    }

    }

    }

}

 

    網(wǎng)絡(luò)傳送的硬件部分由C8051F020和RTL8019AS組成,構(gòu)成10M以太網(wǎng)接口。以太網(wǎng)和IP地址可通過(guò)串口配置保存在Flash中,C8051F010上電后將以太網(wǎng)地址傳送給RTL8019AS。RTL8019AS初始化后完成以太網(wǎng)層數(shù)據(jù)包的接收和發(fā)送。

結(jié)  語(yǔ)

    基于C8051F020單片機(jī)的音頻峰值采集終端具有高穩(wěn)定性和網(wǎng)絡(luò)傳輸?shù)奶攸c(diǎn),滿足了廣播監(jiān)測(cè)網(wǎng)絡(luò)中長(zhǎng)時(shí)間、不間斷和遠(yuǎn)距離的要求,目前已成功應(yīng)用到廣播監(jiān)測(cè)網(wǎng)絡(luò)中。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉