今天,我具體以嵌入式產品的硬件部分為例,講解其開發過程,希望通過這篇文章,大家能對嵌入式硬件開發流程有更深刻的認識,在以后的學習和工作中,更加規范化和標準化,提高開發技能。
嵌入式產品的硬件形態各異,CPU 從簡單的4/8位單片機到32位的ARM處理器,以及其他專用IC。另外,依據產品的不同需求,外圍電路也各不相同,每一次硬件開發過程,都需要依據實際的需求,考慮多方面的因素,選擇最合適的方案來。
01硬件產品需求
和普通的嵌入式產品需求一樣,階段1:產品需求。
02硬件總體設計方案
一個硬件開發項目,它的需求可能來自很多方面,比如市場產品的需要或性能提升的要求等,因此,作為一個硬件設計人員,我們需要主動去了解各個方面的需求并分析,根據系統所要完成的功能,選擇最合適的硬件方案。
在這一階段,我們需要分析整個系統設計的可行性,包括方案中主要器件的可采購性,產品開發投入,項目開發周期預計,開發風險評估等,并針對開發過程中可能遇到的問題,提前選擇應對方案,保證硬件的順利完成。
03硬件電路原理圖設計
在系統方案確定后,我們即可以開展相關的設計工作,原理設計主要包括系統總體設計和詳細設計,最終產生詳細的設計文檔和硬件原理圖。
原理設計和PCB設計是設計人員最主要的兩個工作之一,在原理設計過程中,我們需要規劃硬件內部資源,如系統存儲空間,以及各個外圍電路模塊的實現。
另外,對系統主要的外圍電路,如電源、復位等也需要仔細的考慮,在一些高速設計或特殊應用場合,還需要考慮EMC/EMI等。
電源是保證硬件系統正常工作的基礎,設計中要詳細的分析:系統能夠提供的電源輸入;單板需要產生的電源輸出;各個電源需要提供的電流大小;電源電路效率;各個電源能夠允許的波動范圍;整個電源系統需要的上電順序等等。
為了系統穩定可靠的工作,復位電路的設計也非常重要,如何保證系統不會在外界干擾的情況下異常復位,如何保證在系統運行異常的時候能夠及時復位,以及如何合理的復位,才能保證系統完整的復位后,這些也都是我們在原理設計的時候需要考慮的。
同樣的,時鐘電路的設計也是非常重要的一個方面,一個不好的時鐘電路設計,可能會引起通信產品的數據丟包,產生大的EMI,甚至導致系統不穩定。
原理圖設計中要有“拿來主義”!現在的芯片廠家一般都可以提供參考設計的原理圖,所以要盡量的借助這些資源,在充分理解參考設計的基礎上,做一些自己的發揮。
04PCB圖設計
PCB設計階段,即是將原理圖設計轉化為實際的可加工的PCB線路板,目前主流的PCB設計軟件有PADS、Candence和Protel幾種。PCB設計,尤其是高速PCB,需要考慮EMC/EMI,阻抗控制,信號質量等,對PCB 設計人員的要求比較高。
為了驗證設計的PCB是否符合要求,有的還需要進行PCB仿真。并依據仿真結果調整PCB的布局布線,完成整個的設計。
05PCB加工文件制作與PCB打樣
PCB繪制完成以后,在這一階段,我們需要生成加工廠可識別的加工文件,即常說的光繪文件,將其交給加工廠打樣PCB空板,一般1至4層板可以在一周內完成打樣。
06硬件產品的焊接與調試
在拿到加工廠打樣會的PCB空板以后,接下來我們,需要檢查PCB空板是否和我們設計預期一樣,是否存在明顯的短路或斷痕。
檢查通過后,則需要將前期采購的元器件和PCB空板交由生產廠家進行焊接,如果PCB電路不復雜,為了加快速度,也可以直接手工焊接元器件。
當PCB已經焊接完成后,在調試PCB之前,一定要先認真檢查是否有可見的短路和管腳搭錫等故障,檢查是否有元器件型號放置錯誤,第一腳放置錯誤,漏裝配等問題,然后用萬用表測量各個電源到地的電阻,以檢查是否有短路,這樣可以避免貿然上電后損壞單板。
調試的過程中要有平和的心態,遇見問題是非常正常的,要做的就是多做比較和分析,逐步的排除可能的原因,直致最終調試成功。
在硬件調試過程中,需要經常使用到的調試工具有萬用表和示波器,邏輯分析儀等,用于測試和觀察板內信號電壓和信號質量,信號時序是否滿足要求。
07硬件產品測試
當硬件產品調試通過以后,我們需要對照產品產品的需求說明,一項一項進行測試,確認是否符合預期的要求。
如果達不到要求,則需要對硬件產品進行調試和修改,直到符合產品需求文明,一般都以需求說明文檔作為評判的一句,當然明顯的需求說明錯誤除外。
08硬件產品
我們最終開發的硬件成功。一個完整的,完成符合產品需求的硬件產品還不能說明一個成功的產品開發過程,我們還需要按照預定計劃,準時高質量的完成,才是一個成功的產品開發過程。