康明星
摘 要:給出了一種基于MAX7456的OSD系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方法,該方法利用ARM7進(jìn)行配置和控制,并通過RS232及RS485接口實(shí)現(xiàn)配置參數(shù)的在線修改,可實(shí)現(xiàn)在視頻信號(hào)中疊加顯示字符、漢字及用戶自定義圖形。
關(guān)鍵詞:ARM7;OSD;MAX7456;視頻監(jiān)控
中圖分類號(hào):TN919.8 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-1302(2014)03-0052-02
0 引 言
當(dāng)前視頻監(jiān)控技術(shù)廣泛應(yīng)用在國(guó)民經(jīng)濟(jì)生活的各個(gè)領(lǐng)域,在公共安全、交通、監(jiān)獄、機(jī)房等需要大規(guī)模集中監(jiān)控的應(yīng)用場(chǎng)合,面對(duì)動(dòng)輒多達(dá)數(shù)百路、乃至上千路的視頻信號(hào),對(duì)各路視頻信號(hào)來源進(jìn)行標(biāo)識(shí)以便有效區(qū)分各路視頻信號(hào),具有重要的工程應(yīng)用價(jià)值。同時(shí),許多人機(jī)界面和視頻播放場(chǎng)合也需要能夠疊加各種圖文信息的技術(shù)。OSD是指在視頻信號(hào)中疊加字符或圖形,從而在指定屏幕位置與圖像信號(hào)同時(shí)顯示,屬于視頻疊加技術(shù)的一種[1]。OSD的實(shí)現(xiàn)主要包括3種方式:第一是基于計(jì)算機(jī)視頻編解碼技術(shù)的軟件實(shí)現(xiàn)方式,其特點(diǎn)是需要計(jì)算機(jī)的支持,占用一定的CPU資源,但顯示參數(shù)的改動(dòng)方便,OSD功能本身不需要額外的成本開銷;第二是基于FPGA或DSP的嵌入式系統(tǒng)實(shí)現(xiàn)方式,通過在FPGA內(nèi)置OSD軟核,或者在DSP中運(yùn)行OSD算法來實(shí)現(xiàn),這種實(shí)現(xiàn)方式在一些采用嵌入式解決方案的視頻服務(wù)器、網(wǎng)絡(luò)攝像機(jī)上比較常見;第三是基于OSD專用集成芯片的硬件實(shí)現(xiàn)方式,單片OSD器件可省去大量外圍電路,可有效降低系統(tǒng)設(shè)計(jì)復(fù)雜度和成本,但顯示內(nèi)容的多樣性受限。
本文給出了基于MAX7456和ARM7的OSD系統(tǒng)設(shè)計(jì)方案,包括硬件設(shè)計(jì)與軟件設(shè)計(jì)兩大部分,并通過實(shí)際制作驗(yàn)證了方案的可行性。
1 系統(tǒng)硬件設(shè)計(jì)
1.1 系統(tǒng)總體設(shè)計(jì)
MAX7456是美信(MAXIM)公司推出的集成了EEROM的單通道、單色OSD芯片,其內(nèi)部EEROM預(yù)置了符合NTSC和PAL制式的256個(gè)用戶可編程字符,字符大小為12×18像素,可對(duì)每個(gè)字符進(jìn)行閃爍、反色和背景控制等操作[2]。MAX7456帶輸出衰減補(bǔ)償功能,具有狀態(tài)(STAT)寄存器、顯示存儲(chǔ)器數(shù)據(jù)輸出(DMDO)寄存器和字符存儲(chǔ)器數(shù)據(jù)輸出(CMDO)寄存器,用戶可通過SPI接口靈活設(shè)置MAX7456的各項(xiàng)參數(shù),比如設(shè)置字符類型、尺寸等顯示參數(shù)。
系統(tǒng)原理框架如圖1所示,采用意法半導(dǎo)體公司的ARM7微控制器STM32F103C8T6單片機(jī)對(duì)MAX7456進(jìn)行參數(shù)配置和控制,該ARM7為32位微控制器,最高工作頻率72 MHz,具備工業(yè)級(jí)穩(wěn)定性,內(nèi)置64 KB FLASH和20KB SRAM存儲(chǔ)空間,充足的存儲(chǔ)空間足以滿足MAX7456緩存需求;外設(shè)資源非常豐富,配有多達(dá)3路UART及2路SPI接口,便于與其他系統(tǒng)交互,提供多種接口供用戶對(duì)系統(tǒng)進(jìn)行參數(shù)預(yù)設(shè)值和在線修改。
圖1 系統(tǒng)原理框圖
1.2 系統(tǒng)電源電路設(shè)計(jì)
從數(shù)據(jù)手冊(cè)可知,MAX7456采用5 V供電,最大電流約為200 mA。為擴(kuò)展系統(tǒng)輸入電壓范圍,可采用LM2576-5穩(wěn)壓芯片提供5 V電壓供給MAX7456。ARM7則采用3.3 V供電,但其工作電流不大,為簡(jiǎn)化設(shè)計(jì),可采用SPX3819-3.3對(duì)5 V電源降壓產(chǎn)生3.3 V電壓供給ARM7,同時(shí)也實(shí)現(xiàn)了MAX7456與ARM7的電源隔離。SPX3819是一款低壓差穩(wěn)壓芯片(LDO),其滿載(500 mA)情況下的壓降也僅為340mV。具體電源電路設(shè)計(jì)如圖2所示。
圖2 系統(tǒng)電源隔離設(shè)計(jì)電路
1.3 MAX7456電路設(shè)計(jì)
MAX7456自身時(shí)鐘可工作在27 MHz,其SPI接口最高工作頻率為10 MHz,而ARM7的SPI時(shí)鐘最大可以達(dá)到18 MHz(此時(shí)系統(tǒng)時(shí)鐘為72 MHz),足以滿足MAX7456的需求。在本系統(tǒng)設(shè)計(jì)中,ARM7作為SPI通信主機(jī)(Master),SPI通信所用的時(shí)鐘信號(hào)由ARM7的SPI單元輸出。為避免因?qū)AX7456進(jìn)行讀寫操作導(dǎo)致OSD輸出圖像出現(xiàn)瞬間變暗現(xiàn)象,ARM7讀寫MAX7456內(nèi)部寄存器前,先檢測(cè)MAX7456的VSYNC引腳,只有該引腳電平為低,才對(duì)MAX7456內(nèi)部顯示存儲(chǔ)區(qū)進(jìn)行寫操作。ARM7的每個(gè)I/O引腳均具備中斷功能, MAX7456的LOS引腳接在ARM7的PA0,而PA0具備喚醒功能,當(dāng)MAX7456出現(xiàn)丟失同步時(shí),LOS輸出置高以喚醒ARM7,再由ARM7進(jìn)行相應(yīng)出錯(cuò)處理。這樣一來,不需要配置MAX7456時(shí),ARM7可處于低功耗模式。
1.4 接口電路設(shè)計(jì)
所用ARM7外設(shè)接口豐富,集成了3個(gè)UART、2個(gè)SPI、1個(gè)CAN,其中SPI1用來與MAX7456通信,UART1用于同PC或其他系統(tǒng)進(jìn)行RS232通信,UART2用作RS485接口。考慮到帶云臺(tái)的視頻監(jiān)控場(chǎng)合,云臺(tái)的控制大多采用RS485,因此設(shè)計(jì)上預(yù)留RS485接口,使得OSD系統(tǒng)可部署在監(jiān)控現(xiàn)場(chǎng),用戶遠(yuǎn)程即可配置MAX7456的顯示參數(shù)。從接口轉(zhuǎn)換的角度來看,ARM7可理解為協(xié)議轉(zhuǎn)換器,用戶通過RS232和RS485發(fā)送配置MAX7456顯示疊加字符的指令,ARM7對(duì)指令進(jìn)行解讀,轉(zhuǎn)換為MAX7456寄存器操作必須遵循的一系列指令組合,再通過SPI接口進(jìn)行傳輸。
2 系統(tǒng)軟件設(shè)計(jì)
2.1 MAX7456接口時(shí)序
MAX7456的SPI命令長(zhǎng)度為16位:高8位(MSB)代表寄存器地址,低8位(LSB)代表數(shù)據(jù),即不管是讀還是寫命令,都需要先從SDIN引腳輸入地址碼,之后再根據(jù)是讀還是寫來讀取或者寫入后續(xù)8位數(shù)據(jù)。MAX7456對(duì)同一個(gè)寄存器進(jìn)行讀操作和寫操作,其對(duì)應(yīng)的寄存器地址是不同的。使能SPI通信之后,MAX7456從SDIN讀入第一個(gè)字節(jié),以確定正在執(zhí)行的操作類型。
圖3所示為MAX7456寫入數(shù)據(jù)的時(shí)序圖[3],當(dāng)CS片選引腳置低時(shí),開啟SPI傳輸,在時(shí)鐘信號(hào)SCLK上升沿采集SDIN輸入數(shù)據(jù),高8位為目標(biāo)寄存器的地址碼,低8位為寫入的數(shù)據(jù)值;當(dāng)CS置高時(shí),數(shù)據(jù)被鎖存到輸入寄存器。如果在數(shù)據(jù)傳輸期間片選信號(hào)置高,則本次寫入操作失敗,最終數(shù)據(jù)不會(huì)被寫入目標(biāo)寄存器。
圖3 MAX7456寫數(shù)據(jù)的時(shí)序圖
圖4所示為MAX7456讀取數(shù)據(jù)的時(shí)序圖[3],當(dāng)CS置低時(shí),開啟SPI傳輸,從SDIN依次輸入7位目標(biāo)寄存器的地址碼,此時(shí)SDOUT的輸出沒有意義,地址碼輸入完成后,被選中的目標(biāo)寄存器的數(shù)據(jù)從SDOUT輸出。CS置高時(shí),結(jié)束本次操作。
圖4 MAX7456讀數(shù)據(jù)的時(shí)序圖
2.2 OSD程序流程圖
不同的實(shí)際應(yīng)用場(chǎng)合,所需的程序各有不同,本文給出一種基本的程序設(shè)計(jì)流程,系統(tǒng)上電復(fù)位之后,ARM7先初始化相關(guān)I/O、UART及SPI接口等,接著檢測(cè)是否需要配置MAX7456。之后ARM7進(jìn)入睡眠模式,在此模式下,來自RS232、RS485接收中斷信號(hào)及MAX7456的LOS引腳觸發(fā)的外部中斷信號(hào)均可以喚醒ARM7,執(zhí)行相應(yīng)的中斷處理程序,比如接收到來自RS232接口的指令后,便可根據(jù)指令更改MAX7456的顯示參數(shù)。其程序流程圖如圖5所示。
圖5 程序流程圖
3 結(jié) 語
本系統(tǒng)采用ARM7為控制核心實(shí)現(xiàn)對(duì)MAX7456的參數(shù)配置和控制,用戶自定義的字符數(shù)據(jù)存儲(chǔ)在ARM7中,并可通過RS232和RS485進(jìn)行在線更改。本文首先介紹了基于MAX7456的OSD系統(tǒng)硬件電路設(shè)計(jì)方法,并給出了具體的設(shè)計(jì)電路圖,接著分析了MAX7456接口時(shí)序,給出了程序流程圖。本文所述方案經(jīng)過了實(shí)際測(cè)試,驗(yàn)證了其可行性和可靠性,具有實(shí)際應(yīng)用價(jià)值。
參 考 文 獻(xiàn)
[1]孫泓波,顧紅,蘇為民.視頻字符疊加技術(shù)的發(fā)展及四種實(shí)現(xiàn)方案[J].電子技術(shù)應(yīng)用,2000(11):44-46.
[2]匡炎.基于FPGA和DSP的圖像采集處理系統(tǒng)的研究與實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2010.
[3]MAXIM. MAX7456 datasheet[EB/OL].[2010-10-23].http://www.21icsearch.com/pdf-DE71981B8F687F0C/MAX7456.html.
[4]吳川,楊冬.基于UPD6464的視頻字符疊加技術(shù)的研究[J]. 電子技術(shù),2010(2): 18-20
[5]費(fèi)莉梅.網(wǎng)絡(luò)視頻錄像機(jī)OSD子系統(tǒng)軟件設(shè)計(jì)[D].杭州:浙江大學(xué),2012.
圖3所示為MAX7456寫入數(shù)據(jù)的時(shí)序圖[3],當(dāng)CS片選引腳置低時(shí),開啟SPI傳輸,在時(shí)鐘信號(hào)SCLK上升沿采集SDIN輸入數(shù)據(jù),高8位為目標(biāo)寄存器的地址碼,低8位為寫入的數(shù)據(jù)值;當(dāng)CS置高時(shí),數(shù)據(jù)被鎖存到輸入寄存器。如果在數(shù)據(jù)傳輸期間片選信號(hào)置高,則本次寫入操作失敗,最終數(shù)據(jù)不會(huì)被寫入目標(biāo)寄存器。
圖3 MAX7456寫數(shù)據(jù)的時(shí)序圖
圖4所示為MAX7456讀取數(shù)據(jù)的時(shí)序圖[3],當(dāng)CS置低時(shí),開啟SPI傳輸,從SDIN依次輸入7位目標(biāo)寄存器的地址碼,此時(shí)SDOUT的輸出沒有意義,地址碼輸入完成后,被選中的目標(biāo)寄存器的數(shù)據(jù)從SDOUT輸出。CS置高時(shí),結(jié)束本次操作。
圖4 MAX7456讀數(shù)據(jù)的時(shí)序圖
2.2 OSD程序流程圖
不同的實(shí)際應(yīng)用場(chǎng)合,所需的程序各有不同,本文給出一種基本的程序設(shè)計(jì)流程,系統(tǒng)上電復(fù)位之后,ARM7先初始化相關(guān)I/O、UART及SPI接口等,接著檢測(cè)是否需要配置MAX7456。之后ARM7進(jìn)入睡眠模式,在此模式下,來自RS232、RS485接收中斷信號(hào)及MAX7456的LOS引腳觸發(fā)的外部中斷信號(hào)均可以喚醒ARM7,執(zhí)行相應(yīng)的中斷處理程序,比如接收到來自RS232接口的指令后,便可根據(jù)指令更改MAX7456的顯示參數(shù)。其程序流程圖如圖5所示。
圖5 程序流程圖
3 結(jié) 語
本系統(tǒng)采用ARM7為控制核心實(shí)現(xiàn)對(duì)MAX7456的參數(shù)配置和控制,用戶自定義的字符數(shù)據(jù)存儲(chǔ)在ARM7中,并可通過RS232和RS485進(jìn)行在線更改。本文首先介紹了基于MAX7456的OSD系統(tǒng)硬件電路設(shè)計(jì)方法,并給出了具體的設(shè)計(jì)電路圖,接著分析了MAX7456接口時(shí)序,給出了程序流程圖。本文所述方案經(jīng)過了實(shí)際測(cè)試,驗(yàn)證了其可行性和可靠性,具有實(shí)際應(yīng)用價(jià)值。
參 考 文 獻(xiàn)
[1]孫泓波,顧紅,蘇為民.視頻字符疊加技術(shù)的發(fā)展及四種實(shí)現(xiàn)方案[J].電子技術(shù)應(yīng)用,2000(11):44-46.
[2]匡炎.基于FPGA和DSP的圖像采集處理系統(tǒng)的研究與實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2010.
[3]MAXIM. MAX7456 datasheet[EB/OL].[2010-10-23].http://www.21icsearch.com/pdf-DE71981B8F687F0C/MAX7456.html.
[4]吳川,楊冬.基于UPD6464的視頻字符疊加技術(shù)的研究[J]. 電子技術(shù),2010(2): 18-20
[5]費(fèi)莉梅.網(wǎng)絡(luò)視頻錄像機(jī)OSD子系統(tǒng)軟件設(shè)計(jì)[D].杭州:浙江大學(xué),2012.
圖3所示為MAX7456寫入數(shù)據(jù)的時(shí)序圖[3],當(dāng)CS片選引腳置低時(shí),開啟SPI傳輸,在時(shí)鐘信號(hào)SCLK上升沿采集SDIN輸入數(shù)據(jù),高8位為目標(biāo)寄存器的地址碼,低8位為寫入的數(shù)據(jù)值;當(dāng)CS置高時(shí),數(shù)據(jù)被鎖存到輸入寄存器。如果在數(shù)據(jù)傳輸期間片選信號(hào)置高,則本次寫入操作失敗,最終數(shù)據(jù)不會(huì)被寫入目標(biāo)寄存器。
圖3 MAX7456寫數(shù)據(jù)的時(shí)序圖
圖4所示為MAX7456讀取數(shù)據(jù)的時(shí)序圖[3],當(dāng)CS置低時(shí),開啟SPI傳輸,從SDIN依次輸入7位目標(biāo)寄存器的地址碼,此時(shí)SDOUT的輸出沒有意義,地址碼輸入完成后,被選中的目標(biāo)寄存器的數(shù)據(jù)從SDOUT輸出。CS置高時(shí),結(jié)束本次操作。
圖4 MAX7456讀數(shù)據(jù)的時(shí)序圖
2.2 OSD程序流程圖
不同的實(shí)際應(yīng)用場(chǎng)合,所需的程序各有不同,本文給出一種基本的程序設(shè)計(jì)流程,系統(tǒng)上電復(fù)位之后,ARM7先初始化相關(guān)I/O、UART及SPI接口等,接著檢測(cè)是否需要配置MAX7456。之后ARM7進(jìn)入睡眠模式,在此模式下,來自RS232、RS485接收中斷信號(hào)及MAX7456的LOS引腳觸發(fā)的外部中斷信號(hào)均可以喚醒ARM7,執(zhí)行相應(yīng)的中斷處理程序,比如接收到來自RS232接口的指令后,便可根據(jù)指令更改MAX7456的顯示參數(shù)。其程序流程圖如圖5所示。
圖5 程序流程圖
3 結(jié) 語
本系統(tǒng)采用ARM7為控制核心實(shí)現(xiàn)對(duì)MAX7456的參數(shù)配置和控制,用戶自定義的字符數(shù)據(jù)存儲(chǔ)在ARM7中,并可通過RS232和RS485進(jìn)行在線更改。本文首先介紹了基于MAX7456的OSD系統(tǒng)硬件電路設(shè)計(jì)方法,并給出了具體的設(shè)計(jì)電路圖,接著分析了MAX7456接口時(shí)序,給出了程序流程圖。本文所述方案經(jīng)過了實(shí)際測(cè)試,驗(yàn)證了其可行性和可靠性,具有實(shí)際應(yīng)用價(jià)值。
參 考 文 獻(xiàn)
[1]孫泓波,顧紅,蘇為民.視頻字符疊加技術(shù)的發(fā)展及四種實(shí)現(xiàn)方案[J].電子技術(shù)應(yīng)用,2000(11):44-46.
[2]匡炎.基于FPGA和DSP的圖像采集處理系統(tǒng)的研究與實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2010.
[3]MAXIM. MAX7456 datasheet[EB/OL].[2010-10-23].http://www.21icsearch.com/pdf-DE71981B8F687F0C/MAX7456.html.
[4]吳川,楊冬.基于UPD6464的視頻字符疊加技術(shù)的研究[J]. 電子技術(shù),2010(2): 18-20
[5]費(fèi)莉梅.網(wǎng)絡(luò)視頻錄像機(jī)OSD子系統(tǒng)軟件設(shè)計(jì)[D].杭州:浙江大學(xué),2012.