Teaching Embedded Systems with the NI LabVIEW Embedded Module for ARM

Publisher:hylh2008Latest update time:2012-08-04 Source: 21ic Keywords:ARM Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
Through a series of laboratory practical courses and team projects for robot development, students from the School of Electronic Engineering and Computer Science are attracted to actively participate in embedded system design.

The Solution:

Using the NI LabVIEW Embedded Module for ARM microcontrollers to program the Cortex-M3 microcontroller connected to the iRobot Create mobile robot platform, students can develop an embedded system that communicates with the real world with real-time constraints.

Berkeley engineers use NI LabVIEW Embedded Module for ARM microcontrollers
UC Berkeley engineers used the NI LabVIEW Embedded Module for ARM microcontrollers to program the Cortex-M3 microcontroller connected to the iRobot Create mobile robot platform, allowing students to develop an embedded system.

"By using LabVIEW, students can develop complex functions faster, making the entire process more rewarding and educational."


The School of Electrical Engineering and Computer Science at the University of California, Berkeley is one of the top schools in the world. As part of the undergraduate curriculum, students have the opportunity to study the unique challenges posed by embedded systems and computational physics systems. Students will learn about concurrency in real-time embedded systems and concurrent models of computation, sensor and actuator modeling, software analysis tools, code generation, and control algorithms.

To develop a reliable embedded system, a wide range of professional skills are required, including static code analysis, real-time operation, and sensor and actuator interface technology. We hope that students can complete a series of laboratory practice courses to strengthen the skills that a successful embedded engineer must master. [page]

Robot hardware platform

Through the course experiments, students will experience how to use LabVIEW embedded modules, state diagrams, ANSI C and other design tools for ARM microcontrollers to control robots. Robots need to process real-world data sent by sensors, respond quickly to their environment and drive actuators to produce meaningful physical responses. They are excellent tools for teaching embedded systems. When designing course materials, we also use LabVIEW's intuitive graphical design tools to provide students with a flexible and open programming platform, allowing students to mix programming methods such as data flow, ANSI C and state diagrams.

Students start with pre-built mechanical platforms, such as the iRobot Create, and focus on software and microcontrollers in coursework. This mobile platform is similar to the iRobot Roomba, a smart home vacuum equipped with wheel drives and more than 30 sensors. However, its internal 8-bit processor is not enough for the control algorithms of complex smart robots. Therefore, engineers at the University of California, Berkeley, connected the iRobot Create to a Luminary Micro Cortex M3 ARM microcontroller to transmit instructions through a universal asynchronous receiver-transmitter (UART) serial port. This achieved a more durable and powerful controller, created more general-purpose I/O ports, enabled high-speed 模数转换\'); companyAdEvent.show(this,\'companyAdDiv\',[5,18])"> analog-to-digital conversion , and had the ability to program the robot using LabVIEW and ANSI C programs.

Using the iRobot Create platform with an ARM microcontroller, students used embedded software techniques to guide the robot autonomously to the top of a hill, avoiding obstacles in the process. The hardware used by the students included the iRobot Create, the Luminary Micro ARM Cortex M3, an accelerometer, and a Bluetooth chip for diagnostics and communications. The students initially programmed the Luminary using ANSI C to implement finite state machines, interrupts, and connections to sensors and actuators without an operating system. After developing a working controller using ANSI C, the students began synthesizing their controller in desktop simulation using LabVIEW , and then used the LabVIEW Embedded Module for ARM microcontrollers to program the robot using a control program generated with a data flow and statechart model in conjunction with a real-time operating system.

In the above process, students can learn the importance of modeling, static analysis, code execution path, program reachability analysis and real-time system performance constraints. Implementing laboratory practical projects on the iRobot Create platform allows students to experience many challenges, such as communicating with the real world through sensors, actuators and the real-time operating system provided by the LabVIEW Embedded Module for ARM microcontrollers.

Benefits of Using the LabVIEW Embedded Module for ARM Microcontrollers

The connection between models and system implementation is one of the main themes of the UC Berkeley course. The LabVIEW graphical programming language makes it easier to analyze and reason about concurrency and timing than with traditional ANSI C. By comparing the LabVIEW description to the ANSI C implementation, students are able to gain a deeper understanding of the principles of embedded software. By using LabVIEW, students can develop complex functions more quickly, making the entire process more satisfying and educational.

By taking advantage of the LabVIEW embedded graphical system design tool, students also gained a deeper understanding of code generation, a growing technology in the embedded industry. With the ability to execute LabVIEW programs on desktop computers and real-time embedded platforms, students can verify the correctness of logic execution before generating code for embedded targets. The LabVIEW front panel has a real-time updated graphical interface that enhances the debugging environment and allows students to quickly obtain results.

Final Project

The LabVIEW Embedded Module for ARM microcontrollers improves efficiency, allowing students to learn and understand more software development concepts in less time. As the last part of the course, students need to develop a self-selected project within 10 weeks. Students who chose LabVIEW and ARM hardware developed intelligent hovering helicopters, densely following vehicle platoons, and intelligent vehicle robots connected to many sensors for path finding and mapping. Using LabVIEW, students were able to design, simulate , and deploy software in various embedded applications at a very fast speed .

Keywords:ARM Reference address:Teaching Embedded Systems with the NI LabVIEW Embedded Module for ARM

Previous article:Design of vehicle detection system control unit based on ARM development board
Next article:Design of an integrated two-phase stepper motor driver based on CAN bus

Recommended ReadingLatest update time:2024-11-17 00:08

Design of Intelligent Temperature Controller for Dry-Type Transformer Based on ATmega16 Single Chip Microcomputer
1 Working Principle The temperature controller consists of three parts: temperature monitoring, signal processing, and output control. The system block diagram is shown in Figure 1. It obtains the winding temperature value through three platinum resistance sensors embedded in the three-phase winding of the trans
[Microcontroller]
Design of Intelligent Temperature Controller for Dry-Type Transformer Based on ATmega16 Single Chip Microcomputer
Burning MCU under Linux system (transfer)
Some people ask how to develop microcontroller programs under Linux? We have learned development tools and burning tools under Windows. In fact, this is only the case in China. Most Chinese people use Windows systems. So we only come into contact with development tools under Windows. Abroad, many experts do not use Wi
[Microcontroller]
PWM+L293d control DC motor program based on 51 single chip microcomputer
The left switch slows down, and the right switch speeds up. L293D chip drives DC motor MCU source code: #include reg51.h #define Tpwm 0xfc18 //The count value corresponding to the PWM period is 1ms, based on a 12MHz crystal oscillator unsigned int duty ={0,/*0*/ 0xff9c/*100us*/,0xff38/*200us*/,0xfed4/*300us*/, 0x
[Microcontroller]
PWM+L293d control DC motor program based on 51 single chip microcomputer
ARM Development Studio development tool introduction and differences between versions
Arm Development Studio is the most comprehensive end-to-end embedded C/C++ development solution on the market, designed for Arm-based SoCs, from microcontrollers to custom multi-core processors. Designed together with Arm processor IP, it accelerates system design and software development for Cortex-M, Cortex-R and Co
[Microcontroller]
ARM Development Studio development tool introduction and differences between versions
Azure ARM (6) ARM Template Introduction
  In the previous section, I introduced how to export a Template from an existing Azure Resource Group.   Next, we will give an overview of Azure Template.   1. First, we open a text editor and create a JSON file named azuredeploy.json   Then copy the following:     {       "$schema": "http://schema.management
[Microcontroller]
In-depth analysis of the driver of the STM8 MCU GPIO port
In the previous section, we introduced the porting of the STM8 standard library. In this section, we will start to learn the peripheral drivers of our microcontroller. The basic peripheral information of the microcontroller includes GPIO, external interrupts, timers, serial ports, etc. This section will first introduc
[Microcontroller]
In-depth analysis of the driver of the STM8 MCU GPIO port
ARM's BX instruction
The syntax format of bx is BX{ } <Rm> <cond> is the condition code for the execution of the instruction. When <cond> is ignored, the instruction is executed unconditionally. <Rm> is the target address of the jump. When bit of the register is 0, the instruction at the target address is an ARM instruction; when bit
[Microcontroller]
Research on the design of external data storage expansion based on MCS-8051 single chip microcomputer
  0 Introduction   With the continuous improvement of the computing speed and processing power of single-chip microcomputers, they are more widely used in various fields. However, with the continuous expansion of its application fields and the continuous improvement of its integration, its internal resources can no
[Microcontroller]
Research on the design of external data storage expansion based on MCS-8051 single chip microcomputer
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

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号