您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 半天学会ARM-Cortex-M3-课件
主题:飓风行动---半天学会ARMCortex-M3利尔达嵌入式研发中心M3小组2010年12月一、TIStellarisM3产品总体介绍和未来展望二、TIStellarisM3Tempest系列硬件性能讲解三、StellarisWare软件架构介绍四、基于LSDEV-3S5956开发板的现场动手实验目录一、TIStellarisM3产品总体介绍和未来展望什么是ARM®Cortex™-M3?•Cortex系列ARM处理器在各种特定市场应用中,提供一系列解决方案。•Cortex强调ARM的市场战略围绕特定应用和性能要求技术。•ARMCortex系列包含3个系列,都是用Thumb-2指令集,增强了性能以及适应各种市场的成本要求。–ARMCortex-A系列,•用于复杂操作系统的应用处理器。•支持ARM、Thumb、Thumb-2指令集–ARMCortex-R系列•实时操作系统的嵌入式处理器•支持ARM、Thumb、Thumb-2指令集–ARMCortex-M系列•嵌入式处理器•优化成本•仅支持Thumb-2指令集ARM®Cortex™-M3特性•Cortex-M3为微控制器版本–优化的单周期flash–快速,准确的中断控制器:6个时钟周期,不多于12个时钟周期–单周期硬件乘法器和除法器–Thumb2混合16-/32-位指令集—无须模式切换–三种睡眠模式降低电源消耗–高级调试功能包括数据断点和软件断点–自动操作—读/修改/写(单周期指令)–1.25DMIPS/MHz—比ARM7和ARM9好Cortex™-M3优点•为MCU市场而设计能力更胜ARM7:–完全不需要汇编–比起ARM7的执行Cortex-M3只需要近似½的Flash–在MCU控制应用程序上面快了2-4倍原始中断性能:我们快了85%PID(进程控制)主循环:我们快了217%乘法加强代码:我们快了294%ARMCortex-M系列处理器•开发满足用户需求–从头设计,以满足低功耗,高性能的市场需求•ARM7TDMI是一个出色的处理器–但是已发展15年,用户期望继续发展ARM7TDMICortexMClass无标准的中断控制器IRQ和FIQ中断太受限制完整的NVIC中断控制器多达240个中断32级中断优先级进入中断服务程序ISRs时间不确定需要20-50个时钟周期H/W堆栈确定中断服务程序时间LSMs(咬尾中断)需要特殊的汇编代码对于所有的中断和启动代码无需汇编代码硬件操作处理软件开发需要互通编译ARM和Thumb指令集时需要软件切换Thumb-2简化开发,无需任何切换应用程序可移植性差没有标准的内存映射和中断控制器已定义有NVIC,SysTick和内存映射集成到内核当中,时代码重用性好TI微控制器家族•2009年5月,TI收购了LuminaryMicro公司.–LuminaryMicro公司是ARM的Cortex-M3的架构的主要合作伙伴–目前,TI提供的四代的Stellaris的ARMCortex-M3的微控制器•Stellaris®系列已经有160多个型号–混合信号控制器主要应用在能源、安全应用、通信市场–用于运动控制应用,实时通讯(Ethernet,ControllerAreaNetwork,USB),智能模拟功能以及电源转换的独立IP设计–强大的群星硬件工具,文档,技术支持和ARM公司第三方支持,让您体验快速、高效、标准化的市场领导解决方案Stellaris处理器2619245185104StellarisFuryClassStellarisSandstormClass128138StellarisDustDevilClass167StellarisTempestClassStellaris世界级的支持Micriµm编译,仿真工具操作系统协议栈合作伙伴编程器MicriµmStellaris®各个系列特点•LM3S1xxxnon-CAN,non-Ethernet•LM3S2xxxCAN•LM3S3xxxUSB•LM3S5xxxCAN+USB•LM3S6xxxEthernet•LM3S8xxxEthernet+CAN•LM3S9xxxEthernet+CAN+USB系列型号Flash容量SRAM容量LM3Sx1xx16KSRAMLM3Sx2xx32KSRAMLM3Sx3xx16KSRAMLM3Sx4xx32KSRAMLM3Sx5xx64KSRAMLM3Sx6xx32KSRAMLM3Sx7xx64KSRAMLM3Sx8xx32KSRAMLM3Sx9xx64KSRAMLM3SxBxx96KSRAMLM3SxDxx96KSRAM64KFlash96KFlash128KFlash256KFlash512KFlashStellaris器件查询工具Stellaris微控制器家族二、TIStellarisM3Tempest系列硬件性能讲解基本外设模块介绍1、电源模块2、调试接口3、时钟模块4、系统定时器5、工作模式6、休眠模块7、GPIO模块8、GPTM模块9、看门狗模块10、PWM模块11、QEI模块12、UART模块13、SSI模块14、ADC模块15、CAN模块16、EPI17、Ethernet模块18、USB模块Stellaris®电源模块•三路输入电源–VDDC内核电压1.2V–VDD数字电源,3.0-3.6V–VDDA模拟电源•一路输出电源–LDO内部电压调整器1.2VStellaris®调试接口•JTAG–行业标准的边界扫描电路内测试–在电路Flash编程•并行JTAGTAP–允许进入到芯片的JTAG边界扫描–Cortex-M3的调试的JTAG支持•SerialWireDebug/SerialWireTrace(SWD/SWT)–一种提供调试访问和两个引脚控制,跟踪信息的引脚的新技术Stellaris®调试接口•如果需要调试,或Flash映像文件已损坏,您可以随时使用的JTAG/SWD接口对Flash下载bin文件。•请记住,所有的Stellaris评估工具包可以作为在电路调试接口(ICDIs),这意味着你可以用它对其他板子进行编程/调试,例如IDM。Stellaris®时钟特点具体介绍一下这4个时钟源:•高精度内部振荡器(PIOSC):内部振荡器是片内时钟源。它不需要使用任何外部元件。内部振荡器的频率是16MHz±1%。不依赖精确时钟源的应用可以使用这个时钟源来降低系统成本。内部振荡器是器件在POR过程中和POR之后使用的时钟源如果需要主振荡器,软件必须在复位后使能主振荡器,并在改变时钟基准前使主振荡器稳定下来。•主振荡器OSC:主振荡器用下面的其中一种方法来提供一个频率精确的时钟源:OSC0输入管脚连接一个外部单端时钟源或在OSC0输入和OSC1输出管脚之间连接一个外部晶体。允许的晶体值取决于主振荡器是否用作PLL的时钟参考源。-如果使用PLL,则从3.579545MHz到16.384MHz-如果不使用PLL,则从1MHz到16.384MHzStellaris®时钟特点•内部30kHz的振荡器OSC:内部30kHz振荡器与内部振荡器类似,它提供30kHz±30%的工作频率。它主要用在深度睡眠的节电模式中。这个节电模式从减少的内部切换中获益,它还允许主振荡器掉电。•Hibernation振荡器:外部实时振荡器提供一个低频率、精确的时钟基准。它的目的是给系统提供一个实时时钟源。实时振荡器是休眠模块的一部分,它也提供了一个精确的深度睡眠或休眠模式节电源。可以使用4.194304MHz晶振或者32.768kHz有源晶振。Stellaris®时钟模块框图Stellaris®系统定时器Cortex-M3包含一个集成的系统定时器SysTick。SysTick提供了一种简单的、24位写清零(clear-on-write)、递减的、到零重装(wrap-on-zero)的计数器,该计数器带有灵活的控制机制:RTOS节拍定时器以一个可编程的速率(例如100Hz)运行并调用SysTick程序。使用系统时钟的高速报警定时器。速率可变的报警或信号定时器—时间延迟的范围由使用的参考时钟和计数器的动态范围决定。简单的计数器。软件可使用该计数器来测量完成时间和使用时间。基于错过/满足持续时间的内部时钟源控制。控制和状态寄存器中的COUNTFLAG位字段可用来确定操作是否作为动态时钟管理控制循环的一部分,在设定的持续时间内完成。Stellaris®工作模式运行模式。运行模式提供了处理器和RCGCn寄存器当前使能的所有外设的正常操作。系统时钟可以是包括PLL在内的任何可用的时钟源。睡眠模式。睡眠模式通过Cortex-M3内核执行一条WFI(等待中断)指令进入。系统中任何适当配置的中断事件将使处理器回到运行模式。在睡眠模式中,Cortex-M3处理器内核和存储器子系统不使用时钟。当自动时钟门控使能时(见RCC寄存器),SCGCn寄存器使能的外设时钟被使用;而当自动时钟门控禁止时,RCGCn寄存器使能的外设时钟被使用。睡眠模式下的系统时钟,其时钟源和频率与运行模式下的相同。Stellaris®工作模式深度睡眠模式。深度睡眠模式通过先写ARMCortex-M3NVIC系统控制寄存器的深度睡眠使能位、再执行一条WFI指令进入。系统中任何适当配置的中断事件将使处理器回到运行模式。Cortex-M3处理器内核和存储器子系统不使用时钟。当自动时钟门控使能时,DCGCn寄存器使能的外设时钟被使用;而当自动时钟门控禁止时,RCGCn寄存器使能的外设时钟被使用。系统的时钟源默认是主振荡器或DSLPCLKCFG寄存器指定的内部振荡器,前提是其中一个时钟源要使能。当使用DSLPCLKCFG寄存器时,内部振荡器上电,如有必要,主振荡器可以掉电。如果PLL在执行WFI指令时运行,则硬件将使PLL掉电,并将有效RCC/RCC2寄存器的SYSDIV域分别替换成/16或/64。当出现深度睡眠退出事件时,硬件会把在深度睡眠阶段被停止的时钟使能之前,将系统时钟恢复为开始进入深度睡眠模式时采用的时钟源和频率。休眠模式。这种模式下,器件主要功能部件的电源关断,只有休眠模块的电路有效。需要一个外部唤醒事件或RTC事件来使器件回到运行模式。Cortex-M3处理器和休眠模块之外的外设看见一个正常的“上电”序列,处理器启动运行代码。通过检查休眠模块寄存器可以确定已经从休眠模式重新启动。Stellaris®休眠模块特点休眠模块管理微控制器其它功能模块电源的解除和恢复,提供一种降低功耗的方法。当处理器和外设空闲时,电源可以完全解除,只维持休眠模块的供电。电源可以因为一个外部信号而恢复,也可以利用内置实时时钟(RTC),在某个时刻被恢复。休眠模块可单独通过电池或辅助电源提供电源。到个别外部稳压器的电源切换逻辑用作外部信号唤醒的专门管脚低电池检测、发出信号和中断发生32位实时计数器(RTC)2个32位的RTC匹配寄存器,用作定时唤醒和中断产生时钟源来自一个32.768kHz的外部振荡器或一个4.194304MHz的晶体RTC预分频器调整,对时钟速率进行良好地调节64个32位字的非易失性存储器可编程的匹配、外部唤醒和低电池电压事件的中断Stellaris®休眠模块框图Stellaris®GPIO特点高达33个GPIO(64LQFP),60个GPIO(100LQFP)具体数目取决于配置输入/输出可承受5V每个GPIO均可用于产生中断,可编程为边沿触发或电平检测在读和写操作中通过地址线进行位屏蔽可启动ADC采样序列GPIO端口配置的可编程控制弱上拉或下拉电阻2mA、4mA和8mA端口驱动8-mA驱动的斜率控制开漏使能数字输入使能高达4个GPIO可以驱动输出18mAGPIO配置灵活,基本上每个IO口都有多种功能Stellaris®GPIO框图Stellaris®GPTM通用定时器3个或4个通用定时器模块(GPTM),每个模块都能提供2个16位的定时器/计数器。每
本文标题:半天学会ARM-Cortex-M3-课件
链接地址:https://www.777doc.com/doc-4440657 .html