基于龙芯3A3000处理器的COMe核心模块设计与实现
2019-08-27郭敏运琛
郭 敏 运 琛
(西安电子工程研究所 西安 710100)
0 引言
随着中美贸易摩擦愈演愈烈,应用于核心产品中的国外关键器件很多被禁运,加上国内电子计算机安全性意识的日益提升,自主可控的国产化平台的需求也越来越多。国产化平台由于起步晚、生态圈不够完善、技术相对薄弱,使得国产化产品研制阶段耗费的时间周期长,物料费用和人力资源较高;而大多国产化平台硬件以单板设计方案为主,可靠性能较低,不易维修、更换,保障力度不够。基于龙芯3A3000处理器的COMe核心模块,是采用龙芯3A3000处理器+龙芯7A1000桥片架构,遵循COMeTYPE6硬件标准设计,为国产化计算机提供通用化、组合化、模块化设计理念[1]。本文阐述了龙芯3A3000核心模块的设计原理和实现方案。
1 龙芯处理器简介
龙芯3A3000处理器是一个配置为单节点4核的处理器[2],宽温工业级的主频最高为1.2GHz,主要技术特征如下:
1)片内集成4个高性能能处理器核;
2)共享8MB三级缓存;
3)集成2个64位带ECC、800MHz的DDR3控制器,用于内存扩展;
4)集成2个16位2.4GHz的HyperTransport控制器,简称HT,用于处理器和桥片之间通讯;
5)集成1个32位PCI、1个LPC、2各UART、1个SPI和16各GPIO接口。
2 COMe标准简介
COMe标准,全称为COM Express® Module Base Specification,是一种开放式的模块化计算机行业标准,提供了一系列从传统并行接口如PCI、PATA等,过渡到串行低电压差分接口(LVDS)如PCIE、SATA等电气和机械规范[3]。以此标准形成的计算机模块具有模块化、通用化等特点,便于更新迭代、更换维修,广泛应用于医疗、工业、国防和政府相关的计算机、机器人和系统中。根据模块的功能和用途,可将COMe区分为TYPE1、TYPE10、TYPE2、TYPE3、TYPE4、TYPE5和TYPE6架构。其中TYPE6作为COMe标准的新增架构,其功能和性能最为典型,具体功能如下:
1)双220芯连接器,(A-B和C-D,共440pin);
2)最多8路USB 2.0端口,4个共享的过流检测信号;
3)最多4路USB 3.0端口;
4)最多4路SATA接口;
5)最多24路 PCIE接口,其中基于PCIE的图形PEG占用16个,剩余8个PCIE X1接口;
6)最多2路外扩卡支持引脚;
7)1路双通道LVDS视频接口;
8)1路VGA接口;
9)最多3路数字视频输出接口;
10)1路AC97/HDA数字音频接口(需要外接编解码器);
11)1路带有集成PHY的千兆网接口;
12)1路LPC接口;
13)1路SPI接口;
14)8个GPIO管脚;
15)模块连接器引脚上的最大输入功率为137W;
16)+12V主电源输入;
17)+5V待机和3.3V RTC电源输入。
3 核心模块设计
3.1 结构设计
如图1所示,龙芯3A3000核心模块遵循COMe标准TYPE6架构设计,利用核心模块上440芯接口连接器将接口引入载板。TYPE6定义模块可选择Extended(155mm×110mm)、Basic(125mm×95mm)和Compact(95mm×95mm)三种机械结构,为减小核心模块占用空间,龙芯3A3000核心模块采用Compact机械结构设计。
图1 3A3000核心模块机械结构
如图2所示,核心模块与载板、散热器呈Tower式堆叠,便于载板的接口扩展更新和核心模块维护。载板上先安装5mm或8mm核心模块螺柱,通过核心模块440-pin 连接器限位固定核心模块,再安装散热器螺柱和散热器。在设计载板时,根据载板元器件摆放密度和高度选择核心模块螺柱和载板连接器,有5mm和8mm两种可选(默认安装8mm)。核心模块板厚2mm,CPU、桥片、电源芯片与散热器对应的凸台之间填涂导热硅脂,电源电感器与散热器对应的凹槽之间填充导热硅胶垫。散热器对外设计为被动式导热形式,顶部与机箱导热面之间填涂导热硅脂进行热传导。如果在机箱空间允许的情况下,也可将散热器设计为风冷或液冷,以达到更好的散热效果。
图2 3A3000核心模块堆叠图示
3.2 主要电路设计
如图3所示,龙芯3A3000核心模块采用龙芯LS3A3000处理器,预设计8片512MB国产化DDR3 SDRAM(供应厂家为紫光国芯),共计4GB。
桥片组采用LS7A1000桥片,单片芯片提供南北桥功能,用以替代先前AMD的RS780+SB710桥片组合[4]。龙芯3A3000核心模块上除了DDR3和LS3A3000的调试接口,其他大部分外设均由桥片LS7A1000提供。桥片LS7A1000主要特征如下:
1)16位HT接口,用于与处理器之间通讯;
2)内置图形处理器,2个DVO显示接口;
3)16位DDR3 显存接口;
4)3个PCIE×8接口,2个PCIE×4接口;
5)3个SATA 2.0接口;
6)2个RGMII接口;
7)HDA音频接口;
8)RTC、UART、I2C、LPC、SPI、GPIO等通用接口;
9)支持ACPI管理。
图3 核心模块电气框图
不同于以往COMe Compact模块,龙芯3A3000核心模块对外提供2路千兆网络。桥芯片LS7A1000自身的2路GMAC通过RGMII接口连接到以太网物理芯片AR8031,完成以太网接口转换。2路以太网信号其中1路遵循TYPE6定义,另1路占用TYPE6原USB3.0定义的接收信号。
龙芯3A3000核心模块的DVO接口通过桥片7A1000连接LVDS转换芯片THC63LVD827和VGA接口芯片ADV7125来实现2-CHANNEL LVDS和VGA图像信号。显示最大支持至1920×1080 @60Hz。LS7A1000桥片设计1片 16位512MB DDR3 SDRAM,用作桥片内部图形处理器的显存。
龙芯3A3000核心模块通过LPC连接嵌入式控制器IT8528,完成1路SMBUS、2路UART、风扇的控制和检测、核心模块上电源电压检测等工作。
遵循COMeTYPE6定义标准,龙芯3A3000核心模块对外提供3路SATA2.0接口、6路USB2.0接口、1路HDA音频接口、1路SPI接口、1路I2C接口、1路串口接口。核心模块LS7A1000桥片内部集成了5组PCIE控制器F0、F1、G0、G1、H,在产品设计时,通过更改桥片PCIE配置,将5组控制器设置成6路×1 PCIE2.0接口(F0设置4路,F1设置2路)、2路×4 PCIE2.0接口(G0设置2路)和2路×8 PCIE2.0接口(G1和H各设置1路)。由于原COMeTYPE6定义标准中没有PCIE ×4和×8的输出定义,龙芯3A3000核心模块在设计时,将2路×4 PCIE信号接在原COMeTYPE6的DDI 1~4输出上,2路×8 PCIE信号接在原COMeTYPE6的PEG ×16上。以上对外接口可用作硬盘、人机交互、声卡和其他通讯扩展。
为方便调试跟踪,龙芯3A3000核心模块在设计在设计时,将3A3000和7A1000的JTAG和调试串口接在了原COMeTYPE6 C段和D段的缺省管脚(RSVD)。如表1所示,除了将USB3.0、DDI1~4、PEG×16和部分GPIO更改为GBE、2路×4 PCIE、2路×8 PCIE和其他IO,其余信号和电源接口完全遵循COMeTYPE6定义标准设计。
表1 定义变更一览表
序号原TYPE6定义更改后定义备注1USB3.0 0~3 接收GBE22USB3.0 0~3 发送GBE2的LED、GPIO3DDI1~3×4 PCIE ×24PEG×8 PCIE ×25C、D部分RSVD3A3000、7A1000的JTAG、调试串口6PCIE6、PCIE7、SATA3悬空缺省
3.3 时钟设计
如图4所示,龙芯3A3000核心模块处理器需要外部提供系统时钟25MHz、内存时钟33MHz、HT单端时钟100MHz、HT差分时钟200MHz和PCI时钟33MHz(因涉及到其他接口工作,PCI接口时钟必须有外部时钟供给),其中系统时钟、内存时钟和HT单端时钟由桥片7A1000提供,PCI时钟和HT差分时钟由外部时钟提供。CPU的HT总线时钟可在BIOS中选择是单端100MHz还是差分200MHz。
图4 主要时钟框图
核心模块上桥芯片LS7A1000外部100MHz单端时钟做为桥芯片的主要时钟,通过100MHz时钟的倍频、分频,生成25MHz、33MHz、100MHz时钟供给CPU;其次为了桥芯片上HT、LPC、RTC、PCIE、SATA和USB等模块工作正常,通过外部时钟和晶振,向桥芯片各模块供给[5]。桥芯片HT总线参考时钟为差分200MHz,与CPU共用一个多路输出的差分时钟源PI6C557。PCIE的F0、F1、G0、G1、H,和SATA的0、1、2通道,COMeTYPE6 Compact 定义PCIE基准时钟均为100MHz,采用单路差分时钟输入+10路时钟缓冲器输出的组合完成时钟分路,时钟缓冲器选用SILICON LABS的SI53321。
3.4 ACPI管理设计
如表2所示,龙芯3A3000核心模块遵循COMeTYPE6定义标准,延续TYPE6的ACPI电源和系统管理模式。ACPI的电源和系统管理输入输出管脚大部分是从桥片组7A1000的ACPI管理模块中引出,SLEEP管脚接在EC的GPIO上,再通过LPC向桥片发送进入S3或跳出S3状态指令。龙芯3A3000核心模块设计电源和系统管理,使得核心模块同个人计算机一样具备电源开关机、休眠/唤醒、重启、合盖关屏、系统挂起等功能。
表2 电源和系统管理信号一览表
3.5 状态监测设计
龙芯3A3000核心模块自己具备状态检测功能。核心模块上EC通过内部ADC对板上主要电源进行采样分析,对板上主要电源电压进行监控;EC通过I2C接口外扩温度传感器,温度传感器在LAYOUT时安装在CPU、桥片和主要电源周边,对器件温度进行监控。若核心模块上某电源电压或某芯片温度超标,EC通过LPC与桥片和CPU通信,向操作系统发出关机指令,从而保护核心模块和载板。此外,龙芯3A3000核心模块上EC的SMBUS接口对外提供,除了通信,还可以做为载板状态管理的监控接口。
4 关键技术设计
4.1 电源设计
如图5所示,龙芯3A3000核心模块由于处理器、桥片组和部分外设模块需要的电源种类很多,而且在不同状态下电源应用情况不同,使得龙芯3A3000核心模块电源设计略显复杂。因遵循COMeTYPE6标准电源定义,440-pin连接器只向核心模块提供+12V和待机5V,板上其他电源全部由+12V和待机5V通过板上DC-DC和电源开关转换提供。待机5V通过高效率低自耗的电源转换器TPS62560转换出EC和桥片所需的待机电源。如果载板向核心模块提供待机5V电源,EC和桥片的待机模块在正常工作,实时监控ACPI控制信号。其他电源被核心模块上ACPI电源状态所控制。如果载板向核心模块提供待机5V和+12V电源,外部PWRBTN信号被触发,SYS_RESET管脚正常释放,核心模块ACPI信号S3、S5控制所有电源芯片和开关启动,向电路供电。
若需要进入休眠状态,系统通过ACPI信号S3控制关闭例如DDR VTT、DDR VREF、CPU外设等电源,达到低功耗目的。若需要从休眠唤醒,至运行状态,则ACPI信号S3控制并打开电源,使其正常工作,如图6所示。
4.2 系统适配性
龙芯3A3000核心模块采用PMON作为核心模块BIOS固件,操作系统采用中标麒麟系统。根据龙芯3A3000核心模块对外提供的SATA、USB、UART、SPI、I2C、SMBUS和PCIE接口,设计对应的接口驱动,封装成API函数。在核心模块BIOS中可对各个通讯模块的使能/禁止、时钟、通讯速率和工作模式进行选择,适配各类产品,并根据产品特点对资源进行裁剪。
5 实现成果
图7 核心模块效果图
经过一系列研制工作后,我们实现了龙芯3A3000核心模块的硬件平台研制,如图7所示。龙芯3A3000核心模块搭载LS3A3000处理器,国产内存4GB,对外引出6路USB、2路GBE、1路2-channel LVDS(默认最高分辨率1600×1200@60Hz)、1路VGA(默认最高分辨率1600×1200@60Hz)、3路SATA、1路音频HAD、6路PCIE X1、2路PCIE X4、2路PCIE X8、1路LPC、1路SMB和2路UART接口。因绝大部分管脚定义兼容COMeTYPE6标准,可直接使用现成COMe TYPE6的计算机载板进行使用。
6 结束语
基于龙芯LS3A3000处理器的COMe核心模块是基于国产主流CPU、SDRAM、BIOS和操作系统的自研产品,以其通用化、模块化和组合化等特点为终端操控和信息处理等领域提供了良好的解决方案。