概要:2008-03-04 | 硬件學習方法總結(jié)我認為學習硬件最重要的是抓住4個關(guān)鍵點:引腳、時序、寄存器和協(xié)議。硬件的參考資料就是數(shù)據(jù)手冊(datasheet),雖然大部分由英文寫成,但是科技英語并不象想象中那么難,而且數(shù)據(jù)...
2008-03-04 | 硬件學習方法總結(jié)
我認為學習硬件最重要的是抓住4個關(guān)鍵點:引腳、時序、寄存器和協(xié)議。硬件的參考資料就是數(shù)據(jù)手冊(datasheet),雖然大部分由英文寫成,但是科技英語并不象想象中那么難,而且數(shù)據(jù)手冊的內(nèi)容編排有規(guī)律可尋。一般,先介紹總體特點概述(賣點),順便做一下公司廣告(什么leadership一類的),然后是結(jié)構(gòu)/功能框圖、引腳說明、時序分析、寄存器說明、硬件所實現(xiàn)的具體協(xié)議(USB、PCI、E1等)、應用范例demo、直流/交流特性、封裝、訂購信息、聯(lián)系方法等,手冊里往往還會總結(jié)一些圖、表、關(guān)鍵字目錄索引,方便讀者閱讀。
------
|引腳|
------
引腳是對硬件工程師最重要的信息之一,務必將其背記下來。背下來的好處多多,基本上掃一眼圖紙就能猜出芯片是干什么用的;對一些不常用的設計技巧能馬上發(fā)現(xiàn),進而學習之;能立即指出明顯的低級錯誤;能輕易區(qū)分不同型號相同種類的芯片;有利于不斷積累硬件經(jīng)驗,熟能生巧。總之,背下引腳能大大提高工作效率,不必頻繁查書,不必中斷思路,讓精力集中在應用設計上。
面對幾百個引腳的芯片,看似無法記住,實則簡單Easy。譬如:地址線32根、數(shù)據(jù)線32根,電源5根、地線 20根,一會兒就記住了89根引腳線,然后按功能記I2C、SPI、ST-BUS、USB、JTAG等固定用法的引腳線,不管用在哪個芯片上,這些引腳種類和功能都相同,有時,只要記住功能就能把相關(guān)引腳一一背出,或者只須記住差異點即可。一旦背下一個芯片,那么與之類似的一系列芯片就都不在話下了。
萬事開頭難,一旦習慣了,隨時記住幾百個引腳的芯片也不是難事,這是專業(yè)硬件工程師的基本功。
------
|時序|
------
時序是硬件工程師獲得的另一個重要信息,務必反復咀嚼回味。時序圖可以清楚全面地展示硬件的工作過程,從中我們可以得到想要的細節(jié)。硬件設計的一大任務是抑制干擾噪聲,通過分析時序可以找到最佳的處理方法。比如:在數(shù)據(jù)的中點采樣,可以獲得前后各50%的抖動裕量;通過滿足建立/保持時間,使得數(shù)據(jù)采樣正確。
一般來說,時序圖展示的是理想情況下的位置關(guān)系,實際電路中還要受到生產(chǎn)工藝和現(xiàn)場情況的影響。比如:溫度、濕度會影響介電常數(shù),進而影響阻抗匹配。實際波形有上沖、下沖、振鈴等幅度變化;相位有超前、滯后變化;時鐘有不同步問題等等。這些問題限制了時序圖的適用范圍,使用中切記滿足前提條件。例如:PCI的突發(fā)訪問字節(jié)數(shù)在時序圖上可以做得很大,這樣傳輸效率高,但是因為生產(chǎn)工藝達不到要求,不能保證時鐘低抖動,阻抗也不能完全匹配,如果突發(fā)訪問字節(jié)數(shù)過大,會造成誤差累積,導致采樣錯誤,因此實際中一般限制在4字節(jié)以下。我們只可以把時序圖當作理論參考,切記不能過份相信,要看時序只能通過示波器和邏輯分析儀。
本來直流和交流特性不是時序內(nèi)容,但因為對時序影響較大,所以就應該配合時序一起看。
一般芯片廠商會提供DEMO板供設計參考,但DEMO就是DEMO,不能用于量產(chǎn),切記,切記!
真實波形的邊沿不能象時序圖里畫的那么陡峭。因為越是陡峭的邊沿,頻譜范圍越大,旁瓣越多,而我們需要的往往只是某個頻點。如果波形接近于正弦波,那么信號就比較“干凈”。
分析時序最好有例子,我推薦PCI和DDR(I、II)時序圖。這些圖夠復雜,夠先進,代表目前的趨勢。PCI支持軟件配置,有局部總線、接口總線、DMA、突發(fā)、總線仲裁等等,比較全面。DDR現(xiàn)在又降價了,遲早要取代SDRAM,估計也就1年左右時間。
找到芯片數(shù)據(jù)手冊就可以得到時序圖。
--------
|寄存器|
--------
寄存器大致可以分為控制、數(shù)據(jù)、狀態(tài)三種。其實就是硬件里的D觸發(fā)器外接三態(tài)總線。硬件上關(guān)心的就是地址偏移,方向(只讀、只寫、讀寫),工作原理。這樣就可以分配地址空間,對應GPIO連接,實現(xiàn)硬件時序。其實,寄存器更重要的意義是提供硬件和軟件的接口。軟件通過寄存器操作硬件,硬件通過寄存器給軟件提供信息。一般地,一組寄存器對應一個協(xié)議,可以通過協(xié)議了解寄存器功能,通過寄存器了解協(xié)議細節(jié),互相對照,學習效率高。
------
|協(xié)議|
------
目前協(xié)議非常多,PCI、USB、I2C、ST-BUS、E1、802.3等等,了解每一種協(xié)議都要花費大量時間,我建議每次了解一點,積少成多。
通常協(xié)議代表了行業(yè)標準,設計時應盡量向標準靠攏。這樣在套片選型時會擁有很大的成本優(yōu)勢。
總之,協(xié)議是硬件的抽象,硬件是協(xié)議的具體實現(xiàn)。
------
|現(xiàn)狀|
------
以前,人們常說做硬件要動手能力強,現(xiàn)在看來似乎已經(jīng)不正確了。原來焊接DIP器件,手工操作就可以了,現(xiàn)在的BGA,誰還能用手焊,即使可以,誰能保證質(zhì)量,尤其在量產(chǎn)的時候。原來的板子要求3版成功,一版原型,一版修改,一版定型?,F(xiàn)在要求一版成功,紙上作業(yè),在制板前解決所有問題。想想也是,一塊16層2.5G背板,如何飛線?如何割線?如何手工焊接?飛線肯定不行,頻率那么高,而且走線在內(nèi)部,根本沒有辦法。即使可以飛,高頻特性也會變化,無法給以后的修改提供依據(jù)。割線也不成,找不到合適位置鉆孔。手工焊接達不到質(zhì)量要求。綜上,一旦發(fā)現(xiàn)錯誤,最好就地銷毀,眼不見心不煩。
目前的現(xiàn)狀是:原理圖、PCB圖均在計算機上完成,F(xiàn)PGA用HDL語言,仿真用軟件,焊接用貼片機編程實現(xiàn)。幾乎沒有什么可以動手的地方了。另外CPU正朝多核方向發(fā)展,RISC比CISC更有前途(CISC的發(fā)熱量大的問題在沒有技術(shù)突破前無法解決,光看頻率沒用,過熱時CPU會偷偷降頻。)。

愛華網(wǎng)


