<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > 一個典型的嵌入式系統設計和實現

          一個典型的嵌入式系統設計和實現

          作者: 時間:2012-11-01 來源:網絡 收藏

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

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

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

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

            *通常而言,為一個選擇操作系統要考慮如下幾個因素:

            *操作系統支持的微處理器

            *操作系統的性能

            *操作系統的軟件組件和設備驅動程序

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

            *操作系統的標準兼容性

            *操作系統的技術支持程度

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

            *操作系統的許可使用情況

            *操作系統的開發(fā)者聲譽狀況

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

            2、處理器的選擇:在為嵌入式系統選擇處理器時需要考慮以下幾個方面:

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

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

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

            *開發(fā)人員過去的處理器經驗:擁有處理器或處理器系列產品的開發(fā)經驗可以減少可觀的學習新處理器、工具和技術的時間。

            *成本,功耗,產品上市時間,技術支持等等

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

            3、相關外部設備的選擇:

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

            4、mvb系統架構

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

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

          圖4:traffic memory。

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

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

            1、硬件設計

            硬件設計設計包括了mvb控制器的fpga設計和mvb總線系統的板級設計,其中關鍵的mvb控制器的設計如圖5

          圖5:mvb控制器的框圖。

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

            *編碼器:產生曼徹斯特編碼,傳送數據幀

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

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

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

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

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

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

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

            *地址邏輯:把cpu對mvbc內部寄存器進行訪問的輸入地址進行解析;產生mvbc訪問tm的輸出地址

            *總線復用、轉換單元:處理mvbc內部的數據傳送

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

            *通用定時器:兩個定時輸出信號,可提供給系統同步使用

            *時鐘產生電路:產生所有mvbc工作的時鐘和計數器

            2、軟件設計

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

          圖6:mvb系統軟件模塊。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();