- 軟件是個坑,硬件是大坑。
對于剛剛畢業的學生們來說,選硬件還是寫軟件,可能一直是個比較糾結的問題。硬件工程師似乎從來不像軟件工程師那么風光。大家一想到搞硬件的,可能馬上出現的形象是,一個不修邊幅的老兄,笨手笨腳地手捏電烙鐵,在電路板上一陣亂戳,表達他的熱愛。而這熱愛的對象有時候并不那么領情,時不時在通電后滋滋怪響,然后冒出一縷青煙,作為對這種單相思的輕蔑。
嗯,每次新板子做好,上電瞬間,可以祈禱的就是千萬別冒煙。這可不是杜撰,看一看群里兄弟們,誰沒碰到過呢?
其實軟件也有很囧的時候,下面是我一個程序猿朋友的親身經歷:
我是個程序猿,一天我坐在路邊一邊喝水一邊苦苦檢查bug。這時一個乞丐在我邊上坐下了,開始要飯,我覺得可憐,就給了他1塊錢,然后接著調試程序。他可能生意不好,就無聊的看看我在干什么,然后過了一會,他幽幽的說,這里,少了個分號。。。分號。。。分號。。。
嗯,此笑話來源于網絡。開完玩笑,還得聊點兒正事兒。作為一個硬件工程師,怎樣才能設計出好的產品。
- 硬件工程師,不容易
有一個看法是現在芯片廠家,或者方案商都會提供比較完整的參考設計,硬件工程師只要比照著抄一下就可以了。持這種看法的人,一定是沒做過硬件的吧?就拿最簡單的點個LED燈來說,咱們長時間觀察,能長期穩定運行的真不多。拿LED做栗子的好處,是它容易暴露問題,而且這種產品出問題也沒什么大不了的,最多賠點錢了事兒。無圖無真相,上圖:
(https://mmbiz.qpic.cn/mmbiz_jpg/NsFXGkXyWyuiaCL2NC2dv1PIc0d4kGicApbwWgcWEHcS8j6Pf0qXJdp4kiajOEvTzkYPk4ZMUwxDicOnfPrxyGibrtw/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1)
還有一些產品,不像這樣能一眼看出來,有的在運行幾年后出問題,或者某種不常見的條件下,才會觸發,這種就更難處理了。如何能設計出性價比高,又長期運行可靠的產品,對硬件工程師確實是一大挑戰。
- 硬件工程師之7種武器
除了數電,模電,C語言,C++,計算機原理,操作系統,數據結構,算法,畫原理圖,布PCB板,焊接,調試這些基本技能,硬件工程師還要從多角度考慮問題,下面我們從7個方面聊一下。
需求分析
這個不太受重視,實際上是非常重要的第一步。從項目管理的角度,第一個任務就是要跟客戶深入溝通,需要哪些功能,要比客戶考慮的更多。往往客戶只會提出主要功能,而忽視很多細節,等產品交到用戶手里,才發現很多要改,這是特別不希望發生,然而經常發生的事情。所以要重視這第一步,比如要賣到哪些地方,哪些國家?當地氣候條件怎么樣,要通過哪些測試?有沒有強制認證要求?最后形成文檔。才能開始設計,越到后面,更改起來越費勁兒,代價越大。
功耗設計
如今設備的節能特性越來越受重視,一般每種產品都有節能標準。我們在設計產品時,要從整體考慮,不能看單一指標,要看待機功耗,運行功耗,然后根據待機時間和運行時間,計算出總的平均功耗。這樣對于電池供電的設備,可以增加電池使用壽命。對于交流供電設備,雖然不像電池供電設備那么敏感,但是如果省電,產品賣得貴一些也,從電費上可以節省更多。另外功耗降低,板子的熱量也會變低,元器件的壽命會增長。
EMC性能
EMC是個永遠繞不過去的話題。有很多設備在實驗室怎么測試都是好的,一到現場就出問題,EMC不過關是一個重要的因素。設計產品的每一個環節,都要考慮在內。很多技巧,做項目的時候沒準兒就忘掉了。拿單片機來說,并不是跑得越快越好,速度跑太快,EMI會比較嚴重。在完成功能的同時,我們要盡量降低MCU的頻率。GPIO引腳也是如此,翻轉頻率越慢越好,有的單片機引腳可以設置不同的上升速率,設置成比較低的上升沿,可以有效降低電磁輻射。有條件的可以在布PCB之前完成電路完整性仿真,EMC仿真。
成本控制
這個不用強調,特別是對于大批量生產的。我們需要考慮的就是不能單看物料成本。還要考慮設計成本,制造成本,測試時間成本。所以也不能埋頭設計,需要跟其他部門多溝通才行。比如,盡量減少引入新元件種類,我們需要知道公司產品已經使用的元件種類。舉例來說,如果要用到少量20K的電阻,公司從來沒用過,那是不是可以用兩個已有的10K的,串聯起來用呢?哪些電阻可以用接近的阻值?可以動腦筋的地方挺多的,再比如哪些功能可以用軟件實現,串口,IIC,SPI是不是可以用GPIO模擬?DAC是不是可以用PWM替代?
產品穩定性
玩過硬件的兄弟姐們們都知道,在測試的時候死機不會死人,設備安裝到現場后,出問題才會要命。而影響穩定性的因素,可以說是五花八門。比如高低溫,震動,鹽霧,雷擊,防水,灰塵的積累等等,所以在設計時也要有對應的考慮。選擇元器件要降額使用,如果功率比較高要和結構一起做散熱設計,PCB打樣階段用紅外測溫儀,或可以貼到PCB的溫度傳感器,看有沒有溫度過高的地方。高低溫,震動,浪涌,防水這些一定要實際測試,不能抱有僥幸心理。
可制造性,可維修性
在做產品設計時,充分考慮工廠的加工能力。比如拿PCB來說,最大尺寸可以多大,多厚,線寬和線間距最小能做多小,過孔的標準尺寸,最小孔徑。元件布局合理嗎,對回流焊接有哪些影響,是否能方便地裝配?舉個小例子,很多IC底部都有一個散熱焊盤,這個焊盤是做成一個整體好呢,還是分割成小塊兒比較好?這個問題就有專門的文章分析討論。
美觀,方便操作
直男們的最大弱點,卻是用戶最直接的體驗。
以上每個方面都很重要,但往往又是相互沖突的,這就是對每一個工程師的最大挑戰,需要我們做出平衡取舍,在較短的時間內和合理的成本控制下,把產品設計做到接近完美。最后,作為硬件工程師,不能紙上談兵,看文章有用,但還要在實踐中多磨煉,多交流學習。
-
電路板
+關注
關注
140文章
4971瀏覽量
98247 -
硬件
+關注
關注
11文章
3348瀏覽量
66309 -
BUG
+關注
關注
0文章
155瀏覽量
15682
發布評論請先 登錄
相關推薦
評論