陳坤 朱君
摘? 要:憑著高集成度和可擴(kuò)展性以及使用的便利性,可編程融合芯片已廣泛應(yīng)用在眾多領(lǐng)域。為避免“卡脖子”技術(shù)難題的影響,對(duì)國(guó)產(chǎn)化替代方案進(jìn)行了硬件平臺(tái)的選型和設(shè)計(jì),并對(duì)平臺(tái)的啟動(dòng)流程和軟件開(kāi)發(fā)流程進(jìn)行了研究,最終實(shí)現(xiàn)了全國(guó)產(chǎn)化自主可控通用平臺(tái)的研制。該平臺(tái)可作為國(guó)外芯片或者CPU+FPGA通常方案的替代選擇,滿(mǎn)足工業(yè)控制、無(wú)線通信等多個(gè)領(lǐng)域的產(chǎn)品開(kāi)發(fā)需求。
關(guān)鍵詞:國(guó)產(chǎn)化;PSOC;硬件平臺(tái);模塊化
中圖分類(lèi)號(hào):TP332? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)24-0046-05
Design of a General Hardware Platform Based on Domestic PSOC
CHEN Kun,ZHU Jun
(Guangzhou Haige Communications Group Incorporated Company,Guangzhou? 510663,China)
Abstract:With high integration,scalability and ease of use,programmable fusion chip has been widely used in many fields. In order to avoid the influence of the “neck sticking” technical problems,the hardware platform selection and design of the domestic alternative scheme are carried out,and the start-up process and software development process of the platform are studied. Finally,the development of the national independent controllable general platform of industrialization is realized. The platform can be used as an alternative to the common solutions of foreign chips or CPU+FPGA to meet the product development needs of industrial control,wireless communication and other fields.
Keywords:domestic;PSOC;hardware platform;modularization
0? 引? 言
憑借著高度的集成性、靈活的可擴(kuò)展性和高性能,可編程融合芯片(PSOC)目前已廣泛應(yīng)用在工業(yè)自動(dòng)化控制、汽車(chē)駕駛輔助、醫(yī)療成像、機(jī)器視覺(jué)、無(wú)線基帶以及航空航天等眾多領(lǐng)域。但受?chē)?guó)際局勢(shì)的變化、貿(mào)易戰(zhàn)和“卡脖子”技術(shù)難題的影響,推出國(guó)產(chǎn)化的替代方案,實(shí)現(xiàn)自主可控已迫在眉睫,國(guó)內(nèi)某公司適時(shí)推出了可編程融合PSOC芯片,在單芯片上集成了高性能處理器系統(tǒng)和可編程邏輯,不僅具有FPGA的靈活和可擴(kuò)展性,同時(shí)也兼顧了專(zhuān)用芯片的性能、功耗和易用性?;谠搰?guó)產(chǎn)化PSOC芯片,本文設(shè)計(jì)了一種全國(guó)產(chǎn)化的通用硬件平臺(tái),可實(shí)現(xiàn)與國(guó)外芯片平臺(tái)的互換,并且采用模塊化設(shè)計(jì),便于產(chǎn)品快速開(kāi)發(fā)。
1? 平臺(tái)系統(tǒng)架構(gòu)
該芯片通過(guò)高速片內(nèi)總線AXI和多個(gè)互連控制信號(hào),將高性能處理器(PS)和可編程邏輯(PL)緊密耦合。四核32位高性能處理器CPU最高運(yùn)行頻率可達(dá)1 GHz,支持單精度和雙精度浮點(diǎn)運(yùn)算,具有128 kB片上啟動(dòng)BOM和256 kB片上SRAM,單核獨(dú)立擁有32 kB指令緩存和32 kB數(shù)據(jù)緩存,可外接DDR3/DDR3L/LPDDR2,具有通用存儲(chǔ)器接口,支持10/100/1 000 Mbps以太網(wǎng)和USB高速通信接口,并具有多個(gè)通用外設(shè)(2×UART,2×CAN2.0,2×I2C,2×SPI,4×32b GPIO,2×SD/SDIO)。可編程邏輯部分可提供高達(dá)350 K個(gè)邏輯單元,多種片上存儲(chǔ)器模塊和數(shù)字信號(hào)處理單元,可滿(mǎn)足多樣化的接口和系統(tǒng)設(shè)計(jì)需求。
本文選擇該芯片作為通用硬件平臺(tái)的設(shè)計(jì)核心,以此開(kāi)展芯片本身和相關(guān)功能模塊的設(shè)計(jì)。在硬件結(jié)構(gòu)上,采用核心板的模塊化設(shè)計(jì),通過(guò)高速板對(duì)板連接器與功能底板連接,可做到與國(guó)外芯片平臺(tái)核心板的直接替換。圖1是基于該芯片的通用硬件平臺(tái)系統(tǒng)框圖。
2? 平臺(tái)硬件設(shè)計(jì)
2.1? MIO管腳分配
該芯片處理器系統(tǒng)PS側(cè)I/O有128個(gè),支持HSTL 1.8 V,LVCMOS 1.8 V、2.5 V和3.3 V電平,PL側(cè)可編程I/O有100個(gè),支持1.2~3.3 V電平。根據(jù)所屬電源域不同,又可劃歸為bank500、bank501、bank502、bank34和bank35,其中PS側(cè)的復(fù)用管腳MIO0~MIO15和MIO16~MIO53分屬bank500和bank501,bank502為DDR接口專(zhuān)屬電源域,bank34和bank35為PL側(cè),各自包含24個(gè)差分對(duì)和2個(gè)單端I/O。
基于通用功能開(kāi)發(fā)需求和限于核心板面積,本文主要進(jìn)行最小系統(tǒng)設(shè)計(jì),其他相關(guān)管腳通過(guò)高速連接器全部引出,便于相關(guān)外設(shè)功能開(kāi)發(fā)。通過(guò)管腳復(fù)用表或者借助開(kāi)發(fā)軟件可完成MIO管腳的復(fù)用配置工作,表1是管腳復(fù)用分配表。
2.2? 啟動(dòng)模式
啟動(dòng)模式可通過(guò)配置MIO2~MIO8管腳的上下拉狀態(tài)來(lái)選擇,BootROM支持NAND、NOR、QSPI、SD card、JTAG啟動(dòng),本文采用常用的QSPI啟動(dòng),并預(yù)留SD卡啟動(dòng)模式,便于調(diào)試程序使用。根據(jù)啟動(dòng)模式配置表,QSPI啟動(dòng)模式下MIO[5:3]=100。MIO7和MIO8是MIO bank電壓配置位,bank500連接QSPI FLASH和EMMC芯片,這兩種芯片多是3.3 V供電,所以bank500配置為3.3 V電壓,bank501連接以太網(wǎng)PHY芯片,又可擴(kuò)展出多種外設(shè),考慮到低功耗和多種外設(shè)的1.8 V工作電壓,bank501配置為1.8 V。配置管腳如圖2所示。
2.3? 芯片選型
2.3.1? QSPI FLASH
QSPI FLASH主要存儲(chǔ)FSBL文件、裸機(jī)程序或者Uboot
文件,本文選擇兆易創(chuàng)新的32 MB QSPI FLASH GD25Q257D YFG來(lái)替換鎂光的MT25QL256ABA1EW9-0SIT,二者管腳定義相同,封裝兼容,且工作電壓均為2.7~3.6 V,支持×1、×2和×4工作模式,但二者所支持的最大時(shí)鐘頻率不同,在初始化QSPI FLASH時(shí)要注意相關(guān)參數(shù)設(shè)置。
2.3.2? EMMC
EMMC芯片主要作為QSPI FLASH的補(bǔ)充,存儲(chǔ)較大的文件,比如文件系統(tǒng)和用戶(hù)數(shù)據(jù)文件。本文選擇得一微電子的8 GB EMMC芯片GSE51BSS8GE,該芯片與常用的鎂光MTFC8GAKAJCN-4M IT封裝兼容,工作電壓均為2.7~ 3.6 V,可實(shí)現(xiàn)原位替換,并支持-40℃工業(yè)級(jí)低溫使用場(chǎng)景。
2.3.3? DDR3
DDR3芯片選用了兩片紫光國(guó)芯的HXI15H4G160AF-13K,該芯片和鎂光的MT41K256M16HA封裝兼容,單片16位512 MB容量,2片組合數(shù)據(jù)位寬32位,容量1 GB,最高運(yùn)行速度可達(dá)533 MHz。兩片DDR3芯片在PCB設(shè)計(jì)上采用fly-by拓?fù)淠J?,并在地址線和控制線上加了VTT端接阻抗匹配,來(lái)確保信號(hào)完整性。VTT電源芯片選擇了株洲電子的XC51200DZA來(lái)替換TI的TPS51200DRCT,二者封裝兼容,可直接使用。另外,該芯片的DDR管腳ZQ需要接240 Ω1%精度電阻到地,ATO管腳懸空,如圖3所示。
2.4? 電源設(shè)計(jì)
分析平臺(tái)各芯片的電源需求,共有1.0 V、1.8 V、1.5 V和3.3 V四種電壓。結(jié)合預(yù)估的最大電流值,選取株洲電子可輸出5 A平均電流的XC9618ASNA作為S400核心1.0 V電源芯片,XC9618是一款集成電感的高效率同步降壓模塊,尺寸較小5×5 mm,適合在核心板上使用,并具有外部使能控制和PG功能管腳,可配合完成系統(tǒng)的時(shí)序控制。圖4為1.0 V電源設(shè)計(jì)。
對(duì)其他三種電源最大電流進(jìn)行預(yù)估,并進(jìn)行歸一化設(shè)計(jì),選取了株洲電子X(jué)C9884QNA作為1.8 V、1.5 V和3.3 V的電源芯片。XC9884是一款集成電感的高效率同步降壓模塊,尺寸較小3×3 mm,可輸出4 A平均電流,輸出電壓范圍0.6 V~VIN,可通過(guò)調(diào)整分壓電阻輸出不同電壓,還具有外部使能控制和PG功能管腳,方便系統(tǒng)電源時(shí)序控制。另外,bank34和bank35的可編程I/O適應(yīng)寬電壓范圍,考慮到平臺(tái)通用性,VCCO_34和VCCO_35分別由兩個(gè)XC9884芯片單獨(dú)供電,默認(rèn)輸出3.3 V。圖5為VCCO_35的電源設(shè)計(jì)。
2.5? 上電時(shí)序設(shè)計(jì)
按照主芯片的電源上電時(shí)序要求,上電次序?yàn)?.0 V—1.8 V—1.5 V—3.3 V——VCCIO,本文利用電源芯片的外部使能EN管腳和狀態(tài)指示PG管腳,設(shè)計(jì)了電源上電時(shí)序,如圖6所示。
2.6? 以太網(wǎng)芯片選型及設(shè)計(jì)
以太網(wǎng)接口使用較為廣泛,本文在最小系統(tǒng)基礎(chǔ)上增加了以太網(wǎng)PHY芯片電路,以滿(mǎn)足多數(shù)項(xiàng)目的功能需求。該芯片的以太網(wǎng)控制器支持GMII、MII和RGMII等多種PHY芯片接口,但PS部分管腳有限,只支持RGMII接口。RGMII接口與Bank501的MIO16~MIO27管腳復(fù)用,Bank501電源設(shè)置為1.8 V。基于此,本文選用裕太微電子的YT8521SH作為平臺(tái)的以太網(wǎng)PHY芯片,實(shí)現(xiàn)10/100/1 000 Mbps以太網(wǎng)功能。YT8521SH芯片支持3.3/2.5/1.8 V RGMII接口電平,支持單一3.3 V電源供電,外圍器件較少,支持MDI/MDX自適應(yīng),速度自適應(yīng)等,并支持遠(yuǎn)距離400米傳輸。該芯片的工作模式、PHY芯片地址以及RGMII接口電平可通過(guò)上電配置管腳進(jìn)行設(shè)置。圖7為以太網(wǎng)芯片YT8521SH的設(shè)計(jì)圖,芯片地址配置為00001b,RGMII電平設(shè)置為1.8 V,與Bank501電平匹配。
3? 平臺(tái)啟動(dòng)流程
該芯片可以看成是有可編程邏輯做外設(shè)的四核高性能處理器,所以它的啟動(dòng)過(guò)程和傳統(tǒng)ARM處理器類(lèi)似,與FPGA啟動(dòng)完全不同。該芯片的啟動(dòng)過(guò)程主要分為三個(gè)階段:(1)階段1:芯片上電復(fù)位或者熱復(fù)位完成后,在硬件狀態(tài)機(jī)控制下,完成Bootmode pin的采樣、等待PLL穩(wěn)定、load eFuse、memory list和ROM完整性校驗(yàn)等功能,再執(zhí)行片內(nèi)BootROM中的只讀代碼;(2)階段2:BootROM代碼初始化處理器和一些外設(shè)后,通過(guò)讀取BootROM寄存器來(lái)確定啟動(dòng)設(shè)備,將啟動(dòng)設(shè)備的頭192 kbyte內(nèi)容(即first stage bootloader,F(xiàn)SBL),復(fù)制到片上OCM中(片上RAM,on-chip RAM),并將控制權(quán)交給FSBL;(3)階段3:FSBL代碼會(huì)繼續(xù)初始化處理器,將bitstream寫(xiě)入可編程邏輯,完成FPGA配置(FPGA配置也可在Linux系統(tǒng)啟動(dòng)后做),再將SSBL(Second Stage BootLoader,一般為Uboot)或者裸跑程序復(fù)制到內(nèi)存中,Uboot開(kāi)始運(yùn)行,初始化Linux啟動(dòng)環(huán)境,最后運(yùn)行Linux系統(tǒng)。
4? 平臺(tái)軟件開(kāi)發(fā)流程
該芯片集成了處理器和可編程邏輯,需要軟件設(shè)計(jì)人員和硬件設(shè)計(jì)人員協(xié)同設(shè)計(jì)開(kāi)發(fā),具體流程為:(1)在配套的工具軟件Procise上新建工程,添加和配置處理器系統(tǒng)和可編程邏輯相關(guān)外設(shè);(2)在Procise里生成頂層HDL文件,添加約束文件,編譯生成位流文件system.bit;(3)導(dǎo)出到IAR開(kāi)發(fā)平臺(tái),在其環(huán)境里編寫(xiě)用戶(hù)程序?qū)崿F(xiàn)軟硬件協(xié)同工作,并編譯生成out文件system.out和fsbl.out;(4)在Procise里將fsbl.out、system.bit、system.out幾個(gè)文件生成一個(gè)BOOT.bin文件;(5)最后把BOOT.bin文件燒寫(xiě)到FLASH中,完成軟件開(kāi)發(fā)。
5? ?結(jié)? 論
本文基于國(guó)產(chǎn)PSoC芯片平臺(tái)的設(shè)計(jì)開(kāi)發(fā),最終實(shí)現(xiàn)全國(guó)產(chǎn)化自主可控通用平臺(tái)的研制,經(jīng)過(guò)測(cè)試驗(yàn)證,可作為使用國(guó)外芯片或者CPU+FPGA通常方案的替代選擇,滿(mǎn)足工業(yè)控制、無(wú)線通信、航空航天等多個(gè)領(lǐng)域的應(yīng)用需求。
參考文獻(xiàn):
[1] 劉達(dá),李鑫,徐松艷,等.國(guó)產(chǎn)化信息處理平臺(tái)設(shè)計(jì)與實(shí)現(xiàn) [J].遙測(cè)遙控,2018,39(6):7-12.
[2] 鄧肯.基于FPGA和DSP架構(gòu)的全國(guó)產(chǎn)化通用控制接口板硬件設(shè)計(jì) [J].電子世界,2019(8):156-157.
[3] 王浩宇.基于兆芯X86架構(gòu)處理器的國(guó)產(chǎn)化CPCI主板設(shè)計(jì) [J].機(jī)電產(chǎn)品開(kāi)發(fā)與創(chuàng)新,2020,33(1):37-38+45.
[4] 劉豪.基于國(guó)產(chǎn)化軟件無(wú)線電原型系統(tǒng)研究 [J].信息通信,2019(5):162-163.
[5] 宋厚勇,周昊,王闖利.一種基于龍芯處理器的硬件平臺(tái) [J].通信與廣播電視,2018(4):43-46.
作者簡(jiǎn)介:陳坤(1985—),男,漢族,安徽阜陽(yáng)人,工程師,碩士學(xué)位,研究方向:衛(wèi)星通信,電路與系統(tǒng)設(shè)計(jì);朱君(1991—),男,漢族,江西新余人,工程師,碩士學(xué)位,研究方向:衛(wèi)星通信,嵌入式開(kāi)發(fā)。