當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]實(shí)現(xiàn)SOPC的嵌入式軟硬件協(xié)同設(shè)計平臺

摘要:對基于FPGA的SOPC軟硬件協(xié)同設(shè)計方法進(jìn)行了研究,在此基礎(chǔ)上,詳細(xì)設(shè)計了系統(tǒng)硬件平臺,并對硬件平臺的硬件系統(tǒng)進(jìn)行了定制。本平臺滿足了從硬件系統(tǒng)定制,到操作系統(tǒng)配置均可以按照設(shè)計需求進(jìn)行定制的特點(diǎn)。
關(guān)鍵詞:SOPC;嵌入式系統(tǒng);軟硬件協(xié)同設(shè)計;FPGA

    片上可編程系統(tǒng)(System On a Programmable Chip,SOPC)是Altera公司提出來的一種靈活、高效的SoC解決方案。SOPC是一種特殊的嵌入式系統(tǒng):首先,它是系統(tǒng)芯片SoC,即由單個芯片完成整個系統(tǒng)的主要邏輯功能;其次,它是可編程系統(tǒng),具有靈活的設(shè)計方式,可裁剪、可升級、可擴(kuò)充,并具備軟硬件在系統(tǒng)可編程的功能。它結(jié)合了SoC和FPGA的優(yōu)點(diǎn),具有以下基本特征:至少包含一個以上的嵌入式處理器IP(Intellectual Property,知識產(chǎn)權(quán))核,具有小容量片內(nèi)高速RAM資源,豐富的IP核資源可供靈活選擇,有足夠的片上可編程邏輯資源,處理器高速接口和FPGA編程接口共用或并存,可能包含部分可編程模擬電路,單芯片、低功耗。
    本文主要研究的是應(yīng)用嵌入式系統(tǒng)開發(fā)的軟硬件協(xié)同設(shè)計方法來實(shí)現(xiàn)一個集軟核處理器的嵌入式設(shè)計平臺,在此基礎(chǔ)上,如有必要還可集成嵌入式操作系統(tǒng)。

1 基于SOPC軟硬件協(xié)同設(shè)計方法
    SOPC設(shè)計技術(shù)實(shí)際上涵蓋了嵌入式系統(tǒng)設(shè)計技術(shù)的全部內(nèi)容,除了以處理器和實(shí)時多任務(wù)操作系統(tǒng)RTOS為中心的軟件設(shè)計、以PCB和信號完整性分析為基礎(chǔ)的高速電路設(shè)計技術(shù)以外,SOPC還涉及目前已經(jīng)引起普遍關(guān)注的軟硬件協(xié)同技術(shù)。
1.1 軟硬件協(xié)同設(shè)計模型
    目前的軟硬件協(xié)同設(shè)計是指軟硬件的設(shè)計同時進(jìn)行,在系統(tǒng)的初期階段兩者就緊密相連。軟硬件協(xié)同設(shè)計不僅是一種設(shè)計技術(shù),同時也是一種新的設(shè)計方法和思想,它的核心問題是溝通軟件設(shè)計和硬件設(shè)計,避免系統(tǒng)中關(guān)系密切的兩部分設(shè)計過早獨(dú)立。同傳統(tǒng)設(shè)計方法相比,軟硬件協(xié)同設(shè)計提高了設(shè)計抽象的層次,并拓展了設(shè)計的覆蓋范圍。采用軟硬件協(xié)同設(shè)計技術(shù)可以使嵌入式系統(tǒng)設(shè)計更好和更快。
    軟硬件協(xié)同設(shè)計在其研究和生產(chǎn)實(shí)踐過程中,提出了很多的設(shè)計模型。這些模型都是把系統(tǒng)功能轉(zhuǎn)換成組織結(jié)構(gòu),將抽象的功能描述模型轉(zhuǎn)換成組織結(jié)構(gòu)模型。由于針對一個系統(tǒng)可以建立多種模型,因此應(yīng)根據(jù)系統(tǒng)的仿真和先前的經(jīng)驗(yàn)來選擇模型。
    軟硬件協(xié)同設(shè)計流程從目標(biāo)系統(tǒng)構(gòu)思開始。對一個給定的目標(biāo)系統(tǒng),經(jīng)過構(gòu)思,完成該系統(tǒng)的規(guī)范描述,然后是模塊的行為描述、對模塊的有效性檢查、軟硬件劃分、性能評估、硬件綜合、軟件編譯、軟硬件集成、軟硬件協(xié)同仿真與驗(yàn)證等各個階段。其中軟硬件劃分后產(chǎn)生硬件部分、軟件部分和軟硬件接口3個部分。硬件部分遵循軟件描述、軟件生成和參數(shù)化的步驟,生成軟件模塊,最后把生成的軟硬件模塊和軟硬件接口集成,并進(jìn)行軟硬件協(xié)同仿真,以進(jìn)行系統(tǒng)評估和設(shè)計驗(yàn)證。圖1給出了一個軟硬件協(xié)同設(shè)計流程。


    圖中對軟硬件設(shè)計流程中每個子過程進(jìn)行了簡單的描述。確定說明文檔之后,先建立高級算法模型,然后再考慮軟硬件的劃分,這樣可以更好地分析算法的實(shí)現(xiàn)方法,比如是用硬件實(shí)現(xiàn)還是用軟件實(shí)現(xiàn)等。[!--empirenews.page--]
1.2 軟硬件任務(wù)劃分和軟硬件接口
    系統(tǒng)模型是對系統(tǒng)初步的粗粒度劃分。依據(jù)這個粗粒度的劃分,有助于第一次軟硬件任務(wù)分配。在進(jìn)行軟硬件劃分時,需要將系統(tǒng)需求根據(jù)設(shè)計目標(biāo)和設(shè)計約束,分解出硬件的功能需求和非功能需求,以及軟件的功能需求和非功能需求,并進(jìn)一步細(xì)化硬件需求及軟件需求。
    進(jìn)行軟硬件劃分是協(xié)同設(shè)計的重心,劃分的合理與否,將直接影響到后續(xù)的設(shè)計與開發(fā)。設(shè)計者要從系統(tǒng)的角度,將軟硬件完成的功能作均衡,以想要達(dá)到的目標(biāo)為設(shè)計標(biāo)準(zhǔn)。在系統(tǒng)的復(fù)雜度一定時,使軟硬件結(jié)合,達(dá)到更高的性能。軟硬件劃分好以后,軟件和硬件的設(shè)計一直是保持并行的,在設(shè)計過程中兩者交織在一起,互相支持,互相提供開發(fā)的平臺。
    軟硬件的劃分不是簡單地將功能分解,在進(jìn)行軟硬件任務(wù)分配時已經(jīng)在進(jìn)行系統(tǒng)的架構(gòu)設(shè)計。其中,非常重要的部分是軟硬件的接口設(shè)計。嵌入式系統(tǒng)的軟硬件接口,從基本的寄存器到高級的系統(tǒng)接口都非常重要。在軟硬件任務(wù)分配時,主要考慮系統(tǒng)的軟件與硬件之間的接口,以及那些影響最終軟硬件集成、調(diào)試的軟硬件接口。

2 系統(tǒng)硬件設(shè)計
    整個系統(tǒng)的設(shè)計可以分為兩個部分:第一部分是硬件平臺的設(shè)計,即可用以運(yùn)行整個系統(tǒng)的硬件部分,包含了主芯片、外設(shè)芯片以及它們之間的互聯(lián);第二部分是根據(jù)系統(tǒng)設(shè)計需求來定制硬件系統(tǒng),即設(shè)計處理器軟核和相關(guān)外設(shè)的控制邏輯,完成系統(tǒng)的定制。第一部分的工作是后面工作的基礎(chǔ)。
    本設(shè)計中的SOPC開發(fā)平臺系統(tǒng)結(jié)構(gòu)如圖2所示,開發(fā)板的PCB版圖設(shè)計利用Altium Designer工具完成。軟硬件接口設(shè)計的主要任務(wù)是基于基本指令集完成驅(qū)動程序的編寫工作。驅(qū)動程序是硬件組件與軟件組件之間的橋梁。軟硬件接口的另一個重要工作是進(jìn)行硬件初始化。初始化代碼是處理器從復(fù)位狀態(tài)進(jìn)入操作系統(tǒng)能夠運(yùn)行的狀態(tài),也就是在把控制權(quán)交給操作系統(tǒng)或應(yīng)用程序之前硬件和底層軟件(驅(qū)動)必須做的一些工作。


    下面詳細(xì)說明平臺中重要的電源電路、Flash接口電路、SDRAM接口電路設(shè)計,其他部分電路可參考相應(yīng)資料。
2.1 FPGA EP1C6Q
    目前大部分Altera公司的FPGA均支持NiosIICPU,而Cyclone系列器件是當(dāng)前世界上成本最低的FPGA芯片之一,因此本設(shè)計中的核心芯片采用Cyclone EP1C6,具有9800個邏輯單元,92Kb的RAM資源,提供兩個全功能的鎖相環(huán)(PLL)。I/O接口185個,還支持LVDS、DDR等傳輸接口。它的配置使用最新型的AS配置方式,配置芯片是EPCS4(Flash結(jié)構(gòu),4Mb)。[!--empirenews.page--]
2.2 電源電路設(shè)計
    本設(shè)計采用了可調(diào)三端穩(wěn)壓器LM1117T-ADJ,可以將電壓進(jìn)行線性轉(zhuǎn)換,電流為800 mA,3引腳的T0200封裝。Cyclone系列FPGA上電的最大電流為300mA,該芯片可以滿足要求。LM1117需要在輸出與地之間接入電容以維持內(nèi)部電路的穩(wěn)定,輸入與地之間也需要接入電容對輸入信號進(jìn)行濾波。具體的連接如圖3所示。


2.3 Flash接口電路設(shè)計
    Flash即閃速存儲器,是一種在系統(tǒng)可電擦寫的存儲器。作為一種非易失性存儲器,F(xiàn)lash主要有兩個功能,一部分用來存儲數(shù)據(jù),另一部分存儲專用程序。
    由于不同廠家的Flash的擦寫時序往往不同,Niosll只支持部分常用的Flash,對于不支持的Flash類型,需要NiosII系統(tǒng)設(shè)計人員自己完成相關(guān)Flash擦寫子程序的編寫。本平臺采用的AM29LV065 Flash存儲器。采用48腳TSOP封裝,8位數(shù)據(jù)寬度,工作電壓為2.7~3.6V,讀寫操作都較一般Flash省電,僅需要單3 V電壓即可完成在系統(tǒng)編程與擦除操作。
    Flash選用的是22×8,即地址總線為22位,數(shù)據(jù)總線為8位,其連接關(guān)系如圖4所示。


2.4 SDRAM接口電路設(shè)計
    與Flash存儲器不同,SDRAM不具有掉電保護(hù)數(shù)據(jù)的特性,但其操作都是由時鐘作為同步??梢詫⑵淅斫鉃橐粋€電容,總是傾向于放電,為避免數(shù)據(jù)丟失,必須定時刷新(充電)。因此,要在系統(tǒng)中使用SDRAM,就要求微處理器具有刷新控制邏輯,或在系統(tǒng)中加入刷新控制邏輯電路。
    在NiosII系統(tǒng)中,SDRAM主要用于存放運(yùn)行程序和數(shù)據(jù),并且其運(yùn)行速度比Flash快很多。所以在SOPC系統(tǒng)中,當(dāng)系統(tǒng)啟動后,NiosII CPU首先從復(fù)位地址0x0處讀取啟動代碼,在完成系統(tǒng)的初始化后,程序代碼一般應(yīng)調(diào)入SDRAM中運(yùn)行,以提高系統(tǒng)的運(yùn)行速度。平臺使用的是hynix57V641620HGT,其存儲容量為4Bank×1M×16位(64 Mb)。SDRAM與總線的連接關(guān)系如圖5所示,其刷新頻率是靠FPGA內(nèi)的PLL經(jīng)過相移來提供。[!--empirenews.page--]



3 SOPC系統(tǒng)結(jié)構(gòu)
    SOPC Builder是一個能夠生成復(fù)雜硬件系統(tǒng)的工具,將軟硬件的設(shè)計結(jié)合起來,提供給客戶一個很好的開發(fā)環(huán)境。利用SOPC Builder可以將Nios CPU和其他應(yīng)用模塊嵌入到FPGA內(nèi)部,實(shí)現(xiàn)一個可重構(gòu)的嵌入式系統(tǒng),其中Nios CPU是整個系統(tǒng)的核心。圖6是典型Nios系統(tǒng)的框圖,其中片內(nèi)邏輯是指實(shí)現(xiàn)在FPGA內(nèi)部的電路設(shè)計,系統(tǒng)模塊指的是由SOPC Builder自動生成的設(shè)計。SOPC Builder會根據(jù)用戶選擇的IP生成相應(yīng)的HDL描述文件(系統(tǒng)模塊文件),這些文件與用戶邏輯區(qū)域內(nèi)的設(shè)計描述文件一起由QuartusII軟件綜合,然后下載到FPGA內(nèi),這樣就構(gòu)成了系統(tǒng)的硬件基礎(chǔ)。


    如圖7所示,采用NiosII單處理器,多個特定功能專用IP核的系統(tǒng)體系結(jié)構(gòu),軟件部分由處理器進(jìn)行,而硬件部分功能由下載到FPGA上的IP核實(shí)現(xiàn)。硬件之間的通信以及與處理器的通信由Altera公司定義的Avalon片內(nèi)總線實(shí)現(xiàn),而硬件和軟件之間的通信則是通過由IDE根據(jù)硬件系統(tǒng)生成的硬件抽象層HAL來實(shí)現(xiàn)的。



4 總結(jié)
    嵌入式技術(shù)發(fā)展之迅速,嵌入式市場前景之廣闊,使嵌入式教學(xué)和研發(fā)成為當(dāng)今熱點(diǎn)。近年來FPGA技術(shù)的飛速發(fā)展,各大FPGA廠商也相繼推出針對SOPC開發(fā)的各種功能強(qiáng)大的開發(fā)套件,這使得FPGA在嵌入式系統(tǒng)設(shè)計中相對于傳統(tǒng)的ASIC器件具有設(shè)計靈活、功能強(qiáng)大、一次性投入低、設(shè)計周期短等優(yōu)勢,在嵌入式系統(tǒng)設(shè)計中得到越來越廣泛的應(yīng)用。無論是嵌入式教學(xué)實(shí)驗(yàn)還是企業(yè)產(chǎn)品研發(fā),嵌入式系統(tǒng)實(shí)驗(yàn)開發(fā)平臺都具有很高的使用價值,其開發(fā)具有現(xiàn)實(shí)意義和社會經(jīng)濟(jì)價值。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉