低成本ARM系列LM3S101微控制器的结构与应用
发布时间:2007/8/29 0:00:00 访问次数:679
华东师范大学 洪亮 王志佳 赵俊逸
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占空
华东师范大学 洪亮 王志佳 赵俊逸
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占空
上一篇:中国国际光电应用博览会圆满落幕