基于S3C2440微处理器的工业超声探伤仪设计与实现
超声探伤时,应用得最多的是A型显示,如图1所示。在A型显示中,横坐标代表被测物的深度,纵坐标代表回波信号的幅度。
本文利用ARM9芯片和高速FPGA数据采集及信号处理技术,在Linux操作系统平台上设计并实现了一种新型数字超声探伤仪。该探伤仪具有高性能、低成本、外围接口扩展丰富以及低功耗等特点。
设计思想与总体方案
本设计中的嵌入式探伤仪由两部分组成,一部分是模拟信号前端,包括超声发射接收电路及电源电路;另一部分是数字信号采集处理及控制后端,简称超声主控计算机。系统硬件的总体框图如图2所示。
图2 系统硬件总体框图
系统中选用S3C2440处理器,内嵌ARM920T核。本设计应用了这款芯片的诸多特点:高达203MHz的主频;内部集成LCD控制器 ;3路异步串行通信接口;内置看门狗定时电路及实时时钟;内部集成两路USB host和一路USBdevice;对嵌入式Linux良好的支持等。
在超高速数据采集方面,本系统中选用的Spartan-3结构与Virtex-II类似,1.2V内核,其在超高速数据采集和信号处理方而有着明显的优势。 仪器性能方面,为了保证数字超声探伤仪0.01mm的检测精度和0~6000mm可变探测范围,在FPGA中主要进行如下数字信号处理:
◆ 60MHz硬件采样速率通过四次移相时钟处理,实现等效240MHz高采样率
◆ 数字滤波,程控带通FIR滤波器保证对0.5MHz~15MHz回波信号的良好数字滤波
◆ 数字检波,包括正向、负向、双向及RF检波
◆ 智能提取(提取点动态分配算法以保证显示波形的水平线性)
◆ 实时探伤报警(硬件报警闸门)
在仪器功能方面,充分利用ARM+Linux嵌入式系统的优势,扩展网络、USB等丰富接口,使得仪器可以实现PC机端Windows下的上位机软件和探伤仪上的LCD同步实时显示,随时下载探伤参数和上传探伤数据与图片,并使机器能连接U盘、移动硬盘、USB打印机等诸多设备。
本设计采用最新的Linux内核(Linux2.6.16),系统在响应速度、驱动功能等诸多方而都远远优于传统的2.4内核。在本项目开发过程中,采用的是网络文件系统;在最终的产品上,采用的是在DOC(MTD)上的ext2文件系统。
系统硬件资源分配
总线分配
S3C2440地址总线内部是32位(4G),外部27位(128M)。数据总线宽度为32位。当外设芯片与CPU相接时,主控计算机的数据总线宽度可设置为32位、16位或8位模式。设置是在BWSCON寄存器中的DW位实现的。各外部设备的总线接法如表1所示。
外部地址空间分配
S3C2440提供8路片选,nGCS[0~7],每个片选都指定了固定的地址,每个片选固定间隔为128MB。
本系统中各外围接口设备所对应的地址空间分别为:
(1)NOR FLASH,nGCS0,接的是一片8M×16位数据宽度的INTEL TE28F128 FLASH,用于存放ppcboot引导程序和Linux内核;
(2)网络芯片DM9000,使用nGCS1,用于网络传输收发数据的转存;
(3)DOC,使用nGCS2,存放文件系统包括管理程序、系统命令等;
(4)FPGA连接nGCS3,nGCS4;keyboard+led使用nGCS3,前端数字信号处理使用nGCS4。
(5)主控计算机内存由两片16M×16位数据宽度的SDRAM构成,两片拼成32位模式,共用nGCS6。共64M RAM,用于动态数据缓存。
中断资源分配
S3C2440 可处理56路中断,其中24路为外部中断EINTn。板上扩展的外设接口中,网络接口芯片DM9000使用EINT0。FPGA扩展中断资源为 EINT1、EINT2、EINT3、EINT4、EINT5、EINT6及EINT7。键盘用EINT2,前端图像数据更新用EINT3,回波频率测试数据更新用EINT4,系统关机按键用EINT1。
系统软件设计
系统软件的总体框图如图3。
图3 系统软件总体框图
超声探伤系统同时要处理的任务比较多,而且实时性要求高,因此在探伤应用程序中使用多线程技术。本系统可以分为四个线程,在主线程中,用MiniGUI实现实时探伤、参数下载和报表打印三个模块的功能,另外创建三个辅助线程,分别为:
读数据线程,用于读取实时探伤数据;读键盘线程,读取键盘上被按下的按键键值,然后再通过SendMessage(hWnd,iMsg,wParam,lParam)发送一个按键消息,此消息将在MiniGUI的主窗口过程函数中进行处理;网络线程,向上位机传送探伤数据,并接收上位机的控
- 嵌入式Web服务器移植与测试(03-03)
- 基于S3C2440的嵌入式IPv6防火墙设计(09-02)
- 基于OpenWrt的移动机器人系统设计(01-17)
- 基于S3C2440处理器Linux平台的物流配送系统设计(02-05)
- 基于嵌入式的杯突试验机测控系统设计与实现(02-12)
- 基于ARM的多路同步的A/D和D/A设计(06-29)