您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > MPC5644A学习纪要
MPC5644A学习纪要Nichmean@2016-09-2611:05:411SPC5644A简介学些资料:数据手册(datasheet):5644A–MPC5644A.pdf。参考手册:MPC5644ARM.pdf使用/查询寄存器的依据内核手册:e200z3RM.pdf和e200z4RM.pdf查询汇编指令。特性:150MHze200z4Power架构内核-可变长度指令编码(VLE)-有两个可执行单元的大范围架构-每周期最多两个整形或浮点型指令运算-每周期最多四个乘法或加法运算存储器组成-具有ECC和写时读功能的片内4MBFlash存储器-具有standby和ECC功能的片内192KBSRAM-可配置为2路或4路的带有线锁功能(linelocking)8KB指令cache-14+3KBeTPU代码和数据RAM-5×4交叉开关(XBAR)-24端口的MMU-具有主从功能的外部总线接口(EBI)故障安全保护-16端口的存储器保护单元(MPU)-带有3个子模块(sub-modules)的CRC单元-结温传感器中断-带有NMI的可配置中断控制器-64通道的DMA串行通道-3路eSCI-3路DSPI(有两路支持downstreamMicroSecondChannel[MSC])-每路64个消息窗口的3路FlexCAN-1路搞到10Mbits/s的FlexRay模块(V2.1),可配置单通道或双通道,具有128个消息对象,具有ECC功能。1路eMIOS,具有24个未定义通道1路eTPU2(第二代eTPU)-32个标准通道-1个反射模块(reactionmodule)(6通道,每通道3路输出)两路增强型AD转化器(eQADCs)-40路12位输入通道(基于2个AD转化器切换),并且可通过外部选择器扩展到56路-6个命令队列-支持触发和DMA-最小转换时间688ns带有启动辅助模块(BAM)的片内CAN/SCI/FlexRay启动引导Nexus-Class3+的e200z4内核-Class1的eTPUJTAG(5针)DevelopmentTriggerSemaphore(DTS)-32位的信号量寄存器,一个唯一识别码寄存器-参与数据采集的触发器组成-用于与外部工具通讯的EVTO引脚时钟产生-片内4-40MHz的主振荡器-片内FMPLL(相位锁定的频率模块)最多120个通用I/O口-可独立配置为输入、输出或特殊功能-可配置阈值低功耗模式:slow,stop和stand-by模式灵活的供电方式-使用外部ballast的5V单电源供电-多路外部供电:5V、3.3V和1.2V封装-176LQFP-208MAPBGA-324TEPBGA2环境2.1硬件平台北京龙邱智能科技公司的开发板LQ-56xx-EVB,主控芯片为SPC5644AMLU。仿真器使用购买该公司开发板时配套的LQ-PPCJTAG。该仿真器默认为USB5VDC向开发板供电,如需更改可打开仿真器的盒子更改J36跳线:12短接供电3.3V;34短接供电5V。2.2软件平台操作系统:WIN7Pro开发软件:CWforSPC55xxSPC56xxV2.10,免费的。(另外NXP提供了功能更为强大的开发软件,CWforallmcusv10.6,但是它是基于Eclipse平台开发,如果电脑上还有其他基于Eclipse平台开发的软件,建议最好不要用,因为它们会冲突。还有IAR平台,没有试过)仿真器驱动:使用龙邱公司自带的驱动2.3Helloworld打开CW,“File-StartUp”打开对方框,点击按钮“CreateNewProject”,选择与开发板对应的芯片MPC5644A,其他默认设置。打开main.c文件,输入以下代码:#includeMPC5644A.hvoiddelay(intms){inti,j;if(ms1){ms=1;}for(i=0;ims;i++){for(j=0;j5500;j++){;}}}intmain(void){SIU.PCR[114].R=0x0303;//ETPUA0为输入输出方式while(1){SIU.GPDO[114].R=0;//LED灯亮delay(100);//延时SIU.GPDO[114].R=1;//LED等灭delay(100);}}这是一个控制开发板上的一个LED灯不停闪烁的程序。可以选择RAM内存运行,或者是FLASH固化模式运行。点击Make图标进行编译,Debug进行下载运行。3最小系统3.1电源3.2复位电路3.3时钟电路3.4JTAG电路3.5启动引导配置电路4系统时钟配置5GPIO口5.1概述系统集成单元Systemintegrationunit(SIU)用于控制该单片机的复位配置,管脚配置,外部中断,通用I/O口(GPIO),内部其它功能复用和系统复位操作。复位配置模块包含了外部引脚启动配置逻辑,该管脚配置块用于设定IO口静态电特性。GPIO模块设置单片机的输入/输出引脚。复位控制器执行复位监测内部和外部的复位源,并驱动RSTOUT̅̅̅̅̅̅̅̅̅̅̅引脚。SIU和e200z4CPU内核间的通讯是通过XBAR进行。SIU提供下列特性:系统配置-通过外部引脚对单片机进行复位配置-通过每个pad对Pad配置和控制-通过DSPI序列化对虚拟I/O进行pad配置系统复位信号检测及产生-上电复位-复位状态寄存器给软件提供最新的复位源-对复位输入进行Glitch检测-软件控制的复位诊断外部中断-上升或者下降沿事件侦查-针对glitchregjection可编程的数据滤波器-临界中断请求-不可屏蔽中断请求GPIO-针对I/O口和总线引脚的集中控制-通过DSPI序列化实现的虚拟GPIO口(需要外部相应设备支持)-每个GPIO和虚拟GPIO引脚的输入输出寄存器复制内部选择器-允许DSPI的串行和并行链-允许灵活选择eQADC触发输入-允许选择外部引脚或DSPI作为中断请求每个端口默认输入/输出关闭,上拉和下拉电阻同时使能。5.2寄存器5.2.1信号特性表另外,每个引脚的PCR的信号定义需要根据参考手册中的信号特性表来确定。5.2.2PadConfigurationRegisters(SIU_PCR)该寄存器可用于选择引脚功能,I/O口的方向以及设备引脚的某些电气特性。注意:并不是所有的引脚都可以被配置的。PCR是16位寄存器,但是读写都是32位的值,有效部分可以正确读写,无效部分不需要考虑。以下是开发板上用到的部分GPIO口的PCR定义,其余请参考《MPC5644ARM.pdf》中关于PCR的部分,其实基本上大同小异。5.2.3GPIO输出寄存器(SIU_GPDO0_3–SIU_GPDO412_413)每一个GPIO引脚的输出对应一个寄存器字节。若引脚方向由输入改为输出发生动态改变,则该寄存器值不需要软件参与自动更新为引脚的输入值。若引脚设置为输入,则该寄存器不会影响引脚状态。若引脚根据PCR设置为其它的功能,则该寄存器也不会影响引脚状态。5.2.4GPIO输入寄存器(SIU_GPDI0_3–SIU_GPDI412_413)每一个GPIO引脚的输入对应一个寄存器字节。如果PCR寄存器配置中OBE和IBE同时设置(即同时设置输出和输入使能),该寄存器值可反射出该引脚的输出状态。5.3按键控制LED灯的例子5.3.1功能说明开发板上的四个开关按下时分别控制四个LED灯亮,具体对应关系如下:S1对应D1S2对应D2S3对应D3S4对应D45.3.2电路原理图开关S1对应EMIOS0,该端口应该配置为输入,J0短接时无上拉及下拉电阻,J0断开时上拉电阻,当S1未按下,EMIOS0输入高电平,当S1按下,EMIOS0输入低电平。其它几路类似,其中S2对应EMIOS2,S3对应EMIOS4,S4对应EMIOS8。LED电路中我们只用D1–D4,其它暂且不用。D1对应EMIOS12,由图中可知该端口应该配置为OC门输出,当输出0时,OC门打开,电路导通,D1点亮;当输出1时,OC门不打开,电路不导通,D1灭。其它几路也类似,其中D2对应EMIOS11,D3对应EMIOS10,D4对应EMIOS9。由MPC5644ARM.pdf中的信号表可知:EMIOS0对应PRC的179,EMIOS2对应181,EMIOS4对应183,EMIOS8对应187;EMIOS12对应191,EMIOS11对应190,EMIOS10对应189,EMIOS9对应188。5.3.3代码1#includeMPC5644A.h23#undefJ045intmain(void)6{7//1.GPIO口初始化设置8//1.1按键输入端口9#ifdefJ010SIU.PCR[179].R=0x0100;//S111SIU.PCR[181].R=0x0100;//S212SIU.PCR[183].R=0x0100;//S313SIU.PCR[187].R=0x0100;//S414#else15SIU.PCR[179].R=0x0103;//S116SIU.PCR[181].R=0x0103;//S217SIU.PCR[183].R=0x0103;//S318SIU.PCR[187].R=0x0103;//S419#endif2021//1.2LED灯控制输出端口22SIU.PCR[191].R=0x0220;//D123SIU.PCR[190].R=0x0220;//D224SIU.PCR[189].R=0x0220;//D325SIU.PCR[188].R=0x0220;//D42627//2.轮询检测按键状态28while(1)29{30SIU.GPDO[191].R=SIU.GPDI[179].R;31SIU.GPDO[190].R=SIU.GPDI[181].R;32SIU.GPDO[189].R=SIU.GPDI[183].R;33SIU.GPDO[188].R=SIU.GPDI[187].R;34}35}其中J0断开和短接的情况下,程序都测试通过。6FMPLL6.1特性片内振荡器(使用外部晶体)范围:4-40MHz片内RC振荡器(RCOSC):16MHz锁相环(PLL)VCO范围:256–512MHzPLLREFtoplevelpintocontrolPLLreference时钟质量检测系统时钟分频器(SYSDIV)用于对系统时钟降频具有系统时钟源控制和PLL配置寄存器每个模块时钟由SIU_HLT或者模块本身的MDIS寄存器位控制寄存器默认值6.2介绍Thefrequencymodulatedphaselockedloop(FMPLL)可以让用户从晶体振荡器或外部时钟发生器产生一个高速的系统时钟。而且,FMPLL支持可设置的系统时钟频率模块。FMPLL乘因子、参考时钟预分频因子、输出时钟分频率、模块深度和乘因子都是可以通过可编程寄存器控制的。特性参考时钟预分频,可以得到更优的综合频率分辨率减少频率分频,可以不用FMPLL重新锁定而使得FMPLL可以降低输出时钟频率预分频前输入时钟频率范围为4MHz–20或40MHz,预分频后4MHz–16Mhz压控振荡器VCO范围256MHz–512MHzVCO自由运行频率范围25MHz–125MHz4个旁路模式:晶体/外部参考开/关2个正常模式:晶体/外部参考可编程频率模块-三角波模块-频率和深度可编程模块锁定侦查回路报告,当FMPLL获取频率时钟和连续检查锁定状态来报告锁定条件的丢失-当锁定状态丢失,用户可选择是否产生中断-当锁定状态丢失,用户可选择是否系统重启时钟质量检测CQM模块提供FMPLL参考和输出时钟的时钟丢失侦查-当时钟丢失,用户可选择是否产生一个中断-当时钟丢失,用户可选择是否产生一个系统复位-当时钟丢失,备用时钟(参考时钟或FMPLL自由运行)可被应用到系统中操作模式当系统复位时,操作模式为PLL运行的旁路,并且参考
本文标题:MPC5644A学习纪要
链接地址:https://www.777doc.com/doc-2869316 .html