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