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