|
Xilinx FPGA入門連載65:基于UART發送的RTC讀取 特權同學,版權所有 配套例程和更多資料下載鏈接:
如圖所示,本實例通過IIC接口定時讀取RTC中的時、分、秒寄存器,同時將時、分、秒數據通過UART發送到PC上的串口調試助手進行實時的顯示。
本實例模塊劃分如圖所示。
● Iic_controller.v模塊產生IIC讀寫的時序。 ● Rtc_controller.v模塊產生RTC寄存器的讀寫控制,將讀寫信號連接到iic_controller.v模塊實現底層的讀寫。 ● Rtc_top.v模塊銜接iic_controller.v模塊和rtc_controller.v模塊。 ● Speed_tx.v模塊產生串口波特率的分頻以及相關控制信號。 ● My_uart_tx.v模塊產生發送到PC的UART數據協議,即并串轉換處理。 ● Tx_bridge.v模塊判斷當前的RTC讀出秒數據是否有變化,若發送變化則產生一個發送到PC的字符串。 連接好下載線,給SP6開發板供電(供電的同時也連接好了UART)。 打開ISE,進入iMPACT下載界面,將本實例工程下的sp6.bit文件燒錄到FPGA中在線運行。 雙擊如圖所示的“串口調試器”,。
如圖所示,打開串口調試器后,選擇串口為COM10(我們前面在硬件管理器中新識別到的COM口,實驗者應以自己電腦識別到的COM口為準),設置波特率為9600,數據位為8,校驗位為None,停止位為1。點擊“打開串口”。尤其注意“接收字符”下面的“十六進制”不要勾選。
如圖所示,當我們點擊完“打開串口”,其顯示字符就變成了“關閉串口”。 此時我們看到“接收字符”下面不斷有時間地址的一串時、分、秒信息打印出來。這組不斷更新的數據就是我們從RTC芯片中讀取的時間信息。
|