飞思卡尔单片机结构
微机原理课程
主要内容 讲述单片机的结构,系统,程序设计和应用。 课程安排 1-4周理论教学,5-8周金工实习, 9-20周理论教学,实验教学(待定) 考试 80%理论+20%实验 教材与参考文献 MCS-51教材,李朝青(?) 飞思卡尔8位单片机适用教程,李刚,2009 单片机原理及系统设计,胡汉才,2002 应用文献与网站
参数
需要的FCLK周期数
FCLK=200kHz时所需时间
字节编程
页擦除
9
4000
45 µs
20 µs 20 ms
字节编程(突发) 4
整体擦除
20,000
100 ms
Flash编程和擦除方法
在FCDIV寄存器被初始化,且FSTAT寄存器中的所有错误标志都被清零之后,对FLASH 编程和擦除的操作步骤如下: 对某FLASH单元写入数据值,且此次写的地址和数据信息都被锁存在FLASH接口中, 这种写入操作是执行任何FLASH命令的第一步。对于擦除和空检查命令而言,写入的数 据信息被忽略;对于页擦除命令,地址可以是该512字节页的任何地址;对于整体擦除 和空检查命令,地址可以是FLASH空间的任何地址。对于字节编程命令,必须给相应地 址单元赋实际要写入的值。注意在编程之前必须先擦除,否则会破坏FLASH中的数据。 对命令寄存器FCMD写入有效的5个命令之一:空检查 (0x05)、字节编程(0x20)、突发模 式编程(0x25)、页擦除(0x40)和整体擦除(0x41)。 对状态寄存器FSTAT 中的FCBEF写“1”以清除该位, 标明已有命令等待执行,同时提 交命令。如果在写1之前,向其写0会取消命令的执行。这种取消命令的方式会将出错标 志FACCERR置位,且在执行新命令之前需要人工清除错误标志。 观察命令执行完成标志(FCCF,Flash Command Complete Flag) 是否被设置,以便知道命 令是否完成。下图是非突发模式编程流程。 注意:在FLASH进行编程操作时,FLASH仍是不能读的,也就是说,对FLASH的操作程 序不在FLASH中进行,而是将程序复制到RAM执行。
飞思卡尔单片机结构
飞思卡尔8位单片机MC9S08
MC9S08QG8的基本组成
MC9S08QG8引脚及功能
PTA[0:5] PTA5输入;PTA4输出;PTB[0:7] 通用I/O
Pin介绍
电源:VCC/VSS,1.8~5.5V 复位 PAT5/IRQ/TCLK/REST共用,低电平有效, STOP1(RSTPE=1) 背景/状态选择 PAT4、ACMP0/BKGD/MS STOP1(BKGDPE=1), 背景调试通信 通用I/O和外围接口 12个(PTA0~3;PTB0~7;PTA4(出);PTA5(入)) 多功能复用(定时器,SCI,ADC,KEY) *驱动与上拉输出
CPU/ROM/RAM/FLASH/ADC/DAC/UART/TIM ER/SCI/I2C/WDT/SPI/BCD/ASCII/USB……
ISP(In System Programming )
MCS-51 (89C51)
40Pin P0-P3共32个I/O口 2个定时器 1个UART 5级中断 无ISP ……
Flash块保护
块保护功能可以防止被保护的FLASH区域被意外擦除或更改。保护的区域设置由寄存 器FPROT决定,而FPROT不能被用户程序修改,该高页面寄存器的数值是复位后自 动从FLASH寄存器NVPROT中拷贝过来的。块保护的区域是最高地址0xFFFF往低地 址512字节的整数倍。由于NVPROT位于地址最高的,可保护的第一个512字节块里, 只要启动块保护,寄存器NVPROT自己也被保护起来,不能被用户程序访问。由于寄 存器FPROT的内容可被BDC修改,因此BDC可以先将FPROT设置成无保护状态,然 后就可以擦除、重编程被保护的FLASH块了。 编程中为了允许块保护,需要配置NVPROT寄存器,将其高7位(FPS7-FPS1)设 为最后一个未被保护的字节地址的高7位。例如,为了保护存储器中最后的1536(3*512) 个字节(地址从0xFA00到0xFFFF),则最后一个未被保护的地址是0xF9FF。所以寄存器 NVPROT的高7位需设置为1111 100,同时,NVPROT中的0位(FPDIS)必须写为0, 以确保块保护。因此NVPROT必须写入0xF8以保护最后的3块FLASH页。 块保护功能的一个应用,就是保护监控程序不被破坏
基于PSOC单片机(CYPRESS)
MSP430单片机内部结构
增强型51-C8051F120(Cygnal)
飞思卡尔单片机
概述(结构和基本组成) 飞思卡尔单片机最小系统 存储器地址、配置和功能 CPU寄存器和系统初始化 端口寄存器
FreeScale 8位机系列
系列识别 MC 9 S08 GB 60 X XX E
主要内容
基于微处理器的应用(医学) 微型计算机组成、发展及工作原理 单片机系统及结构 引脚配置及功能 外围硬件组成 常用电路设计 存储器配置 最小单片机系统
数据采集系统结构
模拟信号与数字信号的连接
生物医学信号采集与系统
core
血压计
心电图与便携式心电机
脉搏血氧监测仪
MCU
微型计算机的组成、发展
复位方式 外部复位电路(如前) 内部复位源触发: 低电压监测(LVD);COP看门狗;非法操 作码监测(ILOP);非法的地址检测(ILAD); 在BDM调试中触发背景调试强制复位源复位。
下载调试电路BDM
片内嵌入式背景调试控制器(BDC)和调 试模块(DBG)组成,单线连接; RS232(USB)MCU BDM插槽
BKGD
GND NC REST NC VDD
BDM
寄存器与片内存储器
存储器: ROM、RAM、FLASH 哈佛结构(分开) 普林斯顿结构(共用) MC9S08QG8存储器配置 数据存储器RAM,flash,寄存器 (直接页面寄存器00-5F) ( 高页面寄存器1800-184F) (非易失寄存器FFB0-FFBF)
Flash的突发模式编程
通常,执行编程或擦除命令时,FLASH阵列相关的电荷泵 打开,以对阵列提供高电压。完成该命令之后,电荷泵关 闭。突发编程命令用来对连续的字节进行编程,与使用标 准编程命令比较,它需要更少的时间。因为突发编程命令 不需要关闭两次编程操作之间加在FLASH阵列上的高电 压。在完成突发编程操作之后,如果同时满足以下两个条 件时电荷泵不会关闭: 在本次编程操作完成之前,下次编程命令已经排队等候。 下次编程字节与本次编程字节在同一行。 FLASH存储器中的一行由64个字节组成,每一行字节的 低6位从000000—111111依次递增。在突发模式中编程一 系列连续字节中的第一个字节所花的时间与正常模式编程 一个字节的时间相同,后续字节将以突发模式编程。若下 一个连续地址在另一行,则字节按标准模式编程。
二、数制及数制间的转换
(一)计算机中的数制
1、十进制 (Decimal) 0~9 10D 2、二进制(Binary) 0、1 %1010 3、十六进制(Hexadecimal) 0~9、A、B、C、D、E、F
$0A
(二)数制间的转换
单片机基础
概念 MCU(micro-controller) SCU (single chip unit) Soc ( System on chip) 位数:481632 主要名词
微型计算机的组成 软件:OS/AS/……. 硬件:CPU/MB/LCD/KB/……. 微型计算机的发展 微型计算机的工作原理
硬件DIY(机箱)
计算机内部基本组成
地址总线 AB
CPU
运算器
存 储 器
I/O 接 口
输 入 设 备
I/O 接 口
输 出 设 备
控制器
数据总线 DB
控制总线 CB
总线——连接多个功能部件的一组公共信号线
Flash编程中的错误 (错误标志FACCERR )
• 未设置FCDIV,得到合理的内部FLASH时钟之前,对FLASH某地址写数。 •FCBEF(命令缓冲空)标志位未设置的情形下,对FLASH写数。 •提交命令之前多次对FLASH某地址写数据。 •提交命令之前多次写FCMD寄存器。 •对FLASH某地址写数据后,不是接着写FCMD,而是其他控制寄存器。 •对FCMD写入的不是5个命令(0x05, 0x20, 0x25, 0x40, or 0x41)之一。 •写完FCMD之后不是去写FSTAT以清除FCBEF并提交命令,而是操作其他 FLASH 控制寄存器。 •正对FLASH编程或擦除时,MCU突然进入stop模式时。 •当MCU设置了安全保护,BDC对FLASH只能执行空检查和整体擦除命令,如 果此 时BDC试图执行字节编程、突发编程、页擦除命令(0x20、0x25、0x40)时会 出错。 • 对FCBEF写0以取消当前设置命令的执行时,会设置出错标志。
MC/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/LCD/CAN/USB 工作电压:1.8~3.6/2.7~5.5V……
复位和中断入口地址
非易失寄存器
非易失寄存器包括8字节的后门钥匙,能够 选择性的用来获得对加密存储资源的访问。