基于龍芯2F的車載和便攜設備系統(tǒng)設計
設計了一款基于國產(chǎn)處理器龍芯2F 的嵌入式應用系統(tǒng),該系統(tǒng)主要面向車載和便攜設備。針對車載和便攜設備的特點,在芯片選擇上主要突出低功耗和穩(wěn)定性;對直流電源部分進行了優(yōu)化,提高了整個系統(tǒng)的效率;在系統(tǒng)的調試過程中,采用替代手段消除SM502芯片I2C 邏輯上的bug,使系統(tǒng)支持市場上所有類型的內存條;為使系統(tǒng)的信號完整性達到高頻電路的要求,提出了相應的設計方法和流程。
0. 引言
近年來,車載和便攜式多媒體播放設備倍受人們追捧,競相推出多種設計方案?;邶埿?F[1,2] (LOONGSON-2F )處理器的車載和便攜設備設計方案主要面向車載娛樂、超移動設備(UMD)、移動Internet 設備(MID)等高性能、低功耗嵌入式領域從事開發(fā)和生產(chǎn)的公司企業(yè)。該方案采用龍芯2F(LOONGSON-2F )處理器為控制核心,根據(jù)車載和便攜設備工作環(huán)境和特點,采用SM502 [3]多功能顯示控制芯片,它能夠支持多種媒體格式,可實現(xiàn)上網(wǎng)、看電視、錄制和播放音樂等功能;板載FLASH 和DDR2 內存,可獨立引導系統(tǒng)內核工作,利用串口作為系統(tǒng)終端。也可通過板載的通用PCI 和LOCAL BUS 總路線接口進行系統(tǒng)擴展,方便用戶進行二次開發(fā),加之CPU 使用國產(chǎn)芯片,具有功耗低、價格低廉的特性,該設計方案具有較高的應用和參考價值。
1. 龍芯2F 處理器的功能與特點
本系統(tǒng)采用的龍芯2F(LOONGSON-2F )處理器,是中國科學院計算技術研究所最新發(fā)布的一款64 位MIPSⅢ指令集的通用RISC 微處理器。該處理器在國內首個采用了90nmCMOS 設計工藝,面積為35nm2,典型工作頻率800MHz 下實測功耗為4"5W ,最高工作頻率可達1G;最高浮點運算速度為每秒40/80 億次雙/單精度浮點運算,片內集成了PCI/PCIX 等IO 控制器,并集成片上二級CACHE、DDR2 內存控制器,非常適合高端嵌入式領域。
2. 系統(tǒng)硬件結構設計
系統(tǒng)的結構框架如圖1 所示。
龍芯2F(LOONGSON-2F )處理器為整個系統(tǒng)的控制中心,并承擔所有數(shù)據(jù)的處理任務。系統(tǒng)通過ICS950220 時鐘合成器產(chǎn)生主板上各芯片所需的時鐘,同時該芯片帶有看門狗功能。系統(tǒng)內存是通過處理器內部集成的DDR2 控制器擴展,考慮到PCB 印制板的面積和訪存更高的帶寬需求,采用4 片16bit 位寬的內存顆粒方案,內存容量取決于采用顆粒的容量,最大可支持1GB 內存,其工作頻率為300MHz 。通過處理器提供的LOCAL BUS 擴展512KB Flash ROM 用于系統(tǒng)BIOS 存儲。
2.1 系統(tǒng)電源
無論是車載還是便攜設備均需需采用直流電源供電,因此,節(jié)能和和高效是電源設計的主題。圖1 的電源模塊可見,本系統(tǒng)主板采用了+5V 的直流適配器作為供電電源,供給CPU 使用的1.2V 和供給接口電路使用的3.3V 直流電源由于通過的電流比較大,均采用效率較高的開關電源。按照常規(guī)設計,供給DDR2 和SM502 使用的1.8V 電源由3.3V 電源引入,分別由兩個線性電源(LDO)產(chǎn)生,本系統(tǒng)均改成效率較高的開關電源實現(xiàn),提高了整個系統(tǒng)的效率,實測整個系統(tǒng)的功耗控制在10W 以內。
2.2 系統(tǒng)接口
1、系統(tǒng)通過多功能顯示控制芯片SM502 驅動各種接口,SM502 可通過PCI BUS 直接與處理器相連,支持2D 顯示加速,可提供:AC97 標準音頻接口(通過ALC203 芯片控制)、一個UBS1.1 接口、一個標準RS232 串口和一個調試串口(均由SP3232 芯片控制)、VGA 和LCD 顯示接口、ZV 視頻接口(由SSA7118 芯片控制)。
2、系統(tǒng)通過PCI BUS 采用RTL8139D 作為以太網(wǎng)控制芯片,提供10/100M 以太網(wǎng)接口。
3、系統(tǒng)通過PCI BUS 采用uPD720102 作為USB 控制器芯片,提供三個USB2.0 接口。其中一路USB接口通過AU6331 讀卡機控制器芯片,提供一個SD/MMC 接口。
3. 系統(tǒng)軟件
本系統(tǒng)運行在LINUX DEBIAN4.0 操作系統(tǒng)下,其內核為LINUX 2.6.21。將Bootloarder–PMON2000 燒制在板載的BIOS ROM 中,加電后自動完成處理器、緩存、內存控制器、網(wǎng)絡控制器等初始化工作。同時PMON2000 擁有少量行命令集,用于啟動后對內存的讀寫校驗、板載Flash 的擦寫、IP設置、串口設置以及跟主機之間進行數(shù)據(jù)通信,包括上傳、下傳文件、接收主機下達指令等等。通過PMON2000的內部命令將LINUX 2.6.21 內核裝入內存。
在內存條上有一個ROM,里面保存著內存大小、行地址數(shù)、列地址數(shù)、內存的bank 數(shù)等信息,這些信息可以通過I2C 總線來訪問到。作為一種通用設計方案,要求能支持各種不同類型的內存條。而在系統(tǒng)的調試過程中,我們發(fā)現(xiàn)SM502 芯片的I2C 邏輯有bug 。因此采用SM502 的gpio 來模擬I2C 時序,實現(xiàn)對內存(DIMM)條信息的讀取。并利用讀取到的信息對龍芯2F 處理器的DDR2 控制器進行配置,收到良好的效果。經(jīng)測試,目前該系統(tǒng)支持市場上的所有類型的內存條。
4.信號完整性設計
由于整個系統(tǒng)模塊電路體積較小,而電路的工作頻率較高,因此整個設計對信號的完整性有嚴格的要求。龍芯2F 處理器的DDR2 內存總路線工作頻率高達300MHz ,這部分電路是高速電路設計的一個瓶頸,對這部分電路仿真的結果基本上可以反映出整個電路信號傳輸?shù)男Ч?。下面?strong>DDR2 控制信號為例,描述該問題采取的設計方法和流程。
在實際設計中,首先利用龍芯2F 的IBIS 模型和仿真工具[4]預先確定關鍵信號的走線拓撲結構和匹配方式,由此來制定PCB 布線的約束。先提取PCB 布線前的仿真模型,通過觀察對應的仿真結果波形,可確定獲得較好信號質量的走線拓撲結構和匹配電路參數(shù)。完成PCB 布線后,再提取實際拓撲進行仿真,提取后的拓撲見圖3 所示。此時模型已包括PCB 板的疊層和阻抗控制信息,并對實際過孔進行了建模。通過調整走線并觀察仿真結果可獲得最終最佳的走線。圖4 給出了調整后的仿真結果,可以觀察到在receiver 端獲得了較好的信號質量,同時driver 端的過沖現(xiàn)象也在可接受的范圍內。最后在實際板極調試中再測量實際信號波形,通過調整匹配元件進行微調來確保實際信號質量的可靠性。實踐表明,基于這種方法和流程能減少信號完整性帶來的設計風險,降低調試難度。本文稿中所有仿真IC modeling 參數(shù)為typical,driver 的激勵信號為133MHz 周期信號。
5.小結
本文介紹了基于龍芯2F 處理器的車載和便攜設備系統(tǒng)設計過程,主要對系統(tǒng)硬件結構、軟件系統(tǒng)、信號的完整性設計、提高整機效率等關鍵技術進行了闡述。該系統(tǒng)結構緊湊,既能獨立工作又提供了靈活的擴展接口,具有很大的應用前景。