<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 基于A(yíng)M-209M芯片的視頻16畫(huà)面分割器

基于A(yíng)M-209M芯片的視頻16畫(huà)面分割器

作者: 時(shí)間:2006-01-10 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:介紹了的16器的系統組成。給出了通過(guò)AT89C55單片機對16路輸入進(jìn)行實(shí)時(shí)監控的各部分設計方案,同時(shí)給出了硬件組成和軟件實(shí)現程序。

關(guān)鍵詞: 16器 AT89C55

目前,在電視臺、銀行、商場(chǎng)、倉庫等場(chǎng)所常常需要對多路信號進(jìn)行實(shí)時(shí)監測、處理。而畫(huà)面器正好可將多路視頻信號合成顯示在一個(gè)畫(huà)面上,是視頻監測系統的核心部分。

本文介紹的的視頻多畫(huà)面分割器具有以下特點(diǎn):

可同時(shí)監測16路視頻信號;

具有多畫(huà)面和畫(huà)中畫(huà)、畫(huà)外畫(huà)顯示功能;

具有畫(huà)面盲檢測功能;

具有時(shí)間、位圖及字幕顯示功能;

可以通過(guò)按鍵現場(chǎng)控制,也可以通過(guò)遠程RS-485接口來(lái)進(jìn)行控制;

可以隨時(shí)更新和保存系統配置,可改變系統功能和技術(shù)參數;

系統穩定可靠,實(shí)時(shí)處理,對掉電、死機等異?,F象具有復位功能。

整個(gè)系統包括硬件和軟件兩部分,其中硬件包括編碼、數字視頻處理、解碼和單片機控制等。

1 系統組成

16畫(huà)面分割器由16路視頻解碼、多畫(huà)面處理、視頻編碼以及AT89C55系統控制、人機接口等部分組成。圖1所示是一個(gè)16畫(huà)面分割器的組成框圖。圖中,視頻輸入1~16是系統的復合視頻輸入信號(CVBS)或分離視頻S-VIDEO信號,這些信號通過(guò)視頻解碼器SAA7113(A/D)可轉換成標準的CCIR656 YUV 4:2:2格式數據。視頻多畫(huà)面處理器AM-209M主要用來(lái)對視頻解碼器SAA7113的輸出信號進(jìn)行混合處理,并將處理后的信號送入視頻編碼器SAA7121(D/A),以將其還原成視頻模擬信號CVBS送顯示器輸出。

2 視頻信號處理

2.1 視頻編碼

SAA7113數字視頻解碼器用來(lái)把復合視頻輸入信號CVBS或分離視頻信號S-VIDEO解碼成標準ITU 656 YUV 4:2:2格式的8位數據,SAA7113支持NTSC、PAL制式,可自動(dòng)監測50Hz、60Hz場(chǎng)頻信號,并可在PAL制式和NTSC制式下自動(dòng)轉換。內部有亮度、色調、色飽和度控制電路,并提供有I2C總線(xiàn)接口,本系統通過(guò)I2C總線(xiàn)配置SAA7113。

系統由16片SAA7113組成16路視頻輸入通道。并將AT89C55單片機的P1[0:7]分別連接到16片SAA7113的SDA引腳,每個(gè)IO線(xiàn)連接兩個(gè)SAA7113(SAA7113芯片有兩個(gè)I2C總器件地址,當26腳懸空時(shí),地址為0x48;當26腳通過(guò)一個(gè)3.3kΩ電阻上拉到3.3V時(shí),器件地址為0x4A)。解碼數據輸出端VPO[7:0]接在視頻畫(huà)面分割芯片AM-209M的Camera_n_vdin [7:0]數據線(xiàn)上,n∈(1,2...,8),同時(shí)將通道1~8解調數據輸出接在主片(master)上,通道9~16解碼數據輸出接在從片(slave)上。

2.2 多畫(huà)面處理芯片AM-209M

AM-209M是一種帶有記錄、運動(dòng)檢測和回放等功能的多畫(huà)面實(shí)時(shí)處理芯片,其主要特點(diǎn)如下:

支持CCIR 656YUV 4:2:2編解碼數據格式;

支持多畫(huà)面、畫(huà)中畫(huà)、畫(huà)外畫(huà)處理模式;

字符、位圖可編程顯示;

支持NTSC、PAL、SECAM視頻信號;

單芯片可進(jìn)行9通道畫(huà)面實(shí)時(shí)顯示(30楨/秒),兩芯片可連接16通道畫(huà)面并實(shí)現實(shí)時(shí)顯示(30楨/秒);

兩個(gè)獨立數據輸出通道:監視和記錄道;

有畫(huà)面物體移動(dòng)檢測功能;

外部字體可通過(guò)嵌入式字體RAM(64字符)進(jìn)行編程;

監視輸入盲檢測功能;

通道信息的存取和控制通過(guò)8位并行數據接口來(lái)實(shí)現。

AT89C55單片機通過(guò)并口向AM-209M發(fā)送控制命令,以改變當前的輸出狀態(tài)。AM-209M芯片有2個(gè)16Mbit SDRAM芯片接口,一個(gè)用做顯示數據緩存,一個(gè)用做記錄緩存。同時(shí)芯片內部還有SDRAM讀寫(xiě)操作控制邏輯,因而無(wú)需外部控制。有兩個(gè)編碼芯片接口,每個(gè)芯片接口都包含8個(gè)數據線(xiàn)和1位clock信號線(xiàn),輸出則是多個(gè)視頻輸入混合處理后的CCIR 656格式數據。其內部結構框圖如圖2所示。

b.兩片AM-209M的主從式結構

當用AM-209M實(shí)現16畫(huà)面分割器時(shí),可用兩芯片組成16個(gè)輸入通道以構成主從式結構,主片的slave管腳接地,從片的slave管腳接VCC,主片的記錄通道信號線(xiàn)rec_vdout[7:0]連接到從片監視信號線(xiàn)mon_vdout[7:0],主片1的監視輸出通道mon_vdout[7:0]作為視頻畫(huà)面分割器的監視輸出,從片的記錄輸出通道rec_vdout[7:0]作為分割器的記錄輸出。主從芯片的運動(dòng)檢測信號motion_intr可以共同連接到AT89C55單片機的P3.2腳以作為外部中斷INT0輸入。場(chǎng)同步中斷信號mpout則可共同連接到P3.3以作為外部中斷INT1輸入。其它信號線(xiàn)的連接方法見(jiàn)圖3所示。兩片AM-208M最多可組成16個(gè)畫(huà)面。速度為30幀/秒,基本能滿(mǎn)足實(shí)時(shí)播放要求。

2.3 視頻編碼

SAA7121是視頻編碼芯片,主要功能是把標準YCbCr(CCIR 656)或者M(jìn)PEG格式數據編碼成復合視頻輸入信號(CVBS)或分離視頻信號S-VIDEO。SAA7121支持NTSC-M、PAL B/G和子標準,并具有Y、C和CVBS三個(gè)信號的數模轉換器?;揪幋a函數由副載波生成、彩色調制和同步信號內插組成。SAA7121提供有I2C總線(xiàn)接口,可按主動(dòng)方式或從動(dòng)方式工作。本系統通道I2C接口來(lái)對SAA7121進(jìn)行配置。

3 單片機控制電路

基于單片機的控制電路如圖4所示。該電路主要完成以下功能:與PC機串行通信 以完成命令和數據傳輸;通過(guò)8位并行接口讀寫(xiě)AM-209M;通過(guò)I2C總線(xiàn)讀寫(xiě)SAA7113和SAA7121;保存、更新系統配置數據;通過(guò)鍵控功能及鍵盤(pán)命令切換系統的當前狀態(tài)。

本系統所選用的AT89C55是Atmel公司的8位CMOS單片機,該芯片與MCS-51系列單片機兼容,并帶20K字節的片內Flash程序存儲器和256字節的內部數據存儲器及三個(gè)16位定時(shí)器。

系統接口電路主要由MAX488(RS-485收發(fā)器)構成。因此RS-485標準不僅與RS-232兼容,而且適合遠距離數據傳輸。

系統鍵盤(pán)有8個(gè)按鍵,通過(guò)串行移位74LS164芯片與AT89C55單片機相連。P2.4是按鍵LED指示信號,P2.5是74LS164串行移位時(shí)鐘信號,P2.6是鍵盤(pán)輸出信號,P2.7是鍵盤(pán)輸入判斷信號。系統初始化時(shí),P2.4為1,LED處于熄滅狀態(tài),P2.5、P2.6都為0,QA-QH為0狀態(tài),此時(shí)P2.7的輸入狀態(tài)為1。系統鍵控原理圖如圖5所示。

圖5

4 軟件設計

根據單片機控制功能的要求,該系統軟件由主程序和串口中斷子程序兩部分組成,主程序流程圖如圖6所示。該軟件的編程重點(diǎn)是:視頻編解碼及畫(huà)面分割處理初始化;鍵控及菜單顯示程序;PC命令的判斷和執行;更新系統配置及對數據的保存等。

4.1 訪(fǎng)問(wèn)AM-209M

單片機AT89C55和AM-209M芯片的信號連接關(guān)系是:?jiǎn)纹瑱C的P0.0~P0.7和AM-209M的8位并行數據接口mdata[0:7]相連;P2.0和AM-209M片選信號相連;P2.1則連到寫(xiě)使能信號線(xiàn)wren;P2.2連至地址使能信號線(xiàn)adem;P2.3和讀使能信號線(xiàn)rden相連;INT1和場(chǎng)同步中斷信號mpout相連。圖4給出了這些信號線(xiàn)的連接方法,下面給出的是對AM-209M的字節寫(xiě)程序(并口控制的C程序):

#define AM209_NOP(); _nop_();_nop_();

#define MDATA_BUS P0 //AM-209M數據總線(xiàn)

sbit MCSB_AM209=P2^0; //AM-209M片選

sbit WREN_AM209=P2^1; //寫(xiě)使能

sbit ADEN_AM209=P2^2; //地址鎖存使能

sbit RDEN_AM209=P2^3; //讀使能

void Byte_wr_am209(unsigned char am209_addr,unsigned char am209_data)

{

EA=0;

MDATA_BUS=0xff;

ADEN_AM209=0;

WREN_AM209=1;

AM209_NOP();

MCSB_AM209=0; //AM209M芯片使能

MDATA_BUS=am209 addr; //發(fā)送地址

AM209_NOP();

ADEN_AM209=1;

AM209_NOP();

ADEN_AM209=0;

AM209_NOP();

MDTA_BUS=am209 data; //寫(xiě)入數據

AM209_NOP();

WREN_AM209=0;

AM209_NOP();

WREN_AM209=1;

AM209_NOP();

MCSB_AM209=1;

AM209_NOP();

EA=1;

}

4.2 與PC的串行通信

PC機與單片機通信的數據格式有視頻畫(huà)面命令格式和時(shí)間調整命令格式兩種。視頻畫(huà)面命令格式為:楨頭+命令字+命令地址+校驗和;時(shí)間調整命令數據格式為:楨頭+命令字+秒+分+時(shí)+日+星期+月+年+校驗和。所有數據均為十六進(jìn)制,其中時(shí)間顯示為24小時(shí)制,采用兩字節BCD碼。SUM為SUM字節之前所有字節的累加和,為單字節,不計溢出。

在單片機串口中斷子程序中,可根據接收到的命令長(cháng)度來(lái)判斷是否接收到一個(gè)完整的命令格式。接收到一個(gè)完整命令格式則設置串口接收標志為1。并根據這個(gè)標志位進(jìn)入主程序中的PC命令處理程序,同時(shí)由接收到的命令號來(lái)識別PC發(fā)送的各種命令。如:視頻畫(huà)面命令格式中命令字如果是0X16,則在監視器上顯示輸出16畫(huà)面。此外,依據接收到的校驗和可以判斷接收PC數據的正確性,防止對分割器的誤操作。該系統的波特率為9600bps,單片機的定時(shí)器2設定在自動(dòng)重裝方式2。

4.3 鍵控程序

有鍵按下時(shí),P2.7變?yōu)?。P2.6發(fā)送串行數據0XFE到74LS164,若此時(shí)P2.7輸入仍為0,則表示SW1鍵已按下(見(jiàn)圖5);否則0XFE左移1位(即0xFD),若P2.7輸入仍為0,則表示SW2鍵已按下;依此類(lèi)推…,否則0XFE左移7位(即0X7F),若此時(shí)P2.7輸入為0,則表示SW8鍵按下。左讀取鍵值并釋放按鍵后,系統會(huì )點(diǎn)亮LED以指示鍵按下。例如,當SW1按下再釋放后,P2.6發(fā)送數據0XFE,此時(shí)P2.4置為0,將點(diǎn)亮D501以指示SW1按下。鍵盤(pán)掃描子程序如下:

//鍵盤(pán)掃描子程序,鍵值保存在key_value中

sbit led_on=P2^4; //LED點(diǎn)亮使能,低有效

sbit key_clk=P2^5; //串行移位時(shí)鐘

sbit shift_data=P2^6; //移位數據輸入

sbit scan_data=P2^7; //鍵掃描數據輸入

void Key_read_service()

{

uchar temp,temp1,temp2;

uchar i,j;

Key_flag=0; //鍵標志清零

scandata=1;

led_on=1; //關(guān)閉LED

for(i=0;i8;i++) //74LS164并行輸出置為0

{

shift_data=0;

_nop_();

key_clk=0;

_nop_();

key_clk=1;

}

if(scandata= =0)

{ //有鍵按下

temp=0xfe;

for(j=0;j8;j++) //發(fā)送8個(gè)數據字節

{

temp1=temp;

temp2=~temp;

for=(i=0;i8;i++)//串行移位1個(gè)字節

{

if(temp1 0x80==0x80)

shift_data=1;

else

shift_data=0;

_nop_();

key_clk=0;

_nop_();

key_clk=1;

}

delay_10ms();//延時(shí)10ms去抖

if(scandata==0)//再次判斷是否按鍵?

{ //鍵有效

key_value=temp2;//存儲值

key_flag=1;//置鍵有效標志位

break;

}

temp2=temp21;//不是當前鍵按下

temp=~temp2; 按下,左移一位判斷下一個(gè)鍵

}

}

}



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>