資深硬件工程師從五個方面談產品設計 - 全文

2016年04月25日 09:32 來源:網站整理 作者:h1654155596.7254 我要評論(0)

標簽:單片機(633726)硬件工程師(75455)智能硬件(107478)

  一個好的硬件工程師實際上就是一個項目經理,你需要從外界交流獲取對自己設計的需求,然后匯總,分析成具體的硬件實現。還要跟眾多的芯片和方案供應商聯系,從中挑選出合適的方案,當原理圖完成后,你需要組織同事來進行配合評審和檢查,還要和CAD工程師一起工作來完成PCB的設計。與此同時,要準備好BOM清單,開始采購和準備物料,聯系加工廠家完成板的貼裝。”

  1、掌握成為合格的硬件工程師的最基本知識

  1) 基本設計規范

  2) CPU基本知識、架構、性能及選型指導

  3) MOTOROLA公司的PowerPC系列基本知識、性能詳解及選型指導

  4) 網絡處理器INTEL、MOTOROLA、IBM)的基本知識、架構、性能及選型

  5) 常用總線的基本知識、性能詳解

  6) 各種存儲器的詳細性能介紹、設計要點及選型

  7) Datacom、Telecom領域常用物理層接口芯片基本知識,性能、設計要點及選型

  8) 常用器件選型要點與精華

  9) FPGACPLD、EPLD的詳細性能介紹、設計要點及選型指導

  10) VHDL和Verilog HDL介紹

  11) 網絡基礎

  12) 國內大型通信設備公司硬件研究開發流程

  2、最流行的EDA工具指導

  熟練掌握并使用業界最新、最流行的專業設計工具

  1) Innoveda公司的ViewDraw,PowerPCB,Cam350

  2) CADENCE公司的OrCadAllegro,Spectra

  3) Altera公司的MAX+PLUS II

  4) 學習熟練使用VIEWDRAW、ORCAD、POWERPCB、SPECCTRA、ALLEGRO、CAM350、MAX+PLUS II、ISE、FOUNDATION等工具;

  5) XILINX公司的FOUNDATION、ISE。

  一、硬件總體設計

  啟動一個硬件開發項目,原始的推動力會來自于很多方面,比如市場的需要,基于整個系統架構的需要,應用軟件部門的功能實現需要,提高系統某方面能力的需要等等,所以作為一個硬件系統的設計者,要主動的去了解各個方面的需求,并且綜合起來,提出最合適的硬件解決方案。

  比如A項目的原始推動力來自于公司內部的一個高層軟件小組,他們在實際當中發現原有的處理器板IP轉發能力不能滿足要求,從而對于系統的配置和使用都會造成很大的不便,所以他們提出了對新硬件的需求。根據這個目標,硬件方案中就針對性的選用了兩個高性能網絡處理器,然后還需要深入的和軟件設計者交流,以確定內存大小,內部結構,對外接口和調試接口的數量及類型等等細節,比如軟件人員喜歡將控制信令通路和數據通路完全分開來,這樣在確定內部數據走向的時候要慎重考慮。

  項目開始之初是需要召開很多的討論會議的,應該盡量邀請所有相關部門來參與,好處有三個,第一可以充分了解大家的需要,以免在系統設計上遺漏重要的功能,第二是可以讓各個部門了解這個項目的情況,提早做好時間和人員上協作的準備,第三是從感情方面講,在設計之初各個部門就參與了進來,這個項目就變成了大家共同的一個心血結晶,會得到大家的呵護和良好合作,對完成工作是很有幫助的。

  掌握硬件總體設計所必須具備的硬件設計經驗與設計思路

  1) 產品需求分析

  2) 開發可行性分析

  3) 系統方案調研

  4) 總體架構,CPU選型,總線類型

  5) 數據通信與電信領域主流CPU:M68k系列,

  PowerPC860,PowerPC8240,8260體系結構,性能及對比

  6) 總體硬件結構設計及應注意的問題

  7) 通信接口類型選擇

  8) 任務分解

  9) 最小系統設計

  10) PCI總線知識與規范

  11) 如何在總體設計階段避免出現致命性錯誤

  12) 如何合理地進行任務分解以達到事半功倍的效果?

  13) 項目案例:中、低端路由器等

  二. 硬件原理圖設計技術

  目的:通過具體的項目案例,詳細進行原理圖設計全部經驗,設計要點與精髓揭密。

  1) 電信與數據通信領域主流CPU(M68k,PowerPC860,8240,8260等)的原理設計經驗與精華

  2) Intel公司PC主板的原理圖設計精髓

  3) 網絡處理器的原理設計經驗與精華

  4) 總線結構原理設計經驗與精華

  5) 內存系統原理設計經驗與精華

  6) 數據通信與電信領域通用物理層接口的原理設計經驗與精華

  7) 電信與數據通信設備常用的WATCHDOG的原理設計經驗與精華

  8) 電信與數據通信設備系統帶電插拔原理設計經驗與精華

  9) 晶振與時鐘系統原理設計經驗與精華

  10) PCI總線的原理圖設計經驗與精華

  11) 項目案例:中、低端路由器等

  原理圖設計中要注意的問題:

  原理圖設計中要有“拿來主義”,現在的芯片廠家一般都可以提供參考設計的原理圖,所以要盡量的借助這些資源,在充分理解參考設計的基礎上,做一些自己的發揮。當主要的芯片選定以后,最關鍵的外圍設計包括了電源,時鐘和芯片間的互連。

  電源是保證硬件系統正常工作的基礎,設計中要詳細的分析:系統能夠提供的電源輸入;單板需要產生的電源輸出;各個電源需要提供的電流大小;電源電路效率;各個電源能夠允許的波動范圍;整個電源系統需要的上電順序等等。比如A項目中的網絡處理器需要1.25V作為核心電壓,要求精度在+5%- -3%之間,電流需要12A左右,根據這些要求,設計中采用5V的電源輸入,利用Linear開關電源控制器和IR的MOSFET搭建了合適的電源供應電路,精度要求決定了輸出電容的ESR選擇,并且為防止電流過大造成的電壓跌落,加入了遠端反饋的功能。

  時鐘電路的實現要考慮到目標電路的抖動等要求,A項目中用到了GE的PHY器件,剛開始的時候使用一個內部帶鎖相環的零延時時鐘分配芯片提供100MHz 時鐘,結果GE鏈路上出現了丟包,后來換成簡單的時鐘Buffer器件就解決了丟包問題,分析起來就是內部的鎖相環引入了抖動。

  芯片之間的互連要保證數據的無誤傳輸,在這方面,高速的差分信號線具有速率高,好布線,信號完整性好等特點,A項目中的多芯片間互連均采用了高速差分信號線,在調試和測試中沒有出現問題。

  三.硬件PCB圖設計

  目的:通過具體的項目案例,進行PCB設計全部經驗揭密,使你迅速成長為優秀的硬件工程師

  1) 高速CPU板PCB設計經驗與精華

  2) 普通PCB的設計要點與精華

  3) MOTOROLA公司的PowerPC系列的PCB設計精華

  4) Intel公司PC主板的PCB設計精華

  5) PC主板、工控機主板、電信設備用主板的PCB設計經驗精華

  6) 國內著名通信公司PCB設計規范與工作流程

  7) PCB設計中生產、加工工藝的相關要求

  8) 高速PCB設計中的傳輸線問題

  9) 電信與數據通信領域主流CPU(PowerPC系列)的PCB設計經驗與精華

  10) 電信與數據通信領域通用物理層接口(百兆、千兆以太網,ATM等)的PCB設計經驗與精華

  11) 網絡處理器的PCB設計經驗與精華

  12) PCB步線的拓撲結構極其重要性

  13) PCI步線的PCB設計經驗與精華

  14) SDRAMDDR SDRAM(125/133MHz)的PCB設計經驗與精華

  15) 項目案例:中端路由器PCB設計

  PCB設計中要注意的問題:

  PCB設計中要做到目的明確,對于重要的信號線要非常嚴格的要求布線的長度和處理地環路,而對于低速和不重要的信號線就可以放在稍低的布線優先級上。重要的部分包括:電源的分割;內存的時鐘線,控制線和數據線的長度要求;高速差分線的布線等等。

  A項目中使用內存芯片實現了1G大小的DDR memory,針對這個部分的布線是非常關鍵的,要考慮到控制線和地址線的拓撲分布,數據線和時鐘線的長度差別控制等方面,在實現的過程中,根據芯片的數據手冊和實際的工作頻率可以得出具體的布線規則要求,比如同一組內的數據線長度相差不能超過多少個mil,每個通路之間的長度相差不能超過多少個mil等等。當這些要求確定后就可以明確要求PCB設計人員來實現了,如果設計中所有的重要布線要求都明確了,可以轉換成整體的布線約束,利用CAD中的自動布線工具軟件來實現PCB設計,這也是在高速PCB設計中的一個發展趨勢。

  四.硬件調試

  目的:以具體的項目案例,傳授硬件調試、測試經驗與要點

  1) 硬件調試等同于黑箱調試,如何快速分析、解決問題?

  2) 大量調試經驗的傳授;

  3) 如何加速硬件調試過程;

  4) 如何迅速解決硬件調試問題;

  5) DATACOM終端設備的CE測試要求。

  當準備調試一塊板的時候,一定要先認真的做好目視檢查,檢查在焊接的過程中是否有可見的短路和管腳搭錫等故障,檢查是否有元器件型號放置錯誤,第一腳放置錯誤,漏裝配等問題,然后用萬用表測量各個電源到地的電阻,以檢查是否有短路,這個好習慣可以避免貿然上電后損壞單板。調試的過程中要有平和的心態,遇見問題是非常正常的,要做的就是多做比較和分析,逐步的排除可能的原因,要堅信“凡事都是有辦法解決的”和“問題出現一定有它的原因”,這樣最后一定能調試成功。

  五.軟硬件聯合調試

  1) 如何判別是軟件的錯?

  2) 如何與軟件進行聯合調試?

  3) 大量的聯合調試經驗的傳授。

  總結:

  現在從技術的角度來說,每個設計最終都可以做出來,但是一個項目的成功與否,不僅僅取決于技術上的實現,還與完成的時間,產品的質量,團隊的配合密切相關,所以良好的團隊協作,透明坦誠的項目溝通,精細周密的研發安排,充裕的物料和人員安排,這樣才能保證一個項目的成功。

  一個好的硬件工程師實際上就是一個項目經理,他/她需要從外界交流獲取對自己設計的需求,然后匯總,分析成具體的硬件實現。還要跟眾多的芯片和方案供應商聯系,從中挑選出合適的方案,當原理圖完成后,他/她要組織同事來進行配合評審和檢查,還要和CAD工程師一起工作來完成PCB的設計。與此同時,還要準備好BOM清單,開始采購和準備物料,聯系加工廠家完成板的貼裝。在調試的過程中他/她要組織好軟件工程師來一起攻關調試,配合測試工程師一起解決測試中發現的問題,等到產品推出到現場,如果出現問題,還需要做到及時的支持。所以做一個硬件設計人員要鍛煉出良好的溝通能力,面對壓力的調節能力,同一時間處理多個事務的協調和決斷能力和良好平和的心態等等。

  還有細心和認真,因為硬件設計上的一個小疏忽往往就會造成非常大的經濟損失,比如以前碰到一塊板在PCB設計完備出制造文件的時候誤操作造成了電源層和地層連在了一起,PCB板制造完畢后又沒有檢查直接上生產線貼裝,到測試的時候才發現短路問題,但是元器件已經都焊接到板上了,結果造成了幾十萬的損失。所以細心和認真的檢查,負責任的測試,不懈的學習和積累,才能使得一個硬件設計人員持續不斷的進步,而后術業有所小成。

上一頁12全文