實踐經(jīng)驗分享嵌入式系統(tǒng)開發(fā)
模塊化設計的一個重大優(yōu)勢就是能夠針對某些需求使用商用現(xiàn)成的模塊。商用現(xiàn)成(COTS)模塊讓我們能夠以更快的速度開發(fā)系統(tǒng),因為借助 COTS,我們能夠把我們的工作重點放在項目從我們的專業(yè)能力產(chǎn)生的增值中獲益最大的部分上。
系統(tǒng)電源架構(gòu)是一個需要縝密思考的的設計方面。許多嵌入式系統(tǒng)會要求隔離 AC/DC 或 DC/DC 轉(zhuǎn)換器來確保嵌入式系統(tǒng)的故障不會擴散。圖 2 顯示的是電源架構(gòu)的示例。來自該模塊的輸出軌需要二級調(diào)整來為處理內(nèi)核和轉(zhuǎn)換裝置提供電壓。我們必須仔細防范這些階段發(fā)生嚴重的開關損耗和效率下降。因為效率降低意味著系統(tǒng)熱耗散增大,如果不正確解決就會影響單元的可靠性。
我們必須仔細了解使用的線性調(diào)整器的行為以及在電源線上進行進一步濾波的要求。這一要求的原因是 FPGA 和處理器等器件的開關頻率遠遠高于線性調(diào)整器的控制環(huán)路所能應對的水平。隨著噪聲頻率提高,線性調(diào)整器的噪聲抑制能力下降,導致需要采用額外的濾波和去藕技術。如果不了解這一關系,會造成混合信號設備出現(xiàn)問題。
另一個重要的考慮因素是時鐘和復位架構(gòu),尤其是在有多個需要同步的開發(fā)板的情況下。在架構(gòu)層面我們必須考慮時鐘分配網(wǎng)絡:我們是否在跨多個開發(fā)板扇出單個振蕩器,或是使用多個頻率相同的振蕩器?為確保時鐘分配的穩(wěn)健可靠性,我們必須考慮:
振蕩器啟動時間。我們必須確保在整個時間周期內(nèi)激活復位(如果需要)。
振蕩器歪斜。如果我們要在跨多個開發(fā)板扇出振蕩器,時序是否至關重要?如果是,我們需要考慮線路卡上的歪斜(連接器引起的)和緩沖器自身引起的歪斜。
振蕩器抖動。如果我們在開發(fā)混合信號設計,我們需要確保使用低抖動時鐘源,因為抖動的增大會降低混合信號轉(zhuǎn)換器的信噪比。在我們使用千兆位級串行鏈路時情況也是一樣,因為我們需要使用低抖動時鐘源在鏈路上取得良好的誤碼率。
我們也必須注意復位架構(gòu),確保只在需要的地方使用復位。例如基于 SRAM 的 FPGA 一般不需要復位。
如果我們在使用復位的異步激活,我們需要確保移除它不會導致亞穩(wěn)態(tài)問題。
清晰定義接口
內(nèi)外部接口的正式文檔在機械、物理和電氣層面為各個接口提供清晰的定義,以及協(xié)議和控制流。這些正式文檔也往往被稱為接口控制文檔 (ICD)。當然最好是盡量使用標準通信接口。
接口定義最重要的一個方面是外部接口的“連接化”。這個過程考慮了所需連接器的引腳分配,連接器引腳的額定功率以及所要求的插拔次數(shù),以及任何對屏蔽的要求。
在我們?yōu)槲覀兊南到y(tǒng)考慮連接器類型的時候,我們應確保不會因為在子系統(tǒng)中使用相同類型連接器而造成不利的交叉連接。通過使用不同類型連接器或采用不同的連接器鍵位(如果支持),我們就能夠避免交叉連接的可能性。
連接化是我們開始使用之前確定的預算要求的首個方面之一。特別是我們可以使用串擾預算來指引我們定義引腳分配。圖 3 所示的例子說明了這一流程的重要性。重新安排引腳分配,將接地基準電壓 (GND) 引腳布局在信號 1 和信號 2 之間,可以降低互感以及由此引發(fā)的串擾。
圖 3:連接化是接口定義最重要的特征之一。
接口控制文檔 (ICD) 必須對系統(tǒng)接地進行定義,尤其是在項目要求外部 EMC 的時候。在這種情況下,我們必須小心避免讓有噪聲的信號地產(chǎn)生輻射。
工程師和項目經(jīng)理掌握著一系列策略,以確保他們交付的嵌入式系統(tǒng)能夠滿足質(zhì)量、成本和調(diào)度要求。不過當項目遇到困難時,我們可以確信在項目不發(fā)生重大變化的情況下其此前的性能是其未來性能的良好提示。
評論