■ 張玲明 俞凱/江蘇金陵機(jī)械制造總廠
隨著機(jī)載電子設(shè)備飛行使用時(shí)間的增加,部件中所使用的電子元器件性能會(huì)逐漸下降甚至損壞,導(dǎo)致飛機(jī)航電系統(tǒng)出現(xiàn)故障。鑒于某型計(jì)算機(jī)中大量使用俄制588系列專用大規(guī)模集成電路,可運(yùn)用復(fù)雜可編程邏輯器件作為硬件載體,通過VerilogHDL硬件描述語言完成所需產(chǎn)生的時(shí)序信號(hào),實(shí)現(xiàn)對(duì)俄方芯片的邏輯功能檢測。
某型計(jì)算機(jī)的主要功能是根據(jù)輸入的導(dǎo)航信息,計(jì)算飛機(jī)的當(dāng)前位置坐標(biāo)、航向角等參數(shù),并生成控制信號(hào),以保證飛機(jī)的自動(dòng)控制、半自動(dòng)控制和人工控制。計(jì)算機(jī)中的模塊有兩種工作模式:有源裝置具有主動(dòng)控制和訪問并行總線的權(quán)力;無源裝置相當(dāng)于外部設(shè)備,不具備控制訪問總線的權(quán)力,可以實(shí)現(xiàn)數(shù)據(jù)訪問存儲(chǔ)、一次性指令處理和同步串行碼交換功能。各裝置模塊間的通信符合總線并行接口ГОCT11.305.903-80標(biāo)準(zhǔn),由總線接口芯片588BA1完成16位“地址/數(shù)據(jù)”總線信號(hào)的雙向傳輸和數(shù)據(jù)奇偶校驗(yàn)功能;處理器、變換器模塊的運(yùn)算功能由邏輯運(yùn)算器件588BC2和乘法器588BP2實(shí)現(xiàn);對(duì)計(jì)算機(jī)總線訪問權(quán)的獲取和釋放由總線仲裁器588BГ1判斷;主動(dòng)裝置對(duì)無源外設(shè)裝置的訪問由地址選擇器588BT1進(jìn)行譯碼,并產(chǎn)生相關(guān)的控制訪問信號(hào)。
作為邏輯算術(shù)單元的微運(yùn)算器芯片,集成電路588BC2用于配合處理器芯片К588ВУ2構(gòu)建中央處理運(yùn)算器模塊。運(yùn)算器由通用16位寄存器單元、算術(shù)邏輯單元(ALU)、微指令寄存器單元、特殊標(biāo)志寄存器單元和同步控制訪問單元組成,其引腳功能定義如表1所示。
表1 588BC2A引腳功能定義
集成電路K588BA1又稱信號(hào)收發(fā)器,用于并行總線數(shù)據(jù)較短距離的雙向傳輸和確認(rèn)應(yīng)用。芯片由數(shù)據(jù)信號(hào)放大器、控制單元和奇偶校驗(yàn)形成單元組成。集成電路588BT1由地址譯碼單元、選擇寄存器單元、寄存器讀寫外設(shè)選通控制組成,控制記錄的高、低位字節(jié)。集成電路588BT1不僅僅是簡單地實(shí)現(xiàn)地址譯碼功能,還能形成對(duì)外部設(shè)備的讀寫訪問控制信號(hào),為處理器對(duì)外設(shè)的訪問控制減輕負(fù)擔(dān)。
航空電子產(chǎn)品往往因一片集成電路的損壞導(dǎo)致一部分或幾部分電路不能正常工作。針對(duì)有故障的電路模塊,首先要根據(jù)故障現(xiàn)象判斷故障的大體部位,然后通過測量把故障的可能部位逐步縮小,最后找到故障所在。修理人員一般采用測引腳電壓的方法來判斷,但這只能判斷出故障的大致部位,而且有的引腳信號(hào)有較強(qiáng)的時(shí)序或邏輯關(guān)系,較難測量與捕捉故障狀態(tài)。
集成電路常用的檢測方法包括在線測量法、非在線測量法和代換法。非在線測量指在集成電路未焊入電路時(shí),分別測量該集成電路與已知正常同型號(hào)集成電路各引腳之間的直流電阻并進(jìn)行對(duì)比,以確定其是否正常;在線測量法是利用電壓測量法、電阻測量法及電流測量法等,通過在電路上測量集成電路的各引腳電壓值、電阻值和電流值是否正常,來判斷該集成電路是否損壞;代換法是用已知完好的同型號(hào)、同規(guī)格集成電路來代換被測集成電路,從而判斷出該集成電路是否損壞。由于集成電路的制造工藝和測量儀器的匹配性存在差異等原因,非在線測量法并不精確,只能作為參考;集成電路代換法效果好,但拆卸較麻煩,因此,拆卸前應(yīng)判斷集成電路是否確實(shí)損壞并確定損壞程度,避免盲目拆卸。
從上述對(duì)比可見,在線測量法、非在線測量法和代換法均存在不足之處,不能可靠、準(zhǔn)確地檢測和定位集成電路芯片的故障問題。本文采用基于CPLD的可編程邏輯器件,構(gòu)建一個(gè)專用檢測電路,實(shí)現(xiàn)集成電路芯片的在線自動(dòng)測試功能。
CPLD(Complex Programmable Logic Device)復(fù)雜可編程邏輯器件,是從PAL和GAL器件發(fā)展來的器件,相對(duì)而言規(guī)模大、結(jié)構(gòu)復(fù)雜,屬于大規(guī)模集成電路范圍,是一種由用戶根據(jù)各自需要自行構(gòu)造邏輯功能的數(shù)字集成電路。CPLD主要由可編程邏輯宏單元(MC,Macro Cell)圍繞中心的可編程互連矩陣單元組成。在電路設(shè)計(jì)階段首先需要選擇合適的CPLD芯片型號(hào),然后根據(jù)芯片引腳圖和封裝,繪制硬件電路板?;贑PLD可編程器件的邏輯檢測功能設(shè)計(jì)是方案成敗的關(guān)鍵階段,設(shè)計(jì)流程如圖1所示,可按以下步驟進(jìn)行:
1) 利用軟件開發(fā)工具,采用Verilog或者VHDL等高級(jí)語言編寫設(shè)計(jì);
2) 對(duì)設(shè)計(jì)進(jìn)行仿真,以驗(yàn)證功能是否正確;
3) 驗(yàn)證是否滿足資源占用和時(shí)序等物理要求,將設(shè)計(jì)燒錄到CPLD中;
4) 對(duì)設(shè)計(jì)進(jìn)行仿真,以驗(yàn)證時(shí)序是否正確;
5) 程序被燒錄至器件中后,進(jìn)入整個(gè)電路的調(diào)試、驗(yàn)證階段。
圖1 CPLD設(shè)計(jì)流程框圖
采用Altera的MAX II系列C P L D器件,型號(hào)為EPM240T100C5N。該芯片工作電壓為3.3V,工作頻率最高可達(dá)200MHz,傳播延時(shí)5.9ns,I/O接口兼容LVTTL、CMOS、 PCI等標(biāo)準(zhǔn)。CPLD的通用I/O接口一般通過33Ω電阻,可以直接與TTL、CMOS電平進(jìn)行耦合,操作使用方便。硬件電路由電源部分、CPLD最小工作系統(tǒng)(即復(fù)位/時(shí)鐘電路)、芯片檢測接口和人機(jī)交互界面四部分組成。電源部分主要提供CPLD的工作電壓,由穩(wěn)壓芯片AMS1117完成二次電源供電,保證輸出穩(wěn)定的3.3V電源。人機(jī)交互界面由PC機(jī)通信接口RS232和1602液晶字符屏兩部分構(gòu)成。
軟件設(shè)計(jì)使用Altera公司提供的Quartus II集成開發(fā)設(shè)計(jì)工具,支持原理圖、VHDL、VerilogHDL和AHDL(Altera Hardware Description Language)等多種硬件描述語言輸入形式,內(nèi)嵌自有的綜合器和仿真器,可完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程,使得項(xiàng)目開發(fā)時(shí)間大大縮短。
軟件程序執(zhí)行流程:首先,CPLD進(jìn)行上電復(fù)位,初始化檢測接口,設(shè)置串口通信波特率,液晶顯示屏點(diǎn)亮開機(jī)畫面。緊接著,可編程器件進(jìn)入等待狀態(tài),當(dāng)有檢測芯片請(qǐng)求時(shí),根據(jù)所要測試的芯片型號(hào),調(diào)用相應(yīng)的測試邏輯模塊;檢測出故障時(shí),CPLD控制報(bào)警電路響鈴,同時(shí)將芯片檢測的故障信息顯示在液晶屏上,并通過串口發(fā)送至PC端,完成檢測。對(duì)588BA1總線接口芯片的檢測由interface實(shí)體模塊程序完成,定義了總線訪問的16位地址、數(shù)據(jù)總線AD_Bus和總線訪問控制信號(hào)OTB、OBM、RD、WR??偩€接口芯片588BA1的檢測波形如圖2所示,具體軟件程序?yàn)椋?/p>
PROCESS(clk_2M)
variable cnt : integer;
BEGIN
--IF(clk_2M'EVENT AND clk_2M='1')THEN
--DOut <= 4660;
--wait for(clk_2M);
beep <= '1';
cnt := 0;
AD_Bus <= "1111111111111101";
OBM <= '0';
RD <= '0';
while RLY = '0' loop
if(cnt > 6000) then
beep <= '0';
exit;
else
cnt := cnt + 1;
end if;
end loop;
if(RLY = '1') then
DOut <= 0;
else
beep <= '1';
delay;
DOut <= CONV_INTEGER(AD_Bus);
end if;
delay;
AD_Bus <= "0111111111111111" ;
delay;delay;delay;delay;
--result <= AD_Bus;
--DOut <= CONV_INTEGER(AD_Bus);
RD <= '1';
delay;delay;
OBM <= '1';
delay;delay;delay;delay;
beep <= '0';
END PROCESS;
圖2 總線接口芯片588BA1的檢測波形圖
采用基于CPLD的可編程邏輯器件具有編程靈活、集成度高、設(shè)計(jì)開發(fā)周期短、適用范圍寬、開發(fā)工具先進(jìn)、設(shè)計(jì)制造成本低等特點(diǎn),同時(shí)可以實(shí)現(xiàn)較大規(guī)模的電路設(shè)計(jì),生成嚴(yán)密、準(zhǔn)確的時(shí)序信號(hào)用于實(shí)現(xiàn)檢測集成電路芯片的邏輯功能,是一種有效、可靠的檢測方法。
[1] 閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:人民教育出版社,1981.
[2] 雷紹充,邵志標(biāo),梁峰.超大規(guī)模集成電路測試[M] .北京:電子工業(yè)出版社,2008.
[3] 李學(xué)干,蘇東莊.計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)[M] .西安:西安電子科技大學(xué)出版社,1991.
[4] 王誠,蔡海寧,吳繼華.Altera CPLD/FPGA 設(shè)計(jì)[M].北京:人民郵電出版社,2011.
[5] 趙艷華,曹丙霞,張睿.基于Quartus II的FPGA/CPLD設(shè)計(jì)[M].北京:電子工業(yè)出版社,2009.