屈盼讓,劉衛(wèi)華,孫少華
(中國(guó)航空工業(yè)集團(tuán)公司西安航空計(jì)算技術(shù)研究所,陜西 西安 710065)
飛機(jī)機(jī)電系統(tǒng)包含大量的28 V/開和地/開離散量輸入接口,用于采集閥門等開關(guān)元件的狀態(tài)。傳統(tǒng)的28 V/開和地/開離散量采集接口通過阻容等分立器件將輸入信號(hào)調(diào)理成28 V/地信號(hào),再通過光耦等隔離芯片將其轉(zhuǎn)換為標(biāo)準(zhǔn)的TTL/LVTTL電平信號(hào),輸入到處理器的通用IO上進(jìn)行采集[1],這種電路均采用的是分離式無源器件,設(shè)計(jì)簡(jiǎn)單,可靠性高,但是單通道離散量采集電路占用PCB板面積較大,功耗較高,重量較重。
近年來,以航空電子高度綜合技術(shù)需求為牽引,國(guó)內(nèi)相繼開展了離散量采集電路的集成化研究,推出了全國(guó)產(chǎn)化多通道離散量采集芯片HKA03201[2,3],并基于HKA03201設(shè)計(jì)了機(jī)載離散量采集電路[4,5]和離散量采集控制器[6],然而基于HKA03201的離散量采集電路主要存在以下兩點(diǎn)劣勢(shì):
1) 離散量采集模式不可在線配置,通過外部電阻的離線配置方式適配成本較高,通用性較低;
2) 離散量采集過程需要處理器參與,CPU參與HKA03201的采集BIT過程,處理器負(fù)載較大。
針對(duì)以上兩種問題,本文基于國(guó)產(chǎn)化離散量采集芯片HKA1223,設(shè)計(jì)了單通道采集模式可在線配置的高通用化離散量采集電路,并基于FPGA設(shè)計(jì)了離散量采集控制器,實(shí)現(xiàn)了HKA1223的自主采集與BIT,實(shí)現(xiàn)了CPU與HKA1223之間解耦控制,減輕了CPU負(fù)擔(dān),增強(qiáng)了系統(tǒng)的穩(wěn)定性和可靠性。
本文采用“CPU+FPGA+HKA1223”的方式實(shí)現(xiàn)對(duì)8通道離散量多模式可在線配置采集,其中,HKA1223控制器基于FPGA實(shí)現(xiàn),電路的結(jié)構(gòu)框圖如圖1所示。
圖1 離散量采集電路結(jié)構(gòu)圖
HKA1223的傳統(tǒng)控制方式是將其控制信號(hào)直接引入CPU的GPIO上,通過GPIO翻轉(zhuǎn)和延時(shí)等待實(shí)現(xiàn)芯片的時(shí)序控制,然而這種方式因驅(qū)動(dòng)軟件復(fù)雜,移植性差,不能適配多種處理器等問題被詬病。本設(shè)計(jì)中CPU僅作為數(shù)據(jù)處理單元與FPGA通過并行總線通訊,在上電初始化階段通過寫操作完成HKA1223配置信息下發(fā),并在正常工作階段,通過讀操作周期讀取HKA1223的采集與BIT結(jié)果,而不直接參與HKA1223的時(shí)序控制,極大的簡(jiǎn)化了軟件流程,減輕了處理器負(fù)擔(dān),增強(qiáng)了代碼的可移植性。
FPGA與CPU之間通過并行總線通訊,與HKA1223之間通過SPI總線通訊,F(xiàn)PGA內(nèi)部配置有HKA1223控制器,其作為管理與控制中心,依據(jù)CPU下發(fā)的配置信息,通過SPI總線自主在線完成HKA1223的模式配置、周期BIT和周期采集,并將采集結(jié)果按址存儲(chǔ),供CPU周期查詢,實(shí)現(xiàn)了CPU與HKA1223解耦,提高了系統(tǒng)可靠性。HKA1223采用模塊化設(shè)計(jì),適配于各種型號(hào)的可編程邏輯器件,移植性強(qiáng)。同時(shí),F(xiàn)PGA擁有大量的用戶IO,四線制SPI總線占用FPGA的IO數(shù)量較少,在IO數(shù)量緊張的情況下,亦可通過共用SCK、SDI和SDO等信號(hào)的并聯(lián)方式進(jìn)行擴(kuò)展,可擴(kuò)展性強(qiáng)。
HKA1223是一款全國(guó)產(chǎn)8通道可配置離散量采集芯片,不同于HKA03201的通過外部電阻實(shí)現(xiàn)28 V/開和地/開采集模式的離線可配方式,HKA1223可通過寫內(nèi)部配置寄存器實(shí)現(xiàn)采集模式和BIT模式以及28 V/開和地/開模式的在線配置,極大的降低了離散量采集電路的適配成本,提高了離散量采集電路的通用化水平。
HKA1223離散量采集控制器基于FPGA實(shí)現(xiàn),其結(jié)構(gòu)框圖如圖2所示,具體包含寄存器、控制計(jì)數(shù)器和串并轉(zhuǎn)換等3個(gè)模塊.
圖2 HKA1223控制器結(jié)構(gòu)框圖
寄存器模塊包含配置寄存器、結(jié)果寄存器和測(cè)試寄存器。其中,配置寄存器用于存儲(chǔ)CPU下發(fā)的模式配置信息HKA1223_config,位寬為8 bit,分別表示對(duì)應(yīng)通道的采集模式,其中‘1’表示將所對(duì)應(yīng)通道配置為地/開模式,‘0’表示將所對(duì)應(yīng)通道配置為28 V/開模式。結(jié)果寄存器位寬為8 bit,分別用于存儲(chǔ)HKA1223正常模式下離散量采集結(jié)果,當(dāng)采集模式為28 V/開時(shí),‘1’表示28 V,‘0’表示開;當(dāng)采集模式為地/開時(shí),‘1’表示開,‘0’表示地。測(cè)試寄存器位寬為8 bit,分別用于存儲(chǔ)HKA1223的BIT結(jié)果,‘1’表示該通道故障,‘0’表示該通道正常。
控制計(jì)數(shù)器模塊包含一個(gè)周期為1 ms的計(jì)數(shù)器,并根據(jù)計(jì)數(shù)值產(chǎn)生使能信號(hào),控制串并轉(zhuǎn)換模塊發(fā)起與HKA1223的SPI通訊,具體分為以下四種情況:
1) 當(dāng)計(jì)數(shù)值為0.00 ms,產(chǎn)生單脈沖信號(hào),使能串并轉(zhuǎn)換模塊的SPI寫操作,同時(shí)生成配置數(shù)據(jù)[1′b1, HKA1223_config],將HKA1223配置成BIT模式;
2) 當(dāng)計(jì)數(shù)值為0.25 ms,產(chǎn)生單脈沖信號(hào),使能串并轉(zhuǎn)換模塊的SPI讀操作,讀取HKA1223的采集結(jié)果,并將采集結(jié)果與HKA1223_config做異或運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)在測(cè)試寄存器中;
3) 當(dāng)計(jì)數(shù)值為0.50 ms,產(chǎn)生單脈沖信號(hào),使能串并轉(zhuǎn)換模塊的SPI寫操作,同時(shí)生成配置數(shù)據(jù)[1′b0, HKA1223_config],將HKA1223配置成正常模式;
4) 當(dāng)計(jì)數(shù)值為0.75 ms,產(chǎn)生單脈沖信號(hào),使能串并轉(zhuǎn)換模塊的SPI讀操作,讀取HKA1223的采集結(jié)果,并將采集結(jié)果存儲(chǔ)在結(jié)果寄存器中。
串并轉(zhuǎn)換模塊依據(jù)控制計(jì)數(shù)器模塊產(chǎn)生的單脈沖使能信號(hào),分時(shí)發(fā)起SPI寫操作和SPI讀操作,在SPI寫操作過程中,將9 bit并行配置數(shù)據(jù)轉(zhuǎn)換為SDI串行信號(hào),在SPI讀操作過程中,將SDO串行信號(hào)轉(zhuǎn)換為8 bit采集結(jié)果。
在ModelSim環(huán)境下編寫測(cè)試用例,對(duì)設(shè)計(jì)的正確性進(jìn)行驗(yàn)證。圖3展示了控制器依據(jù)配置信息8’hAA,發(fā)起SPI寫操作,將HKA1223配置成BIT模式的過程;圖4展示了控制器發(fā)起SPI讀操作,將串行數(shù)據(jù)SDO轉(zhuǎn)為并行采集結(jié)果,并與配置信息8’hAA作異或運(yùn)算,得到BIT結(jié)果,并將結(jié)果存儲(chǔ)在測(cè)試寄存器的過程。
圖3 將HKA1223配置成BIT模式
圖4 讀取HKA1223的BIT結(jié)果
編寫測(cè)試用例,模擬HKA1223,并將其輸入引腳設(shè)置為8’h55。圖5展示了控制器發(fā)起SPI寫操作,將HKA1223配置成正常采集模式的過程,其中將通道1,3,5,7配置為28 V/開模式,將通道2,4,6,8配置為地/開模式;圖6展示了控制器發(fā)起SPI讀操作,將串行數(shù)據(jù)SDO轉(zhuǎn)為并行結(jié)果,并存儲(chǔ)于結(jié)果寄存器的過程。
圖5 將HKA1223配置成正常采集模式
圖6 讀取HKA1223的正常采集結(jié)果
以上仿真結(jié)果表明HKA1223控制器發(fā)起SPI寫操作和SPI讀操作的時(shí)序完全符合HKA1223的時(shí)序要求,并證明了所述自主控制邏輯的正確性和CPU與HKA1223解耦控制方案的可行性。
本文基于HKA1223全國(guó)產(chǎn)化芯片設(shè)計(jì)了通用化離散量采集電路,采用了“CPU+FPGA+HKA1223”架構(gòu),解決了傳統(tǒng)控制方法CPU負(fù)載高、軟件移植性差的問題,實(shí)現(xiàn)了CPU與HKA1223的解耦控制,提高了離散量采集電路的任務(wù)可靠性。并基于FPGA設(shè)計(jì)了HKA1223控制器,通過設(shè)計(jì)配置寄存器,實(shí)現(xiàn)了離散量采集電路的多模態(tài)在線可配置,并分時(shí)完成了HKA1223的BIT和采集,顯著提高了離散量采集電路的通用化水平。該電路靈活性高,可擴(kuò)展性強(qiáng),可推廣應(yīng)用于工業(yè)領(lǐng)域。