• 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

我的得意之作 | 一塊通信卡耗盡兩年心血,德國人顛覆了我的設(shè)計(jì)理念

2017/06/06
37
  • 12評論
閱讀需 33 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

?

序言:“2017 年工程師節(jié)”今天正式拉開序幕,本屆工程師節(jié)的主題圍繞“技能”二字。身為電子人,無論行走江湖的老者,還是初入此圈的新人,總一兩個技能傍身、總有一兩個得意之作。

自 05 年本科畢業(yè)參加工作至今,已有十多個年頭,而我一直從事嵌入式硬件開發(fā)的工作(必要時(shí)也做一些軟件開發(fā)),所設(shè)計(jì)的硬件電路和模塊不下百種,有簡單的也有復(fù)雜的。其中不乏有讓自己付出極大心血和精力的,這可以認(rèn)為是自己的得意之作,故取其之一來展示。

與德國人打交道,心累也心喜

12 年進(jìn)入一家世界 500 強(qiáng)的外資企業(yè)工作,從事嵌入式硬件開發(fā)工作,負(fù)責(zé)的是 XX 型號設(shè)備監(jiān)測系統(tǒng)中的通信卡的硬件設(shè)計(jì)。該監(jiān)測系統(tǒng)針對的是大型的旋轉(zhuǎn)類設(shè)備的運(yùn)行狀態(tài)監(jiān)測,實(shí)時(shí)采集該設(shè)備各個測試點(diǎn)的運(yùn)行狀態(tài),包括旋轉(zhuǎn)速度、旋轉(zhuǎn)加速度、振動參數(shù)、同軸偏心度參數(shù)、旋轉(zhuǎn)軸內(nèi)溫度參數(shù)等等。通過放置在各個測試點(diǎn)的傳感器來進(jìn)行采集和轉(zhuǎn)換,然后通過測量板卡將傳感器數(shù)據(jù)轉(zhuǎn)換成數(shù)字信號,通過背板上總線傳遞給通信板卡,最后將數(shù)據(jù)傳輸到遠(yuǎn)端的監(jiān)控室和服務(wù)器端。各個測量板卡和通信板卡之間采用的是標(biāo)準(zhǔn)的 RS485 總線通信方式,通信板卡和遠(yuǎn)端采用的是以太網(wǎng)通信。

雖說公司屬于美資企業(yè),但是和我們打交道的卻是德國人,我們平時(shí)的所有工作都是向他們匯報(bào)。眾所周知,德國人的細(xì)心和耐心是出了名的,尤其是在研發(fā)工作當(dāng)中,對任何事情都是精益求精。從和他們開始接觸的第一天開始,他們就表明了他們對待研發(fā)工作的態(tài)度,并制定了一系列在研發(fā)工作當(dāng)中應(yīng)該嚴(yán)格遵守的準(zhǔn)則和標(biāo)準(zhǔn)(和公司制度無關(guān))。首先就是文檔的書寫,不需要長篇大論,能說明問題即可,文檔中不能出現(xiàn)省略號(……)、等(and so on)這些字眼,所有有關(guān)的項(xiàng)目都必須羅列出來;對待結(jié)論性的東西只能出現(xiàn) true or false/yes or no,不能出現(xiàn)模棱兩可的描述;研發(fā)過程中允許出錯,但必須要有足夠的正當(dāng)理由;任何工作必須先寫文檔,以文檔為指導(dǎo);研發(fā)工作必須要有階段性成果,便于討論;任何測試結(jié)果都必須以數(shù)據(jù)說話;任何設(shè)計(jì)都要留有余量……。要求我們必須按照這些口頭的制度來合理安排自己的工作。

一塊通信卡的故事

我們所要開發(fā)的這個通信板卡的前身是采購自第三方的 ODM 模塊,因此所有的技術(shù)信息對我們來說都是保密的,我們能做的就是知道怎么用,出問題了我們也不知道怎么去維護(hù),因此在市場占有率提高以后我們顯得非常被動,公司高層最終決定自主研發(fā),掌握主動權(quán),進(jìn)一步提高市場占有率和產(chǎn)品利潤。

因此我們針對此通信板卡的研發(fā)是在保留其目前功能接口的前提下(目的是要和現(xiàn)有市場上的設(shè)備兼容)進(jìn)行技術(shù)升級,也就是在涵蓋他們所提供的功能的基礎(chǔ)上添加了自己的功能,包括提高數(shù)據(jù)處理速度、數(shù)據(jù)通信速度、添加操作系統(tǒng)等等。

因此從某種意義上來說,完全是一個全新的設(shè)計(jì)。

?

?

德國人對這次研發(fā)看得非常重,光針對通信卡的技術(shù)需求就有好幾十頁,細(xì)化到每一個接口和功能,我們必須在此技術(shù)需求文檔的基礎(chǔ)之上進(jìn)行研發(fā)。

為了更好的了解該產(chǎn)品的特性和工作原理,我們兩個人公費(fèi)被派往德國參觀和學(xué)習(xí)了一個半月,實(shí)地去學(xué)習(xí)該產(chǎn)品生產(chǎn)過程以及該監(jiān)測系統(tǒng)的功能。同時(shí)也去學(xué)習(xí)德國人在產(chǎn)品研發(fā)上的每一步工作是如何做的,參觀了德國的高標(biāo)準(zhǔn)化生產(chǎn)車間。給我印象最深刻的就是車間內(nèi)的工人師傅都是 4、50 歲的年齡比較大的,還有一位負(fù)責(zé)組裝傳感器頭的師傅有 60 多歲了,對于這種非常敏感的傳感器頭,經(jīng)驗(yàn)比技術(shù)更重要。

這一趟德國行不僅完全掌握了該系統(tǒng)的整體功能細(xì)節(jié),同時(shí)也感受到了發(fā)達(dá)國家的先進(jìn)之處和美景美食,受益匪淺啊。


回來后第一步就是針對主 MCU 的選型。我在主 MCU 的選型上就花了將近一個月的時(shí)間,在這一個月的時(shí)間里,我看了各大半導(dǎo)體廠商的主流 MCU 芯片的資料,而且全是英文版,除了了解各個 MCU 的特點(diǎn)和功能之外,我還要從中選取 3 到 4 種進(jìn)行橫向比較。

我制作了一個表格,將這幾種 MCU 的特點(diǎn)都羅列出來,從中選擇最接近我們技術(shù)需求的 MCU,同時(shí)還要性價(jià)比高。主要參數(shù)包括:MCU 主頻、Flash 容量、RAM 容量、對外都有哪些接口、封裝形式、供電電壓、最大功耗、所支持的操作系統(tǒng)、芯片的生命周期等等,這些參數(shù)足足有十幾頁。

最后不僅要給德國人提供這個表格,還要給出意向 MCU,并陳述理由。德國人根據(jù)表格里的數(shù)據(jù)和我陳述的理由,同意了我的選擇為 ST 的一款 MCU。

主 MCU 選定后,外圍器件根據(jù)接口形式很快就選好了,并根據(jù)要求有些通用新品最少選兩個廠商,留有足夠的設(shè)計(jì)和生產(chǎn)備份。

遵循德國人訂立的設(shè)計(jì)準(zhǔn)則,我在主 MCU 和外圍接口芯片選好以后,就開始編寫硬件詳細(xì)設(shè)計(jì)文檔,包括板卡供電、外圍器件、以太網(wǎng) PHY 芯片、串口擴(kuò)展芯片、RS485 接口芯片等,以及初步的硬件原理圖和芯片工作原理簡介。

?

?

針對原理圖的繪制和審查,德國人都有一套嚴(yán)格的流程,一人設(shè)計(jì)交叉審查。還有原理圖中的器件標(biāo)號不能出現(xiàn)有歧義的地方,包括字體的格式、大小等都有嚴(yán)格的規(guī)定。很快我就將第一版的原理圖繪制完成,然后和德國人開會討論了好幾次才最終定稿。關(guān)于 PCB 尺寸是標(biāo)準(zhǔn)的歐式板卡尺寸(160mm*100mm),用的也都是歐式插座,用于和背板的連接。同樣,針對 PCB 的設(shè)計(jì)布線,德國人也有一套嚴(yán)格的規(guī)定,包括不同的信號類型使用不同的線寬和線距,以及 PCB 的標(biāo)注。

德國人做事非常嚴(yán)謹(jǐn),但是節(jié)奏非常慢,針對這個通信板卡的整體設(shè)計(jì),預(yù)計(jì)時(shí)間周期為 2 年,包括軟硬件,硬件工作主要集中在前段,因?yàn)楸仨毺峁?shí)現(xiàn)軟件測試的硬件平臺。

經(jīng)過兩個月的艱苦奮戰(zhàn),第一版的 PCB 終于完成,在進(jìn)行打板之前,必須經(jīng)過德國人的審核后才能發(fā)給板廠制作。

PCB 加工完成后,并不是急于進(jìn)行元器件焊接,而是先檢查 PCB 裸板。一方面檢查制作工藝,另一方面也檢查是否存在短路現(xiàn)象,避免焊接元器件后不方便檢查。而且最后還要填寫 CheckList 報(bào)告。

PCB 裸板檢查無誤后才開始進(jìn)行焊接,雖然制作數(shù)量比較少(每次在 10PCS 左右),但是照樣使用 SMT 工藝進(jìn)行器件焊接,禁止手工焊接,避免手工焊接所帶來的問題會被誤認(rèn)為是設(shè)計(jì)缺陷。SMT 結(jié)束后,并不急于上電,而是先檢查焊接質(zhì)量,包括器件焊接正確性、擺放位置、錫的飽滿度等,無誤后進(jìn)行 PCB 清洗,利用專用的清洗劑進(jìn)行超聲波清洗,清洗后進(jìn)行高溫烘干,靜置 24 小時(shí)后準(zhǔn)備上電。

上電之前必須事先設(shè)置好供電電壓,第一步先測總電流,電流正常了再測 PCB 上各個輸出電壓,都正常后才開始給 MCU 燒寫軟件代碼,進(jìn)行軟件驗(yàn)證。此時(shí)燒寫的并不是最終運(yùn)行的代碼,而是接口驅(qū)動代碼,用來驗(yàn)證各個接口是否滿足要求。

此時(shí),針對設(shè)計(jì)需求中硬件部分,必須進(jìn)行模塊劃分,而且最終根據(jù)各個模塊進(jìn)行單獨(dú)測試,必須事先寫測試流程,包含每一個步驟以及用到哪些測試工具、怎樣操作、需要測試哪些內(nèi)容,都必須一一詳述。目的就是為了讓任何一個人看過測試流程之后都知道如何來操作。而且每項(xiàng)測試必須得出最終測試結(jié)果,不合格的項(xiàng)目必須同時(shí)提供改進(jìn)方法,并經(jīng)過試驗(yàn)驗(yàn)證,然后在下一版中進(jìn)行改進(jìn)。

做完各項(xiàng)測試后,有兩項(xiàng)不合格,并提出改進(jìn)方法,進(jìn)行驗(yàn)證。在功能性測試結(jié)束后,必須經(jīng)過高低溫、濕度測試以及 EMC 測試,保證器件能可靠工作。

在第二版中針對第一版測試出現(xiàn)的問題加以改進(jìn),完全滿足產(chǎn)品設(shè)計(jì)需求中的每一項(xiàng),后續(xù)的大量工作均集中在軟件驗(yàn)證上。硬件工程師基本都處在配合軟件工程師工作。

經(jīng)過兩年左右的開發(fā),這款通信板卡最終實(shí)現(xiàn)了各項(xiàng)功能指標(biāo),具備量產(chǎn)的條件。同時(shí)也獲到了德國人的贊揚(yáng)。通過這款通信板卡的研發(fā),我不僅學(xué)習(xí)到了德國人對于產(chǎn)品研發(fā)的經(jīng)驗(yàn),包括細(xì)節(jié)處理方法,同時(shí)也增長了許多見識。見識了什么是真正的發(fā)達(dá)國家。

?作者 ? ?

與非網(wǎng)網(wǎng)友,yichun417

?

與非網(wǎng)原創(chuàng)文章,未經(jīng)許可,不得轉(zhuǎn)載!

相關(guān)推薦

電子產(chǎn)業(yè)圖譜