基于NiosⅡ的VGA彩條信號顯示的實(shí)現(xiàn)
3 硬件設(shè)計(jì)與實(shí)現(xiàn)
3. 1 Nios Ⅱ嵌入式軟核處理器簡介
Nios Ⅱ嵌入式處理器是Altera 公司于2004 年6 月推出的第二代用于可編程邏輯器件的可配置的軟核處理器,在CycloneII 器件下,性能最高可達(dá)56 DMIPS。Nios Ⅱ是基于哈佛結(jié)構(gòu)的RISC 通用嵌入式處理器軟核,能與用戶邏輯相結(jié)合, 編程至Altera 的FPGA 中。處理器具有32 位指令集,32 位數(shù)據(jù)通道和可配置的指令以及數(shù)據(jù)緩沖。他特別為可編程邏輯進(jìn)行了優(yōu)化設(shè)計(jì),也為可編程單芯片系統(tǒng)(SOPC) 設(shè)計(jì)了一套綜合解決方案。Nios Ⅱ處理器系列包括3 種內(nèi)核:高性能的快速內(nèi)核(Nios Ⅱ/ f ) ;低成本經(jīng)濟(jì)型內(nèi)核(Nios Ⅱ/ e) ;性能/ 成本折中的標(biāo)準(zhǔn)內(nèi)核(Nios Ⅱ/ s) ,是前2 種的平衡。本系統(tǒng)采用經(jīng)濟(jì)型內(nèi)核。
3. 2 系統(tǒng)的硬件平臺
系統(tǒng)的硬件結(jié)構(gòu)如圖2 所示。
圖1 所示是計(jì)算機(jī)VGA(640 ×480 ,60 Hz) 圖像格式的信號時序圖, 其點(diǎn)時鐘DCLK 為251175 MHz , 場頻為59194 Hz。圖中, Vsync 為場同步信號, 場周期TVsync 為161683 ms ,每場有525 行,其中480 行為有效顯示行,45 行為場消隱期。場同步信號Vsync 每場有一個脈沖,該脈沖的低電平寬度twv為63μs (2 行) 。場消隱期包括場同步時間twv 、場消隱前肩tHV (13 行) 、場消隱后肩tVH (30 行) ,共45 行。
行周期THsync為31178μs ,每顯示行包括800 點(diǎn),其中640 點(diǎn)為有效顯示區(qū),160 點(diǎn)為行消隱期(非顯示區(qū)) 。行同步信號Hsync 每行有一個脈沖,該脈沖的低電平寬度tWH為3181 μs (即96 個DCL K) ;行消隱期包括行同步時間tWH ,行消隱前肩tHC (19 個DCL K) 和行消隱后肩tCH(45 個DCL K) ,共160 個點(diǎn)時鐘。復(fù)合消隱信號是行消隱信號和場消隱信號的邏輯與,在有效顯示期復(fù)合消隱信號為高電平,在非顯示區(qū)域是低電平。
本系統(tǒng)的硬件平臺主要是在terasic 公司的AlteraDE2 開發(fā)板上實(shí)現(xiàn),選用Altera 的Cyclone Ⅱ版本的NiosⅡ開發(fā)套件,包括Nios Ⅱ處理器、標(biāo)準(zhǔn)外圍設(shè)備庫、集成了SOPC Builder 系統(tǒng)設(shè)計(jì)工具的Quartus Ⅱ開發(fā)軟件等。
系統(tǒng)的主要組件有Nios Ⅱ的經(jīng)濟(jì)型內(nèi)核、片內(nèi)存儲器、定時器、VGA 控制器、LCD 控制器等,都集成在一塊Altera的Cyclone II FPGA 芯片上,使用SOPC Builder 來配置生成片上系統(tǒng)。SOPC Builder 自動產(chǎn)生每個模塊的HDL 文件,同時自動產(chǎn)生一些必要的仲裁邏輯來協(xié)調(diào)系統(tǒng)中各部件的工作。
3. 3 V GA 時序信號的產(chǎn)生
系統(tǒng)中最重要的部分是VGA 時序的產(chǎn)生,是正常輸出顯示的關(guān)鍵,他包含在VGA 控制器中。VGA 控制器是用SOPC Builder 中的interface to user logic 生成的,首先用硬件描述語言定義一個時序輸出和RGB 信號輸出模塊,點(diǎn)時鐘251175 MHz 由開發(fā)板提供的27 MHz 的時鐘經(jīng)鎖相環(huán)分頻產(chǎn)生,鎖相環(huán)是通過MegWizard 工具加入系統(tǒng)的。他實(shí)現(xiàn)了VGA 輸出所需的點(diǎn)時鐘、復(fù)合同步控制信號、復(fù)合消隱控制信號、行同步和場同步信號。同時,他完成了從寄存器內(nèi)讀取輸出顯示命令及彩條顏色值,并根據(jù)按鍵計(jì)數(shù)判斷顯示彩條的類型,包括橫彩條、豎彩條及網(wǎng)格。其中點(diǎn)時鐘、復(fù)合同步控制信號、復(fù)合消隱控制信號和RGB 數(shù)字信號輸入給ADV7123 ,行同步、場同步和由ADV7123 轉(zhuǎn)換輸出的RGB 模擬信號輸入給VGA顯示器。另外,還要用硬件描述語言實(shí)現(xiàn)對寄存器的讀寫,以使VGA 控制器端口符合Avalon 接口規(guī)范。
VGA 時序信號產(chǎn)生模塊包括行點(diǎn)數(shù)計(jì)數(shù)器HCont 、場點(diǎn)數(shù)計(jì)數(shù)器V Cont ,行點(diǎn)數(shù)計(jì)數(shù)器是800 進(jìn)制計(jì)數(shù)器,場行數(shù)計(jì)數(shù)器是525 進(jìn)制計(jì)數(shù)器,由圖1 知行同步信號、場同步信號的電平只有2 種,分別在行同步時間和場同步時間為低電平,其余時間均為高電平,故可以忽略行/ 場消隱前肩、后肩狀態(tài)而只考慮其輸出電平的高低。
行計(jì)數(shù)器H Cont 對251175 MHz 的點(diǎn)時鐘進(jìn)行計(jì)數(shù),當(dāng)行計(jì)數(shù)器H Cont 的計(jì)數(shù)值小于96 時, 行同步信號Hsync 輸出為低電平;當(dāng)H Cont 的計(jì)數(shù)值達(dá)到96 后,行同步信號Hsync 輸出為高電平;當(dāng)H Cont 的計(jì)數(shù)值達(dá)到799 時,將H Cont 置0 ,同時使行同步信號Hsync 輸出轉(zhuǎn)換為高電平。場計(jì)數(shù)器V Cont 對H Cont 為0 值進(jìn)行計(jì)數(shù),當(dāng)場計(jì)數(shù)器V Cont 的計(jì)數(shù)值小于2 時,場同步信號Vsync 輸出為低電平;當(dāng)場計(jì)數(shù)器V Cont 的計(jì)數(shù)值達(dá)到2 以后,場同步信號Vsync 輸出為高電平; 當(dāng)VCont 的計(jì)數(shù)值達(dá)到524 時,將V Cont 置0 ,同時使場同步信號Vsync 輸出轉(zhuǎn)換為低電平。
復(fù)合消隱控制信號是行消隱信號和場消隱信號的邏輯與,在有效顯示期復(fù)合消隱信號為高電平,在非顯示區(qū)域是低電平;復(fù)合同步控制信號在此系統(tǒng)中始終為0 。
3. 4 RGB 信號的數(shù)模轉(zhuǎn)換
本系統(tǒng)采用ADV7123 實(shí)現(xiàn)由VGA 控制器輸出的RGB 信號的數(shù)模轉(zhuǎn)換。ADV7123 是一個3 路高速的在一個芯片上實(shí)現(xiàn)的數(shù)模轉(zhuǎn)換器。他包含3 路高速的10 位視頻D/ A 補(bǔ)償輸出轉(zhuǎn)換器,標(biāo)準(zhǔn)TTL 輸入接口和高阻模擬電流輸出。ADV7123 有3 路分開的寬度為10 位輸入端口,30 位象素?cái)?shù)據(jù)在每個時鐘周期上升沿送到器件,然后轉(zhuǎn)換成模擬信號輸出。ADV7123 還有附加的視頻控制信號,復(fù)合同步控制信號SYNC 和復(fù)合消隱控制信號BLAN K,他們在點(diǎn)時鐘CLOCK 的上升沿有效以保證象素?cái)?shù)據(jù)流的同步。
圖3 為ADV7123 的視頻數(shù)據(jù)輸入/ 輸出時序圖。
評論