飞思卡尔单片机结构.ppt_第1页
飞思卡尔单片机结构.ppt_第2页
飞思卡尔单片机结构.ppt_第3页
飞思卡尔单片机结构.ppt_第4页
飞思卡尔单片机结构.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、5,A,血压计,6,A,心电图与便携式心电机,7,A,脉搏血氧监测仪,MCU,8,A,微型计算机的组成、发展,微型计算机的组成 软件:OS/AS/. 硬件:CPU/MB/LCD/KB/. 微型计算机的发展 微型计算机的工作原理,9,A,硬件DIY(机箱),10,A,计算机内部基本组成,总线连接多个功能部件的一组公共信号线,11,A,1、CPU 2、总线(BUS):信息传送的公共通道 地址总线(AB):单向,用来传送CPU输出的地址信号,确定被访问的存储单元、I/O端口。(8位字长的MPU一般 AB为16条) 数据总线(DB):双向,传送数据信息和指令码。(一般与MPU字长相同,8位MPU一般D

3、B为8条) 控制总线(CB):双向,传送各种控制信号,如读写信号、中断请求、中断响应等,12,A,3、存储器和I/O接口 (1)存储器 内存直接与三总线相连,其内容可直接被CPU访问,容量小,速度快 外存通过IO接口与三总线相连,其内容一般先传入内存,然后被CPU访问,容量大,速度慢,13,A,1位和字节 位(bit):指的是取值只能为0或1的一个二进制数值位。记作b 字节(byte):由8位二进制位组成,通常用作计算存储容量的单位。记作B K(kelo),1K=1024=210 M(mega),1M=1024K=220 G(giga),1G=1024M=230 T(tera),1T=1024

4、G=240,常用数制和编码,14,A,二、数制及数制间的转换 (一)计算机中的数制 1、十进制 (Decimal) 09 10D 2、二进制(Binary) 0、1 %1010 3、十六进制(Hexadecimal) 09、A、B、C、D、E、F $0A,15,A,(二)数制间的转换,16,A,单片机基础,概念 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/ASCI

5、I/USB ISP(In System Programming ),17,A,MCS-51 (89C51),40Pin P0-P3共32个I/O口 2个定时器 1个UART 5级中断 无ISP ,18,A,基于PSOC单片机(CYPRESS),19,A,MSP430单片机内部结构,20,A,增强型51-C8051F120(Cygnal),21,A,飞思卡尔单片机,概述(结构和基本组成) 飞思卡尔单片机最小系统 存储器地址、配置和功能 CPU寄存器和系统初始化 端口寄存器,22,A,FreeScale 8位机系列,系列识别 MC 9 S08 GB 60 X XX E MC/XC/PC/KMC/K

6、XC 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/LCD/CAN/USB 工作电压:1.83.6/2.75.5V,23,A,飞思卡尔单片机结构,飞思卡尔8位单片机MC9S08,24,A,MC9S08QG8的基本组成,25,A,MC9S08QG8引脚及功能,PTA0:5 PTA5输入;PTA4输出;PTB0:7 通用I/O,26,A,Pin介绍,电源:VCC/VSS,1.85

7、.5V 复位 PAT5/IRQ/TCLK/REST共用,低电平有效,STOP1(RSTPE=1) 背景/状态选择 PAT4、ACMP0/BKGD/MS STOP1(BKGDPE=1), 背景调试通信 通用I/O和外围接口 12个(PTA03;PTB07;PTA4(出);PTA5(入) 多功能复用(定时器,SCI,ADC,KEY) *驱动与上拉输出,27,A,引脚复用时各引脚的优先级,28,A,MC9S08QG8单片机最小系统,电源电路,时钟电路,调试头,复位电路,29,A,系统详解,电源: 宽电源设计,内部自动稳压。1.83.6V 时钟电路: ICS内部时钟源,16MHz XOSC外部时钟,可

8、达20MHz 计算机正确运行COP看门狗时钟,30,A,复位电路设计,复位功能 当前程序停止;大部分寄存器复位初始值; 屏蔽片内I/O模块,I/O变为通用高阻输入; 屏蔽可屏蔽中断CCR(I=1); 堆栈指针SP强制为$00FF; 复位方式 外部复位电路(如前) 内部复位源触发: 低电压监测(LVD);COP看门狗;非法操 作码监测(ILOP);非法的地址检测(ILAD); 在BDM调试中触发背景调试强制复位源复位。,31,A,下载调试电路BDM,片内嵌入式背景调试控制器(BDC)和调试模块(DBG)组成,单线连接; RS232(USB)MCU BDM插槽,32,A,寄存器与片内存储器,存储器

9、: ROM、RAM、FLASH 哈佛结构(分开) 普林斯顿结构(共用) MC9S08QG8存储器配置 数据存储器RAM,flash,寄存器 (直接页面寄存器00-5F) ( 高页面寄存器1800-184F) (非易失寄存器FFB0-FFBF),33,A,寄存器地址和位分配,34,A,寄存器,RAM:容量小,一般256B,存中间结果、临时数据,有动态和静态之分; Flash:长期保持数据,擦写1万次,程序存储,容量大(8K/16K/.),在线编程,块保护,保密性,自动断电; Flash中&FFC0-FFFF为复位和中断时的入口地址,在中断响应时,自动将中断地址装入程序计数器,使程序转向该单元地址

10、。,35,A,复位和中断入口地址,36,A,非易失寄存器,非易失寄存器包括8字节的后门钥匙,能够选择性的用来获得对加密存储资源的访问。,37,A,编程和擦除时间,对FLASH进行编程和擦除之前,必须设置Flash时钟分频寄存器FCDIV,使得总线时钟被分频后得到的Flash时钟fFCLK为150 kHz到200 kHz之间。由于FCDIV只能写一次,因此一般在初始化期间进行,而且如果状态寄存器FSTAT 中的出错标志FACCERR被置位时,将无法设置FCDIV。下图是设置fFCLK为200kHz时,编程与擦除所需时间。,38,A,Flash编程和擦除方法,在FCDIV寄存器被初始化,且FSTA

11、T寄存器中的所有错误标志都被清零之后,对FLASH编程和擦除的操作步骤如下: 对某FLASH单元写入数据值,且此次写的地址和数据信息都被锁存在FLASH接口中,这种写入操作是执行任何FLASH命令的第一步。对于擦除和空检查命令而言,写入的数据信息被忽略;对于页擦除命令,地址可以是该512字节页的任何地址;对于整体擦除和空检查命令,地址可以是FLASH空间的任何地址。对于字节编程命令,必须给相应地址单元赋实际要写入的值。注意在编程之前必须先擦除,否则会破坏FLASH中的数据。 对命令寄存器FCMD写入有效的5个命令之一:空检查 (0 x05)、字节编程(0 x20)、突发模式编程(0 x25)、

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

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

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

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

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

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

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

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

20、除FLASH解密还是采用密码解密,解密后虽然MCU可暂时读写FLASH,但如果NVOPT后两位仍处于加密状态,则系统在下次复位后仍会回到加密状态。在开发过程中,无论何时只要FLASH被擦除,一个好的经验是立即对NVOPT中的SEC00位编程为0,使SEC01 :SEC00 = 1:0,这让MCU在下次复位后保持非保密状态,44,A,与Flash相关的寄存器,45,A,FOPT选项寄存器,46,A,配置寄存器和保护寄存器,47,A,状态寄存器FSTAT,48,A,A,49,CPU寄存器,累加器 (A) 累加器A是一个通用8位寄存器,经常用于暂存一个输入到算术逻辑单元(ALU)的操作数,并且用于存放(ALU)的计算结果。A与存储器之间的数据交换支持多种寻址方式。 复位对累加器A的内容没有影响。 索引寄存器(H:X) 这个16位寄存器实际上分为两个8位寄存器(H和X),它们作为一个16位的地址指针一起工作,H存放一个地址的高位字节和X存放地址的低位字节。所有索引

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论