基于ARM和CPLD的可重構(gòu)檢測(cè)系統(tǒng)設(shè)計(jì)
引言
檢測(cè)系統(tǒng)的可重構(gòu)設(shè)計(jì)是檢測(cè)技術(shù)的發(fā)展方向。可重構(gòu)設(shè)計(jì)是指利用可重用的軟硬件資源,根據(jù)不同的應(yīng)用需求,靈活地改變自身體系結(jié)構(gòu)的設(shè)計(jì)方法。對(duì)于檢測(cè)系統(tǒng)而言,可重構(gòu)可以分為軟件可重構(gòu)和硬件可重構(gòu)。采用硬件可重構(gòu)技術(shù)設(shè)計(jì)的檢測(cè)系統(tǒng)具有硬件普適性,通過更換各個(gè)硬件模塊或配置不同的軟件代碼,即可實(shí)現(xiàn)不同功能的檢測(cè),從而減少硬件和軟件開發(fā)上的投入、縮短產(chǎn)品開發(fā)周期。
本文提出了一種基于ARM嵌入式微處理器和復(fù)雜可編程邏輯器件( CPLD) 的檢測(cè)系統(tǒng)硬件可重構(gòu)設(shè)計(jì)方法。這種結(jié)構(gòu)檢測(cè)系統(tǒng)既具有ARM微控制器體積小、集成度高、運(yùn)算速度快、存儲(chǔ)器容量大、功耗低等特點(diǎn); 又具有CPLD強(qiáng)大的高速邏輯處理能力和方便靈活的動(dòng)態(tài)可重構(gòu)性,將兩者結(jié)合起來使用能克服傳統(tǒng)檢測(cè)儀器的不足, 可將許多復(fù)雜的實(shí)時(shí)控制算法硬件化,減輕了MCU的負(fù)擔(dān),減少邏輯控制芯片的使用, 具有可靠性強(qiáng)、可重用性好性價(jià)比高突出優(yōu)點(diǎn)。
1檢測(cè)系統(tǒng)的結(jié)構(gòu)
本文設(shè)計(jì)的可重構(gòu)檢測(cè)系統(tǒng)采用ARM芯片為主控制器, CPLD芯片為協(xié)處理器配合主控制器工作的結(jié)構(gòu)。
1.1檢測(cè)系統(tǒng)的總體硬件結(jié)構(gòu)
該控制器的硬件結(jié)構(gòu)如圖1所示, ARM芯片的外圍電路包括復(fù)位電路、實(shí)時(shí)時(shí)鐘電路、存儲(chǔ)模塊、海量數(shù)據(jù)存儲(chǔ)模塊、通訊模塊、LCD接口電路和觸摸屏接口電路,。其中存儲(chǔ)模塊由SDRAM和NOR型FLASH 組成,SDRAM 作為ARM 的內(nèi)存、存放操作系統(tǒng)和應(yīng)用程序運(yùn)行的動(dòng)態(tài)數(shù)據(jù), FLASH 存儲(chǔ)操作系統(tǒng)鏡像文件及一些常量參數(shù);海量存儲(chǔ)模塊提供了IDE/CF卡接口,可以直接接入硬盤和CF卡作為采樣數(shù)據(jù)的海量存儲(chǔ)介質(zhì);通訊模塊由RS- 232、USB2.0及以太網(wǎng)接口組成,可根據(jù)實(shí)際情況選擇其中一種方式作為通訊接口。CPLD提供模數(shù)轉(zhuǎn)換電路控制單元( ADC) 、可編程脈沖產(chǎn)生電路 、采樣數(shù)據(jù)自存儲(chǔ)邏輯控制單元、數(shù)字量輸入輸出電路( DI/DO) 、光電編碼器輸入電路和PWM 波輸出電路。ARM與CPLD之間通過并行總線相連。
圖1 基于ARM9+CPLD可重構(gòu)檢測(cè)系統(tǒng)框圖
在上述結(jié)構(gòu)中, 可將CPLD視作ARM的一個(gè)高速外設(shè),ARM通過CPLD 間接地操作某些外圍器件,充分利用CPLD 的高速邏輯處理能力對(duì)整個(gè)檢測(cè)過程實(shí)現(xiàn)實(shí)時(shí)控制, ARM只需負(fù)責(zé)檢測(cè)參數(shù)的設(shè)定和控制檢測(cè)過程的開始及結(jié)束,提高了控制器的實(shí)時(shí)性,增強(qiáng)了控制器對(duì)外設(shè)的兼容性和擴(kuò)展性。
以上系統(tǒng)設(shè)計(jì)中,我們不僅實(shí)現(xiàn)了硬件原理設(shè)計(jì)上的模塊化,可以根據(jù)實(shí)際需要將各個(gè)模塊替換成合適的芯片,實(shí)現(xiàn)系統(tǒng)的可重構(gòu)性。在檢測(cè)儀器的生產(chǎn)、維修和升級(jí)等實(shí)踐中,我們發(fā)現(xiàn)將不同模塊設(shè)計(jì)成單板形式,然后通過約定的接口連接起來,方便系統(tǒng)的升級(jí)和產(chǎn)品的系列化,也給儀器的維修帶來很大便利,同時(shí)便于隔離各個(gè)模塊的相互干擾,提高了系統(tǒng)的抗干擾和穩(wěn)定性。但是對(duì)于一個(gè)高速系統(tǒng),這樣的設(shè)計(jì)必然會(huì)帶來信號(hào)完整性問題。我們將在后面重點(diǎn)介紹這個(gè)問題的解決方案。
1.2接口設(shè)計(jì)
由于ARM與CPLD的總線接口設(shè)計(jì)是否合理將直接影響著控制器的性能和系統(tǒng)的可重構(gòu)特性,所以并行總線的設(shè)計(jì)就成為一個(gè)非常關(guān)鍵的問題,該總線包括ARM芯片的地址總線(AB[0..23]) 、數(shù)據(jù)總線(DB[0..15]) 、控制總線、復(fù)位信號(hào)以及多路可編程I/O,這樣做的好處是,將CPLD芯片存儲(chǔ)器化,即ARM可通過對(duì)特定地址和I/O口的訪問來控制CPLD工作, 并且可通過共同的復(fù)位信號(hào)將ARM與CPLD 芯片同時(shí)復(fù)位, 盡量避免總線競(jìng)爭(zhēng)和冒險(xiǎn)現(xiàn)象的出現(xiàn),CPLD還可通過可編程I/O向ARM發(fā)出中斷請(qǐng)求,等待ARM對(duì)特定事件的處理。這種接口不僅保留了ARM控制平臺(tái)和CPLD外接單元的獨(dú)立性,而且接口的通用性也非常好,一般的控制平臺(tái)和邏輯控制芯片都適用這種接口,這樣我們可以根據(jù)不同需求,組建合適的系統(tǒng)。
同樣CPLD板上的外部接口設(shè)計(jì)也很重要,直接決定系統(tǒng)可實(shí)現(xiàn)的功能和適用程度,我們?cè)贑PLD板上留出了4路ADC控制接口,包括采樣同步時(shí)鐘信號(hào)、采樣數(shù)據(jù)傳輸線和多路擴(kuò)展I/O,可以實(shí)現(xiàn)4路AD同時(shí)采樣,自動(dòng)存儲(chǔ),并記錄采集的起始位置和采樣長(zhǎng)度,也可以完成對(duì)程控放大器、濾波器的控制。考慮到一個(gè)系列不同容量的采樣存儲(chǔ)芯片SRAM一般都會(huì)保持引腳的兼容,我們將SRAM設(shè)計(jì)在CPLD板上,增加系統(tǒng)的穩(wěn)定性。預(yù)留的其它接口我們都盡量保證它的通用性,并在結(jié)構(gòu)設(shè)計(jì)上考慮各個(gè)模塊的連接和安裝。
2應(yīng)用實(shí)例
超聲檢測(cè)是無損檢測(cè)的重要方法之一,廣泛應(yīng)用于對(duì)鋼板、鍛件、焊縫、混凝土、人造石墨等進(jìn)行探傷檢驗(yàn)。近年來,超聲檢測(cè)理論和方法都已取得較大進(jìn)展,但是實(shí)踐中無論在儀器硬件的實(shí)現(xiàn)還是軟件的更新上都還存在很多未突破的關(guān)鍵技術(shù)。筆者采用以上系統(tǒng)設(shè)計(jì)了一款一發(fā)雙收聲波檢測(cè)儀,其檢測(cè)控制單元位于CPLD 芯片中,ARM芯片通過對(duì)CPLD進(jìn)行存儲(chǔ)器訪問即可完成對(duì)整個(gè)檢測(cè)過程的控制。
評(píng)論