?

一種基于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 芯片等進行復位操作??撮T狗復位持續200ms,其余復位輸出持續時長由輸入的復位信號時長決定。數據處理模塊具體復位接口信號見表1。

表1 復位信號說明

■3.4 看門狗控制

數據處理模塊上由邏輯實現看門狗定時器功能,使用3 個CPLD內部寄存器(看門狗狗叫定時寄存器(初值設定為100ms)、看門狗復位定時寄存器(初值設定為50ms)和空中態定時寄存器(初值設定為10s)),完成看門狗定時器使能操作,喂狗操作以及設定周期操作??删幊炭撮T狗定時器基準時鐘為100MHz,定時分辨率為10ns,定時器寬度為32 位,三個定時器采用遞減計數,復位結束后默認為初值??撮T狗設置分為空中態與地面態。當模塊處于空中態時,看門狗每隔100ms 產生中斷,若產生中斷后50ms 內未得到處理時,產生看門狗復位,模塊發出全局復位信號。模塊處于空中態時,看門狗在10s 后自動使能,10s 內看門狗可通過軟件使能/禁止,地面態默認禁止(可通過軟件使能、禁止看門狗定時器)??撮T狗邏輯控制示意如圖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的車輛導航數據處理
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合