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