新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一個(gè)典型的嵌入式系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)

一個(gè)典型的嵌入式系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)

作者: 時(shí)間:2012-11-01 來源:網(wǎng)絡(luò) 收藏

  二、步驟2:設(shè)計(jì)系統(tǒng)的體系結(jié)構(gòu),協(xié)同分配硬件/軟件方面的要求

  包含硬件和軟件兩部分:硬件架構(gòu)上以嵌入式處理器為中心,配置存儲(chǔ)器、i/o設(shè)備、通信模塊等必要的外設(shè);軟件部分以軟件開發(fā)平臺(tái)為核心,向上提供應(yīng)用編程接口(api),向下屏蔽具體硬件特性的板級(jí)支持包bsp。中,軟件和硬件緊密配合,協(xié)調(diào)工作,共同完成系統(tǒng)預(yù)定的功能。根據(jù)osi的七層模型可以確定鏈路層和物理層由硬件實(shí)現(xiàn),其他各層由軟件實(shí)現(xiàn),如圖1。

圖1:mvb的osi模型和軟硬件劃分。

  1、嵌入式操作系統(tǒng)選擇:

  *通常而言,為一個(gè)選擇操作系統(tǒng)要考慮如下幾個(gè)因素:

  *操作系統(tǒng)支持的微處理器

  *操作系統(tǒng)的性能

  *操作系統(tǒng)的軟件組件和設(shè)備驅(qū)動(dòng)程序

  *操作系統(tǒng)的調(diào)試工具,開發(fā)環(huán)境、在線仿真器(ice)、編譯器、匯編器、連接器、調(diào)試器以及模擬器等等

  *操作系統(tǒng)的標(biāo)準(zhǔn)兼容性

  *操作系統(tǒng)的技術(shù)支持程度

  *操作系統(tǒng)是提供源代碼還是目標(biāo)代碼

  *操作系統(tǒng)的許可使用情況

  *操作系統(tǒng)的開發(fā)者聲譽(yù)狀況

  根據(jù)系統(tǒng)的需求和以上的原則,在中采用了vxworks實(shí)時(shí)操作系統(tǒng),vxworks是風(fēng)河公司(windriver)開發(fā)的實(shí)時(shí)操作系統(tǒng)之一,以其優(yōu)秀的可靠性、實(shí)時(shí)性及內(nèi)核的可裁減性,被廣泛應(yīng)用于通信、軍事、航天、航空、工業(yè)控制等關(guān)鍵行業(yè)領(lǐng)域,其開發(fā)環(huán)境為tornado。

  2、處理器的選擇:在為嵌入式系統(tǒng)選擇處理器時(shí)需要考慮以下幾個(gè)方面:

  *性能:處理器必須有足夠的性能執(zhí)行任務(wù)和支持產(chǎn)品生命周期。

  *工具支持:支持軟件創(chuàng)建、調(diào)試、系統(tǒng)集成、代碼調(diào)整和優(yōu)化工具對(duì)整體項(xiàng)目成功與否非常關(guān)鍵。

  *操作系統(tǒng)支持:嵌入式系統(tǒng)應(yīng)用需要使用有幫助的抽象來減少其復(fù)雜性。

  *開發(fā)人員過去的處理器經(jīng)驗(yàn):擁有處理器或處理器系列產(chǎn)品的開發(fā)經(jīng)驗(yàn)可以減少可觀的學(xué)習(xí)新處理器、工具和技術(shù)的時(shí)間。

  *成本,功耗,產(chǎn)品上市時(shí)間,技術(shù)支持等等

  在本系統(tǒng)的設(shè)計(jì)中,綜合以上各方面的因素,考慮到處理器性能,操作系統(tǒng)支持以及列車上嚴(yán)酷的工業(yè)環(huán)境等等,在中選用了atmel用于工業(yè)控制領(lǐng)域的工業(yè)級(jí)的at91系列arm處理器at91m40800,它是基于arm7tdmi內(nèi)核,內(nèi)含高性能的32位risc處理器、16位高集成度指令集、8kb片上sram、可編程外部總線接口(ebi)、3通道16位計(jì)數(shù)器/定時(shí)器、32個(gè)可編程i/o口、中斷控制器、2個(gè)usart、可編程看門狗定時(shí)器、主時(shí)鐘電路和dram時(shí)序控制電路,并配有高級(jí)節(jié)能電路;同時(shí),可支持jtag調(diào)試,主頻可達(dá)到40mhz。

  3、相關(guān)外部設(shè)備的選擇:

  在確定操作系統(tǒng)和處理器之后,就可以確定相關(guān)的外部設(shè)備,如flash,ram,串口等等。在mvb系統(tǒng)中,mvb控制器mvbc(multifunction vehicle bus controller)是一個(gè)mvb電路和實(shí)際的物理設(shè)備之間的接口控制器,它的主要功能是實(shí)現(xiàn)mvb總線信號(hào)與數(shù)據(jù)幀的編解碼,糾錯(cuò)等功能,是本系統(tǒng)中要實(shí)現(xiàn)的關(guān)鍵的硬件模塊。由于系統(tǒng)規(guī)模,上市時(shí)間等方面的要求,系統(tǒng)暫時(shí)不考慮asic實(shí)現(xiàn),因此在mvb系統(tǒng)中用fpga來實(shí)現(xiàn)這個(gè)關(guān)鍵模塊,fpga是asic最靈活和最合算的替代方案??紤]到系統(tǒng)需求與fpga資源,成本,供貨情況等因素,最終選擇了altera公司的cyclone系列fpga,其開發(fā)工具是quartus ii。

  4、mvb系統(tǒng)架構(gòu)

  由以上的需求分析和選型,完整的系統(tǒng)硬件架構(gòu)和軟件架構(gòu)如圖2圖3所示。

  其中,處理器和 mvbc通過traffic memory(tm)進(jìn)行通訊數(shù)據(jù)交換,所有軟件和mvbc要交換的控制信息和數(shù)據(jù)都可以在tm地址空間中找到,這個(gè)地址空間對(duì)處理器和mvbc都是可訪問的。其示意圖4如下

圖4:traffic memory。

  三、步驟3:詳細(xì)的軟硬件設(shè)計(jì)和rtl代碼、軟件代碼開發(fā)

  在系統(tǒng)架構(gòu)確定的基礎(chǔ)上,詳細(xì)的軟硬件設(shè)計(jì)就可以開始了。

  1、硬件設(shè)計(jì)

  硬件設(shè)計(jì)設(shè)計(jì)包括了mvb控制器的fpga設(shè)計(jì)和mvb總線系統(tǒng)的板級(jí)設(shè)計(jì),其中關(guān)鍵的mvb控制器的設(shè)計(jì)如圖5

圖5:mvb控制器的框圖。

  如圖所示,mvb控制器包含以下功能模塊:

  *編碼器:產(chǎn)生曼徹斯特編碼,傳送數(shù)據(jù)幀

  *發(fā)送緩沖區(qū):作為要發(fā)送的數(shù)據(jù)和crc檢測(cè)值的緩沖區(qū)

  *譯碼器:接收、曼徹斯特譯碼,數(shù)據(jù)提取、數(shù)據(jù)錯(cuò)誤檢測(cè)

  *接收緩沖區(qū):作為接收端數(shù)據(jù)和crc結(jié)果的緩沖區(qū)

  *報(bào)文分析單元:檢測(cè)主幀和從幀超時(shí),幀誤檢測(cè)、錯(cuò)誤狀態(tài)報(bào)告

  *狀態(tài)控制寄存器:mvbc配置

  *主控單元:支持mvbc作為主設(shè)備或者從設(shè)備工作,支持隊(duì)列消息傳送

  *設(shè)備地址讀取和儲(chǔ)存單元:硬件定義的設(shè)備地址可以被不同的值覆蓋

  *地址邏輯:把cpu對(duì)mvbc內(nèi)部寄存器進(jìn)行訪問的輸入地址進(jìn)行解析;產(chǎn)生mvbc訪問tm的輸出地址

  *總線復(fù)用、轉(zhuǎn)換單元:處理mvbc內(nèi)部的數(shù)據(jù)傳送

  *中斷邏輯:支持16種中斷源;

  *通用定時(shí)器:兩個(gè)定時(shí)輸出信號(hào),可提供給系統(tǒng)同步使用

  *時(shí)鐘產(chǎn)生電路:產(chǎn)生所有mvbc工作的時(shí)鐘和計(jì)數(shù)器

  2、軟件設(shè)計(jì)

  由于在mvb系統(tǒng)中,過程數(shù)據(jù),消息數(shù)據(jù),監(jiān)視數(shù)據(jù)是三種不同的通訊機(jī)制,因此,mvb系統(tǒng)軟件的模塊設(shè)計(jì)如圖6。

圖6:mvb系統(tǒng)軟件模塊。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉