1 背景介紹
在日益信息化的社會(huì)中,各種各樣的嵌入式系統(tǒng)已經(jīng)全面滲透到日常生活的每一個(gè)角落。嵌入式系統(tǒng)的功能越來(lái)越復(fù)雜,這就使得一個(gè)嵌入式系統(tǒng)產(chǎn)品從市場(chǎng)需求立項(xiàng)到方案選擇、樣機(jī)研制、定型量產(chǎn)所需要的開(kāi)發(fā)費(fèi)用越來(lái)越多,所需開(kāi)發(fā)時(shí)間越來(lái)越長(zhǎng)。因此,高效的嵌入式系統(tǒng)設(shè)計(jì)方法就顯得尤為重要。
1.1 傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法
嵌入式系統(tǒng)開(kāi)發(fā)的關(guān)鍵就是對(duì)核心部分進(jìn)行功能驗(yàn)證。傳統(tǒng)的驗(yàn)證方法是建模模擬和制作目標(biāo)板評(píng)估。
通過(guò)建模來(lái)進(jìn)行功能驗(yàn)證存在不足。首先就是耗時(shí)和準(zhǔn)確性互相矛盾。建立高層次的模型需要的時(shí)間短,但是模擬不夠準(zhǔn)確。相反,低層次的模型可以達(dá)到滿(mǎn)意的評(píng)估效果,但是建模耗時(shí)長(zhǎng)。其次,建模模擬是靜態(tài)的過(guò)程,不能很好地反映系統(tǒng)實(shí)際運(yùn)行的情況。好的目標(biāo)板,各部分連接已經(jīng)固定。如果需要改動(dòng)部分連接,只能重新設(shè)計(jì)制版。這樣一來(lái)就會(huì)大大延長(zhǎng)產(chǎn)品的上市時(shí)間,還會(huì)增加開(kāi)發(fā)費(fèi)用。新推出的嵌入式系統(tǒng)產(chǎn)品,開(kāi)始設(shè)計(jì)時(shí)比較難把所有的技術(shù)細(xì)節(jié)考慮清楚,有時(shí)甚至是邊設(shè)計(jì)邊修改性能指標(biāo),因此直接制作專(zhuān)用的目標(biāo)板原型已經(jīng)不太適合復(fù)雜的嵌入式系統(tǒng)產(chǎn)品的設(shè)計(jì)。
1.2 嵌入式系統(tǒng)模塊化設(shè)計(jì)方法
嵌入式系統(tǒng)設(shè)計(jì)要求做到可測(cè)性、高效性和靈活性。目前,嵌入式系統(tǒng)物理尺寸越來(lái)越小,功能越來(lái)越復(fù)雜。為了方便調(diào)試、維護(hù)系統(tǒng),完全可測(cè)顯得極為重要。另一方面,模塊化的設(shè)計(jì)方法越來(lái)越引起人們的關(guān)注。模塊化設(shè)計(jì)方法將復(fù)雜的系統(tǒng)合理地劃分出不同的功能模塊,然后充分利用已有的模塊,設(shè)計(jì)新的模塊,最后將這些模塊連接起來(lái)組成目標(biāo)系統(tǒng)。模塊化的設(shè)計(jì)方法減少全新的設(shè)計(jì)、降低開(kāi)發(fā)難度、節(jié)省開(kāi)發(fā)成本、縮短開(kāi)發(fā)時(shí)間,是一種高效的嵌入式系統(tǒng)設(shè)計(jì)方法。另外,各個(gè)模塊連接的靈活性是非常重要的,它直接決定模塊的組合能力。
2 基于ARM核的快速原型化平臺(tái)
嵌入式系統(tǒng)硬件有如下特點(diǎn):
1、嵌入式硬件以嵌入式處理器為核心。嵌入式處理器的種類(lèi)眾多,功能各異。
2、相對(duì)嵌入式處理器,嵌入式系統(tǒng)外設(shè)的種類(lèi)較少,接口標(biāo)準(zhǔn)也比較統(tǒng)一。
3、隨著EDA的發(fā)展,SOC(system on chip)的應(yīng)用越來(lái)越廣泛。
2.1 ARM核處理器的特點(diǎn)
ARM核處理器因?yàn)槠涞统杀、低功耗、高性能的?yōu)點(diǎn)廣泛應(yīng)用于嵌入式系統(tǒng);贏RM核處理器是高度集成的SOC,包括ARM核和各種各樣的外設(shè)。圖1是基于ARM核處理器的常見(jiàn)結(jié)構(gòu)。存儲(chǔ)器控制接口為外接存儲(chǔ)器提供了總線(xiàn)接口。該總線(xiàn)接口支持不同種類(lèi)的存儲(chǔ)器芯片以及不同的存儲(chǔ)操作。此外,還可以用該總線(xiàn)來(lái)擴(kuò)展外設(shè)。片內(nèi)外設(shè)包括中斷控制器、OS定時(shí)器、UART、I2C、PWM和AC97等等。在這些片內(nèi)外設(shè)中,有些信號(hào)是復(fù)用的,這樣做的好處是方便用戶(hù)使用。用戶(hù)如需要片內(nèi)外設(shè),只需要配置相關(guān)的寄存把片內(nèi)外設(shè)連接到通用I/O即可,非常靈活,例如USB接口的服務(wù)器/客戶(hù)端。有些片內(nèi)外設(shè)有專(zhuān)用的信號(hào)。用戶(hù)通過(guò)連接或者擴(kuò)展這些通用I/O和專(zhuān)用I/O來(lái)使用片內(nèi)外設(shè)。當(dāng)片內(nèi)外設(shè)不能完成目標(biāo)系統(tǒng)的功能時(shí),需要通過(guò)總線(xiàn)來(lái)擴(kuò)展特殊的外設(shè)芯片。
圖1(ARM核處理器框圖)
圖2 (ARM核處理器的嵌入式系統(tǒng)的框圖)
2.2 基于ARM的快速原型化平臺(tái)的實(shí)現(xiàn)
圖2是基于ARM核處理器的嵌入式系統(tǒng)的框圖。該系統(tǒng)分成兩個(gè)部分,一部分是最小系統(tǒng),由嵌入式ARM核處理器和存儲(chǔ)器組成;另外一部分包括從嵌入式處理器片內(nèi)外設(shè)接口直接擴(kuò)展的外設(shè)和通過(guò)總線(xiàn)擴(kuò)展的外設(shè)。為了充分利用模塊化設(shè)計(jì)方法,這些部分應(yīng)該能夠通過(guò)靈活的互連組成一個(gè)平臺(tái)。靈活的互連功能由互連模塊完成。
可編程器件如CPLD和FPGA,可以在系統(tǒng)編程,修改連接只需要修改相應(yīng)的控制程序即可,非常方便靈活。CPLD成本低,運(yùn)行速度快,但是集成度比較低。FPGA集成度高,可以實(shí)現(xiàn)CPLD很難實(shí)現(xiàn)的復(fù)雜的邏輯功能,例如內(nèi)嵌邏輯分析儀程序,獲取必要的信號(hào),完成系統(tǒng)在線(xiàn)測(cè)試。FPGA另外一個(gè)優(yōu)勢(shì)就是可以動(dòng)態(tài)配置,例如系統(tǒng)上電時(shí)配置自檢程序,自檢通過(guò)后再配置實(shí)際工作的程序。最后,在FPGA里面嵌入CPU軟核,進(jìn)行SOC的開(kāi)發(fā)。所以可編程互連模塊選用FPGA來(lái)組成。
為了確定可編程互連模塊的插入位置,再來(lái)分析圖2嵌入式系統(tǒng)的結(jié)構(gòu)。
最小系統(tǒng)決定了整個(gè)系統(tǒng)的處理能力,是整個(gè)系統(tǒng)的核心。常用的嵌入式處理器的時(shí)鐘周期已經(jīng)高達(dá)400MHz,并且會(huì)進(jìn)一步發(fā)展。連接處理器的總線(xiàn)速度和存儲(chǔ)器芯片的速度也超過(guò)了100MHz。FPGA引腳到引腳的延時(shí)是幾個(gè)納秒的數(shù)量級(jí),所以FPGA模塊的插入會(huì)降低整個(gè)系統(tǒng)的處理速度。故在處理器和存儲(chǔ)器之間不能插入FPGA模塊。外設(shè)可以使得嵌入式系統(tǒng)和實(shí)際應(yīng)用環(huán)境進(jìn)行通信和交互操作。通常外設(shè)已經(jīng)高度模塊化并且相互獨(dú)立,在外設(shè)之間幾乎不會(huì)有柔性連接的要求,而且處理器和外設(shè)之間的數(shù)據(jù)通信速度比最小系統(tǒng)的運(yùn)行速度要慢很多。因此,用互連模塊取代最小系統(tǒng)和外設(shè)之間的直接物理連接是切實(shí)可行的。
按照這種思路,設(shè)計(jì)出了如圖3所示的快速原型化平臺(tái)。
圖3(快速原型化平臺(tái))
圖3中,可編程互連模塊是快速原型化平臺(tái)的核心部分。常用的外設(shè)部分包括:網(wǎng)卡,USB接口,LVDS接口,RS-232接口,RS-485接口,音頻AC`97接口,PCMCIA/CF卡接口。這些常用外設(shè)就是前文提到的可重復(fù)利用的模塊。由于嵌入式處理器的總線(xiàn)、通用I/O、專(zhuān)用I/O和各種外設(shè)都連接在可編程互連模塊上,因此不同的嵌入式處理器只需要設(shè)計(jì)最小系統(tǒng)即可,然后將該最小系統(tǒng)接入快速原型化平臺(tái),利用這個(gè)平臺(tái)提供的外設(shè)進(jìn)行系統(tǒng)調(diào)試。
以上設(shè)計(jì)的快速原型化平臺(tái),不僅考慮了當(dāng)前嵌入式硬件系統(tǒng)的發(fā)展特點(diǎn)即嵌入式處理器種類(lèi)多,外設(shè)種類(lèi)相對(duì)較少,接口標(biāo)準(zhǔn)趨于統(tǒng)一,同時(shí)又充分體現(xiàn)了可測(cè)性、靈活性、模塊化的設(shè)計(jì)思想。
3 隨機(jī)方向信號(hào)的可配置互連
常見(jiàn)的信號(hào)傳輸方向不管是單向的還是雙向的,都可以預(yù)先確定。例如,數(shù)據(jù)總線(xiàn)是雙向的,讀或者寫(xiě)是完全確定的,可以通過(guò)讀寫(xiě)信號(hào)來(lái)控制數(shù)據(jù)的傳輸?shù)姆较颉5怯幸活?lèi)特殊的總線(xiàn),例如I2C,它是多主/從的通信總線(xiàn)。如圖4所示,如果設(shè)備1發(fā)起通信,則SCL上的信號(hào)傳輸方向是從設(shè)備1到設(shè)備2,如果是設(shè)備2作主設(shè)備發(fā)起通信,則SCL的上的信號(hào)傳輸方向剛好相反。系統(tǒng)設(shè)計(jì)中要求總線(xiàn)上可以雙向傳輸信號(hào)。FPGA內(nèi)部由一系列的邏輯門(mén)組成,如果I2C 信號(hào)通過(guò)FPGA來(lái)連接的話(huà),就不能正常工作。這是因?yàn),雙向傳輸可以等效視為由兩個(gè)反并聯(lián)的門(mén)來(lái)實(shí)現(xiàn)(如圖5,用方向控制信號(hào)來(lái)確定實(shí)際的傳輸方向)。但是,I2C信號(hào),沒(méi)有明確的方向控制信號(hào),也就無(wú)法正確地通過(guò)圖5 所示結(jié)構(gòu)的電路。
圖4(I2C總線(xiàn))
圖5(雙向信號(hào)傳輸)
如果直接布線(xiàn)或者跳線(xiàn)來(lái)連接I2C信號(hào),就可以保證I2C正常工作,但是,這就和快速原型化平臺(tái)可配置互連的靈活性相違背,所以提出以下方案。 I2C信號(hào)不經(jīng)過(guò)FPGA來(lái)配置連接,而是通過(guò)基于MOSFET的數(shù)據(jù)開(kāi)關(guān)。目前,市場(chǎng)上常用的點(diǎn)到點(diǎn)任意方向的MOSFET開(kāi)關(guān)并不能直接使用。因?yàn)槌R?jiàn)的結(jié)構(gòu)是一路到多路或者多路到一路。利用CPLD來(lái)控制選通,多路并聯(lián)就可以組成8X8的點(diǎn)到點(diǎn)的隨機(jī)方向的可配置連接。如圖6,是一路到八路的數(shù)據(jù)開(kāi)關(guān)的內(nèi)部結(jié)構(gòu)。
圖6(一路到八路的數(shù)據(jù)開(kāi)關(guān)的內(nèi)部結(jié)構(gòu))
如圖6的多路開(kāi)關(guān)的結(jié)構(gòu)所示,對(duì)每一個(gè)數(shù)據(jù)開(kāi)關(guān),用CPLD控制選通信號(hào)S0、S1、S2,可以把A連接到B1到B8中的任意一個(gè)。把八個(gè)多路開(kāi)關(guān)的每一個(gè)輸出相對(duì)應(yīng)地連接起來(lái),如圖7,就可以把P1到P8中任意一個(gè)連接到Q1到Q8中的任意一個(gè),也就是實(shí)現(xiàn)了8X8的可配置互連,而且可以任意方向傳輸數(shù)據(jù)。通過(guò)編程來(lái)改變CPLD的輸出,控制數(shù)據(jù)開(kāi)關(guān)的選通信號(hào),就可以實(shí)現(xiàn)隨機(jī)方向信號(hào)的可配置互連。
圖7(8X8的可配置互連模塊)
4 結(jié)果和總結(jié)
本文詳細(xì)闡述了快速原型化平臺(tái)的設(shè)計(jì)思想。并且提出了隨機(jī)方向信號(hào)的可配置互連的切實(shí)可行的解決方案,該方案是筆者的創(chuàng)新點(diǎn)。
按照快速原型化平臺(tái)的設(shè)計(jì)思想,設(shè)計(jì)調(diào)試出PXA255的最小系統(tǒng),以FPGA為核心可配置互連的外設(shè)擴(kuò)展板和采用開(kāi)關(guān)電源技術(shù)的高效的電源板。整個(gè)系統(tǒng)運(yùn)行在ARM-Linux環(huán)境下。
作者:吳小明 葉朝暉 楊士元 來(lái)源:微計(jì)算機(jī)信息
免責(zé)聲明:本文僅代表作者個(gè)人觀(guān)點(diǎn),與C114中國(guó)通信網(wǎng)無(wú)關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。