一、PLL控制器
pll_controller.v 是一個PLL動態重配置控制器,用于根據不同的視頻模式(mode)動態配置Altera PLL IP的時鐘頻率參數。PLL動態重配置控制器的RTL視圖:

| 信號名稱 | 信號說明 |
| clk | 系統時鐘(50MHz) |
| reset_n | 異步復位,低電平有效 |
| mode[3:0] | 視頻模式輸入 |
| mode_change | 模式變化指示信號(來自vpg_mode模塊) |
| mgmt_readdata[31:0] | 從ALTPLL_RECONFIG IP讀取的數據 |
| mgmt_read | ALTPLL_RECONFIG IP讀使能 |
| mgmt_write | ALTPLL_RECONFIG IP寫使能 |
| mgmt_address[5:0] | ALTPLL_RECONFIG IP寄存器地址 |
| mgmt_writedata[31:0] | 寫入ALTPLL_RECONFIG IP的數據 |
PLL控制器里面設置了一個9個狀態的狀態機,它是一個典型的順序狀態機,用于控制Altera PLL IP的讀寫流程:

每個狀態要完成的任務如下:
| 狀態 | 描述 |
| 0000 | 檢測mode_change上升沿時設置輪詢模式且轉入狀態1 |
| 0001 | 設置M計數器且轉入狀態2 |
| 0010 | 設置N計數器且轉入狀態3 |
| 0011 | 設置C計數器且轉入狀態4 |
| 0100 | 設置帶寬且轉入狀態5 |
| 0101 | 設置電荷泵轉入狀態6 |
| 0110 | 設置啟動重配置且轉入狀態7 |
| 0111 | 檢查狀態且轉入狀態8 |
| 1000 | 等待重配置完成(bit0=1)則轉入狀態0 |
下面是該控制模塊的時序圖:

這個時序是符合ALTPLL_RECONFIG IP的polling模式的時序的(參考Implementing Fractional PLL Reconfiguration with Altera PLL and Altera PLL Reconfig IP Cores 文檔Figure 2)。從時序圖可以看到:
在空閑狀態(狀態0)下,當檢測到模式改變信號時,設置輪詢模式,準備進入狀態1;
進入狀態1設置M計數器,寫入polling mode寄存器,準備進入狀態2;
進入狀態2設置N計數器,寫入M計數器值,準備進入狀態3;
進入狀態3設置C計數器,寫入N計數器值,準備進入狀態4;
進入狀態4設置帶寬,寫入C計數器值,準備進入狀態5;
進入狀態5設置電荷泵,寫入帶寬參數,準備進入狀態6;
進入狀態6設置啟動重配置,寫入電荷泵參數,準備進入狀態7;
進入狀態7,設置檢查狀態(即讀狀態寄存器)寫入重配置啟動命令,準備進入狀態8;
進入狀態8,讀取狀態寄存器,當bit0為1時代表重配置完成,準備返回狀態0。
另外,該控制器其中7個狀態里面都使用了write_count計數器來控制寫操作的持續時間,總共是3個周期:
第0個時鐘周期:設置拉高mgmt_write
第1個時鐘周期:mgmt_write保持高(用于總線傳輸)
第2個時鐘周期:mgmt_write拉低,準備切換到下一個狀態

二、分辨率切換模塊
vpg_mode.v是模式切換模塊,用于在多個預定義的VGA分辨率模式之間循環切換。該模塊包含的頭文件vpg.h預定義了這些模式:
| Mode | 分辨率 | 視頻標準 | 像素時鐘 |
| 0 | 640x480p60 | VGA | 25.175MHz |
| 1 | 720x480p60 | 480P | 27MHz |
| 2 | 1024x768p60 | XGA | 65MHz |
| 3 | 1280x1024p60 | SXGA | 108MHz |
| 4 | 1920x1080p60 | 1080i | 148.5MHz |
vpg_mode.v的RTL視圖如下:

其中切換信號(vpg_mode_change和vpg_mode)可以連接到前面的vpg.v模塊的時序參數選擇器,以改變HDMI輸出的分辨率。
該模塊設置了兩種方式去切換模式:
1.通過按鍵KEY1:按下按鈕(上升沿)切換。
2.自動切換:在復位后的一段時間(第9個clk_en有效時鐘周期)自動切換一次。
分辨率切換是從最高分辨率(FHD_1920x1080p60)切換到最低分辨率(VGA_640x480p60),然后形成循環:

-
控制器
+關注
關注
114文章
17804瀏覽量
193639 -
HDMI
+關注
關注
34文章
1903瀏覽量
160721 -
寄存器
+關注
關注
31文章
5611瀏覽量
130057 -
pll
+關注
關注
6文章
983瀏覽量
138204
原文標題:5-DE10-Nano的HDMI彩條顯示案例(分辨率可切換)—— PLL控制器和分辨率模式切換
文章出處:【微信號:友晶FPGA,微信公眾號:友晶FPGA】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
PLL控制器和分辨率模式切換詳解
評論