??? 摘 要: 介紹了一種采用單片機,、PSD,、CPLD和電壓調(diào)理電路等主要組件設(shè)計的一類針對安全關(guān)鍵系統(tǒng)的信息采集與控制裝置。實際測試表明,,這種設(shè)計方法不僅是高效可行的,,也是保證測試裝置" title="測試裝置">測試裝置小型化、集成化,、智能化和提高測試系統(tǒng)可靠性的途徑之一,。
??? 關(guān)鍵詞: 智能測試? 安全關(guān)鍵系統(tǒng)? 單片機? 集成測試
?
??? 安全關(guān)鍵系統(tǒng)(Safety Critical Systems,SCS)是指系統(tǒng)功能一旦失效將引起生命財產(chǎn)的重大損失,、環(huán)境可能遭到嚴(yán)重破壞的系統(tǒng),,在航天、能源,、國防等許多領(lǐng)域中廣泛存在,。許多安全關(guān)鍵系統(tǒng)具有多輸入-多輸出的強耦合性、參數(shù)時變性和非線性特性等,。高速發(fā)展的電子技術(shù)使得SCS電子系統(tǒng)的集成度,、復(fù)雜度越來越高,受控對象也日益復(fù)雜,,這對系統(tǒng)的安全性,、運行的正常性評估與決策提出了更高的要求,某些關(guān)鍵部件甚至需要使用期零故障,。SCS的測試數(shù)據(jù)是對其進行全面,、準(zhǔn)確、智能評估,、故障診斷和決策的基礎(chǔ),。此外,許多安全關(guān)鍵系統(tǒng)還具有嚴(yán)格的體積重量限制,,要求運行其上的嵌入式測試系統(tǒng)體積小,、重量輕,功能完善,,同時必須具有較高的可靠性和智能化,,以保證測試的正確性,提高測試的可信度,。因此小型與可靠是對SCS檢測最基本的要求,,而測試數(shù)據(jù)安全可靠地高速傳輸也是重點要求之一,。
??? 本文介紹的這種小型高集成智能測試裝置,應(yīng)用于一類安全關(guān)鍵系統(tǒng)電子學(xué)設(shè)備綜合測試系統(tǒng)中,。其作用是對安全關(guān)鍵系統(tǒng)的重要狀態(tài)和參數(shù)進行實時控制和測量,,完成大量的數(shù)據(jù)采集和處理以及控制信號的接收和發(fā)送等諸多功能。由于對系統(tǒng)的運算速度,、接口資源,、穩(wěn)定性以及成本等有著非常高的要求,因此其測試數(shù)據(jù),、分析曲線,、顯示圖表和指示結(jié)果是分析、判定安全關(guān)鍵系統(tǒng)性能和工作狀態(tài)的重要依據(jù),,同時為相關(guān)的決策,、指揮、控制提供依據(jù)和手段,。
1 系統(tǒng)設(shè)計與工作原理
1.1 系統(tǒng)構(gòu)成
??? 小型高集成智能測試裝置采用80C196單片機+PSD+CPLD的結(jié)構(gòu)[1],,再加上模擬信號的匹配電路,可完成模擬量及數(shù)字量的采集,,使系統(tǒng)的電路設(shè)計簡單,;PSD及CPLD均為在系統(tǒng)可編程" title="可編程">可編程器件,使大量的硬件設(shè)計轉(zhuǎn)換為軟件設(shè)計,,I/O" title="I/O">I/O接口擴展方便,。上位機主要通過標(biāo)準(zhǔn)接口對測試系統(tǒng)的測試數(shù)據(jù)進行傳輸和參數(shù)裝訂及控制。SCS電子學(xué)綜合測試主要包括SCS關(guān)鍵組件測試,、地面外圍測控及其數(shù)據(jù)傳輸及處理,。其功能框圖如圖1所示。
?
?
1.2? 小型智能測控裝置" title="測控裝置">測控裝置的構(gòu)成
??? 小型智能測控裝置主要包括數(shù)據(jù)采集模塊,、靜態(tài)檢測模塊,、遠(yuǎn)程參數(shù)裝訂模塊及數(shù)據(jù)傳輸模塊。由于SCS對電子控制部件有嚴(yán)格的體積和重量要求,,測控裝置應(yīng)按照系統(tǒng)的要求設(shè)計,,使得體積、重量盡量小且功能完善,,以便確保系統(tǒng)的可行性,。
??? 在測試裝置設(shè)計過程中進行了許多優(yōu)化和改進。其基本體系采用微控制器加外圍接口模塊的結(jié)構(gòu),。在設(shè)計數(shù)據(jù)采集系統(tǒng)的硬件時,,采用高集成度的器件,包括80C196單片機,、可編程外圍器件PSD以及復(fù)雜可編程邏輯陣列CPLD等,,提高了系統(tǒng)集成度,,并且還提高了系統(tǒng)硬件的可靠性及靈活性。
??? 外圍接口模塊采用復(fù)雜可編程門陣列CPLD-MAX7256[4],,硬件設(shè)計進一步軟件化。一片CPLD器件替代了多片74系列器件,,如138譯碼器,、多路" title="多路">多路開關(guān)、244驅(qū)動器,、與門,、或門等,大大減小了板卡體積,。由于CPLD為可編程,,使設(shè)計更為靈活。MAX7256有5000個門,,256個宏單元,,16個邏輯陣列塊,164個I/O口,,支持多電壓I/O接口,,滿足系統(tǒng)要求,并有一定冗余,。在設(shè)計階段對CPLD的設(shè)計通過EDA工具進行仿真,,包括功能、時序,、EMC/EMI的模擬仿真,,在完成PCB板之前,就做好了充分的測試驗證,。
??? 另外,,選用了集成度更高的單片機外圍接口器件PSD4235[2~5]。PSD4235芯片是WSI公司新推出的PSD4000系列產(chǎn)品,,可以為16位和32位的微控制器以及DSP提供在系統(tǒng)可編程的并發(fā)閃速存儲器,、SRAM、可編程邏輯和額外的I/O,。其片內(nèi)集成了4M位的閃速存儲器,,256Kbit的用于引導(dǎo)數(shù)據(jù)的次閃速存儲器,256Kbit的SRAM,,16個輸出微單元,、24個輸入微單元的CPLD,譯碼PLD,,52個可單獨配置的I/O端口,,JTAG串行接口等,,并且有支持掉電模式的低功耗可編程電源管理單元。PSD芯片對外地址分配和各接口的邏輯譯碼由專用的軟件PSDSoft Express實現(xiàn),。PSD4000系列器件是在應(yīng)用中可編程(In Application re-Programming,,IAP)的,也就是說,,它們可以在不影響系統(tǒng)運行的情況下,,在現(xiàn)場遠(yuǎn)程地進行再編程。這種功能對于需要在現(xiàn)場進行代碼/數(shù)據(jù)更新的系統(tǒng)特別有用,,如全球定位系統(tǒng)(GPS),、汽車控制系統(tǒng)以及醫(yī)療儀器等。測控裝置電路原理圖如圖2所示,。
?
1.3? 信號采集
??? 在實時測量和控制系統(tǒng)中,,對信號的采集要求可靠、準(zhǔn)確,、快速地完成,。被測量的回路一般有幾十或上百個,而且采集信號種類多,,包括模擬量信號和數(shù)字量信號,,因此測試工作應(yīng)具有很強的實時性,同時對數(shù)據(jù)采集的抗干擾能力也應(yīng)用很高的要求,。正是由于對數(shù)據(jù)采集系統(tǒng)的要求日益復(fù)雜,,智能化的小型安全關(guān)鍵系統(tǒng)采集模塊才成為測控系統(tǒng)的核心。
??? 數(shù)據(jù)測試主要包括SCS各個關(guān)鍵組件的電壓,、程序動作(延時時間或開關(guān)量),、振蕩波形及脈沖串的測試。設(shè)計的重點在于可靠性和實時性,。數(shù)據(jù)采集的可靠性是至關(guān)重要的,,只有具備了較高的可靠性,才能保證數(shù)據(jù)采集的正確性,,因此設(shè)計中充分考慮測試過程的抗干擾能力,,提高了測試的可信度。數(shù)據(jù)采集模塊結(jié)構(gòu)如圖3所示,。
?
??? 模擬量的測量采用80C196單片機模擬量測量接口,。80C196的A/D口共8個,需要利用多路開關(guān)輪流切換各被測回路的A/D轉(zhuǎn)換電路,,以達(dá)到分時處理的目的,。由于信號的強弱、幅值以及阻抗匹配電路不同,因此設(shè)計時進行了如下處理:
??? (1)對電壓信號進行分類,,不需要放大器的屬于一類,,在這類當(dāng)中又進行細(xì)分——電壓值范圍分類。因為80C196單片機要求采集電平在5V以內(nèi),,如果對每一路電壓進行分壓及阻容濾波設(shè)計,,勢必使用大量的電阻及電容器件,不利于小型化,,因此按電壓幅值進行分類,。阻抗匹配也十分重要,同一類的阻容濾波網(wǎng)絡(luò)放到多路開關(guān)的輸出端,,節(jié)省了大量電阻、電容器件,。根據(jù)需要選擇4路,、8路或16路的多路開關(guān),如CD4051,、CD5052,、MAX396或MAX397等。
??? (2)對于小信號,,每個通道應(yīng)在多路開關(guān)前設(shè)置放大器,。在多路開關(guān)后設(shè)置可編程放大器,利用單片機編程控制放大器的增益,,以滿足各通道信號的不同增益要求,。
??? (3)對于開關(guān)量及數(shù)字量,調(diào)到滿足CPLD輸入要求的電平即可,,在CPLD內(nèi)部設(shè)計多路開關(guān),,進行測量路數(shù)轉(zhuǎn)換,一次8路分時輸入到80C196單片機端口,。
??? (4)對于頻率信號,,調(diào)到滿足單片機輸入要求的TTL電平即可直接輸入單片機端口進行測量。
????(5)對于信號強且干擾大的信號,,需要進行光電隔離,,以免影響單片機測試電路。
1.4? CPLD電路設(shè)計
??? PSD器件已有少量CPLD宏單元,,在測試系統(tǒng)不復(fù)雜,、I/O端口夠用的情況下,PSD+CPU的兩片式系統(tǒng)能夠很好完成任務(wù),,當(dāng)然就不必再外加CPLD器件,。當(dāng)測試及控制的外部通道多,需大量的數(shù)字I/O端口,、片選,、數(shù)字多路開關(guān),、三態(tài)門及譯碼電路時,僅添加一片CPLD器件就可解決問題,,提高了系統(tǒng)集成度,。
??? FPGA和CPLD都是可編程ASIC元件,由于FPGA和CPLD結(jié)構(gòu)上的差異,,彼此之間存在各自的特點:
??? (1)CPLD適合實現(xiàn)各種運算和組合邏輯,, FPGA則適用于實現(xiàn)時序邏輯。
??? (2)CPLD的時間特性比FPGA穩(wěn)定,。CPLD的布線結(jié)構(gòu)決定了它的時序延遲是穩(wěn)定和可以預(yù)測的,,而FPGA的分段式布線結(jié)構(gòu)使得對其時間延遲的預(yù)測困難,因而CPLD的速度比FPGA快,。
??? (3)在編程上FPGA比CPLD具有更大的靈活性,。CPLD通過修改具有固定內(nèi)部聯(lián)線的邏輯功能來編程,而FPGA主要是通過改變內(nèi)部線路布線來編程,。
??? (4)FPGA的集成度比CPLD高,,適合于較復(fù)雜的布線結(jié)構(gòu)和邏輯實現(xiàn),所以FPGA元件的可編程邏輯數(shù)比CPLD大得多,。
??? (5)CPLD使用比FPGA方便,。CPLD的編程采用E2PROM或Flash技術(shù),而且可以加密,,使用時外部不需要另外的存儲元件,;而FPGA的編程采用SRAM技術(shù),使用外部存儲元件來存放程序,,使用方法較復(fù)雜,。另外,電路信息存放在外部芯片中,,使得FPGA的保密性較CPLD差,,電路資料容易被他人讀取,電路容易被剽竊,,不適合保密程度要求較高的系統(tǒng),。
??? (6)在編程方式上,CPLD主要是基于E2PROM或Flash
??? 存儲編程,,可編程次數(shù)大于1萬次,,優(yōu)點是系統(tǒng)斷電時編程信息不會消失。FPGA大部分是基于SRAM編程,,編程信息會在系統(tǒng)斷電時消失,,所以每次上電時系統(tǒng)都要重新將編程信息從外部記憶裝置讀入FPGA的SRAM中。其優(yōu)點是可編程次數(shù)不限,并且在開發(fā)過程中可以很方便地隨時更改程序,,其缺點是系統(tǒng)上電時程序容易受到干擾,。
??? 設(shè)計時應(yīng)綜合考慮以上各因素,來確定選擇CPLD還是FPGA,。根據(jù)測試功能需求,,本系統(tǒng)設(shè)計的CPLD芯片內(nèi)部結(jié)構(gòu)如圖4所示。
?
??? 在CPLD的設(shè)計中,,采用VHDL語言作為主要的設(shè)計手段,,是當(dāng)前ASIC設(shè)計的主流方法之一。VHDL語言實現(xiàn)相關(guān)的設(shè)計過程具有高效,、方便,、易于移植的特點,而單純的硬件電路設(shè)計缺乏靈活性,,修改不方便,,動輒印制版報廢。這種硬件設(shè)計軟件化,,使得被測對象接入點發(fā)生改變或增減時,僅需相應(yīng)電路的部分軟件作適應(yīng)性修改,,底層硬件電路及上層應(yīng)用軟件都不需作大的改動甚至可以不改,,大大節(jié)約了系統(tǒng)維護成本。在CPLD的設(shè)計過程當(dāng)中,,一邊設(shè)計,,一邊在計算機上完成軟件仿真工作,使得仿真測試與功能行為的檢驗貫穿設(shè)計始終,,保證了各項功能的正確性及可靠性,,確保了最終產(chǎn)品的設(shè)計質(zhì)量。
??? 在系統(tǒng)設(shè)計中可以根據(jù)需要讓CPLD完成更多的功能,,如將80C196單片機的部分功能用CPLD完成,,其中主要是測試部分,包括串行接口,、數(shù)據(jù)編碼/校驗,、幀構(gòu)造、定時發(fā)送,、與外圍測試計算機的數(shù)據(jù)交換,。通過長期的積累,擁有大量的可復(fù)用IP模塊,,使系統(tǒng)開發(fā)設(shè)計更為快捷,。
2 智能化與可靠性設(shè)計
??? 系統(tǒng)信息的智能化測控主要體現(xiàn)在兩個方面:一是要具備學(xué)習(xí)記憶功能,能夠根據(jù)信息通道的初始值或?qū)崪y值自動調(diào)整其控制參數(shù);二是可以根據(jù)接收的命令,,對其通道號,、通道數(shù)、采集時間,、傳輸字節(jié)以及控制方式等進行調(diào)整,。
??? 本文介紹的小型智能化測試裝置不僅可以根據(jù)需求快速進行測試內(nèi)容的調(diào)整,還具有靜檢,、裝訂參數(shù),、提供數(shù)據(jù)的功能。其測試得到的數(shù)據(jù)可通過RS-485串行通信總線或無線手段發(fā)送到外圍測試接收設(shè)備中,。由于數(shù)據(jù)傳輸,、測試數(shù)據(jù)封裝、因而通道選擇等均由軟件來實現(xiàn),,因而智能化程度高,,使用方便。
??? 在測控數(shù)據(jù)傳送過程中,,針對不同的任務(wù),,使用的信息格式各不相同,要采用不同的數(shù)據(jù)處理程序,。應(yīng)根據(jù)外圍測控系統(tǒng)與SCS智能測試裝置的通信內(nèi)容,,構(gòu)造通信協(xié)議、數(shù)據(jù)處理協(xié)議,,依據(jù)不同的信息類別(控制命令)處理不同的數(shù)據(jù),,信息幀的打包傳送則由傳輸模塊進行處理。
??? 通常在試驗場所有很強的電磁干擾,,這些干擾以傳導(dǎo)和輻射的形式從動力線和信號線進入系統(tǒng),。為了保證系統(tǒng)正常可靠運行,,采用軟,、硬件相結(jié)合的抗干擾技術(shù),輸入通道中采用RC濾波,、高低電平嵌位,、隔離技術(shù),很好地抑制了各種高頻干擾,,并實現(xiàn)瞬間過壓保護,;部分輸入輸出信號采用光電耦合器,隔斷外部信號與控制系統(tǒng)的聯(lián)系,;軟件上采用中值和算術(shù)平均值相結(jié)合的方法,,剔除信號的瞬間干擾,,同時軟件設(shè)計采用多種優(yōu)化手段提高系統(tǒng)的健壯性。為了防止電路因公共阻抗而引起信號交叉耦合,,系統(tǒng)采用并聯(lián)單點接地設(shè)計,,系統(tǒng)內(nèi)模擬地和數(shù)字地分開,只在一點處匯合,。
3? 測試裝置的軟件設(shè)計
??? 測控軟件采用PL/M196語言編制[3],,用WAVE6000調(diào)試編譯完成。軟件流程圖如圖5所示,。
?
??? 測控軟件主要包含兩個分支:信號測試分支和參數(shù)裝訂分支,。其工作分支的判斷依據(jù)是地面提供的一路測試與否的電壓信號。裝訂參數(shù)電壓大于給定值,,系統(tǒng)進入?yún)?shù)裝訂分支,,單片機等待接收裝訂數(shù)據(jù),進行數(shù)據(jù)正確性判定,,并將各數(shù)據(jù)通過I2C接口分類存放到共享的幾片F(xiàn)lash ROM中,。如無裝訂電壓,則進入測試分支,,單片機開始測試各路信號,,并將測試數(shù)據(jù)打包成幀,同時計算全部數(shù)據(jù)的CRC校驗,,發(fā)送到接收設(shè)備,,并對測試數(shù)據(jù)進行判斷,確定系統(tǒng)工作流程,。由于數(shù)據(jù)量較大,需要測試的信號路數(shù),、種類較多,,需要打包發(fā)送的數(shù)據(jù)幀長70多字節(jié),每10ms以115.2k的波特率發(fā)送,,除去測量,、控制及組幀時間,數(shù)據(jù)傳送的時間就要仔細(xì)計算了,。采用查詢及標(biāo)準(zhǔn)的中斷方式,,10ms時間就遠(yuǎn)遠(yuǎn)不夠了,通過示波器測量,,一幀數(shù)據(jù)測試加傳輸需70ms,。本系統(tǒng)采用PTS(外設(shè)事物服務(wù)器)中斷方式,由微代碼硬件中斷處理器控制,,占用很少的CPU時間,,類似于PC機的DMA,,不用修改堆棧和保存程序狀態(tài)字。本系統(tǒng)采用PTS塊傳遞方式,,只需給定PTS控制字,、數(shù)據(jù)塊的起始地址及數(shù)據(jù)長度,定義中斷屏蔽寄存器,,最后開放PTS中斷和標(biāo)準(zhǔn)中斷,這樣一幀數(shù)據(jù)測試加傳輸需6.5ms,。
??? 經(jīng)過測試實驗表明,采用單片機,、PSD,、CPLD和電壓調(diào)理電路等主要組件設(shè)計完成SCS相關(guān)信息的采集與控制不僅是高效可行的,也是使得SCS測試裝置小型化,、智能化,、提高測試系統(tǒng)可靠性卓有成效的途徑之一。單片機與可編程邏輯器件有很強的互補性,。單片機具有性能價格比高,、功能靈活、易于人機對話,、良好的數(shù)據(jù)處理能力特點,,CPLD和PSD等可編程器件則具有高速、高可靠性以及開發(fā)便捷,、規(guī)范,、易于維護等優(yōu)點。這種單片機加外部可編程器件的電路結(jié)構(gòu)在許多高性能儀器儀表和電子產(chǎn)品中有廣泛的應(yīng)用前景,。
參考文獻(xiàn)
1 孫涵芳. inter 16位單片機. 北京:北京航空航天大學(xué)出版社,,1995
2 孫涵芳.單片機現(xiàn)場可編程外圍芯片PSD原理極其應(yīng)用.北京:北京航空航天大學(xué)出版社,1998
3 袁 清,,孫騰湛. PL/M程序設(shè)計語言及其應(yīng)用.北京:清華大學(xué)出版社,,1996
4 徐志軍,徐光輝.CPLD/FPGA的開發(fā)與應(yīng)用. 北京:電子工業(yè)出版社,,2002
5 PSD4000 Series Product Brief,,http://www.st.com