<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è) > 嵌入式系統 > 設計應用 > 解決軟件和硬件接口問(wèn)題的嵌入式系統設計實(shí)例

解決軟件和硬件接口問(wèn)題的嵌入式系統設計實(shí)例

作者: 時(shí)間:2013-10-23 來(lái)源:網(wǎng)絡(luò ) 收藏
設計中,軟件和硬件的接口問(wèn)題經(jīng)常困擾軟件開(kāi)發(fā)工程師。正確理解接口在處理器與高級語(yǔ)言開(kāi)發(fā)環(huán)境方面的約束條件,可以加速整個(gè)系統設計,并為改進(jìn)系統的質(zhì)量、性能和可靠性以及縮短開(kāi)發(fā)周期和減少成本提供保證,本文從兩個(gè)設計實(shí)例的比較入手,介紹了的設計原則以及關(guān)于寄存器及其域的種種考慮。

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

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

嵌入式系統結構的一般模型

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

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

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

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

系統定義的實(shí)例

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

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

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

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

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

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

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

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

設計原則

1. 采用標準總線(xiàn)訪(fǎng)問(wèn)

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

像頁(yè)寄存器設置、地址線(xiàn)上的寫(xiě)數據編碼等都可能?chē)乐赜绊懘a的開(kāi)發(fā),并常常需要開(kāi)發(fā)標準訪(fǎng)問(wèn)與所需特殊訪(fǎng)問(wèn)之間完成相互轉換的驅動(dòng)程序。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(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>