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

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > 淺談嵌入式產品設計的分工合作

          淺談嵌入式產品設計的分工合作

          作者:時間:2016-09-12來源:網絡收藏

          一個完整的產品設計一般需要涉及到很多方面的工作,包含硬件設計、系統BSP包移植、驅動移植、中間協議層及組件、GUI圖形界面以及終端的應用程序。

          本文引用地址:http://www.ex-cimer.com/article/201609/304526.htm

          如此多的環節如果全部由一家公司獨立完成,勢必在時間、研發團隊、費用上需要做出巨大的投入,這顯然已經和市場對產品要求的快速上市以及高性價比相矛盾。

          那么如何才能使整個產品符合市場的這兩點要求呢?資深技術經理陽坤根據自己多年在領域工作的經驗提出了個人的看法,他認為社會的分工合作帶來了巨大的生產力,同樣嵌入式產品的設計不可能由一家公司獨立完成,而一款好的嵌入式產品需要生態鏈中其他經驗豐富,專業的公司來分工合作共同完成。目前很多大公司的存在是因為他們在某一領域的專業而不是全能,所以目前來說,一個完整的嵌入式產品的設計工作往往分成幾個部分來實現分工協作。

          第一部分:用戶應用程序及GUI圖形界面

          應用程序是一個范圍最廣、最為靈活的概念,各行各業有各自不同的特色和要求,這就需要應用程序的開發者對相應的行業有深入的理解。這一部分的執行者往往是項目需求的發起方和產品的整合方。他們往往擁有某一應用的核心技術同時有自己的行業客戶群體,但是他們在硬件設計及平臺設計方面沒有相關的經驗和能力或者因為其他原因不愿意在這方面做太多投入。多數嵌入式操作系統中GUI圖形界面都不是操作系統必須的組件而是作為上層應用圖形庫的方式由用戶來選擇和移植,如Linux操作系統的用戶可以選擇QT或GTK等作為其圖形庫。

          第二部分:中間協議層及組件

          這一部分一般包括一些系統基礎應用程序、協議棧以及如音視頻解碼器這樣的中間組件組成。這一類的專業性往往比較強,其相關技術掌握在一些專業的商業公司手中或由開源組織免費發布。對于商業公司提供的技術往往需要通過付費來獲取使用權,或者付費定制的方式獲取,這些商業公司及組織我們一般稱其為第三方。

          第三部分:硬件設計、系統BSP包移植、驅動移植等

          中央處理器(英文簡稱CPU),是數字自動化時代的核心,而嵌入式產品就是為了實現數字化和自動化的設備,可見CPU對于嵌入式產品的重要性。項目需求的發起方和產品的整合方往往只懂得用戶應用程序的開發,對于復雜的CPU如何支持他們的程序卻一竅不通,這就需要另外一些人——嵌入式硬件平臺供應商。

          嵌入式硬件平臺供應商就是完成這第三部分工作的分工者,這一部分的工作是整個產品的基礎,是業界常說的底層。如果底層沒有做到位,那么整個系統的可靠性將無從談起,現在我們就第三部分的兩個方面了解底層。

          硬件設計

          由于現在CPU運行主頻越來越高,內存也從頻率較低的SDRAM一直上升到高速的DDR3。這就使得設計不能再以單片機年代的集總參數的電路方式來實現,很多時候必須要以分布參數的方式來設計。我們需要重點考慮的因素包括:電源的完整性、信號的完整性以及EMC,以確保設計出來的硬件能夠穩定地高負荷運行。電源方面從器件選型、濾波方式到PCB電源層的分布都要做認真的分析和規劃。信號方面我們通過信號上升沿與信號頻率的關系來判斷該信號是否屬于高速信號。在處理高速信號的時候我們要注意信號回路的參考平面,保證其有完整地回路。比如時下火熱的社區板:基于飛思卡爾i.MX 6 系列處理器的評估板,以及基于TI AM335X的評估板等等。這類板采用了如Cortex-A8 或Cortex-A9這樣的高端處理器,在CPU性能提升的同時,為了滿足更高的吞吐率也升級到了DDR3內存,硬件升級也給我們的設計帶來了前所未有的挑戰。設計這一部分的時候我們需要從系統平均、滿載及峰值耗電量等方面來充分考慮電源供電負載能力,并從參考電壓的選取以及DDR信號在PCB走線時關鍵信號線的阻抗、以及關鍵信號組的走線長度處理等方面來確保系統不會在長時間的大負荷數據吞吐運算時因為某些信號質量或時序上余量不足造成系統不穩定。誠然這些設計經驗不是一蹴而就的,是需要通過長時間的項目實踐和理論知識的結合而積累起來的,這也是評判一個公司的這方面的開發能力的標準之一。

          系統BSP包及驅動的移植

          方面首先需要工程師對操作系統的架構要非常了解,操作系統下對硬件的操作相對于單片機上俗稱的裸機代碼有幾個明顯的區別。第一、操作系統會將對硬件的操作抽象成具體的驅動層和應用層而不是裸機的直接操作寄存器的方式。第二、操作系統在驅動層面上往往會把一類驅動按分層的思想細分為“針對某一類子系統的核心代碼、控制器代碼和設備代碼”,使驅動能夠在不同的控制器和設備間靈活的擴展。第三、由于多任務的存在所以又必須要考慮并發和互斥等等因素。這些特點使得驅動的控制方式不再直觀易懂。

          在嵌入式產品設計的分工合作中,項目需求的發起方和產品的整合方往往會完成用戶應用程序部分,他們是各個行業中的資深專家,但是在硬件設計及平臺設計方面沒有相關的經驗和能力或者因為其他原因不愿意在這方面做太多投入,往往他們都會找硬件平臺供應商提供這方面的技術支持。硬件平臺供應商完成分工中的硬件設計、系統BSP包移植、驅動移植,由于硬件設計、系統BSP包移植、驅動移植有密切聯系,需要同一個廠商完成,這就需要廠商有強大的研發技術團隊,另外產品的整合方常常對他們需求的硬件平臺有尺寸功能等特殊要求,這還要求嵌入式硬件平臺供應商有專門的定制服務技術團隊支持。在國內基于ARM的硬件平臺廠商中,很少有滿足上面要求的同時,又能供應種類眾多功能多樣的處理器硬件平臺,其中,在此方面已有14年以上的開發經驗,并與Freescale、TI、Atmel、ARM、ST等世界知名芯片廠商達成戰略合作伙伴,為眾多嵌入式產品廠商提供硬件平臺和定制服務解決方案。另外,如果產品的整合方有對像音視頻解碼器等專業性往往比較強的需求時,還需要尋求第三方的幫助。



          關鍵詞: 嵌入式 英蓓特

          評論


          相關推薦

          技術專區

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