<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 安全與國防 > 設(shè)計(jì)應(yīng)用 > 基于FPGA處理器的數(shù)字光端機(jī)系統(tǒng)分析

          基于FPGA處理器的數(shù)字光端機(jī)系統(tǒng)分析

          作者: 時(shí)間:2010-11-26 來源:網(wǎng)絡(luò) 收藏

            系統(tǒng)時(shí)鐘頻率為32MHz,對于AD9280的采樣時(shí)鐘為16MHz,對系統(tǒng)時(shí)鐘進(jìn)行二分頻后提供給AD9280。同時(shí),在分頻后的輸出時(shí)鐘的上升沿對A/D轉(zhuǎn)換的結(jié)果進(jìn)行讀取,讀取的結(jié)果存入中進(jìn)行下一步應(yīng)用。程序如下所示。

            module AdControl(clk_in,reset,ad_data,clk_out,data_reg);

            input clk_in,reset;

            input [0:7]ad_data;

            output clk_out;

            output [0:7]data_reg;

            reg [0:7]data_reg;

            reg clk_out;

            always@(posedgeclk_in)

            begin

            if(reset)

            clk_out<=0;

            else

            clk_out<="clk_out;

            end

            always@(posedgeclk_out)

            begin

            data_reg<=ad_data;

            end

            endmodule

            其中,clk_in為系統(tǒng)輸入時(shí)鐘;clk_out為分頻后提供給ADC的采樣時(shí)鐘;reset為復(fù)位端,高電平復(fù)位;ad_data是A/D轉(zhuǎn)換后得到的數(shù)字量;data_reg

            用來存儲(chǔ)A/D轉(zhuǎn)換后的數(shù)字量。

            2 語音編碼控制模塊

            語音編碼控制模塊主要完成對PCM編碼芯片提供數(shù)據(jù)編碼時(shí)鐘、數(shù)據(jù)使能控制以及編碼后的數(shù)據(jù)接收。

            此處程序如下所示。

            module PcmControl(clk_in,reset,tdd,tdc,tde,pcm_data);

            ……

            always@(posedgeclk_in)

            begin

            if(reset)

            begintdc<=0; end

            elsebegin

            if(cnt0==7)

            begin

            tdc<="tdc;

            cnt0<=0;

            end

            else

            cnt0<=cnt0+1;

            end

            end

            always@(posedgetdc)

            begin

            if(cnt1==140)

            begin

            tde<="tde;

            cnt1<=0;

            end

            else

            cnt1<=cnt1+1;

            end

            always@(posedgetdc)

            begin

            pcm_data<=tdd;

            end

            endmodule

            其中,clk_in是FPGA系統(tǒng)時(shí)鐘,reset為系統(tǒng)復(fù)位信號(hào)。信號(hào)tdd是PCM編碼芯片的輸出;信號(hào)pcm_data用來存放PCM編碼數(shù)據(jù);信號(hào)tdc是PCM編碼時(shí)鐘信號(hào);信號(hào)tde是PCM編碼使能時(shí)鐘。

            3 并串轉(zhuǎn)換控制模塊

            系統(tǒng)主控核心FPGA對數(shù)字化的視頻、語音信號(hào)進(jìn)行時(shí)分復(fù)用后,將視頻語音混合信號(hào)送給并串轉(zhuǎn)換器。并串轉(zhuǎn)換模塊主要實(shí)現(xiàn)對并串轉(zhuǎn)換器的時(shí)序控制,使能控制和數(shù)據(jù)輸入控制。此處的部分程序如下所示。

            moduleSnControl (clk_in,fpga_data,sn_clk,sn_data,sncontrol);

            input clk_in;

            input [0:9]fpga_data;

            output [0:9]sn_data;

            output sn_clk,sncontrol;

            reg sn_clk,sncontrol;

            reg [0:9]sn_data;

            always@(posedgeclk_in)

            begin

            sn_clk<="sn_clk;

            end

            always

            begin

            sncontrol<=1;

            end

            always@(posedgesn_clk)

            begin

            sn_data<=fpga_data;

            end

            endmodule

            其中,clk_in是FPGA系統(tǒng)時(shí)鐘,信號(hào)sn_clk是并串轉(zhuǎn)換器的轉(zhuǎn)換時(shí)鐘;信號(hào)fpga_data是FPGA對視頻、語音時(shí)分復(fù)用編碼后的數(shù)據(jù);信號(hào)sn_data是并串轉(zhuǎn)換器的輸入數(shù)據(jù);信號(hào)sncontrol是并串轉(zhuǎn)換器的編碼使能時(shí)鐘。

            4 D/A控制模塊

            D/A控制模塊主要用來控制AD9708,對來自串并轉(zhuǎn)換后的數(shù)據(jù),F(xiàn)PGA首先進(jìn)行時(shí)分解復(fù)用,然后將視頻信號(hào)部分發(fā)送給AD9708,同時(shí)配合DAC的轉(zhuǎn)換時(shí)鐘,該時(shí)鐘信號(hào)是通過并串轉(zhuǎn)換器恢復(fù)出來的發(fā)射端系統(tǒng)的發(fā)射時(shí)鐘。

          結(jié)語

            此套數(shù)字式光端機(jī)系統(tǒng),實(shí)現(xiàn)了各個(gè)監(jiān)控點(diǎn)和總監(jiān)控室的信號(hào)遠(yuǎn)程傳輸。各監(jiān)控點(diǎn)的攝像頭傳回視頻信號(hào),總監(jiān)控室通過485數(shù)據(jù)接口線對各個(gè)攝像頭進(jìn)行遠(yuǎn)程控制。遠(yuǎn)程兩端之間還可以進(jìn)行話音通信。具有一定的使用價(jià)值和工程意義。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();