ImageVerifierCode 换一换
格式:PPT , 页数:51 ,大小:2.78MB ,
资源ID:10813166      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10813166.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(飞思卡尔单片机结构.ppt)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

飞思卡尔单片机结构.ppt

1、微机原理课程,主要内容讲述单片机的结构,系统,程序设计和应用。 课程安排1-4周理论教学,5-8周金工实习,9-20周理论教学,实验教学(待定) 考试 80%理论+20%实验 教材与参考文献MCS-51教材,李朝青(?)飞思卡尔8位单片机适用教程,李刚,2009单片机原理及系统设计,胡汉才,2002 应用文献与网站,主要内容,基于微处理器的应用(医学) 微型计算机组成、发展及工作原理 单片机系统及结构引脚配置及功能外围硬件组成常用电路设计存储器配置 最小单片机系统,数据采集系统结构,模拟信号与数字信号的连接,生物医学信号采集与系统,core,血压计,心电图与便携式心电机,脉搏血氧监测仪,MCU

2、,微型计算机的组成、发展,微型计算机的组成软件:OS/AS/.硬件:CPU/MB/LCD/KB/. 微型计算机的发展微型计算机的工作原理,硬件DIY(机箱),计算机内部基本组成,总线连接多个功能部件的一组公共信号线,1、CPU 2、总线(BUS):信息传送的公共通道 地址总线(AB):单向,用来传送CPU输出的地址信号,确定被访问的存储单元、I/O端口。(8位字长的MPU一般 AB为16条)数据总线(DB):双向,传送数据信息和指令码。(一般与MPU字长相同,8位MPU一般DB为8条) 控制总线(CB):双向,传送各种控制信号,如读写信号、中断请求、中断响应等,3、存储器和I/O接口(1)存储

3、器内存直接与三总线相连,其内容可直接被CPU访问,容量小,速度快外存通过IO接口与三总线相连,其内容一般先传入内存,然后被CPU访问,容量大,速度慢,1位和字节 位(bit):指的是取值只能为0或1的一个二进制数值位。记作b 字节(byte):由8位二进制位组成,通常用作计算存储容量的单位。记作BK(kelo),1K=1024=210M(mega),1M=1024K=220G(giga),1G=1024M=230T(tera),1T=1024G=240,常用数制和编码,二、数制及数制间的转换(一)计算机中的数制1、十进制 (Decimal)09 10D2、二进制(Binary)0、1 %101

4、03、十六进制(Hexadecimal)09、A、B、C、D、E、F $0A,(二)数制间的转换,单片机基础,概念MCU(micro-controller)SCU (single chip unit)Soc ( System on chip) 位数:481632 主要名词 CPU/ROM/RAM/FLASH/ADC/DAC/UART/TIMER/SCI/I2C/WDT/SPI/BCD/ASCII/USBISP(In System Programming ),MCS-51 (89C51),40Pin P0-P3共32个I/O口 2个定时器 1个UART 5级中断 无ISP ,基于PSOC单片机(

5、CYPRESS),MSP430单片机内部结构,增强型51-C8051F120(Cygnal),飞思卡尔单片机,概述(结构和基本组成) 飞思卡尔单片机最小系统 存储器地址、配置和功能 CPU寄存器和系统初始化 端口寄存器,FreeScale 8位机系列,系列识别MC 9 S08 GB 60 X XX EMC/XC/PC/KMC/KXC 9-FLASH/0-ROM 60-模拟存储 X-温度 XX-封装,E-无铅 性能比较闪存1/2/4/8/16/32/256K; RAM 63/128/256/512/8KB定时器 1/2/3/4个; I/O 4/6/14/30/70通信口SCI/SPI/I2C/L

6、CD/CAN/USB工作电压:1.83.6/2.75.5V,飞思卡尔单片机结构,飞思卡尔8位单片机MC9S08,MC9S08QG8的基本组成,MC9S08QG8引脚及功能,PTA0:5 PTA5输入;PTA4输出;PTB0:7 通用I/O,Pin介绍,电源:VCC/VSS,1.85.5V 复位 PAT5/IRQ/TCLK/REST共用,低电平有效,STOP1(RSTPE=1) 背景/状态选择 PAT4、ACMP0/BKGD/MSSTOP1(BKGDPE=1), 背景调试通信 通用I/O和外围接口12个(PTA03;PTB07;PTA4(出);PTA5(入)多功能复用(定时器,SCI,ADC,K

7、EY)*驱动与上拉输出,引脚复用时各引脚的优先级,MC9S08QG8单片机最小系统,电源电路,时钟电路,调试头,复位电路,系统详解,电源:宽电源设计,内部自动稳压。1.83.6V 时钟电路:ICS内部时钟源,16MHzXOSC外部时钟,可达20MHz计算机正确运行COP看门狗时钟,复位电路设计,复位功能当前程序停止;大部分寄存器复位初始值;屏蔽片内I/O模块,I/O变为通用高阻输入;屏蔽可屏蔽中断CCR(I=1);堆栈指针SP强制为$00FF; 复位方式外部复位电路(如前)内部复位源触发:低电压监测(LVD);COP看门狗;非法操 作码监测(ILOP);非法的地址检测(ILAD);在BDM调试

8、中触发背景调试强制复位源复位。,下载调试电路BDM,片内嵌入式背景调试控制器(BDC)和调试模块(DBG)组成,单线连接;RS232(USB)MCU BDM插槽,寄存器与片内存储器,存储器: ROM、RAM、FLASH哈佛结构(分开)普林斯顿结构(共用) MC9S08QG8存储器配置数据存储器RAM,flash,寄存器(直接页面寄存器00-5F)( 高页面寄存器1800-184F)(非易失寄存器FFB0-FFBF),寄存器地址和位分配,寄存器,RAM:容量小,一般256B,存中间结果、临时数据,有动态和静态之分; Flash:长期保持数据,擦写1万次,程序存储,容量大(8K/16K/.),在线

9、编程,块保护,保密性,自动断电; Flash中&FFC0-FFFF为复位和中断时的入口地址,在中断响应时,自动将中断地址装入程序计数器,使程序转向该单元地址。,复位和中断入口地址,非易失寄存器,非易失寄存器包括8字节的后门钥匙,能够选择性的用来获得对加密存储资源的访问。,编程和擦除时间,对FLASH进行编程和擦除之前,必须设置Flash时钟分频寄存器FCDIV,使得总线时钟被分频后得到的Flash时钟fFCLK为150 kHz到200 kHz之间。由于FCDIV只能写一次,因此一般在初始化期间进行,而且如果状态寄存器FSTAT 中的出错标志FACCERR被置位时,将无法设置FCDIV。下图是设

10、置fFCLK为200kHz时,编程与擦除所需时间。,Flash编程和擦除方法,在FCDIV寄存器被初始化,且FSTAT寄存器中的所有错误标志都被清零之后,对FLASH编程和擦除的操作步骤如下:对某FLASH单元写入数据值,且此次写的地址和数据信息都被锁存在FLASH接口中,这种写入操作是执行任何FLASH命令的第一步。对于擦除和空检查命令而言,写入的数据信息被忽略;对于页擦除命令,地址可以是该512字节页的任何地址;对于整体擦除和空检查命令,地址可以是FLASH空间的任何地址。对于字节编程命令,必须给相应地址单元赋实际要写入的值。注意在编程之前必须先擦除,否则会破坏FLASH中的数据。对命令寄

11、存器FCMD写入有效的5个命令之一:空检查 (0x05)、字节编程(0x20)、突发模式编程(0x25)、页擦除(0x40)和整体擦除(0x41)。对状态寄存器FSTAT 中的FCBEF写“1”以清除该位, 标明已有命令等待执行,同时提交命令。如果在写1之前,向其写0会取消命令的执行。这种取消命令的方式会将出错标志FACCERR置位,且在执行新命令之前需要人工清除错误标志。观察命令执行完成标志(FCCF,Flash Command Complete Flag) 是否被设置,以便知道命令是否完成。下图是非突发模式编程流程。注意:在FLASH进行编程操作时,FLASH仍是不能读的,也就是说,对FL

12、ASH的操作程序不在FLASH中进行,而是将程序复制到RAM执行。,Flash的突发模式编程,通常,执行编程或擦除命令时,FLASH阵列相关的电荷泵打开,以对阵列提供高电压。完成该命令之后,电荷泵关闭。突发编程命令用来对连续的字节进行编程,与使用标准编程命令比较,它需要更少的时间。因为突发编程命令不需要关闭两次编程操作之间加在FLASH阵列上的高电压。在完成突发编程操作之后,如果同时满足以下两个条件时电荷泵不会关闭:在本次编程操作完成之前,下次编程命令已经排队等候。 下次编程字节与本次编程字节在同一行。FLASH存储器中的一行由64个字节组成,每一行字节的低6位从000000111111依次递

13、增。在突发模式中编程一系列连续字节中的第一个字节所花的时间与正常模式编程一个字节的时间相同,后续字节将以突发模式编程。若下一个连续地址在另一行,则字节按标准模式编程。,Flash编程中的错误 (错误标志FACCERR ), 未设置FCDIV,得到合理的内部FLASH时钟之前,对FLASH某地址写数。 FCBEF(命令缓冲空)标志位未设置的情形下,对FLASH写数。 提交命令之前多次对FLASH某地址写数据。 提交命令之前多次写FCMD寄存器。 对FLASH某地址写数据后,不是接着写FCMD,而是其他控制寄存器。 对FCMD写入的不是5个命令(0x05, 0x20, 0x25, 0x40, or

14、 0x41)之一。 写完FCMD之后不是去写FSTAT以清除FCBEF并提交命令,而是操作其他FLASH控制寄存器。 正对FLASH编程或擦除时,MCU突然进入stop模式时。 当MCU设置了安全保护,BDC对FLASH只能执行空检查和整体擦除命令,如果此时BDC试图执行字节编程、突发编程、页擦除命令(0x20、0x25、0x40)时会出错。 对FCBEF写0以取消当前设置命令的执行时,会设置出错标志。,Flash块保护,块保护功能可以防止被保护的FLASH区域被意外擦除或更改。保护的区域设置由寄存器FPROT决定,而FPROT不能被用户程序修改,该高页面寄存器的数值是复位后自动从FLASH寄

15、存器NVPROT中拷贝过来的。块保护的区域是最高地址0xFFFF往低地址512字节的整数倍。由于NVPROT位于地址最高的,可保护的第一个512字节块里,只要启动块保护,寄存器NVPROT自己也被保护起来,不能被用户程序访问。由于寄存器FPROT的内容可被BDC修改,因此BDC可以先将FPROT设置成无保护状态,然后就可以擦除、重编程被保护的FLASH块了。编程中为了允许块保护,需要配置NVPROT寄存器,将其高7位(FPS7-FPS1)设为最后一个未被保护的字节地址的高7位。例如,为了保护存储器中最后的1536(3*512)个字节(地址从0xFA00到0xFFFF),则最后一个未被保护的地址

16、是0xF9FF。所以寄存器NVPROT的高7位需设置为1111 100,同时,NVPROT中的0位(FPDIS)必须写为0,以确保块保护。因此NVPROT必须写入0xF8以保护最后的3块FLASH页。块保护功能的一个应用,就是保护监控程序不被破坏,保密与解密,MC9S08QG8/4内含保密电路,防止FLASH和RAM的内容被非法访问。启动保密措施后,FLASH和RAM被保护起来,但其中的0页寄存器、高页寄存器、BDC不被保护。位于保密区域的程序可以访问任何资源,非保密区域的程序和BDC访问保密区域的资源将被阻止(忽略写命令、读出全为0)。保密性的设置由高页寄存器FOPT中的 (SEC01:SE

17、C00)控制位决定。 FOPT的内容在复位后从NVOPT拷贝得到。由于NVOPT位于FLASH高位地址处,其内容在对FLASH编程中得到。 *只有(1:0)状态是非保密状态,就连FLASH擦除状态 (1:1)都是保密状态,因此在开发调试过程中,一旦擦除FLASH后,应立刻将NVOPT的SEC00位写0,这样可保证后续的复位不会导致锁死。,通过BDM编程器将FLASH的内容全部擦除,可实现解密,但这种方法无法读出原有的程序。为保留原程序,可通过密码解密的方法实现,将预置密码存于FLASH非易失寄存器NVBACKKEY(地址从0xFFB00xFFB7)中,只要输入正确密码,即可解密。使用这种方法时

18、,首先将NVOPT寄存器中的解密允许位KEYEN置1,其次,这种方式只能工作在普通模式下,不能使用BDM编程器,所以用户程序须设置一种方法来输入外部密码,这里经常采用串口通信,解密程序执行流程为:打开SCI通信模式,等待接受用户8字节密码。 置位FCNFG寄存器的KEYACC为1,此时,对FLASH的访问视做密码验证。 依次输入8字节密码,进行密码验证(验证从0xFFB0到0xFFB7的值) 清零KEYACC。在执行上述几步后,如果输入密码正确,系统会将寄存器FOPT的后两位(SEC01:SEC00)设置为(1:0)未加密状态,系统自动解密;如果密码不符,保持加密状态。注意:无论采用全擦除FL

19、ASH解密还是采用密码解密,解密后虽然MCU可暂时读写FLASH,但如果NVOPT后两位仍处于加密状态,则系统在下次复位后仍会回到加密状态。在开发过程中,无论何时只要FLASH被擦除,一个好的经验是立即对NVOPT中的SEC00位编程为0,使SEC01 :SEC00 = 1:0,这让MCU在下次复位后保持非保密状态,与Flash相关的寄存器,FOPT选项寄存器,配置寄存器和保护寄存器,状态寄存器FSTAT,CPU寄存器,累加器 (A)累加器A是一个通用8位寄存器,经常用于暂存一个输入到算术逻辑单元(ALU)的操作数,并且用于存放(ALU)的计算结果。A与存储器之间的数据交换支持多种寻址方式。复

20、位对累加器A的内容没有影响。索引寄存器(H:X)这个16位寄存器实际上分为两个8位寄存器(H和X),它们作为一个16位的地址指针一起工作,H存放一个地址的高位字节和X存放地址的低位字节。所有索引寻址模式指令利用H:X中全部16位值作为一个索引参考指针。然而,为了与早先 M68HC05家族兼容,一些指令只在低8位(X)中运行, 并且H在复位过程中强制为0x00。复位对X的内容没有影响。许多指令将X视为另一个通用8位寄存器。X支持清零、加减1、取反、移位、循环等操作,与A之间的数据传送也很方便。,堆栈指针(SP)该16位指针总是指向堆栈中下一个可使用的单元。堆栈可以位于64K空间中任何有RAM的地

21、方,大小在RAM范围内任意。堆栈用于中断过程中的CPU寄存器的自动保护,也可用于局部变量。AIS指令给SP加一个8位有符号立即数,该指令常用于在堆栈中为局部变量分配存储空间。为与M68HC05兼容,SP复位值为0x00FF。HCS08系列MCU一般会在程序开始将SP修改到RAM的最高地址处。指令RSP(复位堆栈指针)只是为了与M68HC05兼容,在HCS08中很少用到,该指令只影响SP的低8位数值。程序计数器(PC)程序计数器是个16位的寄存器,存放取出的下一个指令或操作数的地址。正常的程序执行期间,每一次取出指令或者操作数时,程序计数器自动加一指向后续的存储器位置.跳转、分支、中断和返回操作,程序计数器加载的是一个地址,而不是下一个后续位置。复位期间,程序计数器加载位于$FFFE和$FFFF处存放的地址。 ( $FFFE:$FFFF )存放的地址处对应的指令,是复位后被执行的第一条指令。,条件代码寄存器(CCR) 8位条件代码寄存器存放中断屏蔽位(I)和5个指出刚执行指令结果的标志。第5和第6位永远置位。,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报