Application of Real-time Operating System in Radar Signal Processing

Source: Internet
Author: User
Tags radar

Application of Real-time Operating System in Radar Signal Processing
[Date:] Source: EDN Author: [Font:Large Medium Small]

 

With the improvement of DSP (Digital Signal Processor) performance and the expansion of application scope, especially in consumer electronic products, DSP not only continues to assume the core role of traditional algorithm processing, some controlling or transactional work needs to be completed, which was previously done by MCU or CPU with higher control and thread management capabilities. The application of the embedded real-time operating system solves two important problems in DSP system development: first, it can ensure the real-time response of the system, second, it makes the development of complex multi-thread and multi-task software systems relatively simple.

The signal processor of the DSP platform is generally only a subset of the entire system dedicated to the signal processing algorithm, and does not need to control too many peripherals. In order to meet the needs of real-time signal processing, use the linear program structure of the front and back tables as much as possible.

In this design, the signal processor is designed to construct a complete portable radar system with him as the main body, in addition to signal processing tasks, sampling, display, communication, and other tasks must also be completed by the embedded real-time operating system to meet the requirements of real-time multi-task. This article mainly introduces why real-time operating system is used and the overall software design idea and Solution Based on DSP/BIOS Ⅱ real-time operating system.

  1. Overall hardware solution design

The signal processor uses TMS320C5509 as the core of the entire system. Because the image cache requires a large storage space, the 16 Mb SDRAM--KM416S1020C of Samsung is extended as the extended memory. The entire system workflow is the signal provided by the Controller and D/A to the front-end sampling header, and starts A/D to sample the analog signal sent from the sampling header, after receiving the DSP, the DSP processes the corresponding signal and displays the image to the color image LCD according to the keyboard settings, the data is transmitted to the PC through the USB interface for further processing and display. The overall hardware block diagram 1 is shown.

The TMS320C5509 digital signal processor is a new type of digital signal processor launched by TI's TMS320C5000 series, which greatly reduces power consumption and reaches the level of 0.05 mW for each MIPS, compared with mainstream products on the market, the output of the TMS320C54x model reduces the power consumption by six times. The kernel of TMS320C5509 is developed from TMS320C54x. Therefore, it is fully compatible with the commands of the mainstream TMS320C54x series Processors in the market, which protects users' investment in software, in addition, software developers familiar with the programming of TMS320C54x can write their software without learning any more. At the same time, TMS320C5509 also integrates a large number of on-chip peripherals such as AD and USB controllers, making it a SOC (On-Chip System) processor, you can build a complete DSP system with only a few auxiliary devices. From the above features, it can be seen that TMS320C5509 is very suitable for application in portable systems.

  2. Introduction to DSP/bios ii of real-time operating system

TI's DSP/bios ii is an embedded real-time multi-task operating system specially designed for TI's TMS320 DSP chips. It consists of five parts:

(1) Procedure and Scheduling)

DSP/bios ii provides four different execution threads, including HWI (hard interrupt task), SWI (Soft Interrupt task), and TSK (task, each thread type has different features, such as execution, suspension, and sleep. DSP/bios ii supports static priority-based scheduling, and can provide preemptive multi-task services by modifying the kernel.

(2) Hardware Abstraction action)

It provides two data transmission modes, PIP and SiO2, to facilitate data exchange between DSP and peripherals. Pipe (Data Pipeline) uses a small amount of memory, and the transmission speed is fast and efficient. SiO2 (Stream) has a higher abstraction of memory, making it easy to create a more structured method for device drivers.

(3) Resoure Management)

The DSP/bios ii logical interface can be used to access and configure specific hardware parts. DSP/bios ii can be used not only to define memory ing, interrupt vector table, but also to set timer, serial port, and other hardware devices.

(4) Communication and Synchronization)

DSP/bios ii supports various internal communication and synchronization methods, such as semaphores, mailbox, and queue. The flag is the most important synchronization method. It allows tasks to run and suspend through the flag. It also allows the use of mutex flag to manage the buffer zone and devices.

(5) Real-Time Analysis)

Real-time analysis tools allow developers to interact and diagnose DSPs during program execution. DSP/bios ii not only provides common log, STS and TRC modules, but also provides CPU load graph and execution Graph) and other more convenient debugging and observation tools.

  3. Software Architecture Design Based on DSP/BIOS Ⅱ real-time operating system

The first step of using DSP/bios ii for Project Division is module division, that is, the functions to be completed by the project are divided into several independent threads for completion (it can be considered that the thread excludes the DSP at runtime ), specifies the type of thread to be used based on the hardware resources used in the thread. Generally, hard interrupt tasks are placed in Hwi to complete, and timer tasks can be placed in PRD (Cyclic tasks. Then, determine the relationship between threads, set the priority of each thread based on it, and how to communicate and exchange data. The flag is the most convenient communication method.

Signal Processing Process of the Ground Penetrating Radar Signal Processor: A/D sends a hard interrupt signal to the DSP after each column of data is collected. After each column of data is received, DSP performs average filtering and adaptive filtering on the data column, and counts the column at the same time. When the column count reaches one frame, perform wavelet denoising and pulse compression on the image signal of this frame, display the image to the graphic LCD Based on the keyboard settings, and send the image to the PC host through the USB interface, to facilitate the next step.

Based on the above execution process, the entire software is divided into 12 independent tasks. The column interruptions and USB data transmission modules are HWI (hard interrupt) tasks, the keyboard module is a PRD (periodic) task (periodic scan of the keyboard is completed), and other modules are a SWI (Soft Interrupt) task. After the initialization task is complete, the DSP is deleted. The column interruption task is responsible for sending the arrival information of column data to the DSP, triggering the average column and adaptive column tasks, the column counting module completes the column interruption count. When a frame is reached, the sending frame is interrupted, triggering a series of frame-based data processing tasks; the execution process of the entire software system 2 is shown.

As a commercial operating system, DSP/bios ii provides easy-to-use graphical configuration interfaces. The graphic interface helps developers develop programs quickly without having to write tedious initialization programs. Instead, the compiler can automatically generate the program after the graphical interface is configured. For example, for the configuration of the serial port (MCBSP), you need to configure more than a dozen registers, such as the interrupt source, data format, and sending and receiving frequency, which are troublesome and error-prone. However, if you use a graphical interface to set the port, everything is much easier. The graphic configuration interface not only configures hardware resources, but also initializes tasks and semaphores, and completes the second step of using DSP/bios ii. After writing each thread program, compile and load it into the DSP for running. The DSP first initializes and then jumps from the MAIN () function to the task cyclic queue. Tasks in the queue are executed according to the priority. tasks are generally infinite loops and only suspended by specific semaphores.

DSP/bios ii provides powerful analysis debugging tools. In addition to common methods, the CPU load diagram and execution diagram are two very effective methods. The CPU load graph provides the load curve of the target CPU. The CPU load is defined as the amount of time apart from the execution of the lowest priority task. The lowest priority task is a task that is executed only when other threads are not running. Therefore, the CPU load diagram includes the time required to transmit data from the target to the host and execute additional background tasks. In the execution diagram, we can see the activity of each thread. The chart also contains semaphore activity, periodic function tag (tick), and clock module tag. The execution graph shows the activity status of all threads of the project. Based on the debugging information, you can evaluate the thread execution and CPU load, and use other debugging tools to modify the design until the project function is completed.

The CPU load diagram shows the ratio of the performance required by the software system to the actual maximum CPU performance. For example, the performance statistical diagram on the PC machine shows that if the required performance is greater than the actual performance of the DSP, you must modify the design, optimize the algorithm, speed up the clock frequency, or even replace a DSP chip with higher performance.

The execution diagram shows the detailed information of each task during execution. For embedded applications, real-time performance is very important and even must be met, the operating system is scheduled at a very small interval to ensure the real-time response of the system. However, in practice, if a task cannot be completed within the scheduling interval due to poor task allocation, the real-time performance of the entire system will be affected. In this case, the task division must be modified reasonably. For example, in this system, the noise reduction processing for a column of data is done after a frame of data arrives. simulation shows that this causes too many tasks to be executed within one frame interval, the DSP cannot be completed. Therefore, data preprocessing is performed on each column to ensure real-time performance of the system.

  4. Precautions for using DSP/bios ii Operating System

(1) The key to a good use of DSP/bios ii is a good understanding of the operating system, which is a bit like the relationship between algorithm theory and applied algorithms. The operating system embodies the essence of decades of development in the software field. There are many concepts and structures that require deep understanding and consideration. Therefore, beginners must read several books about the operating system.

(2) The task must be written as one of the following two forms.

In the DSP/bios ii development environment, it is not required to display the call to OSTaskDel (). This is because the development environment is automatically processed, and the actual principle is the same.

  5. Conclusion

This article introduces the hardware structure and software design of the Ground Penetrating Radar Signal processor, and focuses on how to use DSP/BIOS Ⅱ real-time embedded operating system in project applications. Real-time embedded operating systems are widely used abroad and have become an essential part of embedded system design, embedded operating systems have limited applications. Therefore, it is imperative to quickly use the latest technologies to improve the level and depth of embedded system development.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.