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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 主流32位單片機(jī)攻略連載:為什么要學(xué)STM32?

          主流32位單片機(jī)攻略連載:為什么要學(xué)STM32?

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

            2.10.設(shè)備工作環(huán)境的要求

            環(huán)境要求主要內(nèi)容是考慮溫度,濕度等;如果系統(tǒng)必須在溫度范圍較大的環(huán)境下運(yùn)行,諸如用于軍事設(shè)備或汽車的控制系統(tǒng),那么處理器可選擇的范圍就要小得多;

            并且由于大范圍溫度變化的設(shè)備通常比較昂貴,因此在設(shè)計(jì)過(guò)程中就不能再根據(jù)一般工業(yè)級(jí)器件的價(jià)格來(lái)制定預(yù)算。

            2.11.使用周期成本

            如果我們的產(chǎn)品是stm32神舟開(kāi)發(fā)板,在一般情況下,可以不必考慮在用戶現(xiàn)場(chǎng)對(duì)stm32神舟開(kāi)發(fā)板程序進(jìn)行修改的問(wèn)題,也不用為是否可以得到設(shè)備備件而著急,這是因?yàn)閟tm32神舟開(kāi)發(fā)板是一種學(xué)習(xí)型的消費(fèi)產(chǎn)品,僅僅只是一款開(kāi)發(fā)板而已。

            換句話說(shuō),如果我們的產(chǎn)品是價(jià)值幾萬(wàn)塊的工業(yè)設(shè)備并且需要常年不斷地運(yùn)行,那么我們?cè)诋a(chǎn)品設(shè)計(jì)過(guò)程中就必須從長(zhǎng)計(jì)議了:

            a.首先,我們需要選擇一種處理器或存儲(chǔ)體系結(jié)構(gòu)都可以升級(jí)的器件

            b.考慮到程序升級(jí)的可能,我們還要選擇較大容量的內(nèi)存

            c.最后要注意的則是所選處理器是否可以長(zhǎng)期供貨,這一點(diǎn)的重要性遠(yuǎn)遠(yuǎn)大于處理器的價(jià)格

            除了上面的考慮之外,使用周期成本也是在設(shè)計(jì)之初要考慮的因素??偟膩?lái)說(shuō),生產(chǎn)的部件越多,則可以接受的前期開(kāi)發(fā)成本也就越大。如果產(chǎn)品是mp3,我們可能會(huì)選擇一個(gè)低價(jià)微處理器,同時(shí)投入一大筆錢來(lái)開(kāi)發(fā)控制mp3的軟件。

            但如果我們的產(chǎn)品是價(jià)格昂貴的工業(yè)用設(shè)備,那么在產(chǎn)品的使用期內(nèi),該設(shè)備的銷售量將只有幾百臺(tái),毫無(wú)疑問(wèn),開(kāi)發(fā)這種產(chǎn)品最重要的就是降低開(kāi)發(fā)成本(降低開(kāi)發(fā)成本而不是硬件成本?。。。?;除此之外,工業(yè)產(chǎn)品的成本也不像家用電器或消費(fèi)電子產(chǎn)品那么敏感。綜上所述,開(kāi)發(fā)工業(yè)產(chǎn)品當(dāng)然要選擇一種便于進(jìn)行開(kāi)發(fā)并且有助于縮短開(kāi)發(fā)過(guò)程的處理器。

            2.12.處理器相關(guān)資料是否豐富

            如果該款處理器在市場(chǎng)上已經(jīng)用得很廣了,那么我們可以獲取更多的相關(guān)資料,觀察人家的產(chǎn)品是如何使用處理器的,也能在網(wǎng)絡(luò)上找到不少的相關(guān)的設(shè)計(jì)資料以及相關(guān)技術(shù)主題,這樣就進(jìn)一步降低了技術(shù)門檻,確保了使用該處理器做產(chǎn)品可行性,減低了風(fēng)險(xiǎn);例如神舟IV號(hào)開(kāi)發(fā)板就有針對(duì)該板子有個(gè)700多頁(yè)的手冊(cè)文檔,如果我們選擇芯片來(lái)開(kāi)發(fā)產(chǎn)品的話,借助詳細(xì)資料開(kāi)發(fā)起來(lái)就輕松了,達(dá)到事半功倍的效果。

            反之,如果是廠商全新推出的處理器,因?yàn)槭袌?chǎng)上還沒(méi)有可以借鑒的產(chǎn)品,我們就只能從全英文的芯片手冊(cè)開(kāi)始閱讀,了解這款芯片,這樣開(kāi)發(fā)周期不僅變長(zhǎng),而且不可預(yù)知的風(fēng)險(xiǎn)也很大。

            3.開(kāi)發(fā)成本的預(yù)測(cè)和估計(jì)

            大多數(shù)項(xiàng)目或產(chǎn)品都有專人負(fù)責(zé)預(yù)測(cè)整個(gè)過(guò)程的開(kāi)發(fā)成本,對(duì)于任何項(xiàng)目來(lái)說(shuō),其開(kāi)發(fā)成本主要包括人力和材料開(kāi)銷。

            預(yù)測(cè)開(kāi)發(fā)成本在很大程度上需要根據(jù)經(jīng)驗(yàn),這也是大型公司一般指定有經(jīng)驗(yàn)的高級(jí)工程師來(lái)完成這一任務(wù)的原因,除了人力和材料的開(kāi)銷之外,總結(jié)下來(lái),還有以下的開(kāi)銷:

            1)人力成本(開(kāi)發(fā)人員、管理人員、銷售人員、其他行政等輔助人員)的開(kāi)銷

            2)材料(硬件物料和損耗,有時(shí)候需要投幾次PCB版才把產(chǎn)品穩(wěn)定下來(lái))的開(kāi)銷

            3)開(kāi)發(fā)系統(tǒng)和開(kāi)發(fā)工具軟件的開(kāi)銷

            4)硬件工具的開(kāi)銷(例如示波器、仿真器等)

            對(duì)于整個(gè)項(xiàng)目來(lái)說(shuō),上述的開(kāi)銷將直接可能導(dǎo)致產(chǎn)品成本增加,其中人力成本最為關(guān)鍵,尤其是在中國(guó)。

            4.產(chǎn)品開(kāi)發(fā)設(shè)計(jì)文檔(需要包括硬件和軟件兩個(gè)方面)

          4.1 硬件文檔撰寫思路

            1)首先是需求定義或產(chǎn)品規(guī)格:

            如果這些是產(chǎn)品最終目標(biāo)的話,那么產(chǎn)品對(duì)硬件和軟件的要求就是技術(shù)方案的最終目標(biāo);對(duì)硬件和軟件的要求是從定義用戶界面和系統(tǒng)功能開(kāi)始的。

            2)其次,根據(jù)需求,系統(tǒng)整體定義文檔中給出硬件接口的具體定義:

            定義硬件最有效的方法是從需求開(kāi)始描述,由于硬件必須支持系統(tǒng)定義的所有功能,因此硬件定義是與系統(tǒng)說(shuō)明不可分割的;

            例如,我們?cè)O(shè)計(jì)一個(gè)定時(shí)器(事先需求說(shuō)明定時(shí)器不能與個(gè)人電腦連接,故無(wú)法使用CRT顯示時(shí)間),我們只有兩種選擇:一種是使用發(fā)光二極管(LED),另一種是使用液晶顯示器件(LCD);盡管LCD的顯示效果比較好,但考慮到定時(shí)器要常年位于戶外,并且早期LCD顯示器不能在低溫下工作,最終還是選擇 LED設(shè)備(這整個(gè)過(guò)程描述了我們硬件選型時(shí)的一個(gè)思路,這個(gè)是密切跟需求掛鉤的)

            3)一旦完成了系統(tǒng)整體說(shuō)明文檔,就開(kāi)始進(jìn)行系統(tǒng)設(shè)計(jì):

            首先要對(duì)硬件說(shuō)明的內(nèi)容進(jìn)行細(xì)化,包括添加能讓工程師理解的設(shè)計(jì)意圖,以及軟件工程師圍繞硬件進(jìn)行程序設(shè)計(jì)時(shí)需要使用的硬件信息等。

            完成硬件電路板說(shuō)明文檔后,我們還要在該文檔中增加一個(gè)用來(lái)描述系統(tǒng)的原始要求的前言部分,包括說(shuō)明方案的設(shè)計(jì)思路和方法,除此之外,還要附上軟件工程師用來(lái)對(duì)硬件進(jìn)行控制所需的各類信息,這類信息主要包括如下內(nèi)容(軟件工程所需信息):

            -----內(nèi)存和I/O端口地址(如果需要,還可以提供內(nèi)存映射圖)

            -----可用內(nèi)存容量

            -----狀態(tài)寄存器每一位的定義

            -----每個(gè)端口管腳的用途

            -----外部設(shè)備的驅(qū)動(dòng)方法(例如,說(shuō)明輸入定時(shí)器電路的時(shí)鐘頻率等)

            -----其他有管軟件人員設(shè)計(jì)程序需要了解的信息

            對(duì)于比較復(fù)雜的系統(tǒng)來(lái)說(shuō),硬件文檔中經(jīng)常使用兩個(gè)獨(dú)立的部分來(lái)進(jìn)行說(shuō)明;其第一部分用來(lái)描述硬件指標(biāo)和工作原理,第二部分則主要為軟件人員提供程序設(shè)計(jì)需要的信息。

            4.2 軟件文檔撰寫思路

            1) 軟件文檔與硬件文檔的組織方法類似,軟件要求文檔的主要內(nèi)容則是定義軟件要實(shí)現(xiàn)的功能;一種是在簡(jiǎn)單項(xiàng)目設(shè)計(jì)過(guò)程中,軟件定義也可以只對(duì)一種電路板使用的軟件給予描述;對(duì)較復(fù)雜的項(xiàng)目來(lái)說(shuō),由于參與這種項(xiàng)目的軟件人員分別負(fù)責(zé)設(shè)計(jì)驅(qū)動(dòng)不同硬件部分的代碼(同一電路板),因此每個(gè)軟件人員可能會(huì)為自己的設(shè)計(jì)代碼指定不同的定義,這類軟件說(shuō)明需要提供下列的內(nèi)容:

            -----論述包括需求定義、工程指標(biāo)、硬件參數(shù)等實(shí)施項(xiàng)目需要的內(nèi)容

            -----說(shuō)明軟件之間、處理器之間或處理器與其內(nèi)部器件之間使用的通信協(xié)議:其內(nèi)容應(yīng)包括對(duì)緩沖區(qū)接口機(jī)制、命令/應(yīng)答協(xié)議、信號(hào)控制等協(xié)議的具體說(shuō)明。

            -----借助流程圖、偽代碼或者其他可能的方法來(lái)描述軟件的實(shí)現(xiàn)方法和過(guò)程

            2) 軟件與硬件所考慮的不同之處(此經(jīng)驗(yàn)方便技術(shù)總監(jiān)或其他相關(guān)管理者參考,因?yàn)闊o(wú)論是多高深的技術(shù)管理者,要么是硬件出身,要么是軟件出身,要么就是非技術(shù)出身,armjishu.com里面有少數(shù)軟硬件都精通的高手)

            a. 軟件的靈活性遠(yuǎn)遠(yuǎn)大于硬件,要讓軟件人員搞清楚某個(gè)軟件的內(nèi)部格式是非常困難的任務(wù),解決的辦法:詳細(xì)定義其他程序員需要了解的編程接口具體內(nèi)容,以及其他工程人員在實(shí)施開(kāi)發(fā)項(xiàng)目過(guò)程中需要使用的技術(shù)細(xì)節(jié)信息。

            b. 軟件工程師只有在收到硬件說(shuō)明文檔后,才有可能知道如何對(duì)系統(tǒng)硬件進(jìn)行操作;而硬件人員一般不需要了解軟件程序的技術(shù)細(xì)節(jié)。

            c. 由于軟件易于更改,因此程序內(nèi)容經(jīng)常會(huì)按銷售人員提供的要求發(fā)生變更,在某些情況下,軟件文檔的內(nèi)容無(wú)法及時(shí)反映程序的最新變化。

            d. 軟件經(jīng)常是工程項(xiàng)目最后完成的部分,因此其文檔也經(jīng)常因時(shí)間不夠而欠缺完整。實(shí)際上,軟件文檔是否詳細(xì)、完整,在某種程度上是與公司或客戶的要求有關(guān)的。例如,軍事或國(guó)家工程一般要求開(kāi)發(fā)商就其所有軟件實(shí)現(xiàn)的功能提供全面詳細(xì)的文檔

            e. 有個(gè)潛規(guī)則,對(duì)軟件的要求越復(fù)雜,則需求的正確可能性就越小,這個(gè)是經(jīng)驗(yàn)之談了,我們需要把準(zhǔn)需求這個(gè)準(zhǔn)繩來(lái)做文章,而不是陷入個(gè)人主義以及對(duì)軟件要求而憑空發(fā)揮自己不切實(shí)際的想象。

            f. 我們可以先硬件設(shè)計(jì),接著圍繞該硬件編制軟件。雖然實(shí)際系統(tǒng)的實(shí)現(xiàn)過(guò)程可能是軟硬件并行開(kāi)發(fā),但軟件人員基本上也是圍繞著已經(jīng)實(shí)現(xiàn)的硬件來(lái)進(jìn)行程序設(shè)計(jì)的;對(duì)于更為復(fù)雜的系統(tǒng)來(lái)說(shuō),開(kāi)發(fā)過(guò)程可能會(huì)出現(xiàn)重復(fù)。

            例如,某個(gè)項(xiàng)目的硬件工程師和軟件工程師可能會(huì)坐下來(lái)開(kāi)會(huì),共同決定使用哪種硬件來(lái)實(shí)現(xiàn)某種功能;軟件人員可能提出需要為數(shù)據(jù)緩沖區(qū)口沖內(nèi)存容量,也可能要求提供某種外部設(shè)備接口,以便充分利用現(xiàn)成接口程序提供的各種驅(qū)動(dòng)代碼。

            總的來(lái)說(shuō),必須在提高軟件開(kāi)發(fā)效率與硬件系統(tǒng)的復(fù)雜性與成本之間進(jìn)行權(quán)衡。

          5.嵌入式高手對(duì)技術(shù)的理解(含辛茹苦這么多年的精華體驗(yàn))

            有很多人認(rèn)為:嵌入式系統(tǒng)性能的核心因素是軟件功能,其實(shí),如果按照這種邏輯,系統(tǒng)設(shè)計(jì)中存在的問(wèn)題就應(yīng)由軟件人員來(lái)負(fù)責(zé);其實(shí)這個(gè)觀點(diǎn)實(shí)際上反映了設(shè)計(jì)嵌入式產(chǎn)品時(shí)如何考慮劃分硬件和軟件各自應(yīng)實(shí)現(xiàn)的功能,也就是這個(gè)功能是軟件實(shí)現(xiàn),還是考慮用硬件來(lái)實(shí)現(xiàn)(硬件實(shí)現(xiàn):需要購(gòu)買處理該功能的硬件芯片,從而增加成本;軟件實(shí)現(xiàn):無(wú)需增加硬件成本,但會(huì)占用處理器以及內(nèi)存的資源,這是armjishu.com的專家們體會(huì)到的)。

            例如:我們?cè)谶@里設(shè)計(jì)的基于的神舟II號(hào)開(kāi)發(fā)板產(chǎn)品,我們可以使用專業(yè)的解碼芯片來(lái)負(fù)責(zé)mp3音樂(lè)文件的解碼和播放功能,也可以使用另一種方法來(lái)解碼mp3語(yǔ)音文件,讓ARM處理器利用軟件控制寄存器來(lái)驅(qū)動(dòng)耳機(jī)或音響,處理器通過(guò)對(duì)mp3語(yǔ)音文件解碼之后再將解碼后的數(shù)據(jù)流按照一定協(xié)議格式送給音頻輸出的硬件接口進(jìn)行播放。

            優(yōu)點(diǎn):這種方案在硬件方面節(jié)省了一個(gè)器件,降低了成本,并且該功能還方便調(diào)試(因?yàn)槭擒浖?shí)現(xiàn)的)。

            缺點(diǎn):從另一個(gè)角度來(lái)看,雖然節(jié)省了一塊語(yǔ)音解碼芯片,但同時(shí)要在三個(gè)方面增加成本。

            首先,要在程序中增加語(yǔ)音協(xié)議解碼的代碼;

            其次,可能要把增加ROM來(lái)存放語(yǔ)音解碼的協(xié)議,這樣可以增加速度;

            最后,運(yùn)行該程序?qū)⒄加锰幚砥鞯臅r(shí)間和資源。

            其實(shí),話又說(shuō)回來(lái),對(duì)于本案例來(lái)說(shuō),上述成本的節(jié)約并不會(huì)引發(fā)任何問(wèn)題,包括驅(qū)動(dòng)程序增加也只需少量的,我們討論這個(gè)mp3產(chǎn)品的案例的目的在于說(shuō)明如何對(duì)軟件硬件的功能進(jìn)行合理劃分。

            總的來(lái)說(shuō),交給軟件實(shí)現(xiàn)的功能越多,則產(chǎn)品的成本就越低,當(dāng)然這就要處理器必須有足夠的處理速度和內(nèi)存空間來(lái)實(shí)現(xiàn)設(shè)計(jì)指定的功能;常言說(shuō)得好,天下沒(méi)有免費(fèi)的午餐;把功能分配給軟件來(lái)實(shí)現(xiàn),會(huì)增加軟件的復(fù)雜性、開(kāi)發(fā)時(shí)間、以及程序的調(diào)試時(shí)間;然而,隨著處理器的處理能力的不斷提高,可以預(yù)見(jiàn),越來(lái)越多的功能將會(huì)由軟件來(lái)實(shí)現(xiàn)。

            雖然在軟件中實(shí)現(xiàn)各種功能會(huì)增加開(kāi)發(fā)成本,但如果把功能移植到硬件中實(shí)現(xiàn),則會(huì)增加產(chǎn)品的成本,這類開(kāi)銷是在構(gòu)造每個(gè)系統(tǒng)組件時(shí)不可避免的。在低成本設(shè)計(jì)方案中,增加任何額外的硬件都會(huì)對(duì)產(chǎn)品成本產(chǎn)生顯著的影響,因此軟硬件功能劃分就是一個(gè)決定產(chǎn)品成本的大問(wèn)題。在諸如大眾消費(fèi)產(chǎn)品這一類對(duì)成本非常敏感的設(shè)計(jì)方案中,一般都會(huì)把無(wú)法通過(guò)軟件實(shí)現(xiàn)的功能排除在外的。


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

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();