Design and implementation of industrial ultrasonic flaw detector based on S3C2440 microprocessor

Publisher:Xiaohan521Latest update time:2013-02-19 Source: dzscKeywords:S3C2440 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
    There are many types of ultrasonic flaw detectors, but in the actual flaw detection process, pulse reflection ultrasonic flaw detectors are the most widely used. Generally, in uniform materials, the presence of defects will cause material discontinuity, and this discontinuity often causes inconsistent acoustic impedance. From the reflection theorem, we know that ultrasonic waves will be reflected at the interface of two media with different acoustic impedances. The amount of energy reflected back is related to the difference in acoustic impedance of the media on both sides of the interface and the orientation and size of the interface. Pulse reflection ultrasonic flaw detectors are designed based on this principle.

  In ultrasonic flaw detection, the most commonly used is the A-type display, as shown in Figure 1. In the A-type display, the horizontal axis represents the depth of the object being tested, and the vertical axis represents the amplitude of the echo signal.

  This paper uses ARM9 chip and high-speed FPGA data acquisition and signal processing technology to design and implement a new digital ultrasonic flaw detector on the Linux operating system platform. The flaw detector has the characteristics of high performance, low cost, rich peripheral interface expansion and low power consumption.

  Design concept and overall plan

  The embedded flaw detector in this design consists of two parts: one is the analog signal front end, including the ultrasonic transmitting and receiving circuit and the power supply circuit; the other is the digital signal acquisition processing and control back end, referred to as the ultrasonic main control computer. The overall block diagram of the system hardware is shown in Figure 2.

Figure 2 Overall block diagram of system hardware[page]

  The system uses S3C2440 processor with built-in ARM920T core. This design applies many features of this chip: up to 203MHz main frequency; internal integrated LCD controller; 3-way asynchronous serial communication interface; built-in watchdog timing circuit and real-time clock; internal integration of two USB hosts and one USB device; good support for embedded Linux, etc.

  In terms of ultra-high-speed data acquisition, the Spartan-3 structure used in this system is similar to Virtex-II, with a 1.2V core, which has obvious advantages in ultra-high-speed data acquisition and signal processing. In terms of instrument performance, in order to ensure the detection accuracy of the digital ultrasonic flaw detector of 0.01mm and the variable detection range of 0-6000mm, the following digital signal processing is mainly performed in the FPGA:

  ◆ 60MHz hardware sampling rate is processed by four-time phase shift clock to achieve an equivalent high sampling rate of 240MHz

  ◆ Digital filtering, program-controlled bandpass FIR filter ensures good digital filtering of 0.5MHz~15MHz echo signals

  ◆ Digital detection, including positive, negative, bidirectional and RF detection

  ◆ Intelligent extraction (dynamic allocation algorithm of extraction points to ensure horizontal linearity of displayed waveform)

  ◆ Real-time flaw detection alarm (hardware alarm gate)

  In terms of instrument functions, the advantages of the ARM+Linux embedded system are fully utilized to expand the rich interfaces such as network and USB, so that the instrument can realize the synchronous real-time display of the host computer software under Windows on the PC and the LCD on the flaw detector, download the flaw detection parameters and upload the flaw detection data and pictures at any time, and enable the machine to connect to many devices such as U disk, mobile hard disk, USB printer, etc.

  This design uses the latest Linux kernel (Linux2.6.16), which is far superior to the traditional 2.4 kernel in terms of response speed, driver functions, etc. In the development process of this project, the network file system is used; in the final product, the ext2 file system on DOC (MTD) is used.

  System hardware resource allocation

  Bus assignment

  The address bus of S3C2440 is 32 bits (4G) internally and 27 bits (128M) externally. The data bus width is 32 bits. When the peripheral chip is connected to the CPU, the data bus width of the host computer can be set to 32-bit, 16-bit or 8-bit mode. The setting is implemented in the DW bit in the BWSCON register. The bus connection method of each external device is shown in Table 1.

  External address space allocation

  S3C2440 provides 8 chip selects, nGCS[0~7], each chip select has a fixed address, and each chip select has a fixed interval of 128MB. [page]

  The address spaces corresponding to the peripheral interface devices in this system are:

  (1) NOR FLASH, nGCS0, is connected to an 8M × 16-bit INTEL TE28F128 FLASH, which is used to store the ppcboot boot program and the Linux kernel;

  (2) Network chip DM9000, using nGCS1, is used for transferring and storing network transmission and reception data;

  (3) DOC, using nGCS2, stores the file system including management programs, system commands, etc.

  (4) FPGA is connected to nGCS3 and nGCS4; keyboard+led uses nGCS3, and front-end digital signal processing uses nGCS4.

  (5) The main computer memory consists of two 16M × 16-bit SDRAMs, which are arranged in 32-bit mode and share nGCS6. A total of 64M RAM is used for dynamic data caching.

  Interrupt resource allocation

  S3C2440 can handle 56 interrupts, of which 24 are external interrupts EINTn. Among the peripheral interfaces extended on the board, the network interface chip DM9000 uses EINT0. The FPGA extended interrupt resources are EINT1, EINT2, EINT3, EINT4, EINT5, EINT6 and EINT7. The keyboard uses EINT2, the front-end image data update uses EINT3, the echo frequency test data update uses EINT4, and the system shutdown button uses EINT1.

  System software design

  The overall block diagram of the system software is shown in Figure 3.

Figure 3 System software overall block diagram

  The ultrasonic flaw detection system has to handle many tasks at the same time, and the real-time requirements are high, so multi-threading technology is used in the flaw detection application. This system can be divided into four threads. In the main thread, MiniGUI is used to implement the functions of the three modules of real-time flaw detection, parameter download and report printing. In addition, three auxiliary threads are created, namely:

  The data reading thread is used to read real-time flaw detection data; the keyboard reading thread reads the key value pressed on the keyboard, and then sends a key message through SendMessage (hWnd, iMsg, wParam, lParam), which will be processed in the main window process function of MiniGUI; the network thread transmits flaw detection data to the host computer and receives control commands from the host computer.

    Test and Conclusion

  Tests show that the functions and indicators of this design prototype meet or exceed the requirements of the national industry standard JB/T 10061-1999 "General Technical Requirements for Type A Pulse Reflection Ultrasonic Flaw Detectors". Among them, the most important indicator of ultrasonic flaw detectors, the flaw detection sensitivity margin, is as high as 68dB (the same standard stipulates no less than 46 dB), and the thin plate resolution is less than 1mm (the national standard stipulates no more than 3mm).

  The trial has proved that this embedded digital ultrasonic flaw detector design project has many advantages such as excellent performance, high reliability, friendly interface, convenient operation, and high cost performance. It is at the leading level in the field of domestic industrial ultrasonic flaw detectors.

References:

[1]. S3C2440 datasheet http://www.dzsc.com/datasheet/S3C2440_589562.html.
[2]. ARM920T datasheet http://www.dzsc.com/datasheet/ARM920T_139814.html.
[3]. DM9000 datasheet http://www.dzsc.com/datasheet/DM9000_979498.html.

Keywords:S3C2440 Reference address:Design and implementation of industrial ultrasonic flaw detector based on S3C2440 microprocessor

Previous article:Design of intelligent water meter reading system based on ARM microcontroller
Next article:Design of greenhouse monitoring system gateway based on ZigBee technology

Recommended ReadingLatest update time:2024-11-16 17:32

S3C2440-Bare Metal Edition-09 | Using S3C2440 to operate Nor Flash
1. Nor Flash and Nand Flash    Nor Nand interface Many pins, similar to RAM Fewer pins capacity Small (1-32MB) Large (128-512MB) Read Operation Simple, same as RAM Simple, same as RAM Write Operation Issue a specific command to write Issue a specific command to write price expensive Cheap Compare No bad block
[Microcontroller]
S3C2440-Bare Metal Edition-09 | Using S3C2440 to operate Nor Flash
Memory Management of S3C2440
I didn't know that each bank of S3C2440 needs to set the bit width before using it, and I didn't know why. Today I understand. Before using the bank, how many bits should be set for each peripheral connected to the bank? It is set by the BWSCON register, and the default is 8 bits. Since bank0 is the boot area, there is
[Microcontroller]
1.1__S3C2440 startup process analysis
The s3c2440 has 4KB of SRAM built in, and can choose NOR or NAND boot. Wei Dongshan's S3C2440 development board is connected to 256MB of Nand Flash and Nor Flash, which can be selected through the M0 and M1 pins, where M1 is fixed low. Therefore, pull M0 low to select Nand startup, and pull M0 high to select Nor st
[Microcontroller]
1.1__S3C2440 startup process analysis
S3C2440⑤ | S3C2440 clock system architecture and experiments
1. Clock architecture Simplify it as shown in the figure: 1.1.Clock source selection There are two clock sources for S3C2440: External crystal oscillator (OSC) External clock signal (EXTCLK) The clock source of S3C2440 is determined by the mode control pins O
[Microcontroller]
S3C2440⑤ | S3C2440 clock system architecture and experiments
S3C2440 bare metal --- Nor Flash principle and hardware operation
1. The difference between nandflash and norflash Our nandflash has only 8 data lines, which transmit both commands and data. However, our norflash has the same interface as memory, with address lines and data lines. Norflash can be read like memory, but cannot be written like memory. If norflash can also be written li
[Microcontroller]
S3C2440 bare metal --- Nor Flash principle and hardware operation
【S3C2440】Lesson 14, Exceptions and Interrupts Study Notes
1. Exception vector table     /******The following are the exception vector tables*****/     .globl _start     _start: b reset         ldr pc, _undefined_instruction         ldr pc, _software_interrupt         ldr pc, _prefetch_abort         ldr pc, _data_abort         ldr pc, _not_used         ldr pc, _irq        
[Microcontroller]
【S3C2440】Lesson 14, Exceptions and Interrupts Study Notes
s3c2440 bare metal-I2c programming-3.i2c interrupt service routine
After the Start signal, the device address is sent, and an interrupt is generated at the 9th clock. We write the interrupt program according to the i2c flow chart. Each time a piece of data is transmitted, an interrupt will be generated. The main body of the I2C operation is in the interrupt service routine, which c
[Microcontroller]
Analysis and Design of WinCE Bootloader Based on S3C2440
The development of Bootloader is an indispensable part of embedded system development. A good Bootloader can not only bring great convenience to the subsequent development of the project, but also provide a lot of convenience for users to use the product after the project development is completed. However, since the
[Microcontroller]
Analysis and Design of WinCE Bootloader Based on S3C2440
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components
Guess you like

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号