Design on Linux Platform Driver for Embedded Systems
Issue:
Volume 9, Issue 1, June 2022
Pages:
1-5
Received:
11 February 2022
Accepted:
4 March 2022
Published:
12 March 2022
DOI:
10.11648/j.ajesa.20220901.11
Downloads:
Views:
Abstract: In the development of embedded systems, driver design is one of its core technologies. In the driver design, Linux driver occupies an important position. For the design of Linux driver, platform model is an important driver design method which is introduced after Linux 2.6. This paper first introduces the driving principle and architecture of Linux platform model, and describes the device, driver and device registration and unloading of the platform model in detail. Then, the driver code of watchdog platform in Linux kernel is analyzed. Finally, taking the embedded development environment tiny4412 as an example, a driver design example of Linux platform is given. The platform driver architecture has the characteristics of reusing framework code, strong independence of device resources and drivers, simple code, unified kernel interface, easy maintenance and expansion. In the development of specific drivers, we only need to focus on keeping the underlying device operation function set corresponding one by one with the kernel interface provided by the driver structure, and ensuring device.name and driver.name consistent, and making the platform device registered in the kernel space before the platform driver, which can make the driver run well and stably, greatly reduce the work intensity and shorten the development time of new products. Compared with the traditional device driver mechanism, the Linux platform driver mechanism registers the resources of the device into the kernel which is managed by the kernel, and driver uses these resources by applying standard interface provided by platform_device, which improves the independence of driver and resource management, and has better portability and security. The developing test shows that the driver based on this architecture has good portability, maintainability and scalability.
Abstract: In the development of embedded systems, driver design is one of its core technologies. In the driver design, Linux driver occupies an important position. For the design of Linux driver, platform model is an important driver design method which is introduced after Linux 2.6. This paper first introduces the driving principle and architecture of Linux...
Show More
FPGA Implementation of Neural Network-Based AGPC for Nonlinear F-16 Aircraft Auto-pilot Control: Part 1 – Modeling, Synthesis, Verification and FPGA-in-Loop Co-Sim
Vincent Andrew Akpan,
Dimitrios Chasapis,
George Dimitriou Hassapis
Issue:
Volume 9, Issue 1, June 2022
Pages:
6-36
Received:
24 April 2022
Accepted:
9 June 2022
Published:
5 September 2022
DOI:
10.11648/j.ajesa.20220901.13
Downloads:
Views:
Abstract: Model predictive control (MPC) is an advanced receding horizon control strategy, for difficult multivariable control systems, that leads to constrained optimization problems which are solved online at each sampling time interval, and takes full advantage of the computational power available in modern control computer hardware for hard real-time constraint systems with short sampling time. However, nonlinear MPC (NMPC) attracts additional computational overload to satisfy nonlinear systems with hard real-time constraint and relatively short sampling time. In other to deploy NMPC for the control of nonlinear systems with hard real-time constraint and relatively short sampling time, a new model-based design (MBD) approach for the implementation of nonlinear MPC, called adaptive general predictive control (AGPC), on field programmable gate array (FPGA) for the auto-pilot control of a nonlinear F-16 aircraft is presented in this paper. The new MBD approach consists of four parts: (i) In the model identification part, the nonlinear F-16 aircraft model is approximated by a neural network autoregressive moving average with exogenous inputs (NNARMAX) model which is trained by an adaptive recursive least squares (ARLS) algorithm; (ii) In the adaptive control part, the nonlinear F-16 aircraft is controlled by a constrained neural network-based adaptive generalized predictive control (AGPC) algorithm; (iii) The third part is the online closed-loop NNARMAX model identification and AGPC control of the nonlinear F-16 aircraft; and (iv) The modeling, synthesis, verification and FPGA-in-the-loop hardware co-simulation (HW Co-Sim) of the online closed-loop NNARMAX model identification and AGPC control of the nonlinear F-16 aircraft. The training and validation data for the neural network model identification are obtained from the open-loop simulation of first-principle nonlinear F-16 aircraft model. The online closed-loop NNARMAX model identification and AGPC control of the nonlinear F-16 aircraft demonstrates the efficiency of the ARLS and the AGPC algorithms in tracking the desired reference trajectories of the nonlinear F-16 aircraft. The FPGA-in-the-loop hardware co-simulation of the online closed-loop NNARMAX model identification and AGPC control of the nonlinear F-16 aircraft shows significant reduction in the computation time between the floating-point MATLAB AGPC and fixed-point C++ AGPC algorithms. Hence, the effort in this work has been directed towards reducing the computation time of the AGPC algorithm at each sampling time instant through modeling, synthesizing and mapping the AGPC algorithm to Virtex-5 FX70T ML507 FPGA embedded system development board via FPGA-in-the-loop hardware co-simulation verification which has been successfully achieved and validated.
Abstract: Model predictive control (MPC) is an advanced receding horizon control strategy, for difficult multivariable control systems, that leads to constrained optimization problems which are solved online at each sampling time interval, and takes full advantage of the computational power available in modern control computer hardware for hard real-time con...
Show More