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