在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 解決軟硬件接口的嵌入式系統(tǒng)設計實例

            解決軟硬件接口的嵌入式系統(tǒng)設計實例

            作者: 時間:2011-11-03 來源:網(wǎng)絡 收藏

            中,軟件和硬件的問題經(jīng)常困擾軟件開發(fā)工程師。正確理解在處理器與高級語言開發(fā)環(huán)境方面的約束條件,可以加速整個,并為改進的質(zhì)量、性能和可靠性以及縮短開發(fā)周期和減少成本提供保證,本文從兩個的比較入手,介紹了系統(tǒng)的設計原則以及關于寄存器及其域的種種考慮。

            本文引用地址:http://www.biyoush.com/article/150079.htm

            系統(tǒng)設計通常分為兩個部分:硬件設計和軟件開發(fā)。這兩部分任務通常由不同的設計小組負責,相互間很少有覆蓋的地方。由于軟件小組很少涉足前面的硬件設計,采用這種方式進行開發(fā)經(jīng)常會遇到問題,特別是硬件與軟件開發(fā)環(huán)境之間的性能較差時,會導致系統(tǒng)開發(fā)時間延長、開發(fā)成本提高,最終推遲產(chǎn)品的上市。

            最理想的方案是軟件小組參與硬件設計,但是在時間安排、資金和人員方面往往又是不實際的。一種變通的方法是創(chuàng)建一套硬件接口規(guī)范來加速軟件開發(fā)流程。從軟件開發(fā)者的角度來理解最優(yōu)化的硬件接口設計能有效地防止軟件開發(fā)中出現(xiàn)不必要的硬件問題,這種方法對硬件設計流程造成的影響也很小。

            嵌入式系統(tǒng)結(jié)構的一般模型

            從系統(tǒng)角度看,嵌入式系統(tǒng)是多種系統(tǒng)要素之間的很多接口的集合,這里羅列的主要資源是系統(tǒng)處理器。處理器接口可以分成兩大類,分別標識為本地總線和硬件總線。值得注意的是,本文中的總線是根據(jù)處理器利用資源時的訪問類型單獨定義的,與具體的硬件連接沒有對應關系。

            本地總線是資源與處理器之間的接口總線,它允許無限制的連續(xù)訪問。無限制訪問意味著處理器能夠利用其內(nèi)部數(shù)據(jù)類型(如字節(jié)、字和雙字)訪問一個資源的所有要素;連續(xù)訪問是指所有資源要素占用的資源地址空間是連續(xù)的,中間沒有任何間隔。RAM和EPROM就是與本地總線接口的常見范例。

            硬件總線與資源的連接通常有某些限制,如大小、位置、尋址、地址空間或重定位等。只接受字寫入的I/O端口,或者使用前必須先作映射的PCI總線上的外圍芯片是硬件總線接口的一些。采用硬件總線連接對軟件設計工程師訪問資源有一定的限制,可能在軟件設計、開發(fā)和集成過程中產(chǎn)生復雜代碼和代碼錯誤。

            正確的硬件總線接口設計能夠加快軟件設計進程,通常也能加快硬件驗證速度。本文重點介紹與可編程邏輯資源相連接的硬件總線的設計與實現(xiàn)。

            系統(tǒng)定義的

            這里考慮兩種不同的硬件實現(xiàn)方式。該系統(tǒng)是處理器控制的三軸伺服系統(tǒng),本部分的系統(tǒng)設計僅限于位置反饋控制的設計,因此有助于我們專注于硬件接口的實現(xiàn)。

            該系統(tǒng)的兩種實現(xiàn)方式都實現(xiàn)了處理器與用戶ASIC(或FPGA)的接口,從而為三軸伺服提供驅(qū)動與反饋信息。每個系統(tǒng)中的ASIC必須利用32位數(shù)據(jù)總線使處理器與三套驅(qū)動/反饋資源連接。每種資源包含有一個帶符號的10位驅(qū)動寄存器、一個帶符號的8位位置寄存器和一個3位的錯誤狀態(tài)寄存器,任何一個位置位都表示一種錯誤狀態(tài),由它產(chǎn)生軸驅(qū)動(axis drive)的關閉信息。

            圖1和圖2表示了一種寄存器接口的可能實現(xiàn)方式,分別標識為系統(tǒng)實現(xiàn)A和系統(tǒng)實現(xiàn)B。為了描述方便,后文以系統(tǒng)A和系統(tǒng)B分別指代這兩種實現(xiàn)。

            當采用VHDL(或其它高級硬件設計方法)實現(xiàn)時,這兩種硬件接口的設計復雜性幾乎是相等的。系統(tǒng)A顯得稍微高效些,因為其寄存器地址譯碼相對簡單些,所采用的硬件數(shù)量也比系統(tǒng)B少。為了減少與處理器接口的可編程器件中邏輯單元的數(shù)量,大多數(shù)硬件設計工程師會選擇系統(tǒng)A的實現(xiàn)方式。

            表1所示的偽隨機碼為軸驅(qū)動程序,可用于A、B兩個系統(tǒng)。偽隨機碼設計用于基于先進處理器的系統(tǒng)實現(xiàn),并運行于實時操作系統(tǒng),以通用軸控制程序的三份獨立挎貝(或任務實例)實現(xiàn)軸的控制。當使用系統(tǒng)A中定義的接口時只需偽隨機碼中那些帶星號的代碼行。

            很明顯,即使在代碼原型階段系統(tǒng)B所需的代碼也比系統(tǒng)A少很多。系統(tǒng)B中的硬件設計要稍微復雜一些,但能減輕軟件開發(fā)的負擔。后文將回顧這兩個實例系統(tǒng)和偽隨機碼。

            在閱讀本文時,硬件設計工程師可能會產(chǎn)生這個問題:“為什么第一個設計的效率要比第二個低?”。兩種實現(xiàn)方式控制軸向操作的參數(shù)是相同的,而第一種方法所需的可編程硬件器件數(shù)量顯然要比第二種少。為了正確回答這個問題,設計工程師必須從系統(tǒng)的角度來看待這個設計,而不是硬件設計工程師慣用的“邏輯門”角度。下一部分將闡述硬件設計工程師開發(fā)系統(tǒng)硬件接口時常會遇到的一些概念,將進一步討論這些技術,并檢查將這些概念應用于實例系統(tǒng)設計后的結(jié)果。

            為了滿足項目要求,對整個系統(tǒng)結(jié)構進行優(yōu)化時需要在硬件與軟件實現(xiàn)之間作出折衷,現(xiàn)實中是沒有項目能滿足這里提到的所有理想軟件接口要求的。對理想狀態(tài)的認識有助于硬件設計工程師識別并消除影響軟件設計的一些障礙。

            設計原則

            1. 采用標準總線訪問

            有效的嵌入式硬件接口設計的一般原則是:對軟件設計工程師來說,硬件設計應確保對硬件資源的訪問盡可能透明。處理器使用所有標準的讀寫指令可以實現(xiàn)透明訪問,而不用考慮前面的訪問內(nèi)容或時序。

            像頁寄存器設置、地址線上的寫數(shù)據(jù)編碼等都可能嚴重影響代碼的開發(fā),并常常需要開發(fā)標準訪問與所需特殊訪問之間完成相互轉(zhuǎn)換的驅(qū)動程序。

            通常不可避免要采用一些特殊總線,但需要慎重考慮特殊訪問空間的使用選擇,因為這種情況會給系統(tǒng)軟件設計帶來一定的困難。系統(tǒng)A采用了只寫寄存器,因此要求系統(tǒng)軟件提供“影子”內(nèi)存(Shadow memory)來保存寫入到資源的數(shù)據(jù)。而系統(tǒng)B由于允許所有的寄存器都可讀寫,因此沒有這種限制。

            2. 開發(fā)基于處理器的資源接口

            硬件設計工程師習慣于從下至上分析資源接口問題以及與系統(tǒng)總線的連接,而通過分析處理器在系統(tǒng)中對資源的訪問過程則更好。

            “處理器與資源”間的接口常常是最重要的接口,在硬件設計流程中它的效率應是最優(yōu)先考慮的對象。統(tǒng)一規(guī)劃整個系統(tǒng)的資源訪問對于正確理解由硬件設計選擇所引起的訪問限制很重要。

            現(xiàn)有最先進的系統(tǒng)包含有存儲控制器和可再映射總線,它們會改變處理器與資源接口之間的訪問類型。一般地說,一個不合格的硬件接口設計在軟件小組試圖與實際資源連接前是不可能反映出來的,這一點對于設計硬件接口很重要。

            3. 系統(tǒng)內(nèi)存映射的創(chuàng)建與維護

            對于一個好的系統(tǒng)設計來說,所有資源的存儲器映射都非常重要。如前所述,存儲器映射的設計應考慮到具體處理器要求,而不是簡單地說明一個資源所解碼的地址線類型。如果采用的是寄存器可配置資源,如PCI總線,硬件設計工程師應在存儲器映射中配置所有與該資源有關的配置寄存器,并提供用以創(chuàng)建硬件驗證所需的靜態(tài)映射的配置寄存器初始化值。

            硬件設計工程師還必須認真考慮動態(tài)重配置的優(yōu)越性。在可重配置總線上沒有新增(或減少)資源的系統(tǒng)能演變成一個靜態(tài)映射,方法是強迫配置寄存器在系統(tǒng)復位后回復到同一值。這個“靜態(tài)”系統(tǒng)圖為硬件集成和軟件開發(fā)提供了一個穩(wěn)定的統(tǒng)一結(jié)構,同時還避免了在系統(tǒng)代碼中使用易產(chǎn)生錯誤的指針操作。

            最后,隨著系統(tǒng)的不斷成熟,存儲器映射也必須不斷完善,并隨著開發(fā)的進展不斷改進。

            4. 統(tǒng)一的訪問模式

            當前的嵌入式系統(tǒng)由于復雜度的提高,通常由多人共同合作進行設計。每個硬件部件的設計必須與整體一致,這樣才能開發(fā)出統(tǒng)一的資源訪問模式。如果不同功能模塊的訪問不一致的話,在軟件開發(fā)期間就會產(chǎn)生潛在的訪問限制錯誤,從而可能需要為每個子系統(tǒng)設計專門的軟件驅(qū)動程序。對不同邏輯塊的不一致訪問也會使硬件集成和驗證變得困難重重。

            例如設計工程師在調(diào)試器上編輯4個十六進制數(shù)字并不能保證處理器會使用一個16位的讀/寫周期,因此,對軟件開發(fā)和硬件集成中使用調(diào)試工具設置多種類型的限制訪問也具有一定的困難。這樣看來,評估仿真器處理多個限制性訪問地址空間的能力就非常有用,特別是在用“限制外”訪問方式觸發(fā)總線故障的處理器結(jié)構中。

            linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

            上一頁 1 2 3 下一頁

            評論


            相關推薦

            技術專區(qū)

            關閉