<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 典型的嵌入式系統設計

典型的嵌入式系統設計

作者: 時(shí)間:2017-10-13 來(lái)源:網(wǎng)絡(luò ) 收藏

  通常來(lái)說(shuō),一個(gè)的開(kāi)發(fā)過(guò)程如下:

本文引用地址:http://dyxdggzs.com/article/201710/365907.htm

  確定的需求;

  設計系統的體系結構:選擇處理器和相關(guān)外部設備,操作系統,開(kāi)發(fā)平臺以及軟硬件的分割和總體系統集成;

  詳細的軟硬件設計和RTL代碼、軟件代碼開(kāi)發(fā);

  軟硬件的聯(lián)調和集成;

  系統的測試。

  一、步驟1:確定系統的需求:

  的典型特征是面向用戶(hù)、面向產(chǎn)品、面向應用的,市場(chǎng)應用是嵌入式系統開(kāi)發(fā)的導向和前提。一個(gè)嵌入式系統的設計取決于系統的需求。

  1、總線(xiàn)簡(jiǎn)介

  列車(chē)通信網(wǎng)(Train CommunicaTIon Network,簡(jiǎn)稱(chēng)TCN)是一個(gè)集整列列車(chē)內部測控任務(wù)和信息處理任務(wù)于一體的列車(chē)數據通訊的IEC國際標準(IEC-61375-1), 它包括兩種總線(xiàn)類(lèi)型絞線(xiàn)式列車(chē)總線(xiàn)(WTB)和多功能車(chē)廂總線(xiàn)()。

  TCN在列車(chē)控制系統中的地位相當與CAN總線(xiàn)在汽車(chē)電子中的地位。多功能車(chē)輛總線(xiàn)是用于在列車(chē)上設備之間傳送和交換數據的標準通信介質(zhì)。附加在總線(xiàn)上的設備可能在功能、大小、性能上互不相同,但是它們都和 MVB總線(xiàn)相連,通過(guò)MVB總線(xiàn)來(lái)交換信息,形成一個(gè)完整的通信網(wǎng)絡(luò )。在MVB系統中,根據IEC-61375-1列車(chē)通信網(wǎng)標準, MVB總線(xiàn)有如下的一些特點(diǎn):

  拓撲結構:MVB總線(xiàn)的結構遵循OSI模式,吸取了ISO的標準。支持最多4095個(gè)設備,由一個(gè)中心總線(xiàn)管理器控制。簡(jiǎn)單的傳感器和智能站共存于同一總線(xiàn)上。

  數據類(lèi)型:MVB總線(xiàn)支持三種數據類(lèi)型:

  a.過(guò)程數據:過(guò)程變量表示列車(chē)的狀態(tài),如速度、電機電流、操作員的命令。過(guò)程變量的值叫過(guò)程數據。它們的傳輸時(shí)間是確定的和有界的。為保證這一延遲時(shí)間,這些數據被周期性地傳送。

  b.消息數據:消息被分成小的包,這些包分別被編號并由目的站確認。消息包及與之相關(guān)的控制數據形成消息數據。消息數據以命令方式傳輸。功能消息被應用層所使用;服務(wù)消息用于列車(chē)通信系統自身的管理等。

  c.監視數據:是短的幀,主設備用它作同一總線(xiàn)內設備的狀態(tài)校驗、聯(lián)機設備的檢測、主權傳輸、列車(chē)初運行和其它管理功能。

  介質(zhì)訪(fǎng)問(wèn)形式:MVB總線(xiàn)支持RS485銅介質(zhì)和光纖。其物理層的數據格式為1.5Mbps串行曼徹斯特編碼數據。

  MVB的介質(zhì)訪(fǎng)問(wèn)是由總線(xiàn)管理器BA進(jìn)行管理的,總線(xiàn)管理器BA是唯一的總線(xiàn)主設備,所有其它設備都是從設備。主設備按照某種預定的順序對端口進(jìn)行周期性輪詢(xún),在周期的間隔中,主設備轉而處理偶發(fā)性請求。

  可靠性措施:MVB容錯措施包括

  發(fā)送的完整性:鏈路層有擴充的檢錯機制,該機制提供的漢明碼距為8,可檢測位、幀和同步錯誤。

  故障的獨立性:通常對銅介質(zhì)進(jìn)行完全雙份配置,以確保設備故障的獨立性。

  發(fā)送的可用性:可用性可以通過(guò)介質(zhì)冗余、電源冗余、管理器冗余等措施得以提高。

  2、MVB系統的基本需求如下:

  a. 完全與IEC-61375-1(TCN) 國際標準兼容,支持MVB總線(xiàn)定義的三種數據類(lèi)型過(guò)程數據,消息數據,監視數據。

  b. 系統可配置成為:

  i. 總線(xiàn)管理器(BA)功能

  ii. 總線(xiàn)管理器(BA)功能和通信功能

  iii. 獨立的通信功能

  c. 采用ARM7TDMI的處理器

  d. 采用實(shí)時(shí)操作系統

  e. 供TCN的實(shí)時(shí)協(xié)議棧協(xié)議(RTP)

  f. 支持 4096 邏輯端口的過(guò)程數據

  g. 支持與上位PC104主機的雙口RAM接口

  h. 輸入電壓5V

  i. 工作環(huán)境溫度:-40℃~75℃

  3、其他需求

  多功能車(chē)輛總線(xiàn)MVB系統與用戶(hù)的列車(chē)控制系統同步設計,有著(zhù)嚴格的時(shí)間限制。

  二、步驟2:設計系統的體系結構,協(xié)同分配硬件/軟件方面的要求

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

  

  圖1:MVB的OSI模型和MVB系統軟硬件劃分。

  1、嵌入式操作系統選擇:

  通常而言,為一個(gè)嵌入式系統選擇操作系統要考慮如下幾個(gè)因素:

  操作系統支持的微處理器

  操作系統的性能

  操作系統的軟件組件和設備驅動(dòng)程序

  操作系統的調試工具,開(kāi)發(fā)環(huán)境、在線(xiàn)仿真器(ICE)、編譯器、匯編器、連接器、調試器以及模擬器等等

  操作系統的標準兼容性

  操作系統的技術(shù)支持程度

  操作系統是提供源代碼還是目標代碼

  操作系統的許可使用情況

  操作系統的開(kāi)發(fā)者聲譽(yù)狀況

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

  2、處理器的選擇:

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

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

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

  操作系統支持:嵌入式系統應用需要使用有幫助的抽象來(lái)減少其復雜性。

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

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

  在本系統的設計中,綜合以上各方面的因素,考慮到處理器性能,操作系統支持以及列車(chē)上嚴酷的工業(yè)環(huán)境等等,在MVB系統中選用了ATMEL用于工業(yè)控制領(lǐng)域的工業(yè)級的AT91系列ARM處理器AT91M40800,它是基于A(yíng)RM7TDMI內核,內含高性能的32位RISC處理器、16位高集成度指令集、8KB片上SRAM、可編程外部總線(xiàn)接口(EBI)、3通道16位計數器/定時(shí)器、32個(gè)可編程I/O口、中斷控制器、2個(gè)USART、可編程看門(mén)狗定時(shí)器、主時(shí)鐘電路和 DRAM時(shí)序控制電路,并配有高級節能電路;同時(shí),可支持JTAG調試,主頻可達到40MHz。

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

  在確定操作系統和處理器之后,就可以確定相關(guān)的外部設備,如FLASH,RAM,串口等等。在MVB系統中,MVB控制器MVBC(MulTIfuncTIon Vehicle Bus Controller)是一個(gè)MVB電路和實(shí)際的物理設備之間的接口控制器,它的主要功能是實(shí)現MVB總線(xiàn)信號與數據幀的編解碼,糾錯等功能,是本系統中要實(shí)現的關(guān)鍵的硬件模塊。由于系統規模,上市時(shí)間等方面的要求,系統暫時(shí)不考慮ASIC實(shí)現,因此在MVB系統中用FPGA來(lái)實(shí)現這個(gè)關(guān)鍵模塊,FPGA 是ASIC最靈活和最合算的替代方案??紤]到系統需求與FPGA資源,成本,供貨情況等因素,最終選擇了Altera公司的Cyclone系列FPGA, 其開(kāi)發(fā)工具是Quartus II。

  4、MVB系統架構

  由以上的需求分析和選型,完整的系統硬件架構和軟件架構如圖2圖3所示

  

  圖2:MVB系統的硬件架構。

  

  圖3:MVB系統的軟件架構。

  其中,處理器和 MVBC通過(guò)Traffic Memory(TM)進(jìn)行通訊數據交換,所有軟件和MVBC要交換的控制信息和數據都可以在TM地址空間中找到,這個(gè)地址空間對處理器和MVBC都是可訪(fǎng)問(wèn)的。其示意圖4如下

  

  圖4:Traffic Memory。

  三、步驟3:詳細的軟硬件設計和RTL代碼、軟件代碼開(kāi)發(fā)

  在系統架構確定的基礎上,詳細的軟硬件設計就可以開(kāi)始了。

  1、硬件設計

  硬件設計設計包括了MVB控制器的FPGA設計和MVB總線(xiàn)系統的板級設計,其中關(guān)鍵的MVB控制器的設計如圖5

  

  圖5:MVB控制器的框圖。(點(diǎn)擊放大該圖)

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

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

  發(fā)送緩沖區:作為要發(fā)送的數據和CRC檢測值的緩沖區

  譯碼器:接收、曼徹斯特譯碼,數據提取、數據錯誤檢測

  接收緩沖區:作為接收端數據和CRC結果的緩沖區

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

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

  主控單元:支持MVBC作為主設備或者從設備工作,支持隊列消息傳送

  設備地址讀取和儲存單元:硬件定義的設備地址可以被不同的值覆蓋

  地址邏輯:把CPU對MVBC內部寄存器進(jìn)行訪(fǎng)問(wèn)的輸入地址進(jìn)行解析;產(chǎn)生MVBC訪(fǎng)問(wèn)TM的輸出地址

  總線(xiàn)復用、轉換單元:處理MVBC內部的數據傳送

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

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

  時(shí)鐘產(chǎn)生電路:產(chǎn)生所有MVBC工作的時(shí)鐘和計數器

  2、軟件設計

  由于在MVB系統中,過(guò)程數據,消息數據,監視數據是三種不同的通訊機制,因此,MVB系統軟件的模塊設計如圖6。

  四、軟硬件的聯(lián)調和集成

  下面,以一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明MVB系統的軟硬件的集成和驗證。

  過(guò)程數據在MVB系統中是周期性發(fā)送的數據,其在本系統中的通訊機制如下:對于發(fā)送方,用戶(hù)應用模塊將一個(gè)端口的過(guò)程變量發(fā)送給過(guò)程數據處理模塊,過(guò)程數據處理模塊按照邏輯端口的設置定時(shí)通過(guò)鏈路層接口模塊更新Traffic Memory當中的相應邏輯端口的數據,此時(shí)發(fā)送方軟件的任務(wù)完成。發(fā)送方的MVBC硬件接收總線(xiàn)管理器BA定時(shí)發(fā)出的主幀,通過(guò)譯碼器解碼得到相應的邏輯端口的值,通過(guò)查詢(xún)Traffic Memory相關(guān)的邏輯端口發(fā)送設置后將MVBC自動(dòng)設置為發(fā)送狀態(tài),將邏輯端口的數據作為過(guò)程數據從幀通過(guò)編碼器發(fā)出,如圖7所示:

  圖7:過(guò)程數據通訊示例。

  對于接收方,其接收過(guò)程與發(fā)送方相逆,接收方的MVBC硬件接收總線(xiàn)管理器BA定時(shí)發(fā)出的主幀,通過(guò)譯碼器解碼得到相應的邏輯端口的值,通過(guò)查詢(xún)Traffic Memory相關(guān)的邏輯端口接收設置后將MVBC自動(dòng)設置為接收狀態(tài)將,在收到發(fā)送方發(fā)出的從幀后更新相應邏輯端口在Traffic Memory的數據并發(fā)出中斷信號從而完成硬件的接收過(guò)程。接收方的軟件可以用中斷或定時(shí)查詢(xún)的方式通過(guò)過(guò)程數據處理模塊得到更新后的邏輯端口的過(guò)程數據

  五、系統的測試

  在本系統中,系統的測試即包括了軟件的測試,也包括了硬件,FGPA的測試,在本文中不再贅述。

  結束語(yǔ)

  上述的MVB系統現已運行在列車(chē)控制系統中,成功實(shí)現對列車(chē)的運行控制、機車(chē)控制、車(chē)輛控制、狀態(tài)監測、故障診斷。當然,如有需要,本文中的MVB系統可以轉化成為ASIC設計,從而成為一個(gè)SOC的嵌入式系統。



關(guān)鍵詞: 嵌入式系統 MVB

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>