我走的電子開(kāi)發(fā)道路其實(shí)和大多數(shù)人說(shuō)的一樣,基本的路線為模擬電子(熟練)→數(shù)字電路設(shè)計(jì)(掌握)→單片機(jī)(項(xiàng)目開(kāi)發(fā))→ARM硬件設(shè)計(jì)(項(xiàng)目開(kāi)發(fā))→linux學(xué)習(xí)→linux驅(qū)動(dòng)學(xué)習(xí)→ARM&linux底層開(kāi)發(fā)(項(xiàng)目開(kāi)發(fā))→ARM&linux頂層開(kāi)發(fā)(項(xiàng)目開(kāi)發(fā))→項(xiàng)目經(jīng)理。我現(xiàn)在還在路上折騰,現(xiàn)在將我的教訓(xùn)和心得拿來(lái)給大家分享,希望對(duì)于新手有借鑒。
嵌入式設(shè)計(jì)是個(gè)龐大的工程,今天就說(shuō)說(shuō)硬件電路設(shè)計(jì)方面的幾個(gè)注意事項(xiàng),首先,咱們了解下嵌入式的硬件構(gòu)架。
我們知道,CPU是這個(gè)系統(tǒng)的靈魂,所有的外圍配置都與其相關(guān)聯(lián),這也突出了嵌入式設(shè)計(jì)的一個(gè)特點(diǎn)硬件可剪裁。在做嵌入式硬件設(shè)計(jì)中,以下幾點(diǎn)需要關(guān)注。
第一、電源確定
電源對(duì)于嵌入式系統(tǒng)中的作用可以看做是空氣對(duì)人體的作用,甚至更重要:人呼吸的空氣中有氧氣、二氧化碳和氮?dú)獾鹊呛糠€(wěn)定,這就相當(dāng)于電源系統(tǒng)中各種雜波,我們希望得到純凈和穩(wěn)定符合要求的電源,但由于各種因素制約,只是我們的夢(mèng)想。這個(gè)要關(guān)注兩個(gè)方面:
a、電壓
嵌入式系統(tǒng)需要各種量級(jí)的電源比如常見(jiàn)的5v、3.3v、1.8v等,為盡量減小電源的紋波,在嵌入式系統(tǒng)中使用LDO器件。如果采用DCDC不僅個(gè)頭大,其紋波也是一個(gè)很頭疼的問(wèn)題。
b、電流
嵌入式系統(tǒng)的正常運(yùn)行不但需要穩(wěn)定足夠的電源,還要有足夠的電流(其實(shí)就是功率達(dá)到要求),因此在選擇電源器件的時(shí)候需要考慮其負(fù)載,我設(shè)計(jì)時(shí)一般留有30%的余量。
如果是多層板,電源部分在layout的時(shí)候需電源分割,這時(shí)需要注意分割路徑,盡量將一定量的電源放置在一起。如果是雙面板,則走線寬度需要注意,在板子允許的情況下盡量加寬。合適的退耦電容盡量靠近電源管腳。
第二、 晶振確定
晶振相當(dāng)于嵌入式系統(tǒng)的心臟,其穩(wěn)定與否直接關(guān)系其運(yùn)行狀態(tài)和通訊性能。常見(jiàn)的振有無(wú)源晶振,有源晶振,首先要確定其振蕩頻率,其次要確定晶振類(lèi)型。
a、無(wú)源晶振
其匹配電容和匹配電阻的選擇,這部分一般依據(jù)參考手冊(cè)。在單片機(jī)設(shè)計(jì)中,經(jīng)常使用插件晶振配合瓷片電容。在ARM中,為了減少空間和便于布線,經(jīng)常使用四角無(wú)源晶振配合貼片電容。雖然我們對(duì)于固定晶振的匹配電路比較熟悉,但是為了達(dá)到萬(wàn)無(wú)一失,還是要看參考手冊(cè)確定電容大小,是否需要匹配電阻等細(xì)節(jié)。
b、有源晶振
具有更好的更準(zhǔn)確的時(shí)鐘信號(hào),但是相比之下,比無(wú)緣晶振價(jià)格高,因此這也是在硬件電路設(shè)計(jì)中需要關(guān)注的成本。
在做電路板設(shè)計(jì)時(shí)需要注意晶振走線盡量靠近芯片,關(guān)鍵信號(hào)遠(yuǎn)離時(shí)鐘走線。在條件允許的情況下增加接地保護(hù)環(huán)。如果是多層板,也要講關(guān)鍵信號(hào)遠(yuǎn)離晶振的走線。
第三、 預(yù)留測(cè)試IO口
在嵌入式調(diào)試階段,在管腳資源豐富的情況下,我通常預(yù)留一個(gè)IO口連接led或者喇叭,為下一步軟件的編寫(xiě)做鋪墊。在嵌入式系統(tǒng)運(yùn)行過(guò)程中適當(dāng)控制該IO接口,從而判斷系統(tǒng)是否正常運(yùn)行。
第四、外擴(kuò)存儲(chǔ)設(shè)備
一個(gè)嵌入式系統(tǒng)如果有電源、晶振和CPU,那么這就是我們熟悉的最小系統(tǒng)。如果該嵌入式系統(tǒng)需要運(yùn)行大點(diǎn)的操作系統(tǒng),那么不但需要CPU具有MMU,CPU還需要外接SDRAM和NANDFLASH。如果該cpu具有SDRAM和NANDFLASH控制器,那么在硬件設(shè)計(jì)上不用過(guò)多的考慮地址線的使用。如果沒(méi)有相關(guān)的控制器,那么需要注意地址線的使用。
這部分在LAYOUT的時(shí)候是一個(gè)重點(diǎn),究其原因就是要使相關(guān)信號(hào)線等長(zhǎng)以確保信號(hào)的延時(shí)相等,時(shí)鐘和DQS的差分信號(hào)線走線。在布線的時(shí)候各種布線技巧需要綜合使用,例如與cpu對(duì)稱分布,菊花鏈布線、T型布線,這都需要依據(jù)內(nèi)存的個(gè)數(shù)多少來(lái)進(jìn)行選擇,一般來(lái)說(shuō)個(gè)數(shù)越多,布線越復(fù)雜,但是知道其關(guān)鍵點(diǎn),一切迎刃而解。
第五、功能接口
一個(gè)嵌入式系統(tǒng)最重要的就是通過(guò)各種接口來(lái)控制外圍模塊,達(dá)到設(shè)計(jì)者預(yù)設(shè)的目的。常用的接口有串口(可用來(lái)連接藍(lán)牙,wifi和3G等模塊),USB接口、 網(wǎng)絡(luò)接口、JTAG接口、音視頻接口、HDMI接口等等。由于這些接口與外部模塊連接,做好電磁兼容設(shè)計(jì)是重要的一項(xiàng)工作。除此之外,在LAYOUT的時(shí)候注意差分線的使用。
第六、屏幕
這個(gè)功能之所以單獨(dú)列出來(lái),是由于其可有可無(wú)。如果一個(gè)嵌入式系統(tǒng)只是作為一個(gè)連接器連接外圍設(shè)備模塊,通過(guò)相關(guān)接口連接到電腦主機(jī)或者直接掛在網(wǎng)絡(luò)上,那么屏幕就不需要了。但是如果做出來(lái)的是一個(gè)消費(fèi)類(lèi)產(chǎn)品,與用戶交互頻繁,這就不得不嘮叨幾句。
電容屏幕是嵌入式屏幕的首選,在電路設(shè)計(jì)中需要注意觸屏連接線和顯示屏連接線的布局。在走線的過(guò)程中盡量短的靠近主控cpu,同時(shí)注意配對(duì)信號(hào)走差分線,RGB控制信號(hào)走等長(zhǎng)。各種信號(hào)走線間距遵循3W規(guī)則,避免相互干擾。 在屏幕的設(shè)計(jì)中,一定要確保功率和防止干擾,以防屏幕閃屏和花屏現(xiàn)象的出現(xiàn)。
以上就是我做嵌入式板子設(shè)計(jì)中的一些經(jīng)驗(yàn),有些經(jīng)驗(yàn)是經(jīng)過(guò)沉痛教訓(xùn)獲得的。希望對(duì)你有所啟發(fā)。