一個(gè)典型的嵌入式系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn).doc_第1頁(yè)
一個(gè)典型的嵌入式系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn).doc_第2頁(yè)
一個(gè)典型的嵌入式系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn).doc_第3頁(yè)
一個(gè)典型的嵌入式系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn).doc_第4頁(yè)
一個(gè)典型的嵌入式系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn).doc_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余3頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

關(guān)鍵字: 嵌入式系統(tǒng)設(shè)計(jì) ARM FPGA 多功能車輛總線 Multifunction Vehicle Bus 在計(jì)算機(jī)、互聯(lián)網(wǎng)和通信技術(shù)高速發(fā)展的同時(shí),嵌入式系統(tǒng)開(kāi)發(fā)技術(shù)也取得迅速發(fā)展,嵌入式技術(shù)應(yīng)用范圍的急劇擴(kuò)大。本文介紹了一種基于ARM和FPGA,從軟件到硬件完全自主開(kāi)發(fā)多功能車輛總線(Multifunction Vehicle Bus)MVB?B嵌入式系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)通常來(lái)說(shuō),一個(gè)嵌入式系統(tǒng)的開(kāi)發(fā)過(guò)程如下: 1. 確定嵌入式系統(tǒng)的需求; 2. 設(shè)計(jì)系統(tǒng)的體系結(jié)構(gòu):選擇處理器和相關(guān)外部設(shè)備,操作系統(tǒng),開(kāi)發(fā)平臺(tái)以及軟硬件的分割和總體系統(tǒng)集成; 3. 詳細(xì)的軟硬件設(shè)計(jì)和RTL代碼、軟件代碼開(kāi)發(fā); 4. 軟硬件的聯(lián)調(diào)和集成; 5. 系統(tǒng)的測(cè)試。一、步驟1:確定系統(tǒng)的需求: 嵌入式系統(tǒng)的典型特征是面向用戶、面向產(chǎn)品、面向應(yīng)用的,市場(chǎng)應(yīng)用是嵌入式系統(tǒng)開(kāi)發(fā)的導(dǎo)向和前提。一個(gè)嵌入式系統(tǒng)的設(shè)計(jì)取決于系統(tǒng)的需求。1、MVB總線簡(jiǎn)介 列車通信網(wǎng)(Train Communication Network,簡(jiǎn)稱TCN)是一個(gè)集整列列車內(nèi)部測(cè)控任務(wù)和信息處理任務(wù)于一體的列車數(shù)據(jù)通訊的IEC國(guó)際標(biāo)準(zhǔn)(IEC61375-1), 它包括兩種總線類型絞線式列車總線(WTB)和多功能車廂總線(MVB)。 TCN在列車控制系統(tǒng)中的地位相當(dāng)與CAN總線在汽車電子中 的地位。多功能車輛總線MVB是用于在列車上設(shè)備之間傳送和交換數(shù)據(jù)的標(biāo)準(zhǔn)通信介質(zhì)。附加在總線上的設(shè)備可能在功能、大小、性能上互不相同,但是它們都和 MVB總線相連,通過(guò)MVB總線來(lái)交換信息,形成一個(gè)完整的通信網(wǎng)絡(luò)。在MVB系統(tǒng)中,根據(jù)IEC613751列車通信網(wǎng)標(biāo)準(zhǔn), MVB總線有如下的一些特點(diǎn):拓?fù)浣Y(jié)構(gòu):MVB總線的結(jié)構(gòu)遵循OSI模式,吸取了ISO的標(biāo)準(zhǔn)。支持最多4095個(gè)設(shè)備,由一個(gè)中心總線管理器控制。簡(jiǎn)單的傳感器和智能站共存于同一總線上。數(shù)據(jù)類型:MVB總線支持三種數(shù)據(jù)類型: a.過(guò)程數(shù)據(jù):過(guò)程變量表示列車的狀態(tài),如速度、電機(jī)電流、操作員的命令。過(guò)程變量的值叫過(guò)程數(shù)據(jù)。它們的傳輸時(shí)間是確定的和有界的。為保證這一延遲時(shí)間,這些數(shù)據(jù)被周期性地傳送。 b.消息數(shù)據(jù):消息被分成小的包,這些包分別被編號(hào)并由目的站確認(rèn)。消息包及與之相關(guān)的控制數(shù)據(jù)形成消息數(shù)據(jù)。消息數(shù)據(jù)以命令方式傳輸。功能消息被應(yīng)用層所使用;服務(wù)消息用于列車通信系統(tǒng)自身的管理等。 c.監(jiān)視數(shù)據(jù):是短的幀,主設(shè)備用它作同一總線內(nèi)設(shè)備的狀態(tài)校驗(yàn)、聯(lián)機(jī)設(shè)備的檢測(cè)、主權(quán)傳輸、列車初運(yùn)行和其它管理功能。介質(zhì)訪問(wèn)形式:MVB總線支持RS485銅介質(zhì)和光纖。其物理層的數(shù)據(jù)格式為1.5Mbps串行曼徹斯特編碼數(shù)據(jù)。MVB的介質(zhì)訪問(wèn)是由總線管理器BA進(jìn)行管理的,總線管理器BA是唯一的總線主設(shè)備,所有其它設(shè)備都是從設(shè)備。主設(shè)備按照某種預(yù)定的順序?qū)Χ丝谶M(jìn)行周期性輪詢,在周期的間隔中,主設(shè)備轉(zhuǎn)而處理偶發(fā)性請(qǐng)求??煽啃源胧篗VB容錯(cuò)措施包括 發(fā)送的完整性:鏈路層有擴(kuò)充的檢錯(cuò)機(jī)制,該機(jī)制提供的漢明碼距為8,可檢測(cè)位、幀和同步錯(cuò)誤。 故障的獨(dú)立性:通常對(duì)銅介質(zhì)進(jìn)行完全雙份配置,以確保設(shè)備故障的獨(dú)立性。 發(fā)送的可用性:可用性可以通過(guò)介質(zhì)冗余、電源冗余、管理器冗余等措施得以提高。2、MVB系統(tǒng)的基本需求如下: a. 完全與IEC-61375-1(TCN) 國(guó)際標(biāo)準(zhǔn)兼容,支持MVB總線定義的三種數(shù)據(jù)類型過(guò)程數(shù)據(jù),消息數(shù)據(jù),監(jiān)視數(shù)據(jù)。 b. 系統(tǒng)可配置成為: i. 總線管理器(BA)功能 ii. 總線管理器(BA)功能和通信功能 iii. 獨(dú)立的通信功能 c. 采用ARM7TDMI的處理器 d. 采用實(shí)時(shí)操作系統(tǒng) e. 供TCN的實(shí)時(shí)協(xié)議棧協(xié)議(RTP) f. 支持 4096 邏輯端口的過(guò)程數(shù)據(jù) g. 支持與上位PC104主機(jī)的雙口RAM接口 h. 輸入電壓5V i. 工作環(huán)境溫度:4075 3、其他需求 多功能車輛總線MVB系統(tǒng)與用戶的列車控制系統(tǒng)同步設(shè)計(jì),有著嚴(yán)格的時(shí)間限制。二、步驟2:設(shè)計(jì)系統(tǒng)的體系結(jié)構(gòu),協(xié)同分配硬件/軟件方面的要求 嵌入式系統(tǒng)包含硬件和軟件兩部分:硬件架構(gòu)上以嵌入式處理器為中心,配置存儲(chǔ)器、I/O設(shè)備、通信模塊等必要的外設(shè);軟件部分以軟件開(kāi)發(fā)平 臺(tái)為核心,向上提供應(yīng)用編程接口(API),向下屏蔽具體硬件特性的板級(jí)支持包BSP。嵌入式系統(tǒng)中,軟件和硬件緊密配合,協(xié)調(diào)工作,共同完成系統(tǒng)預(yù)定的 功能。根據(jù)OSI的七層模型可以確定鏈路層和物理層由硬件實(shí)現(xiàn),其他各層由軟件實(shí)現(xiàn),如圖1。圖1:MVB的OSI模型和MVB系統(tǒng)軟硬件劃分。1、嵌入式操作系統(tǒng)選擇: 通常而言,為一個(gè)嵌入式系統(tǒng)選擇操作系統(tǒng)要考慮如下幾個(gè)因素: 操作系統(tǒng)支持的微處理器 操作系統(tǒng)的性能 操作系統(tǒng)的軟件組件和設(shè)備驅(qū)動(dòng)程序 操作系統(tǒng)的調(diào)試工具,開(kāi)發(fā)環(huán)境、在線仿真器(ICE)、編譯器、匯編器、連接器、調(diào)試器以及模擬器等等 操作系統(tǒng)的標(biāo)準(zhǔn)兼容性 操作系統(tǒng)的技術(shù)支持程度 操作系統(tǒng)是提供源代碼還是目標(biāo)代碼 操作系統(tǒng)的許可使用情況 操作系統(tǒng)的開(kāi)發(fā)者聲譽(yù)狀況 根據(jù)系統(tǒng)的需求和以上的原則,在MVB系統(tǒng)中采用了Vxworks實(shí)時(shí)操作系統(tǒng),VxWorks是風(fēng)河公司(Windriver)開(kāi)發(fā)的實(shí)時(shí)操作系 統(tǒng)之一,以其優(yōu)秀的可靠性、實(shí)時(shí)性及內(nèi)核的可裁減性,被廣泛應(yīng)用于通信、軍事、航天、航空、工業(yè)控制等關(guān)鍵行業(yè)領(lǐng)域,其開(kāi)發(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)用需要使用有幫助的抽象來(lái)減少其復(fù)雜性。 開(kāi)發(fā)人員過(guò)去的處理器經(jīng)驗(yàn):擁有處理器或處理器系列產(chǎn)品的開(kāi)發(fā)經(jīng)驗(yàn)可以減少可觀的學(xué)習(xí)新處理器、工具和技術(shù)的時(shí)間。 成本,功耗,產(chǎn)品上市時(shí)間,技術(shù)支持等等 在本系統(tǒng)的設(shè)計(jì)中,綜合以上各方面的因素,考慮到處理器性能,操作系統(tǒng)支持以及列車上嚴(yán)酷的工業(yè)環(huán)境等等,在MVB系 統(tǒng)中選用了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來(lái)實(shí)現(xiàn)這個(gè)關(guān)鍵模塊,F(xiàn)PGA 是ASIC最靈活和最合算的替代方案。考慮到系統(tǒng)需求與FPGA資源,成本,供貨情況等因素,最終選擇了Altera公司的Cyclone系列FPGA, 其開(kāi)發(fā)工具是Quartus II。4、MVB系統(tǒng)架構(gòu) 由以上的需求分析和選型,完整的系統(tǒng)硬件架構(gòu)和軟件架構(gòu)如圖2圖3所示圖2:MVB系統(tǒng)的硬件架構(gòu)。圖3:MVB系統(tǒng)的軟件架構(gòu)。其中,處理器和 MVBC通過(guò)Traffic Memory(TM)進(jìn)行通訊數(shù)據(jù)交換,所有軟件和MVBC要交換的控制信息和數(shù)據(jù)都可以在TM地址空間中找到,這個(gè)地址空間對(duì)處理器和MVBC都是可訪問(wèn)的。其示意圖4如下圖4:Traffic Memory。三、步驟3:詳細(xì)的軟硬件設(shè)計(jì)和RTL代碼、軟件代碼開(kāi)發(fā) 在系統(tǒng)架構(gòu)確定的基礎(chǔ)上,詳細(xì)的軟硬件設(shè)計(jì)就可以開(kāi)始了。 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控制器的框圖。(點(diǎn)擊放大該圖)如圖所示,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)行訪問(wèn)的輸入地址進(jìn)行解析;產(chǎn)生MVBC訪問(wèn)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)中,過(guò)程數(shù)據(jù),消息數(shù)據(jù),監(jiān)視數(shù)據(jù)是三種不同的通訊機(jī)制,因此,MVB系統(tǒng)軟件的模塊設(shè)計(jì)如圖6。圖6:MVB系統(tǒng)軟件模塊。四、軟硬件的聯(lián)調(diào)和集成下面,以一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明MVB系統(tǒng)的軟硬件的集成和驗(yàn)證。 過(guò)程數(shù)據(jù)在MVB系統(tǒng)中是周期性發(fā)送的數(shù)據(jù),其在本系統(tǒng)中的通訊機(jī)制如下:對(duì)于發(fā)送方,用戶應(yīng)用模塊將一個(gè)端口的過(guò)程變量發(fā)送給過(guò)程數(shù)據(jù)處 理模塊,過(guò)程數(shù)據(jù)處理模塊按照邏輯端口的設(shè)置定時(shí)通過(guò)鏈路層接口模塊更新Traffic Memory當(dāng)中的相應(yīng)邏輯端口的數(shù)據(jù),此時(shí)發(fā)送方軟件的任務(wù)完成。發(fā)送方的MVBC硬件接收總線管理器BA定時(shí)發(fā)出的主幀,通過(guò)譯碼器解碼得到相應(yīng)的邏 輯端口的值,通過(guò)查詢Traffic Memory相關(guān)的邏輯端口發(fā)送設(shè)置后將MVBC自動(dòng)設(shè)置為發(fā)送狀態(tài),將邏輯端口的數(shù)據(jù)作為過(guò)程數(shù)據(jù)從幀通過(guò)編碼器發(fā)出,如圖7所示:圖7:過(guò)程數(shù)據(jù)通訊示例。對(duì)于接收方,其接收過(guò)程與發(fā)送方相逆,接收方的MVBC硬件接收總線管理器BA定時(shí)發(fā)出的主幀,通過(guò)譯碼器解碼得到相應(yīng)的邏輯端口的值,通 過(guò)查詢Traffic Memory相關(guān)的邏輯端口接收設(shè)置后將MVBC自動(dòng)設(shè)置為接收狀態(tài)將,在收到發(fā)送方發(fā)出的從幀后更新相應(yīng)邏輯端口在Traffic Memory的數(shù)據(jù)并發(fā)出中斷信號(hào)從而完成硬件的接收過(guò)程。接收方的軟件可以用中斷或定時(shí)查詢的方式通過(guò)過(guò)程數(shù)據(jù)處理模塊得到更新后的邏輯端口的過(guò)程數(shù)據(jù)五、系統(tǒng)的測(cè)試

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論