低成本ARM系列LM3S101微控制器的结构与应用

发布者:pengbinyyy最新更新时间:2008-10-15 手机看文章 扫描二维码
随时随地手机看文章
     LM3S101是美国Luminary公司生产的、基于ARMCortex-M内核的32位微控制器芯片,它的销售价格在1美元以下,在构建同等性价格比的应用系统时成本很低。广州周立功单片机发展有限公司推出了以学习和评估该芯片为目的的开发套件EasyArm101。该套件由H-JTAG调试器、开发板、KeilμVision开发工具包、各类驱动程序库、文档以及与实例程序配套的相关元器件等组成。

1 LM3S101芯片的架构与特点

1.1 架 构

  • 图1是LM3S101 芯片电路图和EasyArm101开发套件实物图。



LM3S101采用哈佛架构、Thumb-2指令集。芯片内部集成了8 KB单周期的Flash ROM,2 KB单周期的SRAM,2个32位定时器,1个同步串行接口(SSI),1个遵循ARM FiRM规范的看门狗定时器,1个UART,2个模拟比较器以及18个GPIO等,时钟频率为20 MHz。

1.2 应用特点

◆存储治理方式简单;

◆具有硬件位操作能力;

◆中断响应快捷;

◆定时器与脉宽调制PWM功能;

◆同步和异步串行接口。

2 开发环境和过程

2.1 开发环境

支持LM3S101芯片开发的集成环境有好几种,本文以Keil μVision3 for ARM软件为例来介绍开发环境。该软件集成了编译器、链接器和调试器等,其使用方式与Keil for C51相似。针对LM3S系列控制器提供的函数库名为Stellaris Drivet Library。

2.2 开发过程

① 开发软件安装:安装KeilμVision3 for ARM软件。

 

② 调试器驱动安装:将ULINK调试器连接到计算机,选择"自动搜索驱动"选项安装。

③ 设置编译器:选择Project→"Components,Environ-ment;Books"进入编译器设置界面,选择RealView编译器。选中"Use RealView Complier"选项,其他选默认设置。

④ 建立工程:选择Project→"New Project",输入工程名,选择对应的MCU型号LM3S101。按软件提示复制相应的启动代码。该启动代码用汇编编写,它主要对堆栈和中断向量进行初始化。接下来需将DriverLib.lib文件导入到工程,该文件就是Stellaris Driver Library的二进制版本,导入以后就可以在程序中调用库函数。

⑤ 程序调试:应用程序编写完成后,按F7编译。编译通过以后,选择Flash→Download菜单,就可以将程序下载到LM3S101上。

3 LM3S101应用实例

3.1 直流电动机调速控制

使用PWM控制直流电动机调速是通过调节输出方波的占空比来实现的,这里采用定频调宽法,即方波的周期不变,只改变方波宽度。当PWM输出占窄比为50%时,电机处于静止状态;当占空比小于50%时,电机反转;当占空比大于50%时,电机正转。调节占空比就可以改变转速。按键KEY1和KEY2用来控制占空比进行调速实验,按下KEY1时占空比提高10%,按下KEY2时占空比降低10%。

 

3.1.1 直流电动机调速原理

直流电动机PWM调速控制原理图如图2所示。其中,TA7291S是直流电动机驱动芯片,工作电压为4~20V,最大输出电流为0.4 A。

 

 

3.1.2 直流电动机调速程序设计

 

程序流程图如图3所示。初始化程序将PWM占空比设置为50%,将PA5和PA4设置为上升沿中断触发方式。当中断发生后,由中断服务程序修改占空比,从而调节电机的转速。

 

 

3.2 步进电机运行

实验使用四相步进电机,采用单极单相激磁方法。步进电机运行通过4个输入控制信号CE、CD、SI和MO来控制。其中,CE是步进电机使能位,高电平使能,低电平禁能;CD用于控制电机转向,低电平顺时针转动,高电平逆时针转动;SI为转动量控制端,每收到一个脉冲即转动N个步进角;N的值由端口MO设置,低电平时N为1,高电平时N为10。输入控制信号由PA0~PA3进入,激磁信号由PB0~PB3输出。

3.2.1 步进电机运行控制原理

步进电动机运行控制电路原理如图4所示。其中TLP521-4为光隔芯片,UNL2003为达林顿驱动器,用于进行步进电机驱动。

 

3.2.2 步进电机运行控制程序设计

 

程序流程图如图5所示。主程序等待输入控制信号触发外部中断,每次中断转动N个步距角,其判定过程由中断服务程序实现。

 

结 语

 

LM3S101芯片性价比高,具有配套完善的软件开发工具和丰富的驱动程序库,使用C语言编程,凶此非凡适合构建32位的小嵌入式系统。本文介绍了使用开发套件EasyArm101进行直流电动机调速控制和步进电机运行控制的实例。

引用地址:低成本ARM系列LM3S101微控制器的结构与应用

上一篇:一种基于ARM的新型智能化航迹仪的设计
下一篇:NXP宣布推出基于ARM968核的微控制器系列

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved