嵌入式硬件開(kāi)發(fā)流程

講講國(guó)內(nèi)大部分硬件工程師的成長(zhǎng)流程,先是學(xué)校里學(xué)習(xí)模電數(shù)電等基礎(chǔ)知識(shí),然后出來(lái)實(shí)習(xí)、工作,然后在各種項(xiàng)目中成長(zhǎng)為一名合格的硬件工程師。聽(tīng)上去好像沒(méi)毛病,但想問(wèn)大家的事是大家有系統(tǒng)性學(xué)習(xí)如何成為一個(gè)硬件工程師嗎?學(xué)校里有?真的嗎?想想大部分人都是在企業(yè)實(shí)習(xí)、工作,正式做硬件產(chǎn)品的過(guò)程中成長(zhǎng)起來(lái)的吧,大公司還好,有系統(tǒng)的流程和培養(yǎng)方式,再結(jié)合通過(guò)自己不停的碰釘子的過(guò)程中成為一名獨(dú)擋一面的工程師。然而像我們這種一直在小公司呆的人就苦逼了,一直都是野路子,運(yùn)氣又差,又沒(méi)像樣的師傅領(lǐng)進(jìn)門(有時(shí)候有,但在職場(chǎng)上,都忙的要死,誰(shuí)有空教你,又不是我兒子),大家雖然能干活,但總覺(jué)得差些什么,另外自己也經(jīng)常給自己挖坑跳。所以我想總結(jié)下自己的嵌入式硬件開(kāi)發(fā)流程,雖然自己水平水,工作經(jīng)驗(yàn)也少,但還是要不要臉的寫下來(lái),要有這種多分享的氛圍,以后的人才能輕松點(diǎn)。也希望大家?guī)兔ρa(bǔ)充,添磚添瓦。
因?yàn)椴煌居凶约旱囊惶组_(kāi)發(fā)流程,沒(méi)有哪套硬件開(kāi)發(fā)流程是適應(yīng)所以公司的,所以大家都選擇自己喜歡的方式,這里我分享最近一位老同學(xué)教我的,適應(yīng)嵌入式硬件開(kāi)發(fā)。總流程呢?大致的需求分析——總的方案選型——細(xì)化的需求分析——硬件板各個(gè)功能實(shí)現(xiàn)方案(各種芯片選型對(duì)比)——獨(dú)立功能測(cè)試驗(yàn)證——軟件規(guī)劃和主CPU引腳功能分配——嵌入式硬件原理圖設(shè)計(jì)——BOM表單(有些器件提前購(gòu)買,確定封裝)——畫PCB板——打樣——測(cè)試——測(cè)試——程序調(diào)試——測(cè)試——后面大堆工作,不說(shuō)了。整個(gè)過(guò)程中,都要留對(duì)應(yīng)的文檔,另外,測(cè)試是貫徹整個(gè)流程的。雖然按流程做事很沒(méi)效率,很煩,但只有按流程做才不容易出錯(cuò)!!!同時(shí)不會(huì)累,按部就班,也比不按流程更有效率(減少出問(wèn)題排錯(cuò)時(shí)間)。
下面開(kāi)始介紹步驟,這里以一個(gè)電機(jī)驅(qū)控一體板項(xiàng)目為例,另外,每個(gè)步驟的完成標(biāo)志是對(duì)應(yīng)的文檔列表出來(lái)!!!同時(shí)要有一個(gè)貫穿這個(gè)設(shè)計(jì)流程的日記文檔,用于記錄問(wèn)題和提醒事項(xiàng),并標(biāo)注日期。有個(gè)不好意思的地方,就是我這邊好多東西沒(méi)有具體告訴你為什么這么做理由,只是比較命令式的說(shuō),主要是由于我懶得去說(shuō)明了,沒(méi)道理的地方歡迎大家指出。

大致的需求分析

大致需求分析這里是要確定你的項(xiàng)目需要滿足的最低功能要求,比如做電機(jī)的驅(qū)控一體板,這時(shí)我需要把我的需要的功能大致1、2、3……的列個(gè)表出來(lái),如下圖,然后找你的上級(jí)確認(rèn),很多時(shí)候你的上級(jí)只是口頭跟你說(shuō)下要做什么,具體的需要你花時(shí)間理清楚,再通過(guò)紙面文件確認(rèn),確保有效溝通。
電機(jī)驅(qū)控一體板功能需求

細(xì)化的需求分析

這個(gè)時(shí)候的需求分析就不是一般的需求分析了,比較像總體設(shè)計(jì)規(guī)劃,這時(shí)候整個(gè)電路板的設(shè)計(jì)都具大致雛形了,你這時(shí)候需要細(xì)化選什么主控芯片,每個(gè)功能模塊用什么電路芯片去實(shí)現(xiàn)它,不斷對(duì)比不同方案去滿足功能需求,優(yōu)先選以前用過(guò)的方案,以及市面上常用方案,這個(gè)階段需要考慮的事非常多,涉及成本,整個(gè)板的性能指標(biāo)等等,考慮的面很廣,其實(shí)這里我把前面列舉的硬件功能模塊實(shí)現(xiàn)合在一起了,主要是這兩步好多時(shí)候是一起做了。還是以那個(gè)電機(jī)驅(qū)控板舉例,這時(shí)候要列一個(gè)表出來(lái),細(xì)化每個(gè)功能模塊。
電機(jī)驅(qū)控一體板設(shè)計(jì)需求

獨(dú)立功能驗(yàn)證

有些你沒(méi)把握的功能電路,可以事先通過(guò)仿真軟件或者搭建簡(jiǎn)單模塊電路的方式去驗(yàn)證它,實(shí)在沒(méi)條件的話,可以寫下注意點(diǎn),在原理圖設(shè)計(jì)的時(shí)候多預(yù)留電阻電容做測(cè)試。

IO口規(guī)劃

由于做的是嵌入式硬件項(xiàng)目,主控芯片一般都要大量IO口,每個(gè)IO口怎么使用,可以讓軟件工程師列個(gè)IO口使用列表出來(lái),要是軟件也你自己寫的話,那么就自己列一個(gè)IO口使用的EXCEL表出來(lái),有些人覺(jué)得板子功能簡(jiǎn)單IO口使用哪里順就哪里規(guī)劃來(lái),設(shè)計(jì)原理圖的時(shí)候一起,這樣是不好的,很容易疏漏,到時(shí)就慢慢跳線吧。

原理圖設(shè)計(jì)BOM清單PCB板Layout

我比較喜歡用orcad+pads來(lái)畫板,這里強(qiáng)調(diào)我,主要是哪個(gè)工具軟件順手就推薦你用哪個(gè),工具沒(méi)有好壞,順手就行,這里有最多的多經(jīng)驗(yàn)總結(jié),由于太晚想睡覺(jué)了,推薦大家網(wǎng)上論壇找資料看,比如華為硬件工程師什么,大家自己去看就行了,不然你來(lái)寫。有些要注意的是BOM的清單要寫詳細(xì)來(lái),方便自己公司采購(gòu),不會(huì)購(gòu)買錯(cuò)器件,另外選常用器件,器件類型盡量少,這時(shí)候要確定好來(lái),別有些器件國(guó)外進(jìn)口,等大半個(gè)月時(shí)間就不好了,或者要不退市的東西就別選了,這時(shí)候很多東西還是好修改的,抓緊修改原理圖,Layout規(guī)則根據(jù)你選的做板廠家設(shè)計(jì),快板可以推薦華強(qiáng)PCB啦,嘉利創(chuàng)啦……不多說(shuō)了,希望哪個(gè)大哥這塊可以多教教我。

打樣測(cè)試

第一版出來(lái)后推薦自己焊接板子,這樣你也可以從中知道些自己設(shè)計(jì)不是很好的地方,尤其是生產(chǎn)那塊的,當(dāng)然沒(méi)時(shí)間有小弟,讓小弟多學(xué)習(xí)吧。測(cè)試的話,我也沒(méi)什么好的經(jīng)驗(yàn),希望哪位大哥,嗯哼……

后面的大堆工作步驟

好想睡覺(jué),誰(shuí)來(lái)幫忙寫唄……

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容