您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第2章-MC56F825X硬件最小系统及工程组织
数字信号控制器原理与实践——MC56F8257第2章MC56F825X硬件最小系统及工程组织目录天津工业大学22.1DSC概述2.2MC56F8257功能及存储器映像2.3MC56F8257的引脚功能及硬件最小系统2.4MC56F8257的GPIO模块2.5CodeWarrior开发环境2.6CW环境C语言工程文件的组织框架2.7第一个C语言工程:控制小灯闪烁2.1DSC概述1.相关概念DSC包含能同时完成微控制器和数字信号处理器功能的内核的专门微处理器;特征:•为高级算法提供MIPS(32-120MIPS,MillionsofInstructionPerSecond,每秒执行的百万条指令)的MCU/DSP性能。•为快速动态响应功能提供高速性能,如600ns/12位ADC。•高速复杂的(60MHz-96MHz)定时器模块。•阻止灾难性错误(错误输入、时钟丢失)的安全特征。天津工业大学32.1DSC概述天津工业大学4天津工业大学52.1DSC概述2.MC56F82xx系列DSC在2000年左右,推出DSP56F800系列和DSP56F820系列DSP,采用DSP56800HarvardV1内核,是飞思卡尔DSP产品中的低价位系列。DSP56850系列、MC56F8300系列、MC56F8100系列、MC56F8000系列及MC56F8200系列。这些系列都基于DSP56800E内核。MC56F82x系列DSC的主要资源和封装。2.1DSC概述天津工业大学6天津工业大学72.2MC56F8257功能及存储器映像1.MC56F8257的功能56800E核60MHzJTAG/EOnCE64KB程序Flash8KB数据RAM系统集成模块(SIM)中断控制器8通道12位ADCA8通道12位ADCB可编程增益放大器A*1,2,4可编程增益放大器B*1,2,48通道高速PWM1通道12位DAC3通道5位DAC3个模拟比较器2个高速QSCI1路QSPI2个IIC/SMB总线1路MSCAN8通道16位定时器内部交叉开关CRC晶体振荡器PLL张弛振荡器电压调节器COPPORLVI天津工业大学8内核2.2MC56F8257功能及存储器映像天津工业大学9外设2.2MC56F8257功能及存储器映像天津工业大学102.MC56F8257的存储器映像及特点MC56F825X/MC56F824X基于DSP56800E内核,使用双哈弗结构,数据和程序使用独立的存储空间。片内RAM由数据和程序空间共享,Flash存储器仅被程序使用,具体配置见表2-2。2.2MC56F8257功能及存储器映像2.MC56F8257的存储器映像及特点(1)程序地址空间映射天津工业大学112.2MC56F8257功能及存储器映像天津工业大学122.MC56F8257的存储器映像及特点(1)程序地址空间映射地址空间映射:MC56F825x/MC56F824x系列提供最多64KB的片上Flash存储空间,主要通过程序存储器总线(PAB、PDB)访问。PAB用来选择程序存储器地址,PDB用来获取指令。向量表的位置由向量基地址寄存器(VBA)决定。这个寄存器的值为中断向量VAB[20:0]的高14位,低7位由最高优先级中断决定,被附加到VBA之后,作为完整的VAB送给内核。MC56F8257的起始地址在0x000000处,VBA的复位值为0x0000,代表相应的地址0x000000。2.2MC56F8257功能及存储器映像天津工业大学132.MC56F8257的存储器映像及特点(2)数据地址空间映射地址空间映射:MC56F825X/MC56F824X系列包含双访问存储器,可以通过内核主数据总线(XAB1、CDBW、CDBR)和次数据总线(XAB2、XDB2)访问。XAB1和XAB2总线选择数据存储地址。字节、字和长字数据通过32位CDBR和CDBW总线访问。2.2MC56F8257功能及存储器映像2.2MC56F8257功能及存储器映像天津工业大学14天津工业大学152.MC56F8257的存储器映像及特点(2)数据地址空间映射片上RAM也映射到P:0x008000开始的程序空间。2.2MC56F8257功能及存储器映像天津工业大学162.MC56F8257的存储器映像及特点(2)数据地址空间映射外设存储器映射:所有的外设寄存器只能按字读/写。2.2MC56F8257功能及存储器映像1.MC56F8257的引脚功能天津工业大学172.3MC56F8257的引脚功能及硬件最小系统天津工业大学181.MC56F8257的引脚功能2.3MC56F8257的引脚功能及硬件最小系统天津工业大学191.MC56F8257的引脚功能2.3MC56F8257的引脚功能及硬件最小系统天津工业大学201.MC56F8257的引脚功能2.3MC56F8257的引脚功能及硬件最小系统天津工业大学212.MC56F8257硬件最小系统硬件最小系统是指可以使内部程序运行所必须的外围电路,也可以包括写入器接口电路。使用一个芯片,必须完全理解其硬件最小系统。MC56F8257芯片的硬件最小系统包括电源及其滤波电路、复位电路、晶振电路、写入器接口电路。2.3MC56F8257的引脚功能及硬件最小系统天津工业大学222.3MC56F8257的引脚功能及硬件最小系统天津工业大学233.MC56F8257硬件评估板与测试步骤(1)焊接电源及其滤波电路、复位电路、晶振电路、PLL滤波电路以及写入器接口电路。(2)在确保电源和地未短路的情况下接通电源,测量电压是否正常。(3)将写入器与电路板连接,启动开发环境CodeWarriorV10.3,对目标MC56F8257进行擦除,如果成功则说明最小系统工作正常。(4)将第一个样例程序编译、链接生成elf文件,并下载到Flash中,观察小灯闪烁情况。(5)硬件最小系统测试通过,可以进行其他模块焊接。2.3MC56F8257的引脚功能及硬件最小系统2.4MC56F8257的GPIO模块1.GPIO寄存器64引脚的MC56F8257有6个通用I/O口,分别是A口(8)、B口(8)、C口(16)、D口(5)、E口(8)、F口(9)。引脚具有功能复用。通用I/O口,都有12个寄存器,分别是:上拉使能寄存器、数据寄存器、数据方向寄存器、外设使能寄存器、中断触发寄存器、中断使能寄存器、中断极性寄存器、中断挂起寄存器、中断边沿敏感寄存器、推挽模式寄存器、原始数据寄存器、驱动能力控制寄存器。天津工业大学24(1)上拉使能寄存器(GPIOx_PUR)引脚上拉的作用是给该引脚作为输入时一个初始电位。如果某引脚配置成输出引脚,则该寄存器无效。天津工业大学252.4MC56F8257的GPIO模块(2)数据寄存器(GPIOx_DR)如果某引脚配置为输出引脚,通过写数据寄存器可以控制该引脚的状态;如果引脚配置为输入引脚,通过读数据寄存器可以知道该引脚的状态。天津工业大学262.4MC56F8257的GPIO模块(3)数据方向寄存器(GPIOx_DDR)天津工业大学272.4MC56F8257的GPIO模块(4)外设使能寄存器(GPIOx_PER)天津工业大学282.4MC56F8257的GPIO模块(5)中断触发寄存器(GPIOx_IAR)天津工业大学292.4MC56F8257的GPIO模块(6)中断使能寄存器(GPIOx_IENR)天津工业大学302.4MC56F8257的GPIO模块(7)中断极性寄存器(GPIOx_IPOLR)天津工业大学312.4MC56F8257的GPIO模块2.GPIO的工作方式(1)输入MC56F8257的通用I/O口通过数据方向寄存器GPIOx_DDR配置为输入方式。当作为输入口时,需要通过上拉使能寄存器GPIOx_PUR使其输入引脚上拉一个电阻。这个电阻是内部集成的,不需要外接。天津工业大学322.4MC56F8257的GPIO模块(2)输出通用I/O口通过数据方向寄存器GPIOx_DDR配置为输出方式。当作为输出口时,需要通过推挽模式寄存器GPIOx_PPMODE设定其输出为推挽模式或者开漏模式。(3)外设通用I/O口通过外设使能寄存器GPIOx_PER配置为外设方式,与MC56F8257内部外设部分结合使用。如将MC56F8257通用I/O口的一个引脚通过系统集成模块外设选择寄存器SIM_GPSn配置为模拟量输入引脚,则其输出及上拉电阻设置无效。天津工业大学332.4MC56F8257的GPIO模块天津工业大学342.4MC56F8257的GPIO模块边沿检测电路0101片上外设模块10IPRIARIESRIPOLR模拟量输入/输出PERPPMODEPADI/O单元PURDDRPERDR输出DR输入PERDDRPERRAWDATAIENR外设数据输出外设数据输入禁止外设模块输出连接DSC核的中断控制器•••3.GPIO的基本编程方法(1)置位与清位的编程方法置位、清0及获取状态3个宏定义:(2)开关量输出的编程方法首先初始化端口引脚的数据方向为输出,然后运用该引脚的数据寄存器进行数据输出。如:使A口的第4引脚输出高电平。天津工业大学352.4MC56F8257的GPIO模块天津工业大学362.4MC56F8257的GPIO模块首先初始化引脚的数据方向为输入,其次设置上拉使能寄存器,然后通过该引脚将外界数据输入到对应数据寄存器中。如:获取A口第3引脚的输入数据。2.5CodeWarrior开发环境软件集成开发平台件平台是:飞思卡尔公司的CodeWarriorDevelopmentStudiov10.3集成开发环境(以下简称CW10.3)。硬件平台是:天津工业大学飞思卡尔嵌入式中心设计的TJPU-MC56F8257-EVB。CW10.3的简介CW10.3基于Eclipse开放集成开发环境,有适用于Windows版和Linux版两个平台的版本。本书中使用Windows平台下的CW10.3。CW10.3有两种默认的授权版本,试用版和特别版(64KB)。天津工业大学37天津工业大学382.5CodeWarrior开发环境2.6CW环境C语言工程文件的组织框架1.工程文件的组织结构以控制小灯闪烁工程为例天津工业大学39天津工业大学402.6CW环境C语言工程文件的组织框架天津工业大学412.6CW环境C语言工程文件的组织框架2.系统启动及初始化相关文件系统启动及初始化相关文件主要指链接文件MC56F8257_Internal_PFlash_SDM.cmd、启动文件MC56F824x_5x_init.asm及芯片映像寄存器头文件。(1)链接文件MC56F8257_Internal_PFlash_SDM.cmdMC56F8257_Internal_PFlash_SDM.cmd文件主要定义DSC芯片的RAM和ROM、初始化RAM中的变量、堆栈的大小、定义复位向量,即应用程序的默认入口,还包含启动代码,即硬件复位后的函数入口。天津工业大学422.6CW环境C语言工程文件的组织框架(2)启动文件MC56F824x_5x_init.asmCodeWarrior启动模块程序实现步骤主要如下:设置堆栈指针,将其映射到RAM空间。初始化RAM,复制初始数据。将初始化数据从ROM复制到RAM。跳转到主函数main()执行。(3)映像寄存器头文件MC56F8257.hMC56F8257.h中定义了编程时需要访问的外设寄存器,不需修改该文件。天津工业大学432.6CW环境C语言工程文件的组织框架3.芯片初始化、主程序、中断程序及其他文件(1)系统初始化构件(DSCInit.h与DSCInit.c)系统初始化操作是由DSCInit.c来实现的。DSCInit.c所包含的头文件中,给出了开关总中断的宏定义,以便中断程序、主程序或其他程序中使用。天津工业大学442.6CW环境C语言工程文件的组织框架(2)总头文件Includes.h和主程序文件main.cIncludes.h文件包含主函数(ma
本文标题:第2章-MC56F825X硬件最小系统及工程组织
链接地址:https://www.777doc.com/doc-5956556 .html