2020-04-30 10:35:54分類(lèi):嵌入式硬件開(kāi)發(fā)設計7080
以實(shí)際的硬件設計項目為例,一同探討硬件開(kāi)發(fā)的基本準則和思想,同時(shí)歡迎大家積極提出自己的問(wèn)題和觀(guān)點(diǎn)。
1、充分了解各方的設計需求,確定合適的解決方案
啟動(dòng)一個(gè)硬件開(kāi)發(fā)項目,原始的推動(dòng)力會(huì )來(lái)自于很多方面,比如市場(chǎng)的需要,基于整個(gè)系統架構的需要,應用軟件部門(mén)的功能實(shí)現需要,提高系統某方面能力的需要等等,所以作為一個(gè)硬件系統的設計者,要主動(dòng)的去了解各個(gè)方面的需求,并且綜合起來(lái),提出最合適的硬件解決方案。
比如A項目的原始推動(dòng)力來(lái)自于公司內部的一個(gè)高層軟件小組,他們在實(shí)際當中發(fā)現原有的處理器板IP轉發(fā)能力不能滿(mǎn)足要求,從而對于系統的配置和使用都會(huì )造成很大的不便,所以他們提出了對新硬件的需求。
根據這個(gè)目標,硬件方案中就針對性的選用了兩個(gè)高性能網(wǎng)絡(luò )處理器,然后還需要深入的和軟件設計者交流,以確定內存大小,內部結構,對外接口和調試接口的數量及類(lèi)型等等細節,比如軟件人員喜歡將控制信令通路和數據通路完全分開(kāi)來(lái),這樣在確定內部數據走向的時(shí)候要慎重考慮。
項目開(kāi)始之初是需要召開(kāi)很多的討論會(huì )議的,應該盡量邀請所有相關(guān)部門(mén)來(lái)參與,好處有三個(gè),第一可以充分了解大家的需要,以免在系統設計上遺漏重要的功能,第二是可以讓各個(gè)部門(mén)了解這個(gè)項目的情況,提早做好時(shí)間和人員上協(xié)作的準備,第三是從感情方面講,在設計之初各個(gè)部門(mén)就參與了進(jìn)來(lái),這個(gè)項目就變成了大家共同的一個(gè)心血結晶,會(huì )得到大家的呵護和良好合作,對完成工作是很有幫助的。
2、原理圖設計中要注意的問(wèn)題
原理圖設計中要有“拿來(lái)主義”,現在的芯片廠(chǎng)家一般都可以提供參考設計的原理圖,所以要盡量的借助這些資源,在充分理解參考設計的基礎上,做一些自己的發(fā)揮。當主要的芯片選定以后,最關(guān)鍵的外圍設計包括了電源,時(shí)鐘和芯片間的互連。
電源是保證硬件系統正常工作的基礎,設計中要詳細的分析:系統能夠提供的電源輸入;單板需要產(chǎn)生的電源輸出;各個(gè)電源需要提供的電流大小;電源電路效率;各個(gè)電源能夠允許的波動(dòng)范圍;整個(gè)電源系統需要的上電順序等等。
比如A項目中的網(wǎng)絡(luò )處理器需要1.25V作為核心電壓,要求精度在+5%- -3%之間,電流需要12A左右,根據這些要求,設計中采用5V的電源輸入,利用Linear的開(kāi)關(guān)電源控制器和IR的MOSFET搭建了合適的電源供應電路,精度要求決定了輸出電容的ESR選擇,并且為防止電流過(guò)大造成的電壓跌落,加入了遠端反饋的功能。
時(shí)鐘電路的實(shí)現要考慮到目標電路的抖動(dòng)等要求,A項目中用到了GE的PHY器件,剛開(kāi)始的時(shí)候使用一個(gè)內部帶鎖相環(huán)的零延時(shí)時(shí)鐘分配芯片提供100MHz時(shí)鐘,結果GE鏈路上出現了丟包,后來(lái)?yè)Q成簡(jiǎn)單的時(shí)鐘Buffer器件就解決了丟包問(wèn)題,分析起來(lái)就是內部的鎖相環(huán)引入了抖動(dòng)。
芯片之間的互連要保證數據的無(wú)誤傳輸,在這方面,高速的差分信號線(xiàn)具有速率高,好布線(xiàn),信號完整性好等特點(diǎn),A項目中的多芯片間互連均采用了高速差分信號線(xiàn),在調試和測試中沒(méi)有出現問(wèn)題。
3、PCB設計中要注意的問(wèn)題
PCB設計中要做到目的明確,對于重要的信號線(xiàn)要非常嚴格的要求布線(xiàn)的長(cháng)度和處理地環(huán)路,而對于低速和不重要的信號線(xiàn)就可以放在稍低的布線(xiàn)優(yōu)先級上。重要的部分包括:電源的分割;內存的時(shí)鐘線(xiàn),控制線(xiàn)和數據線(xiàn)的長(cháng)度要求;高速差分線(xiàn)的布線(xiàn)等等。
A項目中使用內存芯片實(shí)現了1G大小的DDR memory,針對這個(gè)部分的布線(xiàn)是非常關(guān)鍵的,要考慮到控制線(xiàn)和地址線(xiàn)的拓撲分布,數據線(xiàn)和時(shí)鐘線(xiàn)的長(cháng)度差別控制等方面,在實(shí)現的過(guò)程中,根據芯片的數據手冊和實(shí)際的工作頻率可以得出具體的布線(xiàn)規則要求,比如同一組內的數據線(xiàn)長(cháng)度相差不能超過(guò)多少個(gè)mil,每個(gè)通路之間的長(cháng)度相差不能超過(guò)多少個(gè)mil等等。
當這些要求確定后就可以明確要求PCB設計人員來(lái)實(shí)現了,如果設計中所有的重要布線(xiàn)要求都明確了,可以轉換成整體的布線(xiàn)約束,利用CAD中的自動(dòng)布線(xiàn)工具軟件來(lái)實(shí)現PCB設計,這也是在高速PCB設計中的一個(gè)發(fā)展趨勢。
4、檢查和調試
當準備調試一塊板的時(shí)候,一定要先認真的做好目視檢查,檢查在焊接的過(guò)程中是否有可見(jiàn)的短路和管腳搭錫等故障,檢查是否有元器件型號放置錯誤,第一腳放置錯誤,漏裝配等問(wèn)題,然后用萬(wàn)用表測量各個(gè)電源到地的電阻,以檢查是否有短路,這個(gè)好習慣可以避免貿然上電后損壞單板。
調試的過(guò)程中要有平和的心態(tài),遇見(jiàn)問(wèn)題是非常正常的,要做的就是多做比較和分析,逐步的排除可能的原因,要堅信“凡事都是有辦法解決的”和“問(wèn)題出現一定有它的原因”,這樣最后一定能調試成功。
總結
現在從技術(shù)的角度來(lái)說(shuō),每個(gè)設計最終都可以做出來(lái),但是一個(gè)項目的成功與否,不僅僅取決于技術(shù)上的實(shí)現,還與完成的時(shí)間,產(chǎn)品的質(zhì)量,團隊的配合密切相關(guān),所以良好的團隊協(xié)作,透明坦誠的項目溝通,精細周密的研發(fā)安排,充裕的物料和人員安排,這樣才能保證一個(gè)項目的成功。
一個(gè)好的硬件工程師實(shí)際上就是一個(gè)項目經(jīng)理,他/她需要從外界交流獲取對自己設計的需求,然后匯總,分析成具體的硬件實(shí)現。還要跟眾多的芯片和方案供應商聯(lián)系,從中挑選出合適的方案,當原理圖完成后,他/她要組織同事來(lái)進(jìn)行配合評審和檢查,還要和CAD工程師一起工作來(lái)完成PCB的設計。
與此同時(shí),還要準備好BOM清單,開(kāi)始采購和準備物料,聯(lián)系加工廠(chǎng)家完成板的貼裝。在調試的過(guò)程中他/她要組織好軟件工程師來(lái)一起攻關(guān)調試,配合測試工程師一起解決測試中發(fā)現的問(wèn)題,等到產(chǎn)品推出到現場(chǎng),如果出現問(wèn)題,還需要做到及時(shí)的支持。所以做一個(gè)硬件設計人員要鍛煉出良好的溝通能力,面對壓力的調節能力,同一時(shí)間處理多個(gè)事務(wù)的協(xié)調和決斷能力和良好平和的心態(tài)等等。
還有細心和認真,因為硬件設計上的一個(gè)小疏忽往往就會(huì )造成非常大的經(jīng)濟損失,比如以前碰到一塊板在PCB設計完備出制造文件的時(shí)候誤操作造成了電源層和地層連在了一起,PCB板制造完畢后又沒(méi)有檢查直接上生產(chǎn)線(xiàn)貼裝,到測試的時(shí)候才發(fā)現短路問(wèn)題,但是元器件已經(jīng)都焊接到板上了,結果造成了幾十萬(wàn)的損失。所以細心和認真的檢查,負責任的測試,不懈的學(xué)習和積累,才能使得一個(gè)硬件設計人員持續不斷的進(jìn)步。