作者简介:吴日海(1986-),男,学生,主要研究方向:嵌入式系统 E-mail: zidane_2004@sohu.com(北京邮电大学信息与通信工程学院,北京100876)
摘要:基于PowerPC 的通信控制系统广泛应用于 网络构建、 通讯、无线局域网等领域。为确保系统高效、安全、可靠地运行,需要在系统接口上扩展数据采集功能,实现某些状态量的检测。 设计一套数据采集卡,并通过通信控制系统进行监控,可实现系统状态量的检测。论文基于多网口系统,扩展了一套与UPM 接口接口兼容的数据采集卡,并通过配置相关配置寄存器、设置RAM 字的相应位、编写UPM 控制器的RAM 阵列,实现了UPM 模式下对数据采集卡的控制。实验证明,该数据采集卡可成功地完成系统状态量的检测。
关键词: 数据采集;UPM 接口;RAM 阵列;配置寄存器
中图分类号:TP202+.
Data Acquisition Card based on PowerPC UPM InterfaceWU Rihai(Information and Telecommunication school, Beijing University of Posts andTelecommunications, Beijing 100876)Abstract: Communication control system based on Power PC is widely used in network construction,communication, wireless LAN and other field. To ensure the system working efficiently, safely andreliably, state variables must be detected by data acquisition card extended from its interface. The dataacquisition card, controlled by communication control system, is designed to detect system statevariables. The data acquisition card, designed based on multi-port network system., is compatible withPowerPC UPM Interface. To control the data acquisition card, configuration registers is configured,and the RAM array of UPM was programmed with #### RAM words. The data acquisition card, whichhas been tested, can detect system state variables successfully.Key words: data acquisition; UPM interface; RAM array; configuration registers0 引言PowerPC 处理器具有功耗低、体积小、处理速度快、通信资源和外围接口丰富等良好性能,适于条件苛刻、性能要求严格的场合 1]。其局部总线控制器包括通用片选控制器(GPCM)、同步DRAM 控制器(SDRAM)和三个用户可编程控制器(UPMA, UPMB, UPMC),可为SDRAM、SRAM、EPROM、flash EPROM 和其他外围设备提供控制接口。相对于GPCM 和SDRAM 来说,UPM 控制器具有更加灵活的控制接口,可以根据用户定义的时序,自动地生成各种外围设备的控制信号。很多时候在数据通信的同时,需要在PowerPC 通信控制系统上扩展数据采集功能,实现某些状态量的检测,如电源检测,以便更好地监控系统的运行状态。鉴于UPM 控制器时序控制的灵活性,可以从UPM 接口扩展数据采集卡,用于系统状态量的采集。论文主要研究PowerPC UPM 接口下数据采集功能的扩展。基于现有多网口系统 2],设计了一套与UPM 接口兼容的数据采集卡,并根据采集卡工作时序要求,配置了UPM 相关的配置寄存器和RAM 阵列,实现了UPM 模式下的数据采集功能。
1 UPM 接口
UPM 控制器可以响应内外部存储访问请求、定时刷新请求、特殊运行命令请求和异常请求,实现单拍或突发读写、定时刷新及异常处理等操作,控制信号主要包括LGPL[0:5]、LBS[0:3]、LCS[0:7]及LBCTL,其功能框图 3]如图 所示。UPM 控制器响应内部或外部访问请求时,将根据阵列索引生成器生成对应命令的索引,映射到RAM 阵列的相应地址,信号时序生成器根据映射的RAM 字段,自动生成对应请求的外部控制信号 LGPLn、LBSn 和LCSn)。图 UPM 的功能框图Fig. 1 User-Programmable Machine Functional Block DiagramRAM 阵列是UPM 控制器的核心部分,#### 个32 位配置字可实现以外部总线时钟周期四分之一的精度控制外部信号时序。RAM 阵列可控制UPM 工作在六种常用模式及特殊运行模式,主要由MnMR 的两位OP 和六位MAD 控制。RAM 阵列的配置需要先配置相关寄存器,如基础寄存器BR、选择寄存器OR 和UPM 模式寄存器MnMR 等,然后才能将配置好的#### 个RAM 字编写入RA M 阵列。RAM 阵列配置完成后,用户只需将对应操作在RAM 阵列中的起始地址写入UPM 控制寄存器MnMR,然后进行简单的赋值操作 4],总线就会通过信号时序生成器自动产生相应的控制时序,进而控制数据采集卡工作,获取系统状态数据。
2 数据采集卡设计
数据采集卡用于PowerPC 通信控制系统的运行状态监控,完成某些状态量的检测, 硬件连接示意图如图 所示。图 数据采集卡Fig. 2 UPM RAM Array and Signal Generation数据采集卡的模数转换芯片采用了 位并行输出的AD7819,容易与UPM 扩展口连接。AD7819 主要控制信号有转换控制信号CONVST、片选信号CS、读信号RD,其中CONVST由UPM 扩展口的nLWE0 和nLCS4 逻辑或非产生。UPM 控制器可以通过RAM 阵列控制nLWE0 和nLCS4 的时序,进而控制数据采集卡的转换;通过控制nLCS4 和LGPL2 的时序,从而读取到便携电源当前状态。AD7819 有全速工作和自动待机两种工作模式,主要根据BUSY 信号下降时的外部CONVST 的逻辑状态决定。如果BUSY 信号下降时的CONVST 为高,AD7819 工作在全速工作模式;如果BUSY 信号下降时的CONVST 为低,则工作在自动待机模式 5]。出于节电的需要和间断监控的特点,本应用选择自动待机模式。
3 UPM 的配置
3.1 配置寄存器及RAM 字
UPM 的配置时较重要配置寄存器包括基础寄存器BR、选择寄存器OR 和UPM 模式寄存器MnMR。基础寄存器BR 和选择寄存器OR 可完成数据采集卡工作模式的设定。基础寄存器BR可设定数据采集卡在内存映射中的基本地址、端口大小、工作模式等参数;选择寄存器OR可设置数据采集卡所占内存空间大小、缓存控制、突发抑制等选项。模式寄存器MnMR 协同数据寄存器MDR 可实现#### 个32 位RAM 字配置。模式寄存器MnMR 用于设定命令操作码、循环操作次数和机器地址等参数。命令操作码包括普通操作模式、写RAM 字模式、读RAM 字模式和特殊运行模式;循环操作包括读循环、写循环和刷新循环;机器地址指当前操作对应于RAM 阵列的地址。数据寄存器MDR 用于RAM 字的寄存,确保RAM 字的正确读写。UPM的32 位RAM字包括LCS、LBS、LGPL等接口信号及其相关控制信号。按照AD7819的时序,配置#### 个32 位RAM 字的相关位 6],可以编写出符合数据采集时序要求的RAM阵列。
3.2 RAM 配置字的写入
#### 个32 位RAM 字写入RAM 阵列 7]主要步骤如下:(1)配置MnMR,确保UPM 工作在写RAM 字模式;(2)将32 位RAM 字写入到MDR;(3)空写操作,将配置字写入RAM 阵列中。定义void UPM_prog()函数,通过调用数组static unsigned long UPMATable[####]中存放####个32 位RAM 配置字,可以正确地写入UPMA 的RAM 配置字。UPM_prog()函数中较重要的语句有:for(i=0;i<####;i++){//写入MDR*(int*)(0xe0005088)=UPMATable[i];//空写操作*(char*)(0xf8000000)=0x00000000;}
3.3 RAM 配置字的读取
RAM 配置字的读取主要包括:配置MnMR,确保UPM 工作在读RAM 字模式;空读操作,将配置字从RAM 阵列读入MDR;读取MDR。定义数组des[####]用于存放读出的RAM配置字,较重要的语句有:for(j=0;j<####;j++){//配置MnMR*(int*)(0xe0005070)=0x20000000|j;//空读操作temp=*(char*)(0xf8000000);//读取MDRdes[j]=*(int*)(0xe0005088);}对比des[####]与UPMATable[####],可确定RAM 阵列配置的有效性。
4 结论
本文给出了多网口系统野外作业时电源状态监控的解决方案。基于多网口系统局部总线控制器的UPM 接口,设计出具有模数转换功能的数据采集卡,并对UPM 的相关寄存器及RAM 阵列进行编写,生成了控制数据采集卡工作的时序,实现了基于UPM 模式的数据采集。实验证明,UPM 控制器的RAM 阵列配置合理,数据采集卡模数转换正确。