一种基于MIPS 架构的数据处理模块设计

2024-04-16 03:24白云逸韩振国王悦
电子制作 2024年6期
关键词:看门狗寄存器数据处理

白云逸,韩振国,王悦

(航空工业西安航空计算技术研究所,陕西西安,710065)

0 引言

嵌入式系统是一种专用的计算机系统,可作为装置或设备的一部分,具有功耗低、体积小的优势[1]。嵌入式系统由软件和硬件两部分组成,其中嵌入式软件包含系统软件、中间件和应用软件,嵌入式硬件包含运算器、控制器、存储器和输入输出设备。随着计算机技术的发展与应用,运算器和控制器等资源被集成为一体,统称中央处理单元(简称CPU)。CPU 是嵌入式硬件的核心,用于执行各种算数、逻辑运算及控制功能。

目前CPU架构主要包含ARM、MIPS、PowerPC、X86等。其中MIPS 架构基于精简指令集(简称RISC),与其他架构处理器相比,MIPS 架构的特点是运算灵活高效、功耗低,因此被广泛应用于嵌入式处理、网络设备和数字信号处理等领域[2~3]。

数据处理模块是一种基于CPU 可实现计算和数据收发功能的模块,是嵌入式计算机的核心组成模块。本文提出一种基于MIPS 架构的数据处理模块设计,以处理器LS2K1000 为核心,通过配置逻辑电路、存储电路及周边接口电路等硬件资源,保证模块能够实现各种运算控制功能,并与外设有效交联。其中LS2K1000 片内集成2 个64 位双发射超标量GS264 处理器核,工作主频为200MHz~1GHz可调,具有64 位DDR3 控制器以及丰富的外设接口[4]。处理器功耗低且接口丰富,目前已广泛应用于工控车载等嵌入式领域。

1 数据处理模块架构

如图1 所示,数据处理模块主要包含供电电路、存储电路、时钟电路、逻辑电路。存储电路包括DDR3 主存储器以及FLASH、NVRAM。本设计选用 16 位并行总线Nor FLASH 与8 位并行总线NvRAM,让FLASH 与NVRAM 分别与可编程逻辑器件(简称CPLD)相连,采用2K1000 处理器通过Local Bus 访问CPLD 间接访问存储资源。通过CPLD 实现基本的逻辑控制,主要实现复位控制管理、上电配置、上电时序控制、Local Bus 总线地址译码、看门狗定时器功能及辅助寄存器功能。模块对外提供2 路PCIe 2.0 接口、1 路CAN 接口与1 路USB 接口,并集成2 个100/1000Mbps 以太网接口[5]。

图1 数据处理模块架构图

2 模块硬件设计

■2.1 模块供电设计

LS2K1000 处理器具有7 种电源电压。模块采用5V 外部供电,考虑到锁相环电源电压及对电压稳定性要求较高,为此采用线性稳压电源(简称LDO)进行电压转换[4]。为降低数据处理模块功耗,对部分供电进行合并,故模块供电电路采用5 个开关电源(简称DC/DC)与1 个LDO 为处理器及周边配置电路进行供电。采用CPLD 进行控制不同电源芯片的上电时序,供电电路设计如图2 所示。

图2 供电电路结构图

■2.2 时钟电路设计

模块使用32.768kHz 晶振为LS2K1000 处理器的实时时钟(简称RTC)单元提供单端时钟。模块使用100MHz晶振经过时钟驱动器获得三路100MHz 时钟,其中一路作为LS2K1000 数据处理单元的基本时钟源,供LS2K1000数据处理单元内各电路使用,第二路作为CPLD 内部系统时钟,供CPLD 所有逻辑资源使用,第三路时钟供外部使用。

■2.3 模块外部接口设计

模块外设以太网、PCIe、RS232、USB 与CAN 等对外接口,具体介绍如下:

以太网接口:LS2K1000 处理器利用内部集成以太网控制器,经过PHY 芯片与变压器,对外提供2 路1000/100Mbps 自适应以太网。

PCIe 接 口:模 块 将2 路PCIe 接 口 配 置 为6 路X1 PCIe 端口。PCIe 参考输入时钟由外部提供。差分时钟采用100M HCSL 逻辑电平,单端摆幅为700mV,共模电压约为350mV,驱动电流15mA。

RS232 接口:将LS2K1000 芯片的TTL 电平转换为RS232 电平,速率115200bps。

USB 接口:LS2K1000 处理器内部集成USB 控制器,通过外置负载开关与ESD 芯片实现USB 接口防静电功能;

CAN接口:LS2K1000处理器利用内部集成CAN控制器,采用驱动器将接口转换为差分电平。

■2.4 存储电路设计

LS2K1000 处理器的DDR 控制器支持DDR3 模式,本设计采用64 位数据宽度,共设计4 片DDR3 颗粒,总容量为2GB,LS2K1000 处理器DDR3 控制器工作时钟500MHz。DDR3 芯片直接连到LS2K1000 内存控制器,控制器完成所有内存芯片操作(除复位信号),包括片选,行地址、列地址以及bank 地址映射,时序等操作[4]。

本设计选用SPI 接口FLASH 引导系统启动,BOOT 启动时SPI 接口速度为10Mbps。

本设计所选用Nor FLASH 存储容量为64MB,NVRAM存储容量为128KB,FLASH 与NvRAM 分别与CPLD 相连,LS2K1000 处理器可通过Local Bus 访 问CPLD 间 接 访 问FLASH 和NvRAM。

3 数据处理模块逻辑设计

模块可编程逻辑器件采用成都华微公司的CPLD,可用IO 数目204 个,等效可用门数为38000,最高运行频率220MHz,I/O口支持3.3V、2.5V、1.8V、1.5V逻辑电平。实现基本的逻辑控制,主要实现模块上电控制、片选译码与看门狗控制等功能。

■3.1 上电控制

LS2K1000 处理器共分三个电源域(RTC 电源域、RSM 电源域与CORE 电源域),不同电源域电压不可合并。为保证上电时序符合要求,通过CPLD 使能电源芯片的RUN 管脚实现上电时序控制。通过设定4 个上电定时寄存器,控制不同电源的上电时间间隔,具体控制流程如图3 所示。

图3 数据处理模块上电顺序控制

■3.2 地址锁存及片选译码功能

数据处理模块CPLD 挂接在LS2K1000 处理器的Local Bus 总线,实现了处理器和CPLD 内部资源间的通信,地址锁存及片选译码功能即对Local Bus 总线的地址进行锁存,对FLASH、NVRAM、CPLD 内部寄存器等进行译码的功能。具体为对LS2K1000 处理器的Local Bus 总线地址进行锁存,并根据Local Bus 片选和地址空间对FLASH、NVRAM、CPLD 内部寄存器(包括看门狗寄存器)的片选进行译码。

■3.3 复位控制

数据处理模块CPLD 具备复位信号产生的功能。当系统上电复位、看门狗复位或手动复位有效后,CPLD 产生复位信号,可对内部逻辑、存储器、PHY 芯片等进行复位操作。看门狗复位持续200ms,其余复位输出持续时长由输入的复位信号时长决定。数据处理模块具体复位接口信号见表1。

表1 复位信号说明

■3.4 看门狗控制

数据处理模块上由逻辑实现看门狗定时器功能,使用3 个CPLD内部寄存器(看门狗狗叫定时寄存器(初值设定为100ms)、看门狗复位定时寄存器(初值设定为50ms)和空中态定时寄存器(初值设定为10s)),完成看门狗定时器使能操作,喂狗操作以及设定周期操作。可编程看门狗定时器基准时钟为100MHz,定时分辨率为10ns,定时器宽度为32 位,三个定时器采用递减计数,复位结束后默认为初值。看门狗设置分为空中态与地面态。当模块处于空中态时,看门狗每隔100ms 产生中断,若产生中断后50ms 内未得到处理时,产生看门狗复位,模块发出全局复位信号。模块处于空中态时,看门狗在10s 后自动使能,10s 内看门狗可通过软件使能/禁止,地面态默认禁止(可通过软件使能、禁止看门狗定时器)。看门狗逻辑控制示意如图4 所示。

图4 看门狗逻辑控制流程图

■3.5 离散量功能

CPLD 内部逻辑产生输入离散量控制信号,用于离散量的输入控制。设置输入离散量状态寄存器。离散量逻辑信号定义见表2。

表2 复位信号说明

■3.6 中断控制功能

数据处理卡为了保证中断控制的灵活,将外部中断和CPLD 内部中断通过CPLD 分配到LS2K1000 处理器的外部中断上,分配时由对应输入中断信号直接赋值即可,中断信号见表3。

表3 中断信号分配

4 数据处理模块逻辑设计

■4.1 软件配置

处理器模块软件包括天脉1 嵌入式操作系统与系统软件及测试程序[6~7]。其中天脉1 操作系统是运行在嵌入式计算机上实时操作系统[8],具有存储器管理和分配、设备管理、中断管理、事件管理、消息管理等功能[9]。

测试程序主要包括上电BIT 与验收测试程序等。其中应用程序固化在16 位Nor FLASH 中,BOOT 程序固化在SPI Flash 中。当处理器模块加电后,开始执行SPI FLASH 内部程序,SPI Flash 内部驻留的引导程序开始启动,等待用户的输入从而进入不同的工作方式。BOOT 菜单主要包含启动串口操作系统、PUBIT、更改程序入口地址与设置默认启动项,模块正常启动后,可进入处理器模块BOOT 菜单[8~9]。

■4.2 测试方法

根据处理器模块设计的功能搭建测试平台,模块通过连接器与外部基板连接,RS232 串口与以太网接口通过外部基板与PC 机相连[10]。数据处理模块在固化BOOT 程序与应用程序后,对处理器模块进行相应的功能性能测试。测试内容主要包含以下功能。

(1)处理器测试

处理器测试包括读取当前处理器型号及主频、算术运算测试、逻辑运算测试和浮点双精度测试。处理器型号测试为读取处理器DEVICE ID 寄存器的ID 值与预期ID 值比较,频率测试为读取处理器特定寄存器的频率配置与预期配置值比较,算术运算测试包括加、减、乘、除测试,逻辑运算测试包括逻辑与、或、非、异或、左移和右移测试,浮点运算测试包括浮点的加减、乘、除测试,将测试结果与预期的结果进行比较一致认定测试通过。

(2)DDR 测试

DDR 测试采用布码测试对DDR 读写功能进行测试。读写测试方法为,软件进行一个有返回值的函数调用,在函数中定义一段内存空间,测试时软件依次从该地址第一个字节开始使用测试码进行读写操作,每进行一次操作后,与预期值进行比较。如比较结果一致则认定通过。

(3)FLASH 测试

FLASH 测试针对FLASH 内容的正确性进行判断。具体测试方法为对FLASH 进行固化时,计算校验和并存储在预定的地址,进行上电BIT 测试时再次计算FLASH 的校验和,并与已存储在预定地址的校验和进行比较,比较FLASH 在使用过程中是否发生数据跳变;读取数据测试方法为多次读取同一FLASH 地址的数据,并比对多次读取数据是否一致。如比较结果一致则认定通过。

(4)NvRAM 测试

NVRAM 测试进行读写访问测试。具体测试方法为对NVRAM 预定的存储空间进行读写操作,进行布码测试,比较读出的内容和写入的内容是否一致。如一致则认定测试通过。

(5)离散量测试

离散量测试方法为在系统测试台上离散量输入开关依次拨至相关状态(1 表示“开路”,0 表示“接地”),读取模块CPLD 内部寄存器数值,并与预期数值进行对比,如比较结果一致则认定通过。

(6)看门狗测试

对看门狗进行使能,判断看门狗工作是否正常。具体测试方法为使能看门狗,对处理器延时,观测处理器能否正常响应看门狗中断,同时在规定时间内执行喂狗操作,如看门狗狗叫标志信号被置位,模块正常工作未复位,则判定测试通过,否则不通过。

■4.3 测试结果分析

经测试数据处理模块能够正常启动,具体结果如下:通过用万用表对模块瞬态电压进行测量,测量结果符合LS2K1000 供电要求,并且上电时序满足处理器需求。对模块进行手动复位后模块能重新启动。用示波器测量离散量的输入电平均与寄存器中写入的值相对应,离散量测试无误[10]。对模块CPU、DDR、Flash、NvRAM 等功能通过测试程序验证均正常工作。

5 结束语

本文结合LS2K1000 处理器特征提出一种基于MIPS 架构的数据处理模块设计方案,对模块硬件与逻辑设计进行了介绍。在天脉操作系统下对模块功能进行测试,结果表明该模块具有高集成、低功耗等特点,可广泛应用于车载嵌入式计算领域,具有较大应用价值。

猜你喜欢
看门狗寄存器数据处理
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
Lite寄存器模型的设计与实现
把他叫醒
分簇结构向量寄存器分配策略研究*
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
一种采用FPGA实现的通用看门狗电路
把它叫醒
把它叫醒
基于POS AV610与PPP的车辆导航数据处理