基于FPGA的2M誤碼測試儀系統的設計方案
3 系統軟件設計
在對系統軟件進行設計時,可將誤碼測試系統的功能分為各個功能模塊,然后用VHDL語言編程實現FPGA芯片內部各個功能模塊的硬件邏輯,最后整合完成設計。本誤碼測試系統的FP-GA內核中的功能模塊有時鐘分配模塊、序列發送模塊、序列接收模塊、LCM控制模塊、I2C控制模塊、RC232串口控制模塊、鍵盤消抖及掃描處理模塊、總控制模塊等。FPGA內核中各個模塊之間的相互關系如圖5所示。
3.1 鍵盤處理模塊
本系統中的鍵盤處理模塊包括按鍵的消抖和鍵盤的掃描處理。由于鍵盤模塊的設計直接和用戶的輸入控制相關,用戶的一切控制結果都和按鍵輸入相對應,所以可將總控制模塊和按鍵處理模塊放在一起考慮。
3.2 時鐘電路
時鐘是整個系統設計中重要的一環。序列發送、序列接收、對E2PROM模塊的讀與寫、串口通信的波特率以及LCD顯示等都離不開時鐘信號的控制,這就需要系統內有一個基準的時鐘模塊來提供所需要的時鐘信號。時鐘模塊可由鎖相環和分頻器模塊構成。通過對QuartusⅡ中mega-function模塊 ALTPLL的定制可生成PLL,inclk0是外部有源晶振提供給FPGA的clk0引腳的16 MHz時鐘,可經過PLL產生C0、C1兩個時鐘信號,其中C0是inclk0的2倍,為32 MHz,可作為序列接收模塊中對測試碼進行采樣的采樣時鐘。而C1是inclk0的3倍,為48 MHz,設計時可將C1信號送入分頻電路獲得2 MHz時鐘,作為序列發生器的時鐘;也可將C1信號經分頻電路獲得1 MHz時鐘,作為I2C控制模塊的讀/寫及鍵盤模塊的時鐘信號;當C1信號送入UART控制模塊和LCM控制模塊后,可通過各自模塊內部的分頻電路獲得所需要的時鐘。圖6所示的PLL模塊中方框內表格中的各項內容分別表示信號名稱、信號倍率、信號相位及占空比。
評論