APP下载

基于单片双核处理器电机定子铁心检测仪设计

2015-03-04岳啸鸣范辉潘瑾唐明

防爆电机 2015年1期
关键词:铁心内核嵌入式

岳啸鸣,范辉,潘瑾,唐明

(1 河北省电力建设调整试验所,河北石家庄050021;2 西安交通大学电力设备国家重点实验室,陕西西安710049)

0 引言

机械应力、电应力和环境应力会导致发电机定子铁心叠片间的绝缘恶化。绝缘恶化引起的故障电流产生热点,进一步加速铁心老化。因此,在发电机定子出厂试验、交接试验、电机大修时,必须对定子铁心叠片的绝缘状况进行检测[1-3]。IRIS Power公司研发的电机定子铁心故障检测系统,具有操作简单、灵敏度较高等特点,在现场得到广泛应用[4,5]。但该检测系统以单片机为核心处理器,存在处理能力弱以及应用不便携等缺点。本文采用双核处理器,基于嵌入式Linux 系统研制电机铁心便携式检测仪。

1 设计的基本流程

嵌入式系统设计包括硬件设计以及软件开发两部分。

1.1 硬件设计

硬件设计的基本流程有如下几点[6,7]:

(1)明确需求。根据应用确定CPU 处理能力、存储容量、存储速度、I/O 数量、总线接口等需求。(2)制定总体方案。根据需求分析制定硬件总体方案,寻求关键器件及技术资料、技术途径和技术支持,充分考虑技术可行性、可靠性,并对开发与调试工具提出明确要求。(3)总体方案确定后,进行硬件和软件的详细设计,包括绘制硬件原理图、软件功能框图、PCB 设计与器件清单。(4)PCB 板制作完成后,对各功能单元进行焊接调试,必要时修改原理图并作记录。(5)软硬件系统联调、可靠性测试、稳定性测试。

1.2 软件开发

嵌入式linux 操作系统的一般开发流程如下[8]:建立开发环境,操作系统可使用ubuntu Linux,选择定制安装或全部安装,下载相应的GCC 交叉编译器进行安装(如arm-1inux-gcc、armuclibc-gcc),或安装产品厂家提供的交叉编译器;

配置开发主机,配置MINICOM 为调试输入输出工具,配置NFS 网络文件系统,配置时建议关闭防火墙,以简化嵌入式网络调试环境设置过程。建立引导装载程序Bootloader,可选开源的Bootloader,如 UBOOT、BLOB、VIVI、LILO、ARMBOOT、RED-BOOT 等,根据具体芯片移植修改。

下载已经移植好的Linux 操作系统,如MCLiunx、ARM-Linux、PPC-Linux 等,如果有专门针对所使用CPU 且移植好的Linux 操作系统那再好不过,下载后再添加特定硬件的驱动程序,然后调试修改,对于带MMU 的CPU 可以使用模块方式调试驱动,而对于MCLiunx 只能编译内核调试。

建立根文件系统,使用BUSYBOX 进行功能裁减,产生最基本的根文件系统,再根据应用添加其他程序。由于默认的启动脚本一般都不会符合应用的需要,所以需修改根文件系统中的启动脚本,其存放位置位于/etc 目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile 等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而异。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs genromfs 等工具产生烧写映像文件。

建立应用程序的FLASH 磁盘分区,一般使用JFFS2 或YAFFS 文件系统,需要在内核中提供这些文件系统的驱动,有的系统使用一个线性512KB ~32MB FLASH(NOR 型),有的使用非线性8MB ~512MB FLASH(NAND 型),有的两个都使用,需根据应用规划FLASH 的分区方案。开发应用程序,可放入根文件系统中,也可放入YAFFS、JFFS2 文件系统中,某些应用不使用根文件系统,则直接将应用程序和内核设计在一起,类似μC/OS-II 操作系统。

2 嵌入式系统设计

以TMS320DM8168 处理器为核心,设计便携式电机铁心定子绝缘故障检测仪。该处理器融合了运行频率高达1.35GHz 的Cortex-A8 RISC 处理器以及运行性能为1.125GHz 的DSP,DDR3 内存速率高达1 600Mbps。该处理器将浮点DSP 内核、高清视频音频协处理器、3D 图形加速引擎以及高度集成的外设集成,可满足当今苛刻的HD视频应用、数字信号处理等要求的应用场合[9]。

2.1 硬件系统设计

由于TMS320DM8168 芯片高度的集成性以及多达1031 个引脚的BGA 封装,引脚的扇出和信号的走线较难,硬件设计难度较大。在信号频率如此高速的系统中,设计时必须充分考虑信号完整性问题,如果硬件设计时不能保证信号完整性,则系统几乎没有成功的可能。本文设计的硬件总体方案如图1 所示,主要包括电源模块、内存模块、调试配置模块、外围接口模块等。内存模块包括DDR3 及Flash;调试及配置模块包括系统调试串口、JTAG、BOOT-UP;外围接口包括以太网、SD 卡、RS232、USB2.0 与PCI-E 接口等。

图1 硬件总体方案

2.2 最小系统设计

最小系统包括:时钟及复位电路;JTAG 调试电路;boot-up 电路;DDR3 内存电路等。

DM8168 系统需要一个27M 时钟源输入内部锁相环,以生成内部各功能模块所需时钟。DM8168 的JTAG 接口,符合IEEE1149.I 标准,用于仿真调试。除标准规定的4 条必须信号TMS、TDI、TDO、TCK 和可选TRSTn#信号外,还提供EMU[4:0]进行功能仿真。DM8168 支持多种启动方式(NAND、NOR、SD、EMAC、UART、SPI),可通过BTMODE[4:0]引脚电平来选择。

DM8168 集成了双32 位DDR2/3 SDRAM 接口,地址空间可达2GB,支持DDR2-800 和DDR3-1600 的高速内存。其管理方法实现了可编程多区内存映射及交错、高效2D 成块存取,支持0°、90°、180°、270°取向的平铺对象和镜像,优化可交错存取。与DDR2 相比,DDR3 工作频率更高、功耗更低、容量更大,本系统选用两个控制器共连接8 片MT41J128M8 实现1GB 的内存空间。

2.3 电源电路

DM8168 内部复杂的多电源要求通过上电顺序控制来实现正确的加电过程,即依次为3.3V、1V-AVS、1V、1.8V、1.5V、0.9V 以提高系统的可靠性,限制起动负载和浪涌电流,减小起动尖峰电压对系统总线的影响。通过对各电源芯片使能引脚和软启动引脚的控制,实现系统要求的上电顺序,DM8168 上电顺序如图2 所示。

图2 电源上电顺序

2.4 PCB 设计

PCB 设计难点在于DDR3 的布局与布线,官方设计文档中规定DDR3 布线至少需要4 层叠层结构,推荐使用6 层叠层结构,本文选用6 层结构。考虑到信号完整性,DDR3 在布线时需注意以下几点。

为了满足时序逻辑信号建立时间和保持时间,防止时序错误造成设计失败,需要控制DDR3高速信号走线之间的等长。为了减小高速信号的反射,单端信号阻抗应控制在50Ω,差分信号阻抗应控制在90Ω,同时利用DDR3 ODT 功能对数据信号线进行短接补偿,用外部并联47Ω 电阻对地址信号、命令信号、控制信号、时钟信号进行端接匹配。

DDR3 采用Fly-By 的拓扑结构,典型的Fly-By 的拓扑结构如图3 所示,Fly-By 信号包括命令、地址、控制和时钟信号,这些信号以串接的方式从DDR3 控制器连接到每一个DDR3 芯片,从而减少分支数量和分支长度。但这样会导致每个DDR3 的延时不同,因此要求在软件设计时采用读调整和写调整技术来补偿延迟差异。PCB 绘制完毕后,DDR3 走线采用Fly-By 拓扑结构,基于蛇形走线做了等长处理。当系统的硬件设计工作结束后,开始PCB 制版、焊接与硬件测试,上述工作完成后,就进入软件系统的设计环节。

图3 典型的Fly-By 拓扑结构

3 软件系统设计

嵌入式Linux 系统在上电或复位时,从存储器的0x00000000 地址处开始运行,然后依次加载BootLoader、启动Linux 系统映像、挂载文件系统、启动用户应用程序。DM8168 内部包含一段从0x00000 到0x2BFFFF 的ROM 代码区,系统上电后,DM8168 自动从该ROM 代码区开始运行,完成堆栈、看门狗、系统时钟、锁相环等的初始化,然后进入系统引导。DM8168 支持NOR Flash、NAND Flash、SD 卡、UART、Emac、SPI 多种引导方式。在上电时,锁存BTMODE[4:0]电平值至CONTRAL_STATUS 寄存器,DM8168 根据CONTRAL_STATUS 寄存器值设置启动器件列表。这个过程称为RBL(ROM BootLoader)。本文所设计系统,可通过拨码开关选择启动方式,一般在设计调试与生产调试时使用SD 卡启动,出厂时通过SD 启动后烧写程序至NAND Flash,然后从NAND Flash 启动。当设置为NAND 启动时,系统首先会进行NAND 检测,读取NAND 器件的ID、参数。当被检测到NAND Flash 容量大于1Gb 时,DM8168 内部会更改GPMC 中页大小、块大小、ECC 的设置以符合器件信息。更新完毕后,读取无效的块信息并作标记,检测流程如图4 所示。当NAND 检测成功后,DM8168 首先检测U-BOOT的stage 1 到片上内存并执行,stage 1 主要工作是完成DDR3 的初始化,然后将u-boot stage 2 复制到DDR3 内存中并执行。Stage 2 主要工作是完成必要器件的驱动,调试烧写等命令以及最重要的加载内核。完成后将控制权交给linux 内核。文件系统由内核加载,至此,系统启动过程完毕。

图4 NAND 器件检测流程

3.1 开发环境搭建

系统开发硬件环境包括系统目标板、宿主机、调试工具等。宿主机采用普通计算机,针对不同的处理器提供了免费的开发包EZSDK5.05,包括uboot 源码、linux 内核源码linux-2.6.37、SD 卡启动制作工具等。

交叉编译工具链为 arm-2009q1-203-armnone-linux-gnueabi,可安装在宿主机的/opt/crosstool 目录下,命令如下:

# chmo d+x./arm-2009q1-203-arm-nonelinux-gnueabi.bin

#./arm-2009q1-203-arm-none-linux-gnueabi.bin

出现Sourcery G++的安装界面后,根据提示安装即可。进入EZSDK 所在目录,执行如下命令,安装EZSDK 开发包:

#chmod +x./ezsdk_dm816x-evm_5_05_02_00_setuplinux.bin

#./ezsdk_dm816x-evm_5_05_02_00_setuplinux.bin

此时出现EZSDK 选择交叉编译工具的安装界面,选择已安装的arm-2009q1-203-arm-nonelinux-gnueabi 即可。其他步骤按照提示安装在/home/work/ezsdk目录下。安装完成后,ezsdk目录中每个文件夹的用途如表1 所示。终端切换到ezsdk 目录下,执行:#./setup.sh。

该脚本是开发包中提供的配置环境变量脚本,配置安装tftp-server、NFS、minicom、autoconf、automake 等必要的工具,并配置交叉编译工具链路径。在安装过程中,会提示输入或选择tftpboot路径,在此设置为/work/tftpboot。目标板文件系统路径设为/work/rootfs。执行完成后,DM8168嵌入式软件系统开发环境搭建完毕。

表1 ezsdk 目录结构及描述

3.2 内核编译

Ezsdk 下linux 内核编译与u-boot 编译类似,终端切换到ezsdk 目录下:#make linux。

执行完成后,会在内核的/arch/arm/boot 目录下生成所需uImage 文件。如需要修改linux 配置,可执行:#make linux_config。内核的编译和配置跟我们所熟知的内核配置、编译差别不大,唯一不同的是ezsdk 将我们平时使用的编译配置命令统一放到主目录的Makefile 文件当中,但其本质是相同的。

3.3 程序下载及烧写

Ezsdk 提供了制作sd 卡启动的工具ezsdk/bin/mksdboot.sh,将sd 卡通过读卡器接入宿主机usb 接口,终端切换到ezsdk/bin/目录下,并执行:

#./mksdboot. sh--device /dev/sda--sdk $(EZSDK)

这样就将u-boot、uImage 文件烧写到SD 卡中了,将目标板上bootmode 设置的拨码开关切换到SD 卡启动模式,插入烧写好的SD 卡,启动目标板,通过调试串口,可看到u-boot 及内核启动信息。

3.4 文件系统构建

Linux 文件系统包含了文件中的数据和文件结构。用户和程序看到的全部文件、目录、连接及文件保护信息等都存在文件系统中。Linux 操作系统的根文件系统以目录的结构方式组织,在调试过程中,可以选择将文件系统直接制作在SD 卡上,也可使用nfs 方式挂载文件系统,直到最终的应用程序编写调试完成后,才制作生成烧写到目标板的映像文件。

3.5 系统调试

经过软件与硬件调试,并设计合适的系统界面,显示屏为7 寸液晶显示屏,采用触摸板为系统输入接口。硬件系统设计成核心板与底板的方式,核心板为DM8168 最小系统,通过高速接口总线与底板连接。底板电路主要包括高速数据采集电路以及各种外部接口电路。调试时参考传感器的电流值为144mA,检测传感器的电流值为357mA。

4 结语

本文采用TMS320DM8168 双核处理器,并配置DDR3 内存、高速总线接口,基于嵌入式Linux系统研制电机铁心便携式检测仪。从测试情况看,该系统具有人机交互性能好、数据处理速度快、功能扩展方便等特点,为电机铁心检测提供了有意义的参考与借鉴作用。

[1] G.K.Ridley. Electromagnetic field effects on EL CID tests[J].Seventh International Conference on Electrical Machines and Drives,1995:187-193.

[2] 关建军,于庆斌,钟浩文. 发电机定子铁心ELCID试验分析与探讨[J].大电机技术,2005,(5):13-17.

[3] C.Kreischer,L.Golebiowski. Comparison of Different Methods to Determine Defects in the Stator Core[C]. XXth International Conference on Electrical Machines(ICEM),2012:1608-1611.

[4] C.Rickson,Electrical machine core imperfection detection[J].IEE Proceedings B Electric Power Applications,1986,133(3):190-195.

[5] M.Eltabach,A.Charara,I.Zein.A comparison of external and internal methods of signal spectral analysis for broken rotor bars detection in induction motors[J].IEEE Transactions on Industrial Electronics,2004,51(1):107-121.

[6] 孙圣武,叶芝慧,曹允,等. 基于TMS320DM8168的嵌入式高清视频系统[J]. 光电子技术,2014,34(1):36-41.

[7] 杨振永,王延杰,孙海江,等.基于TMS320DM8168的SOC 高清视频处理系统的设计与实现[J]. 液晶与显示,2013,28(5):764-769.

[8] 姜忠兵,罗钧,杨晓花,等.基于TMS320DM8168 的高清视频编码技术与实现[J].数据采集与处理,2012,27(6):690-695.

[9] 贾文全,李勇,王军辉.基于TMS320DM8168 硬件平台的智能网络视频监控系统[J].计算机与数字工程,2012,40(9):60-62.

猜你喜欢

铁心内核嵌入式
强化『高新』内核 打造农业『硅谷』
异步电动机定子铁心模态及振动响应分析
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
搭建基于Qt的嵌入式开发平台
汽轮发电机阶梯段铁心损耗分析
江西宁都:铁心硬手守护绿水青山
嵌入式软PLC在电镀生产流程控制系统中的应用
微生物内核 生态型农资
交/直流线路并行运行对铁心饱和不稳定的影响