基于FPGA的汽車油改氣電控系統(tǒng)的研究
2.1時鐘邏輯模塊
該設(shè)計中,外部輸入的時鐘為48MHz,由于設(shè)計中需要多種不同的時鐘信號,所以必須設(shè)計一個可根據(jù)采集需要任意分頻的時鐘邏輯模塊,且必須準確,才能保證整個系統(tǒng)的正常工作。同時采用同步時序電路,它是基于時鐘觸發(fā)沿設(shè)計,對時鐘的周期、占空比、延時、抖動提出了更高的要求。分頻器是FPGA設(shè)計中使用頻率非常高的基本單元之一。通過自主設(shè)計進行時鐘分頻的實現(xiàn)方法靈活性好,節(jié)省系統(tǒng)硬件資源,而且這種方式只消耗不多的邏輯單元就可以實現(xiàn)對時鐘操作的目的。
2.2采樣控制模塊
ADC0809轉(zhuǎn)換模塊程序流程圖如圖3所示。數(shù)據(jù)采集系統(tǒng)的輸入信號多數(shù)都來源于現(xiàn)場傳感器的輸出信號,傳感器種類不一,致使信號特性也不同。各通道信號的幅度與頻率范圍有很大的不同,高精度的、大動態(tài)范圍的A/D轉(zhuǎn)換芯片使設(shè)計更能滿足測量的需要,特別是對寬頻帶弱信號的采集顯得尤其必要。本設(shè)計中A/D轉(zhuǎn)換模塊選用了ADC0809和AD1674芯片,ADC0809主要用于節(jié)氣門信號采集,兩片AD1674芯片主要用于實際轉(zhuǎn)速信號和設(shè)定轉(zhuǎn)速信號的采集。
2.2.1ADC0809轉(zhuǎn)換控制模塊
當FPGA啟動數(shù)據(jù)采集時,掃描時鐘便開始工作,同時掃描周期計時器和采樣周期計時器開始計時。48MHz時鐘經(jīng)過FPGA分頻得到500kHz的CLK作為ADC0809的驅(qū)動時鐘,利用狀態(tài)機實現(xiàn)對A/D的控制,采集過程完全按照A/D的工作時序。當單次A/D采集完成,便立即更新地址寄存器和數(shù)據(jù)寄存器。轉(zhuǎn)換完后將按照此次任務(wù)規(guī)定的采集參數(shù)進入A/D芯片前的采集模擬電路建起,等待下次采樣周期到來。
2.2.2AD1674轉(zhuǎn)換控制模塊
AD1674是帶有內(nèi)部采樣保持的完全12位逐次逼近(SAR)型模/數(shù)轉(zhuǎn)換器,支持單極性和雙極性輸入兩種工作方式,轉(zhuǎn)換時間為10μs。根據(jù)實際工作需要,使用了雙極性輸入方式。AD1674在FPGA的時鐘信號clk、復(fù)位信號rst、狀態(tài)信號status及控制信號cs、k12x8、rc、a0的控制下采集數(shù)據(jù)。AD1674轉(zhuǎn)換器模塊是根據(jù)摩爾狀態(tài)機實現(xiàn)的,完成對實際轉(zhuǎn)速信號的采樣,F(xiàn)PGA計算出誤差和誤差變化率,然后查模糊控制表,最后將控制量變換到實際控制量上。根據(jù)實際工作需要,采用兩片AD1674,一片采集汽車發(fā)動機實際轉(zhuǎn)速信號,另一片采集汽車設(shè)定轉(zhuǎn)速信號。AD1674轉(zhuǎn)換模塊程序流程圖如圖4所示。
評論