推出自己的基于x86的定制嵌入式系統(tǒng)(二)
個好的解決方法是將時(shí)鐘信號或電源上升時(shí)的其它切換信號傳遞給外部連接器并通過通道盒。運(yùn)用這種信號ored和監(jiān)視點(diǎn)信號來刷新看門狗電路。 通常只有開發(fā)和服務(wù)人員才可以進(jìn)入bios設(shè)置屏幕或編寫新的bios版本。這時(shí),訪問盒將與外部連接器連接,而看門狗定時(shí)器則不會終止。確定要設(shè)定足夠長的看門狗定時(shí)器斷開時(shí)間,這樣系統(tǒng)有就足夠的時(shí)間導(dǎo)入,而且更高級別的應(yīng)用軟件也就可以在終止前啟動。 內(nèi)存的問題 特別地,基于x86的系統(tǒng)是采用dimm內(nèi)存作為主系統(tǒng)內(nèi)存,并運(yùn)轉(zhuǎn)介質(zhì)硬盤。嵌入式系統(tǒng)通常要求有一定的可靠性,dimm和標(biāo)準(zhǔn)的硬盤也許經(jīng)不起激烈的震動、搖擺和其它環(huán)境要求。dimm同時(shí)還包含了spd eeprom,其中包括了內(nèi)存大小、定時(shí)和北橋的緩沖器強(qiáng)度信息。因此這里存在兩個問題。 其一,如果對震動和搖擺有嚴(yán)格要求的話,不大可能采用dimm內(nèi)存,而且系統(tǒng)內(nèi)存必須直接置于pc主板中,以增強(qiáng)系統(tǒng)的堅(jiān)固性。用這種方法,設(shè)計(jì)工程師就不能運(yùn)用intel推薦的適用于dimm內(nèi)存的布局和走線準(zhǔn)則。我們在這個100mhz的重負(fù)載地址和數(shù)據(jù)總線上做了信號完整性分析,以決定最佳走線拓?fù)洹?圖3)
其二,你可以為自己的系統(tǒng)自定義bios以硬啟動spd數(shù)據(jù)。 不過這需要一個定制的bios,而且如果你的主板支持多重內(nèi)存架構(gòu),它會變得不靈活。最好是只在pc主板添加小的串行spd efprom于pc主板中。這樣,你就在內(nèi)存構(gòu)建或速度改變時(shí)可以改變spd數(shù)據(jù),避免高成本且繁瑣的bios升級。intel技術(shù)支持提供了一個程序(spd_chk),它能以更具用戶友好和可讀性的格式來顯示spd數(shù)據(jù)?! g>對于苛刻的外界環(huán)境,最好還是對運(yùn)用閃存技術(shù)的硬盤做些研究。不過它們在性能上受到限制,而且也非常昂貴。別去想當(dāng)然需要閃存和一些擁有更好的震動和搖擺性能的介質(zhì)旋轉(zhuǎn)硬盤,我們目前使用的硬盤已經(jīng)滿足了我們的要求。在我們的應(yīng)用中,還需要有兩張cf卡,這兩張卡是連接到南橋上的兩個ata/66接口的。cf卡可以用接地管腳9(ata_sel)通過實(shí)ide模式來構(gòu)造。有了這個實(shí)ide模式,cf卡可很容易地連接到ata/66接口上。對于一些應(yīng)用來說,cf卡完全可以替代硬盤。 bios是存儲在名為固件中心的閃存中。這個器件同樣包含了四個gpio和一個多用途的輸入端口。這些gpio管腳可以用來在bios之間來回傳送或接收信息。如果要用到這些,先和你的bios供應(yīng)商討論一下相關(guān)細(xì)節(jié)。在這里,當(dāng)系統(tǒng)執(zhí)行快速或緩慢導(dǎo)入時(shí),輸入端口是由更全面的電源上升測試所控制的。同樣地,bios可以控制這些gpio管腳以啟動某個硬盤,或者bios可以讀取它們來執(zhí)行或繞過某些bios功能。 電池的問題 當(dāng)系統(tǒng)關(guān)閉時(shí),所有基于x86的系統(tǒng)都是用電池來維持實(shí)時(shí)時(shí)鐘和bios設(shè)置的。不過,有些嵌入式系統(tǒng)并不允許裝入電池。 當(dāng)電源拔除時(shí),如果系統(tǒng)時(shí)鐘和bios設(shè)置變更不需要保存,電池也就并非絕對需要。即使你沒有使用時(shí)鐘功能,rtc信號也是不可能只是升高和降低。32.768khz的時(shí)鐘信號必須顯示出來,否則南橋永遠(yuǎn)也無法確定其pci是否重起輸出,而且整個系統(tǒng)也會在重起中死機(jī)。 同時(shí),在開、關(guān)循環(huán)中丟失bios更改信息通常不是什么故障。bios商家一般會提供一個實(shí)用程序,讓設(shè)計(jì)工程師可以改變bios的默認(rèn)設(shè)置。如果那些bios設(shè)置需要總是改變,你可以用這個實(shí)用程序創(chuàng)建含有新默認(rèn)值的新bios,而且不需麻煩bios商家就可以重新編寫bios。 其它注意事項(xiàng) ng>如果你的系統(tǒng)要求對傳統(tǒng)x86體系進(jìn)行根本性改變,之前你就得與bios提供商討論這些變更。我們的bios商家給了我們一個詳細(xì)的清單,上面列出了系統(tǒng)芯片組、外設(shè)和端口的詳細(xì)信息。同時(shí)還有一個描述“非標(biāo)準(zhǔn)的”功能的章節(jié),有時(shí)候可能會不是很明了。因此,當(dāng)決定要對某些架構(gòu)進(jìn)行變更時(shí),最好一開始就找bios提供商。 不要認(rèn)為所有的東西都是標(biāo)準(zhǔn)的。相反的,研究一下自己系統(tǒng)的需求。這樣,商家可以幫助鑒定bios中不尋常的東西。如果系統(tǒng)有很多額外的要求,按照系統(tǒng)開發(fā)商所控制的獨(dú)立bios規(guī)范將它們記錄下來。這樣,每個人都可以了解到bios的要求,而且也可以很清楚地確定升級 intel還在其設(shè)計(jì)準(zhǔn)則中提供了一些源于815芯片組的不同參考設(shè)計(jì)指南。雖然在設(shè)計(jì)當(dāng)中會很想依賴它們,但最好只將它們用于輔助了解高級體系和主要接口。這些參考設(shè)計(jì)并不能考慮自己系統(tǒng)的特定環(huán)境或電磁兼容性要求。此外,去耦電容器、電源拓?fù)浼斑^濾并不涉及系統(tǒng)的任何特定方面。系統(tǒng)有一個epga和ati視頻控制器,它們有自己的上電序列要求。更甚者,intel設(shè)計(jì)指南中也建議了線寬和控制阻抗要求,這對于你的主板來說都是獨(dú)一