基于FPGA的仿真系統(tǒng)數(shù)據(jù)采集控制器IP核設(shè)計(jì)
3 系統(tǒng)實(shí)現(xiàn)
本IP 核功能邏輯的設(shè)計(jì)基于其任務(wù)邏輯定制的基本功能和技術(shù)指標(biāo)。本設(shè)計(jì)的任務(wù)邏輯主要完成對(duì)模擬仿真系統(tǒng)前端模擬設(shè)備發(fā)送指令以及采集前端模擬設(shè)備狀態(tài)量數(shù)據(jù)。其功能邏輯也基于發(fā)送指令和接收數(shù)據(jù)兩個(gè)數(shù)據(jù)流來(lái)設(shè)計(jì),如圖4所示。
為避免高速、高頻系統(tǒng)時(shí)序中常存在的競(jìng)爭(zhēng)、毛刺危險(xiǎn)以及建立與保持時(shí)間相抵觸等問(wèn)題,本IP核采用同步設(shè)計(jì)的方案。同時(shí),為解決實(shí)際中仍會(huì)經(jīng)常出現(xiàn)系統(tǒng)產(chǎn)生毛刺和時(shí)鐘偏斜等問(wèn)題。本IP核中擬將時(shí)鐘控制改為觸發(fā)器輸入允許,將時(shí)鐘選擇改為獨(dú)立的時(shí)鐘分析[7]。
為加快本設(shè)計(jì)的運(yùn)行速度及處理效率,本IP核的設(shè)計(jì)以功能邏輯處理機(jī)制為基礎(chǔ),分別對(duì)發(fā)送流程和接收流程設(shè)計(jì)狀態(tài)機(jī)并實(shí)現(xiàn)[8]。
在發(fā)送流程的狀態(tài)轉(zhuǎn)換過(guò)程中,共有6個(gè)狀態(tài),如圖5所示。IP核的控制邏輯判斷來(lái)自主機(jī)的發(fā)送數(shù)據(jù)命令后,首先檢查其各功能模塊的準(zhǔn)備情況,如果準(zhǔn)備好,即開(kāi)始發(fā)送數(shù)據(jù),從寄存器單元中取出待發(fā)送數(shù)據(jù)并送至網(wǎng)絡(luò)通信模塊,由其發(fā)送至前端模擬設(shè)備。在此過(guò)程中,不斷檢測(cè)發(fā)送完成標(biāo)志位DataEND,如果該標(biāo)志位變?yōu)橛行t表示發(fā)送成功,將此信息反饋給主機(jī)并進(jìn)入下一工作周期等待狀態(tài);如果超時(shí)該標(biāo)志位仍未變化,則反饋回主機(jī)發(fā)送失敗的信息,并請(qǐng)求重發(fā)。
相應(yīng)地,如圖6所示,接收流程的狀態(tài)轉(zhuǎn)換過(guò)程有7個(gè)狀態(tài)。其工作大致與發(fā)送流程相同,只是接收數(shù)據(jù)從寄存器單元讀出后,要先經(jīng)過(guò)數(shù)據(jù)模式的轉(zhuǎn)換后,再發(fā)送給主機(jī)使用。
評(píng)論