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