曹旭東,孫敬晶,張 實
(中國石油大學(北京)地球物理與信息工程學院,北京 102249)
基于ARM及μC/OS-II的RGB視頻矩陣設計
曹旭東,孫敬晶,張 實
(中國石油大學(北京)地球物理與信息工程學院,北京 102249)
RGB視頻矩陣也叫RGB視頻信號切換器。在多媒體視頻會議、安防監(jiān)控、廣播電視等領域都起著非常重要的作用。隨著某些場合用到切換信號源的不斷增多與控制地點的靈活變化,對視頻矩陣的控制方式靈活性要求也越來越強烈,一種控制方式遠遠不能滿足人們的需求,因此多種控制方式并存,才能使RGB視頻矩陣發(fā)揮更大作用空間。該設計用低成本ARM LM3S6911作為主控制芯片,配合MAX232串口收發(fā)芯片,網(wǎng)絡變壓器芯片HR601680,還有本機鍵盤模塊和LCD模塊,采用專業(yè)視頻信號切換芯片ISL59530實現(xiàn)了RGB視頻矩陣的按鍵、串行口、以太網(wǎng)口3種控制方式并存。在軟件方面成功地將μC/OS-Π內(nèi)核移植到微控制器LM3S6911上,保證了系統(tǒng)操作的實時性,并提高了切換速度
視頻矩陣;ARM;μC/OS-Π;控制方式
隨著市場經(jīng)濟日新月異的發(fā)展,交通、會議、建筑等領域?qū)σ曨l系統(tǒng)的需求越來越大。視頻矩陣的功能就是從設備的輸入端輸入來自信號源的視頻信號,然后經(jīng)過矩陣箱體內(nèi)部的調(diào)配,把信號從輸出端送出去。整個過程僅僅是一個信號自動流通的過程,并沒有對線路進行插拔。一個M×N型矩陣,“×”前面M是輸入通道容量,“×”后面N是輸出通道容量。
從圖1中可以很明顯的看出來,整個系統(tǒng)的核心部分是控制板。設備本機鍵盤可以直接給控制板下達命令,操作人員PC也可以通過串口或網(wǎng)口給控制板下達命令,然后控制板再給切換電路發(fā)送切換指令,同時給LCD設備發(fā)送顯示指令,實現(xiàn)通道切換和切換后的狀態(tài)顯示同步。
本機鍵盤是用來輸入控制命令的,共有18個鍵,包括0到9數(shù)字鍵、上、下、左、右、查看、確認、取消及主菜單鍵。如果直接用LM3S6911的I/O口,會占用較多的端口資源,
且給編程帶來不便,所以本系統(tǒng)采用的是8位并聯(lián)負載移位寄存器SN74HC165,將并行數(shù)據(jù)轉換為串行數(shù)據(jù)來控制鍵盤矩陣,設計中共用3片SN74HC165。由于SN74HC165可以將8位并行輸入數(shù)據(jù)(A-H)由串行輸入(SER)數(shù)據(jù)串行輸出,設計中通過管腳SER將3片SN74HC165級聯(lián)在一起,可以控制24個按鍵,這里用了18個,以后可以根據(jù)需要進行擴展。
本機鍵盤的位置是在矩陣的前面板,便于操作人員對其進行操作。前面板自成一家,與控制電路不在一塊板子上,它與控制板之間有3根線相連:Key_CLK,Key_Load,Key_OUT。LCD1602液晶接口電路如圖2所示。
LM3S6911 通 過 UART 專 用 管 腳 PA1(U0Tx),PA0(U0Rx)與PC機通信,使用標準的RS-232C通信方式,中間需要進行電平轉換。轉換電路圖如圖3所示。
圖3中采用的串口電平轉換芯片是MAX232,它的工作電壓是+5 V,由第16管腳給入;它是兩路驅(qū)動器和接收器的RS-232轉換芯片。在芯片內(nèi)部有一個電壓轉換器,可以把輸入的+5 V電壓轉換為RS-232接口所需要的±12 V電壓。
圖2 LCD1602液晶接口Fig.2 LCD1602 interface
圖3 串口電平轉換電路Fig.3 Level converter circuit of serial
本系統(tǒng)中只用到了一路驅(qū)動器和接收器,這里是將第12腳(R1OUT)和第 11 腳(T1IN),分別接 LM3S6911 的 U0Rx和U0Tx;第 13腳(R1IN)將PC機串口的 RS-232數(shù)據(jù)轉換成TTL/CMOS數(shù)據(jù)后由第12腳輸出給LM3S6911;而第14腳(T1OUT)將從LM3S6911輸入到第11腳的數(shù)據(jù)轉換成RS-232數(shù)據(jù)送到PC機。C1、C2、C3、C4與C5是濾波電容。需要強調(diào)的是,通信時還要將DB9的“地”線接上,以使PC機和單片機共“地”[1]。
LM3S6911與網(wǎng)絡變壓器HR601680的電路連接圖如圖4所示。由于LM3S691的PHY芯片UTP口驅(qū)動類型為電壓驅(qū)動,所以在LM3S6911與網(wǎng)絡水晶接頭連接的時候,HR601680中心抽頭接到了3.3 V電源上。
在發(fā)送信號時,HR601680將LM3S6911發(fā)送的數(shù)據(jù)通過其耦合濾波,并通過轉換電路轉換成與其所在網(wǎng)絡相符的電平,最后通過網(wǎng)口水晶接頭的TX發(fā)送出去;接收信號時,網(wǎng)絡信號通過HR601680差模耦合電路和電磁感應原理把其來自信號電平轉換成能被芯片所識別的電平。圖中的RXN、RXP、TXN、TXP是分別接到 LM3S6911的以太網(wǎng)模塊的對應管腳的,RX+、RX-、TX+、TX-是接到 RJ45 對應管腳的;C23、C24、C25和 C26是為了抗干擾,吸收噪聲,是電磁兼容設計,如果干擾不大的話,可以不焊接。C22是耐壓為2 kV的電容,可以防止靜電等,R30是匹配電阻。
視頻信號切換板的功能就是完成R、G、B 3路視頻信號的切換,切換板的核心就是矩陣開關芯片ISL59530。ISL59530是16×16視頻矩陣開關芯片,由專業(yè)視頻芯片設計廠商美國Intersil公司設計生產(chǎn)。ISL59530這款芯片具有以下特性:①300 MHz帶寬;②帶有輸入輸出緩沖的矩陣開關;③0.025%/0.05°dG/dP;④通道×1或×2輸出增益調(diào)節(jié);⑤輸出端可以設置高阻抗狀態(tài);⑥-90 dB隔離度(串擾)@6 MHz;⑦SPI數(shù)字控制接口;⑧單+5 V供電[2]。
圖4 LM3S6911與HR601680電路連接圖Fig.4 Circuit connection between LM3S6911 and HR601680
SCLK,SDI和SLATCH 3個數(shù)字輸入管腳的作用就是對ISL59530進行編程。同時,數(shù)據(jù)輸出管腳SDO是可以進行芯片間的級聯(lián)的。
圖5 RGB切換框圖Fig.5 RGB switching block diagram
圖5為RGB切換框圖。RGB切換用到了3片ISL59530,分別負責 16路 R、G、B視頻信號的切換。SCLK、SDI和SLATCH接 LM3S6911,SCLK給 ISL59530提供時鐘,SDI給ISL59530輸入切換數(shù)據(jù),SLATCH負責給ISL59530提供輸入數(shù)據(jù)起始信號,當給SLATCH上升沿的時候,開始由SDI給ISL59530灌入數(shù)據(jù)切換流。
系統(tǒng)中共有2塊同步切換板分別對應H、V兩路信號,完成H、V信號的切換。同步信號切換板主要由FPGA芯片EP1C6Q240C6及其外圍電路以及電源電路組成。EPCS1模塊和JTAG模塊為配置電路,信號輸入和輸出模塊中分別是16路輸入信號和16路輸出信號。
設計中采用的主動串行配置芯片是EPCS1。在AS配置方式下,需要先將編譯生成的pof文件燒寫到配置芯片中。在系統(tǒng)上電后,EP1C6Q240C6和EPCS1進入上電復位狀態(tài)POR(Power on Reset),此時 EP1C6Q240C6 驅(qū)動 nSTATUS 為低,指示FPGA處于 “忙”狀態(tài);同時,EP1C6Q240C6驅(qū)動CONF_DONE也為低,表明FPGA還未被配置。經(jīng)過大約100 ms后,POR結束,EP1C6Q240C6隨即釋放 nSTATUS信號,被外部上拉電阻拉為高電平后,EP1C6Q240C6就進入了配置模式。在As方式配置中,所有操作均由EP1C6Q240C6發(fā)起,它在配置過程中完全處于主動地位[3]。
基于μC/OS-Π的多任務性,控制板的程序主要是建立各個任務,具體按功能來分為:顯示、切換、按鍵、網(wǎng)口、串口。
對五大任務進行初始化和優(yōu)先級設置,可以動態(tài)調(diào)用各個任務,保證系統(tǒng)的實時性。系統(tǒng)接收外部命令,根據(jù)接收到的數(shù)據(jù)執(zhí)行相應的任務[4]。任務一般是個無限循環(huán),看起來像其他C函數(shù)一樣,都有返回類型,有形式參數(shù)變量。但任務是決不會返回的,返回參數(shù)必須定義為void。每次執(zhí)行完畢后會被刪除(是?C/OS-Π暫時不理會該任務,并不是真正被刪除)或者有更高優(yōu)先級的任務而進入等待狀態(tài),等到再次被調(diào)用的時候或者更高優(yōu)先級的任務執(zhí)行結束后再執(zhí)行[5]。
主程序流程圖如圖6所示。
圖6 主程序流程Fig.6 Flow chart of main program
圖6開始后先進行的是初始化操作,其中包括μC/OS-Π和系統(tǒng)初始化。初始化μC/OS-Π是調(diào)用系統(tǒng)初始化函數(shù)OSIint(),對μC/OS-Π所有的變量和數(shù)據(jù)結構進行初始化。系統(tǒng)初始化主要完成的是系統(tǒng)定時器的初始化、全局變量的初始化、控制芯片LM3S6911的初始化、LCD的初始化、串口初始化、中斷使能、視頻切換芯片ISL59530的初始化以及系統(tǒng)模塊的初始設置。
由于ISL59530都沒有斷電記憶功能,而所期望的是開機上電后系統(tǒng)進入斷電前的工作狀態(tài),所以在系統(tǒng)開機后需要根據(jù)斷電前的狀態(tài)對各個模塊進行一次設置,即進行一次整機切換。整機切換是指控制板將所有輸入、輸出連接狀態(tài)進行一次設置的過程。整機切換包括由ISL59530控制的視頻信號子程序和FPGA控制的同步信號切換子程序兩部分。
對ISL59530不需要單獨編程,只要由控制部分對其發(fā)送命令進行控制即可。視頻信號切換由1片16路的視頻切換芯片ISL59530構成,程序中根據(jù)各個芯片的端口安排,根據(jù)切換命令依次對芯片發(fā)送命令。
圖7為對芯片ISL59530編程時的SPI串行時序圖。
在SCLK上升沿的位置,SDI上的數(shù)據(jù)移入移位寄存器中(這里不受SLATCH的狀態(tài)的影響),數(shù)據(jù)移入的順序是低字節(jié)的低位第一個移進去,高字節(jié)的高位最后一個移進去。當16位數(shù)據(jù)都移入移位寄存器后,在SLATCH的上升沿內(nèi)部寄存器被更新。而SDO輸出的數(shù)據(jù)可以說是對SDI上數(shù)據(jù)的拷貝,但是是在15.5個SCLK時鐘周期后,且在SCLK下降沿處輸出。
圖7 SPI串行時序圖Fig.7 Timing diagram of SPI
要對ISL59530進行控制,我們需要知道如何對它的進行編程控制。通過5個16位串行控制字來配置ISL59530,這5個控制字分別是:INPUT/OUTPUT WORD,OUTPUT ENABLE FORMAT,GAIN SET FORMAT,BROADCAST FORMAT 和CONTROL WORD FORMAT。通過高字節(jié)的高三位 (B15-B13)來確定命令字。 其中,INPUT/OUTPUT是用來配置輸入通道切換到哪一輸出通道,具體說明如表1所示。其他功能表略。
圖8 分量信號R輸入輸出波形對比圖Fig.8 Comparison between input and output of signal R
表1 輸入/輸出命令字Tab.1 Input/output word
注:此控制字是用來把各個獨立的輸入通道對應到要切換到的輸出通道上去。I3:I0表示輸入通道0到16中的一個,同時O3:O0表示和這個輸入通道相對應的輸出通道,一個輸出通道可以對應多個輸出,要全編程ISL59530,需要寫16 個 INPUT/OUTPUT 字[6]。
切換后信號的質(zhì)量除了肉眼觀察還可以觀察五路信號輸入端與輸出端的波形對比圖,在此只列出R、G、B的,分別如圖 8,圖 9,圖 10所示。
圖8至圖10中,上線為輸入信號波形,下線為輸出信號波形。由于示波器畫面大小的限制,信號線有些部分重疊在一起了,但還可以清楚地看出分量信號的輸入與輸出波形幾乎是一樣的,這就說明,在切換過程中,所切換的圖像的信號沒有發(fā)生變化,保證了切換畫面的質(zhì)量,需要說明的是測試時的圖像為靜態(tài)畫面。由于設備條件的限制,設計中無法測量切換速度,但是在實驗過程中,以肉眼的觀察來看,已達到專業(yè)矩陣的要求,即切換的過程中稍微出現(xiàn)點黑屏,但沒有閃爍。
圖9 分量信號G輸入輸出波形對比圖Fig.9 Comparison between input and output of signal G
圖10 分量信號B輸入輸出波形對比圖Fig.10 Comparison between input and output of signal B
采用本方法設計的16×16RGB視頻矩陣切換器已通過測試,無失真現(xiàn)象,設備可靠穩(wěn)定。實現(xiàn)了3種控制方式并存,為人們提高了方便性,滿足了客戶對于多種方式的要求。同樣可以此基礎上研究 32×32,64×64,72×72 或者更大型設備的控制模式。
[1]張娜娜,錢步仁.64×64RGBHV視頻矩陣切換器的設計[J].國外電子測量技術,2010,29(4):78-81.
ZHANG Na-na,QIAN Bu-ren.Design of 64 ×64RGBHV video matrix switch[J].Foreign ElectronicMeasurement Technology,2010,29(4):78-81.
[2]張娜娜.視頻矩陣切換器的設計與實現(xiàn)[D].北京:中國石油大學(北京),2010.
[3]蔡雄志.Cyclone FPGA配置模式及應用 [J].中小企業(yè)管理與科技,2009(8):270-271.
CAI Xiong-zhi.Cyclone FPGA configuration mode and applications[J].Management&Technology,2009(8):270-271.
[4]Labrosse J J.MicroC/OS-II The Real-Time Kernel[M].(2nd ed)邵貝貝,等譯.北京:北京航空航天大學出版社,2003.
[5]王田苗,魏洪興.嵌入式系統(tǒng)設計與實例開發(fā)-基于ARM微處理器與μC/OS-Π實時操作系統(tǒng)[M].3版.北京:清華大學出版社,2008.
[6]intersil.ISL59530-16x16VideoCrosspoint[EB/OL].(2010).[2013-5-10].http://pdf1.alldatasheet.com/datasheet-pdf/view/162950/INTERSIL/ISL59530.html.
Design of RGB video matrix based on ARM and μC/OS-II
CAO Xu-dong, SUN Jing-jing, ZHANG Shi
(College of Geophysics and Information Engineering, China University of Petroleum, Beijing 102249, China)
RGB video signal switchers also called RGB video matrix.In a large video systems engineering as multimedia video conferencing, security monitoring, radio and television and other fields, RBG video matrix is a very important device.With the switching signal source increasing and control locations changing,the requirements to the way of video matrix control have become more demanding.A control method is far from meeting the needs of people,so the coexisting of a variety of control methods on RGBHV video Matrix will have better prospects.In the design,low-cost ARM LM3S6911 as the main control chip,the MAX232 as serial transceiver chip,with the network transformer chip HR601680 and local keyboard module,LCD module and professional video signal switching chip ISL59530, the RGB video matrix achieves the three ways-keys, serial port and Ethernet port together.On the software side, the μC/OS-Π kernel is transplanted to the microcontroller LM3S6911 successfully,so the real-time performance of system can be ensured and switch speed can also be improved.
video matrix switcher;ARM;μC/OS-Π;controlling modes
TN45
A
1674-6236(2014)02-0180-05
2013-05-02 稿件編號:201305013
曹旭東(1968—),男,遼寧黑山人,碩士,副教授。研究方向:信號與通信工程。