Xilinx大部分的開發板上都集成了Si570時鐘芯片,該時鐘的性能指標比較好,可以滿足大部分高速串行接口應用對于參考時鐘的要求。同時該時鐘還可以通過I2C接口配置其輸出頻率。
該專題詳細介紹如何給Xilinx 7系列以及Ultrascale系列開發板上的Si570重新配置頻率。
Xilinx 7 Series開發板配置詳細步驟
安裝USB UART驅動
在Silicon Labs的官網上CP210x USB-to-UART Bridge VCP Drivers?下載頁面下載驅動。
下載完成后解壓安裝。
參考UG1033。
安裝Tera Term軟件
在Tera Term的下載頁面下載軟件。
下載完成后進行安裝
安裝完成后接好UART的cable,給FPGA上電,就會自動掃描器件,在Windowsàdevice manager中就出現了UART的信息。這個過程不需要提前向FPGA中下載任何專門的程序。
?
向FPGA加載KC705 Si570 Programming的Bit文件
Si570的配置接口為I2C,還是需要通過FPGA間接下載,所以必須在FPGA設計相應的邏輯。通過UART從外部接收指令,經FPGA內部的邏輯控制連接Si570的IO引腳,以I2C的時序向Si570中寫命令。
以7系列中的KC705開發板為例,在Xilinx官網上下載KC705 SI570 Programming的壓縮包
壓縮包中有很多bit文件,如圖 6所示。
其中:
與fmc相關的文件暫時不關心。
set_xxx.xx_mhz_si570_0.bit的文件是FPGA直接控制Si570,將其配置到指定頻率的程序,其中包含了大部分應用所需要的頻率值。
freq_monitor.bit文件的作用只是配著debug_nets.ltx,對Si570的輸出頻率進行監測。
freq_adjust.bit文件的作用可以讀取和重新配置Si570中所有寄存器的值,即可以將Si570配置到任意頻率的程序,該bit文件下載后首先將當前
Si570芯片內部的寄存器信息讀出來,通過串口發送到Tera Term,如圖 7所示。
接著可以通過UART,按照指令的順序配置Si570中各個寄存器的值,簡單演示步驟:
在圖 7的基礎上按下任意鍵,Tera Term有新的數據信息。
按照顯示的信息提示,輸入第一個需要配置寄存器的值。
將剩余的寄存器全部按照提示信息輸入完成,系統顯示新輸入的寄存器值,同時提示按下w鍵將新的值寫入Si570。
系統自動更新Si570,并顯示更新成功。
此時回到VIO中,Si570的輸出頻率已經按照要求改變了。
使用VIO Probes檢測Si570輸出頻率
在下載上述bit文件的同時選擇上配套的debug_nets.ltx文件。
下載完成之后點擊Add probes的按鍵,加入設置好的兩個probes,分別是200MHz的clock和Si570輸出時鐘的頻率。
初始狀態下顯示200MHz時鐘輸出頻率為2000,Si570輸出頻率為15624。
當下載了set_311.040_mhz_si570_0.bit之后,再回到VIO顯示界面時,Si570的輸出頻率已經更新了。
使用Programmable Oscillator Calculator計算并配置其他頻率
Xilinx的工程中只提供了一些特殊頻率的配置文件,如果想要將Si570的輸出修改成其他頻率,就需要直接對Si570的寄存器進行配置了。
Silicon Labs提供了一個計算不同輸出頻率對于寄存器值的軟件ProgOscillatorSwInstall.zip,下載完成后進行安裝。
安裝完成后打開軟件,按照要求填寫參數。設置好初始輸出頻率和期望輸出頻率,系統會自動給出相應寄存器的值。
?
按照計算出的寄存器值進行配置,
Xilinx Ultrascale Series開發板配置詳細步驟
Ultrascale Series的開發板與7 Series的開發板不同,不需要再向FPGA實現燒入程序,上電后自動啟動System controller。
具體的操作方法是(以VCU108為例):連接好USB_UART的cable,上電后打開Tera Term,按下開發板上的復位按鍵,此時Tera Term就會收到System Controller傳來的數據,如圖 21所示。
在Ultrascale的開發板上集成的這個System Controller,提供給客戶一個通過UART直接進行菜單的選擇,對板上可編程的配置部分進行配置的方法。例如需要修改Si570的輸出頻率的整個過程如下所示。
輸入選擇的數字后需要按回車確認。
?
至此就配置完成了,Ultrascale的配置相當簡單,且不需要實現下載相關的bit文件。
評論
查看更多