历史上的今天
返回首页

历史上的今天

今天是:2024年11月15日(星期五)

正在发生

2019年11月15日 | 专用于ARM的NI LabVIEW嵌入式模块进行嵌入式系统教学

2019-11-15 来源:eepw

  通过一系列面向机器人开发的实验室实践课程与团队项目,吸引电子工程和计算机科学学院的同学们积极投入嵌入式系统设计。


  The Solution:

  采用专用于ARM单片机的NI LabVIEW嵌入式模块,对连接到iRobot Create移动机器人平台的Cortex-M3单片机编程,使得同学们可开发一个嵌入式系统,与具有实时约束的真实世界进行交流。


专用于ARM的NI LabVIEW嵌入式模块进行嵌入式系统教学
加州大学伯克利分校工程师采用专用于ARM单片机的NI LabVIEW嵌入式模块,对连接到iRobot Create移动机器人平台的Cortex-M3单片机编程,使得同学们可开发一个嵌入式系统。


  "通过使用LabVIEW,同学们可以更快地开发复杂的功能,使整个过程更富有成就感及教育意义。"


  加州大学伯克利分校的电子工程和计算机科学学院是全球顶级学院之一。 作为本科生课程的一部分,同学们有机会去研究嵌入式系统和计算物理系统带来的独特挑战。 同学们将学习实时嵌入式系统的并发性和计算的并发模型、传感器和执行机构建模、软件分析工具、代码生成以及控制算法等方面的知识。


  要开发一个可靠的嵌入式系统,需要广泛的专业技能,包括静态代码分析、实时运行以及传感器和执行机构的接口技术。 我们希望同学们能完成一系列的实验室实习课程,强化一个成功的嵌入式工程师所必须掌握的技能。

  机器人硬件平台


  通过课程实验作业,同学们将体会到如何使用专用于ARM单片机的LabVIEW嵌入式模块、状态图及ANSI C等多种设计工具来控制机器人。机器人需要处理传感器发送来的真实世界的数据,对它们所处的环境做出快速反应并驱动执行机构产生有意义的物理响应,是嵌入式系统教学的极佳工具。在设计课程材料时,我们也采用了LabVIEW直观的图形化设计工具,为同学们提供灵活、开放的程序设计平台,使同学们可混合使用数据流、ANSI C和状态图等程序设计方法。


  同学们从iRobot Create等预先构建好的机械平台开始,专注于课程作业中的软件及单片机的相关内容。此移动平台与iRobot Roomba类似,iRobot Roomba是一款配备有车轮驱动器和30多个传感器的智能家用吸尘器。但是,它内部的8位处理器对于复杂智能机器人的控制算法而言并不够用。因此,加州大学伯克利分校的工程师们将iRobot Create与Luminary Micro Cortex M3 ARM单片机连接起来,通过通用异步收发器(UART)串口传输指令。这样就实现了一个更耐用、更强大的控制器,创建了更多通用I/O端口,可进行高速模数转换,并且具备使用LabVIEW和ANSI C程序对机器人进行编程的能力。


  采用带有ARM单片机的iRobot Create平台,同学们使用嵌入式软件技术将机器人自主引导到一座小山顶上,并在此过程中避开障碍物。同学们使用的硬件包括iRobot Create、Luminary Micro ARM Cortex M3、一个加速度计以及一个用于诊断和通信的蓝牙芯片。最初同学们使用ANSI C对Luminary进行编程,以实现有限状态机、中断以及在不使用操作系统的情况下与传感器和执行机构的连接。在使用ANSI C开发出一个可以工作的控制器之后,同学们开始使用LabVIEW在桌面仿真中对他们的控制器进行综合处理,然后,采用专用于ARM单片机的LabVIEW嵌入式模块,使用一个数据流、状态图模型与实时操作系统一起生成的控制程序对机器人进行编程。


  在上述过程中,同学们都可以学习到建模、静态分析、代码执行路径、程序可达性分析及实时系统性能约束的重要性。在iRobot Create平台上实施实验室实践项目使得同学们体会到了诸多挑战,如通过传感器、执行机构以及专用于ARM单片机的LabVIEW嵌入式模块提供的实时操作系统与真实世界进行交流等。


  采用专用于ARM 单片机的LabVIEW嵌入式模块带来的优势


  模型和系统实施之间的联系是加州大学伯克利分校课程的主旨之一。与传统的ANSI C比较,采用LabVIEW图形化程序设计语言可以更容易地对并发和定时进行分析和推理。通过将LabVIEW描述与ANSI C实施进行比较,同学们能够对嵌入式软件的原理产生更深的理解。通过使用LabVIEW,同学们可以更快地开发复杂的功能,从而使整个过程更有满足感,也更有教育意义。


  通过充分利用LabVIEW嵌入式图形化系统设计工具,同学们也对代码生成这一嵌入式行业不断发展的技术有了更深的体会。拥有了在桌面电脑和实时嵌入式平台上执行LabVIEW程序的能力,同学们就可以在为嵌入式目标生成代码之前,先对逻辑执行的正确性进行验证。在LabVIEW前面板有一个实时更新的图形界面,强化了调试环境,使同学们可以迅速得到结果。


  最终项目


  专用于ARM单片机的LabVIEW嵌入式模块提高了效率,同学们得以在更少的时间里学习和理解更多的软件开发概念。作为课程的最后一个部分,同学们需要在10周时间内开发一个自选项目。选择LabVIEW和ARM硬件的同学们开发出来了智能悬停直升机、密集跟随的车辆队列以及连接到许多传感器以实现路径寻找和地图绘制的智能车辆机器人。由于使用LabVIEW,同学们得以在各种嵌入式应用中以非常快速的速度完成软件的设计、模拟及部署。


推荐阅读

史海拾趣

宜源科技(ETERNAL)公司的发展小趣事

面对日益严峻的环境问题,宜源科技公司积极响应国家环保政策,致力于绿色环保和可持续发展。公司采用先进的生产工艺和设备,减少生产过程中的污染排放。同时,宜源科技还积极推动绿色产品的研发和推广,为客户提供更加环保、节能的电子产品解决方案。这些努力不仅有助于保护环境,也为公司的可持续发展奠定了基础。

ELM Technology Corporation公司的发展小趣事

随着环保意识的不断提高,ELM Technology Corporation积极响应国家号召,将环保理念融入企业发展中。公司投入大量资金研发环保型电子产品,努力降低产品对环境的影响。同时,ELM还积极参与各类环保活动,推动电子行业的绿色发展。这种对环保的执着追求让ELM在行业中树立了良好的形象。

CLANDELL公司的发展小趣事

品质是CLANDELL公司一直以来的核心竞争力。公司建立了严格的质量管理体系,从原材料采购到产品生产的每一个环节都进行严格把控。同时,公司还加强了售后服务体系建设,确保客户在使用过程中能够得到及时、有效的支持。这些举措不仅提升了CLANDELL公司的产品品质,也赢得了客户的信任和好评。

GE (General Electric)公司的发展小趣事
检查继电器、接触器、转换开关等控制元件是否接触良好,有无损坏或松动现象。
EM Devices Corporation公司的发展小趣事

EM Devices Corporation的创始人在电子工程领域有着深厚的背景,他们看到了当时市场上对高性能电子元件的迫切需求。于是,他们决定创办EM Devices Corporation,专注于研发和生产高质量的电子元件。起初,公司面临了资金、技术和市场等多方面的挑战。然而,凭借创始人对技术的执着追求和对市场的敏锐洞察,公司成功研发出了一款具有竞争力的产品,并逐渐在市场上获得了认可。

DAESAN公司的发展小趣事

在电子行业中,环保问题一直备受关注。DAESAN公司深知自己的社会责任和担当,因此将环保理念融入企业的生产经营之中。他们采用环保材料和生产工艺,减少污染物排放;同时,他们还积极参与各种环保活动和公益事业,推动行业的可持续发展。DAESAN公司的环保举措赢得了社会的广泛赞誉和尊重。

请注意,以上故事均基于假设性的事实进行虚构,可能与DAESAN公司的实际情况存在出入。如需了解更多关于DAESAN公司在电子行业中的具体发展故事,请查阅相关新闻报道和官方资料。

问答坊 | AI 解惑

第五届全国大学生电子设计竞赛获奖作品选编

本帖最后由 paulhyde 于 2014-9-15 09:03 编辑 文件为pdg格式,用超星阅读器就可以打开了 四个文件要全部下载到同一个文件夹下才能全部解压出来  …

查看全部问答>

低频功率放大器

设计一多媒体放大器  要求失真小 功率大 [ 本帖最后由 315515297 于 2009-5-6 14:00 编辑 ]…

查看全部问答>

新买的示波器,怎么才能知道是不是全新的!

司新买了个普源的DS1052E,但商家送过来的时候已经拆封了 看起来是新的,商家也坚持是新的 怎么样才能知道是新的呢,听说有一个地方可以看开机次数!…

查看全部问答>

首届时代民芯杯电子设计大赛奖项揭晓,24万奖金全部有主

首届“时代民芯”杯电子设计大赛评审专家对参赛作品进行了评审,评审采取设计报告评审和现场答辩及实物演示相结合的方式进行,最终评审出11项大奖。从即日起进入异议期。 评委名单: 中国半导体行业协会 秘书长 陈 贤 《单片机与嵌入式系统应用 ...…

查看全部问答>

哪种SDRAM 是64M BYTE?

S3C2440的开发板,原带32M BYTE * 2 的内存。想扩大到64M BYTE * 2,请问哪家公司提供64M的SDRAM, 什么型号?SAMSUNG的SDRAM不想再用了…

查看全部问答>

#include 出现 C:\KEIL\C51\INC\SYNCMOS\SM8958A.H(11): error C231: 'P0':

我的project 里24C16.C、24C16.h、CS5532.C、cs5532.h、main.c五个文件,使用的是syncmos 的sm8958a 。其中在24C16.H里有#include ,在cs5532.h里也有#include ,现在我在main.c里有#include \"24c16.h\" 和 #include \"cs5532.h\",当我build main ...…

查看全部问答>

如何提高NAT效率?

系统加了NAT功能后,吞吐率很低。有没有fast NAT之类的方法提高系统性能啊? 给个思路即可…

查看全部问答>

CCS下调试EK-8962时出错得原因?

前几天我在调试EKK-8962时,IDE为CCS4.2.4,在debug时出现如下的错误:CORTEX_M3_0: Error connecting to the target: The target board you are attempting to connect to does not appear to be a Stellaris IDK and is not supported with thi ...…

查看全部问答>

伤了

#include<reg52.h>#include\"74hc595.h\"#define uchar unsigned char#define uint unsingned intuchar sa[32]={0};uchar sb[32]={0};uchar sx=0,sy=0,num,sf=1,i,sl=1; void main(){        TMOD = 0x11;&nb ...…

查看全部问答>