王浩宇
(四川省綿陽西南自動化研究所, 四川 綿陽 621000)
根據(jù)統(tǒng)計數(shù)據(jù)顯示自2013 年起集成電路已超過原油成為我國第一大進口商品,至2018 年集成電路進口規(guī)模已超3000 億美元。 其中CPU 及存儲器兩類占70%份額。 處理器以Intel、AMD 的X86 架構(gòu)為主。
X86 架構(gòu)處理器以其強大的性能、友好的人機交互、良好的軟硬件生態(tài)環(huán)境優(yōu)勢被廣泛地應用于個人計算機、工業(yè)控制、黨政辦公系統(tǒng)、軍用計算機等領(lǐng)域。
隨著我國的快速崛起,國際形勢也隨之變化,而我國對國外以處理器為代表的集成電路的高度依賴, 導致在該領(lǐng)域有隨時被“卡脖子”的可能,嚴重威脅到國家的安全戰(zhàn)略。
目前國內(nèi)通過IP 授權(quán)的方式取得X86 處理器研制生產(chǎn)的廠商有兩家, 分別是兆芯及海光。 從而實現(xiàn)X86架構(gòu)處理器國產(chǎn)化。
本文對基于兆芯X86 處理器并搭載外圍國產(chǎn)化電路實現(xiàn)全國產(chǎn)化的一款CPCI 工控主板實現(xiàn)方案進行介紹。
兆芯X86 處理器自2015 年第一款ZX-C 系列處理器量產(chǎn)以來, 經(jīng)過4 年的積累, 產(chǎn)品迭代, 最新處理器ZX-E 系列已可對標7 代I5 桌面版。
兆芯處理器廣泛地應用于安可系統(tǒng)、銀行系統(tǒng)、黨政辦公系統(tǒng)等專用領(lǐng)域。 兆芯公司同時擁有CPU、芯片組及GPU 的IP,其硬件生態(tài)比較完整。 昆侖、百敖及AMI 均能對兆芯處理器進行BIOS 支持。
目前兆芯處理器分為開先及開勝兩條產(chǎn)品線。 開先應用于PC 機、筆記本、工業(yè)控制及嵌入式等領(lǐng)域,開勝主要應用于服務(wù)器、存儲等領(lǐng)域。 考慮到本主板的應用方向選擇了開先處理器。 開先處理器包括ZX-C、ZX-C+、KX-5000 及KX-6000 四大系列。 本文選擇功耗、性能較為均衡且支持XP 操作系統(tǒng)的ZX-C+處理器C4701,并搭載橋片ZX100S。
如圖1 所示本主板以兆芯處理器C4701 加橋片ZX-100S 搭建最小系統(tǒng),并在外圍搭配接口芯片擴展出以太網(wǎng)接口、串口、USB 接口、VGA 顯示等,實現(xiàn)系統(tǒng)間數(shù)據(jù)交互及人際交互等功能, 通過PCIE to PCI 橋擴展出一路PCI 總線實現(xiàn)系統(tǒng)內(nèi)部數(shù)據(jù)傳輸。
圖1 主板系統(tǒng)框圖
兆芯平臺的電源設(shè)計主要包含兩個方面, 第一是時序設(shè)計、第二是CPU 核電源設(shè)計。 下面分別對上述兩點進行說明。
2.1.1電源時序設(shè)計
本設(shè)計中有嚴格時序要求的是處理器C4701 及橋片ZX-100S。 其中處理器僅3 路電源VCC、VCCA 及VCCP,上電時序要求為VCCA 與VCCP 同時上電,VCCA 與VCCP 在VCC 之前或者一起上電。 在本文中選擇VCCP 及VCCA 先于VCC 上電。
ZX-100S 電源多大13 種,上電時序較為復雜,其時序如圖2 所示。
圖2 ZX-100S 上電時序圖
2.1.2 CPU核電源設(shè)計
本文設(shè)計一片國產(chǎn)PWM 信號調(diào)試器PT9528 替換ISL6262。 PT9528 與ISL6262 指標一致, 封裝及信號定義PIN TO PIN 兼容。在外圍電路存在差別,具體如圖3 所示。
ZX-100S 集成兩個64bit DDR3 控制器,最高帶寬可達1600MT/s。 本文通過其中一路通道擴展2GB 板載內(nèi)存顆粒,另一通道引出一路SO-DIMM 內(nèi)存接口。
圖3 處理器核電源電路圖
內(nèi)存設(shè)計中較為重要的是時序控制及阻抗控制。 其約束條件如下:
表1
ZX-100S 集成了19 條高速收發(fā)LAN,最高可配置為6 個PCIE 端口。 該配置在BIOS 中實現(xiàn)。 本文中配置出3路X1 PCIE 接口加1 路X2 PCIE 接口擴展出1 路PCI 總線及3 路10/100/1000M 以太網(wǎng)接口。 其中X2 接口可作為1 路X1 接口使用。
本文中選用PCIE TO PCI 橋片SM8122 實現(xiàn)PCI 總線的擴展。 由于SM8112 僅支持4 路仲裁信號,擴展出7路標準PCI 外設(shè)則需要增加仲裁信號。 增加仲裁信號有兩種方式,第一是通過CPLD 實現(xiàn)外部仲裁器,第二是使用一片PCI TO PCI 橋片SM2050 實現(xiàn)仲裁信號的擴展。本文采用CPLD 實現(xiàn)外部仲裁器的方式擴展仲裁信號。
以太網(wǎng)控制器選擇JEM82573。
ZX-100S 集成了4 路UART 接口,本文中使用串口0及串口1 連接RS232 物理芯片SM3232 擴展出兩路RS232 接口。串口3 作為調(diào)試接口,在調(diào)試階段可在BIOS代碼中控制輸出調(diào)試信息,提高Debug 效率。
BIOS 在X86 體系中作為軟硬件連接的橋梁,其地位無可替代。 圖4 是基于UEFI 協(xié)議的BIOS啟動流程。 UEFI 架構(gòu)的平臺開機由POWERON 開始經(jīng)歷SEC、PEI、DXE、BDS、OS Loader 以及RUNTIME 五個階段。
圖4 BIOS 啟動流程圖
SEC 階段:平臺開機后即進入SEC Phase,此階段完成從實模式到保護模式的轉(zhuǎn)換,完成內(nèi)存的初始化,為后續(xù)C 代碼的運行提供環(huán)境。
PEI 階段:PEI Phase 會找到BIOS 中所有的PEIM 并根據(jù)dependency 來安排調(diào)用他們的順序, 這些PEIM 主要完成PCI 總線, 南北橋設(shè)備的基本初始化, 創(chuàng)建一個HobList 傳輸給DXE Phase。 最后調(diào)用DxeIpl 進入DXE Phase。
DXE 階段:DXE Phase 包含DXE Core,DXE Dispatcher,DXE Driver,DXE Core 會 根 據(jù)Dependency 用DXE 調(diào)度器安排DXE 驅(qū)動的執(zhí)行順序。 此階段用來初始化平臺并啟動OS 提供一些必要的服務(wù)。
BDS 階段:BDS Phase,即啟動設(shè)備選擇階段,此階段會初始化好控制臺設(shè)備,并且裝載所有Driver,并初始化好啟動順序,并選擇默認啟動項進行啟動。
OSLoader: 系統(tǒng)裝載器, 主要任務(wù)是執(zhí)行一個Exit-BootServices()的服務(wù),來結(jié)束BDS Phase,并把系統(tǒng)控制權(quán)交給OS, 此后BootServices 將無效, 只有RuntimeServices 可以使用。
Runtime Phase:OS 掌控整個系統(tǒng), 此時UEFI OS 將只能使用UEFI 提供的RuntimeSerivices,而不能使用UEFI 的BootServices。
本文中提出一種基于兆芯公司X86 處理器的全國產(chǎn)化CPCI 主板解決方案。 可在工控、軍用嵌入式計算機實現(xiàn)對基于INTEL 處理器的CPCI 主板實現(xiàn)軟硬件無縫、快速替代。 消除“卡脖子”戰(zhàn)略安全隱患。