AN3041_深入讨论HCS08的内部时钟源模块(ICS)
MQG8中文介绍

8位HCS08中央处理单元(CPU)•20-MHz的HCS08 CPU(中央处理单元)•HC08指令集,增加了BGND指令•背景调试系统•断点能力,使单一的断点在电路调试过程中设置(加上两个在片上调试模块断点)•包含两个比较器和九种调试模块触发模式。
八级深度的FIFO存储变化的流地址和事件数据调试模块支持标记和强制断点•支持多达32个中断/复位源内存选项•闪存读取/编程/擦除在整个工作电压和温度•MC9S08QG8 - 8 KB闪存,512字节RAMMC9S08QG4 - 4字节的闪存,256字节RAM省电模式•等待加三站时钟源选项•ICS -含内部时钟源模块锁频环(FLL)控制由内部或外部基准,精密的内部微调引用允许0.2%的分辨率和2%的偏差在温度和电压;支持总线从1 MHz到10 MHz的频率•XOSC -低功耗振荡器模块软件选择晶体或陶瓷谐振器范围,31.25 kHz到38.4 kHz或1 MHz到16 MHz,并支持外部时钟源输入最多20 MHz的系统保护•看门狗计算机运行正常(COP)复位与选项可从专用1-kHz内部运行时钟源或总线时钟•低电压检测复位或中断•非法操作码检测复位•非法地址检测复位•Flash块保护外设•ADC - 8通道,10位模拟至数字转换器,具有自动比较功能,异步时钟源,温度传感器,并内部带隙参考通道; ADC是使用RTI计数器硬件触发的•ACMP -与选项模拟比较器模块要比较的内部参考;输出可可选路由到TPM模块•SCI -串行通信接口模块与选项的13位中断功能•SPI -串行外设接口模块•IIC -内部集成电路总线模块•TPM - 2通道定时器/脉宽调制器; 每个通道可用于输入捕捉,输出比较,缓冲边沿对齐PWM,或缓冲中心对齐PWM•MTIM - 8位模数定时器8位模块预分频器•KBI - 8引脚键盘中断与软件模块边缘或边缘/电平模式可选择极性输入/输出•12个通用输入/输出(I / O)引脚,仅输入引脚和一个只输出引脚,输出每个10毫安60 mA最大的包•作为使用时的端口上通过软件选择上拉输入•软件可选择的转换率控制和驱动作为输出时强度上的端口•RESET和IRQ引脚,以减少内部上拉客户系统成本开发支持•单线背景调试接口•片上,在电路内仿真(ICE)的实时总线捕获封装选项•24引脚四方扁平无引线(QFN)封装•16引脚塑料双列直插式封装(PDIP) - 仅MC9S08QG8•16引脚四方扁平无引线(QFN)封装•16引脚超薄紧缩小型封装(TSSOP)•8脚双列扁平无引线(DFN)封装•8引脚PDIP - 只MC9S08QG4•8引脚窄体小外形集成电路。
深入了解HCS08的内部时钟源 (ICS)

飞思卡尔半导体 AN3041 应用笔记 第0版, 10/2005深入了解HCS08的内部时钟源(ICS)模块作者:Scott Pape飞思卡尔微控制器部系统工程部在本文中,我们将较为深入地了解一下某些型号的HCS08系列微控制器(MCU)所具有的内部时钟源模块(ICS)。
ICS是HCS08 MCU所采用的一种非常灵活的时钟源,然而它十分的经济高效,适用于HCS08系列中体积较小、成本较低的类型的MCU。
ICS中包含锁频环、内部时钟参考信号、外部振荡器和时钟选择子模块。
这些子模块组合起来能提供各种时钟模式和频率,从而几乎能满足任何应用的需要。
ICS有7种工作模式,后文中将详细讨论。
同时,我们将把ICS模块与用在其他HCS08 MCU中的内部时钟发生器(ICG)模块进行比较。
此外,我们还会介绍ICS模块从HCS08的各种低功耗模式恢复时的工作过程。
在结论部分,我们将介绍内部时钟参考信号的校准。
目录页1 ICS功能介绍 (2)1.1 结构框图 (2)1.2 ICS模式:关断 (4)1.3 ICS模式:FEI (4)1.4 ICS模式:FEE (4)1.5 ICS模式:FBI和FBILP (5)1.6 ICS模式:FBE和FBELP (5)1.7 ICS与ICG (6)1.8 附加应用功能 (6)2 低功耗模式中的ICS (7)2.1 停止1和停止2模式 (7)2.2 停止3模式 (7)2.3 等待模式 (8)3 校准IRC (8)3.1 如何校准— AN2496 (8)3.2 不调整的运行 (8)3.3 校准IRC (9)1 ICS 功能介绍深入了解HCS08的内部时钟源(ICS)模块飞思卡尔半导体 General Business Information 3FLL 的输出频率为参考时钟频率的512倍。
FLL 包括三个主要部分:·参考频率选择·数字控制振荡器(DCO )·用于比较这两个部分输出的滤波器FLL 的工作原理与锁相环(PLL )非常相似。
STM8学习笔记——时钟和GPIO

STM8学习笔记——时钟和GPIO说起STM8 的时钟,那还真是个杯具,用HSI 没问题,切换到HSE 也没问题,就是切LSI 怎么都不行,然后百思不得其解人,然后上论坛求教,才知道还有个选项字节(OPTION BYTE),数据手册上有这么一段描述:选项字节包括芯片硬件特性的配置和存储器的保护信息,这些字节保存在存储器中一个专用的块内。
除了ROP(读出保护)字节,每个选项字节必须被保存两次,一个是通常的格式(OPTx)和一个用来备份的互补格式(NOPTx)要使用内部低速RC 必须将LSI_EN 置1,就是这个地方让我纠结了半天,然后用IAR 将其置1,方法是:进入调试模式,在上面有个ST-LINK,点击,看到OPTION BYTE,左键点进去,右键单击上面的选项,就可更改了,然后全速运行,就写进去了。
STM8 的时钟分为HSI,HSE,LSI,最常用的是HSI,STMS105S4 内置的是16M 的RC,叫fhsi。
它可以分频输出为fhsidiv=fhsi/hsidiv,如果选择其为主时钟源,那么主时钟fmaster=fhsidiv。
CPU 时钟fcpu=fmaster/cpudiv。
可以通过外设时钟门控寄存器CLK_PCKENR1 和CLK_PCKENR2 选择是否与某个外设连接。
好了上个切换内部时钟的源代码,测试通过void CLK_Init(void){ //切换到内部LSI(!!!需要修改选项字节的LSI_EN 为1)CLK_ICKR|=0x08;//开启内部低速RC 震荡while(CLK_ICKR&0x10==0); //LSI 准备就绪CLK_SWR=0xd2; while(CLK_SWCR&0x08==0); //等待目标时钟源就绪CLK_SWCR|=0x02; //CPU 分频设置CLK_CKDIVR=0;//内部RC 输出。
04-第4章 时钟同步系统

硬件功能描述目录目录第4章时钟同步系统..............................................................................................................4-14.1 C&C08 同步时钟系统概述.................................................................................................4-14.2 C&C08 时钟同步系统体系结构..........................................................................................4-24.2.1 时钟框配置..............................................................................................................4-24.2.2 时钟系统控制结构....................................................................................................4-34.2.3 时钟系统信号分配....................................................................................................4-34.2.4 时钟系统工作原理....................................................................................................4-44.3 C&C08 时钟同步系统配置.................................................................................................4-54.3.1 时钟源......................................................................................................................4-54.3.2 AM时钟配置............................................................................................................4-64.3.3 SM时钟配置............................................................................................................4-64.4 C&C08 时钟同步系统的技术特点.......................................................................................4-74.4.1 锁相技术..................................................................................................................4-74.4.2 技术指标..................................................................................................................4-8第4章时钟同步系统4.1 C&C08 同步时钟系统概述C&C08 时钟同步系统拥有二级(包括A和B类)、加强型三级、三级和四级多种级别时钟可供选择,可满足DC1、DC2、DL、汇接局(TM)等各级交换局的不同要求。
MC9S08GBGT_Low_Power_Modes_AN2493_Chinese

低功耗模式的使用
注意常量SPMSC2st2不仅设置PPDACK位以清除PPDF标记,还将PDC和PPDC位设置为逻辑1。
这是因为它们都是一次性写入位。
如果在一次写操作中未能将这些位设置为逻辑1,那么下一个STOP (停止)指令会进入停止3模式,而不是停止2。
当然,如果需要,用户可以在这条指令中选择开启停止1或停止3,而不是停止2。
与停止1相同,POR会令系统总线时钟由内部4-MHz时钟驱动,停止恢复过程相当快,从而允许代码迅速执行以恢复寄存器设置。
稳压器恢复完全调节状态的延迟与停止1相同,大概是V DD =3 V时为50µs ,V DD = 2 V时为80µs。
停止3
停止3模式不能提供最低的I DD电流,但它功能多,而且在所有停止模式中影响最小。
只要SPMSC2的PDC位设置为0,即可进入停止3。
此外还应注意,如果在停止模式下启动了LVD,或进入背景调试模式时也启动了LVD(BDCSCR中的ENBDM位已经设定为1),则此时唯一能够进入的停止模式是停止3。
当ENBDM位设置为1后执行停止指令,背景调试逻辑的系统时钟仍然有效,因此仍能继续背景调试通信。
如果用户需要能够轻松退出的停止模式,可以采用停止3。
使用内部时钟或FLL时,停止恢复时间通
特殊低功耗模式下的I DD典型值
特殊低功耗模式下的I DD典型值
特殊低功耗模式下的I DD典型值
特殊低功耗模式下的I DD典型值
特殊低功耗模式下的I DD典型值
AN2493
Rev. 2, 11/2004
General Business Information。
华为时钟参考源异常处理案例

一、ALM–4708 时钟参考源异常告警解释当基站时钟无法锁定上级时钟时,上报该告警。
告警属性告警参数对系统的影响告警发生时,基站时钟与其他基站时钟之间可能出现偏差,导致手机在切换、选网和重选时可能出现异常。
系统自处理过程系统对此告警不做任何处理。
可能原因∙时钟模块故障;∙传输线路时钟异常;∙上级时钟源异常。
处理步骤1.根据告警定位信息,查看其他相关告警。
说明:该告警恢复时间视传输情况需40分钟到3小时不等。
a.执行MML命令:LST ALMAF,ALM-4714 E1/T1本地告警或ALM-4716 E1/T1远端告警。
Y=>同时上报此告警,转b;N=>未上报此告警,转2。
b.参照ALM-4714 E1/T1本地告警或ALM-4716 E1/T1远端告警处理告警,观察告警是否恢复。
Y=>告警已恢复,告警处理结束;N=>告警未恢复,转2。
2.检查基站传输线路时钟。
a.。
b.排除基站到BSC的传输线路问题后,检查告警是否恢复。
Y=>告警已恢复,告警处理结束;N=>告警未恢复,转b;c.用频率计测试基站传输线路时钟的频偏,观察频偏是否大于2Hz。
Y=>频偏不小于2Hz,说明传输时钟异常,转c;N=>频偏小于2Hz,说明传输时钟正常,转4。
d.进行基站到BSC的传输检查,用误码仪进行测试有无误码现象。
Y=>有误码,转3;N=>无误码,转4。
3.联系传输网维护人员检查传输网是否故障。
Y =>传输故障,请传输维护人员处理传输问题,告警处理结束;N =>传输没有故障,转4。
4.检查主控单板。
a.复位主控单板,观察告警是否恢复。
Y=>告警已恢复,告警处理结束;N=>告警未恢复,转b;b.更换主控单板,观察告警是否恢复。
Y=>告警已恢复,告警处理结束;N=>告警未恢复,转5。
5.对基站进行四级复位,观察告警是否恢复。
STM8L中文参考手册-2
9.7 周门控时钟(PCG) 外周时钟门控(PCG)模式选择性地启用或禁用系统时钟(SYSCLK)连接到外围设备在运 行或慢速模式的任何时间来优化功耗。 设备复位后,所有的外设时钟被禁用。唯一的一点是在复位状态是默认启用 pcken27 因为它 用于启动。软件已被正确地写入关掉 ROM Bootloader 执行后的时钟。 您可以启用时钟的任何外围设置在 clk_pckenrx 周围门控时钟寄存器的相应 pcken 点。 ●使周围,首先使在 clk_pckenr 相应的 pcken 点 寄存器然后设置使点周围的外围控制寄存器。 ●禁用适当的外围,先禁用在周边的适当位 控制寄存器,然后停止相应的时钟。
9.9 时钟和液晶时钟 RTC 有两个时钟源: ●rtcclk 用于 RTC 定时器/计数器 rtcclk 可以是 HSE , LSE , HSI 或 LSI 时钟。这种选择是通过编程 rtcsel [3:0]位时钟( RTC 寄存器进行 clk_crtcr) 。这些时钟可以随意划分的可编程分频器(因子 1 到 64)的 编程的 rtcdiv SE 或 HSI 时钟作为 rtcclk 源,这 个时钟必须分有一个最大的 1 兆赫为 rtcclk 输入。 ●SYSCLK 用于 RTC 寄存器的读写访问 系统时钟是由 2 位寄存器 2 周门控时钟门控(clk_pckenr2) 。 液晶显示器有两个时钟源: ●rtcclk 除以 2 用于产生 LCD 帧速率 这个时钟是由 3 位在周围门控时钟门控寄存器 2(clk_pckenr2) 。因此,即使 RTC 中不使用 的应用,rtcclk 必须配置为驱动液晶。 ●lcdclk 用于 LCD 寄存器读/写访问 这个时钟是通过设置在周围门控时钟寄存器的 2 位 3 SYSCLK 派生从(clk_pckenr2) 。在主 动停止模式 lcdclk 源 rtcclk 代替 SYSCLK。 9.10 声钟 哔时钟源可以是伦敦证交所或 LSI 钟。他们可以通过编程 clkbeepsel [1:0]位在时钟嘀寄存器 选择(clk_cbeepr) 。 9.11 可配置时钟输出能力(CCO) 可配置时钟输出(CCO)功能可以输出一个时钟在外部 CCO 引脚。你可以选择 4 个时钟信 号的时钟作为 CCO:
HCS08系列微控制器参考手册(中文)
HCS08系列微控制器参考手册第一册苏州大学飞思卡尔嵌入式系统研发中心翻译 2009年11月目录第一章通用信息与结构框图 (1)1.1HCS08系列微控制器介绍 (1)1.2HCS08CPU编程模型 (2)1.3外设模块 (2)1.4MC9S08GB60的特点 (3)1.4.1 HCS08系列的共性 (3)1.4.2 MC9S08GB60的特点 (3)1.5MC9S08GB60的结构框图 (4)第二章引脚及其连接 (5)2.1简介 (5)2.2推荐的系统连接 (5)2.2.1 电源 (7)2.2.2 MC9S08GB60振荡器 (7)2.2.3 复位 (8)2.2.4 背景/模式选择(BKGD/MS) (8)2.2.5 通用I/O及外设端口 (8)第三章工作模式 (10)3.1简介 (10)3.2特征 (10)3.3运行模式 (10)3.4背景调试模式 (11)3.5等待模式 (12)3.6停止模式 (12)3.6.1 Stop1模式 (13)3.6.2 Stop2模式 (13)3.6.3 Stop3模式 (14)3.6.4 停止模式下激活BDM使能 (14)3.6.5 设置OSCSTEN位 (15)3.6.6 停止模式下LVD使能 (15)3.6.7 停止模式下的片上外设模块 (15)3.6.8 系统选择寄存器(SOPT) (17)3.6.9 系统电源管理状态和控制寄存器1(SPMSC1) (18)3.6.10 系统电源管理状态和控制寄存器2(SPMSC2) (19)第四章片上存储器 (21)4.1简介 (21)4.2HCS08核定义的存储器组织 (21)4.2.1 HCS08存储器组织 (21)4.2.2 MC9S08GB60存储映像 (22)4.2.3 复位和中断向量表 (23)4.3寄存器地址和位分配 (24)4.4RAM (29)4.560K字节的FLASH (29)4.5.1 特征 (30)4.5.2 写入、擦除和空白检测命令 (30)4.5.3 命令时间和突发模式写入 (32)4.5.3.1 行和FLASH的组织结构 (32)4.5.3.2 程序命令时序 (33)4.5.4 访问错误 (34)4.5.5 向量重定向 (34)4.5.6 FLASH块保护(MC9S08GB60) (34)4.6MC9S08GB60的安全性 (35)4.7MC9S08GB60的FLASH寄存器和控制位 (36)4.7.1 FLASH时钟分频寄存器(FCDIV) (36)4.7.2 FLASH选项寄存器(FOPT和NVOPT) (37)4.7.3 FLASH配置寄存器(FCNFG) (38)4.7.4 FLASH保护寄存器(FPROT和NVPROT) (38)4.7.5 FLASH状态寄存器(FSTAT) (39)4.7.6 FLASH命令寄存器(FCMD) (40)4.8FLASH存储器应用实例 (41)4.8.1 FLASH模块时钟的初始化 (41)4.8.2 擦除FLASH的一页(512字节) (42)4.8.3 DoOnStack子程序 (43)4.8.4 SpSub子程序 (45)4.8.5 FLASH的字节编程 (46)第五章复位和中断 (47)5.1简介 (47)5.2MC9S08GB60复位和中断的特征 (47)5.4计算机正常操作监控模块(COP)看门狗 (48)5.5中断 (48)5.5.1 中断堆栈结构 (49)5.5.2 外部中断请求(IRQ)引脚 (50)5.5.2.1 引脚配置选项 (50)5.5.2.2 边沿/电平触发 (50)5.5.3 中断向量、中断源和局部屏蔽 (51)5.6低电压检测系统(LVD) (52)5.6.1 上电复位操作 (52)5.6.2 LVD复位操作 (52)5.6.3 LVD中断操作 (53)5.6.4 低电压警告(LVW) (53)5.7实时中断(RTI) (53)5.8复位、中断以及系统控制寄存器和控制位 (53)5.8.1 中断请求状态和控制寄存器(IRQSC) (54)5.8.2 系统复位状态寄存器(SRS) (55)5.8.3 系统背景调试强制复位寄存器(SBDFR) (56)5.8.4 系统选项寄存器(SOPT) (56)5.8.5 系统设备识别寄存器(SDIDH、SDIDL) (57)5.8.6 系统实时中断状态和控制寄存器(SRTISC) (57)5.8.7 系统电源管理状态控制寄存器1(SPMSC1) (58)5.8.8 系统电源管理状态和控制寄存器2(SPMSC2) (59)第六章中央处理单元 (61)6.1简介 (61)6.2编程结构和CPU寄存器 (61)6.2.1 累加器(A) (62)6.2.2 变址寄存器(H:X) (63)6.2.3 堆栈指针(SP) (64)6.2.4 程序计数器(PC) (66)6.2.5 条件码寄存器(CCR) (66)6.3寻址方式 (70)6.3.1 隐含寻址方式(INH) (71)6.3.2 相对寻址方式(REL) (71)6.3.3 立即寻址方式(IMM) (72)6.3.4 直接寻址方式(DIR) (72)6.3.5 扩展寻址方式(EXT) (72)6.3.6.1 无偏移量变址方式(IX) (73)6.3.6.2 无偏移量变址、变址加1寻址方式(IX+) (73)6.3.6.3 8位偏移量变址方式(IX1) (73)6.3.6.4 8位偏移量变址、变址加1寻址方式(IX1+) (73)6.3.6.5 16位偏移量变址方式(IX2) (73)6.3.6.6 8位偏移量堆栈寻址方式(SP1) (74)6.3.6.7 16位偏移量堆栈寻址方式(SP2) (74)6.4特殊操作 (75)6.4.1 复位序列 (75)6.4.2 中断 (76)6.4.3 等待模式 (76)6.4.4 停止模式 (76)6.4.5 背景模式 (77)6.4.6 总线周期的用户观点 (77)6.5通过指令类别进行指令集描述 (78)6.5.1 数据传送指令 (78)6.5.1.1 加载与存储 (78)6.5.1.2 位的置位与清零 (81)6.5.1.3 存储器到存储器的传送 (82)6.5.1.4 寄存器传输和半字节交换 (82)6.5.2 算术运算指令 (83)6.5.2.1 加、减、乘和除指令 (83)6.5.2.2 加一、减一、清零和求补 (88)6.5.2.3 比较和测试 (88)6.5.2.4 BCD的计算 (88)6.5.3 逻辑操作指令 (89)6.5.3.1 与、或、异或与求补 (90)6.5.3.2 位测试指令 (91)6.5.4 移位类指令 (91)6.5.5 跳转、转移和循环控制指令 (93)6.5.5.1 无条件跳转和转移指令 (94)6.5.5.2 简单转移 (95)6.5.5.3 有符号转移 (95)6.5.5.4 无符号转移 (95)6.5.5.5 位条件转移 (96)6.5.5.6 循环控制 (96)6.5.6 相关堆栈指令 (97)6.6指令简表 (102)6.7汇编语言指南 (114)6.7.1 列表行 (115)6.7.2 汇编指令 (116)6.7.2.1 BASE——设定编译器的缺省数进制 (116)6.7.2.2 INCLUDE——指定附加源文件 (116)6.7.2.3 NOLIST/LIST——关闭或打开程序列表 (116)6.7.2.4 ORG——设置程序的起始位置 (117)6.7.2.5 EQU——把一个标号和一个数值相关联 (118)6.7.2.6 dc.b——定义存储器中字节化常量 (119)6.7.2.7 dc.w——在存储器中定义16位(字)常量 (119)6.7.2.8 ds.b——定义存储(保留)内存变量字节 (120)6.7.3 标号 (121)6.7.4 表达式 (122)6.7.5 通用文件协议 (123)6.7.6 目标代码(S19)文件 (125)第七章开发支持 (129)7.1介绍 (129)7.2特点 (130)7.3背景调试控制器(BDC) (130)7.3.1 BKGD引脚描述 (131)7.3.2 通信细节 (132)7.3.2.1 BDC通信速率考虑事项 (132)7.3.2.2 位时序细节 (133)7.3.3 BDC寄存器和控制位 (135)7.3.3.1 BDC状态和控制寄存器 (135)7.3.3.2 BDC断点匹配寄存器 (137)7.3.4 BDC命令 (137)7.3.4.1 SYNC——要求时序参考脉冲 (138)7.3.4.2 ACK_ENABLE (139)7.3.4.3 ACK_DISABLE (139)7.3.4.4 BACKGROUND (139)7.3.4.5 READ_STATUS (140)7.3.4.6 WRITE_CONTROL (140)7.3.4.7 READ_BYTE (141)7.3.4.8 READ_BYTE_WS (142)7.3.4.10 WRITE_BYTE (143)7.3.4.11 WRITE_BYTE_WS (143)7.3.4.12 READ_BKPT (144)7.3.4.13 WRITE_BKPT (144)7.3.4.14 GO (144)7.3.4.15 TRACE1 (145)7.3.4.16 TAGGO (145)7.3.4.17 READ_A (145)7.3.4.18 READ_CCR (145)7.3.4.19 READ_PC (146)7.3.4.20 READ_HX (146)7.3.4.21 READ_SP (147)7.3.4.22 READ_NEXT (147)7.3.4.23 READ_NEXT_WS (148)7.3.4.24 WRITE_A (148)7.3.4.25 WRITE_CCR (148)7.3.4.26 WRITE_PC (149)7.3.4.27 WRITE_HX (149)7.3.4.28 WRITE_SP (149)7.3.4.29 WRITE_NEXT (149)7.3.4.30 WRITE_ NEXT_WS (150)7.3.5 串行接口硬件握手协议 (150)7.3.6 取消握手协议 (152)7.3.7 BDC硬件断点 (155)7.3.8 与M68HC12BDM的不同之处 (155)7.3.8.1 8位体系结构 (156)7.3.8.2 命令格式 (156)7.3.8.3 状态位的读写 (156)7.3.8.4 BDM与停止和等待模式 (157)7.3.8.5 SYNC指令 (157)7.3.8.6 硬件断点 (157)7.4标识部分和BDC强制复位 (158)7.4.1 系统设备识别寄存器(SDIDH:SDIDL) (158)7.4.2 系统背景调试强制复位寄存器 (158)7.5片上调试系统(DBG) (159)7.5.1 比较器A和B (159)7.5.2总线信息捕捉和FIFO操作 (160)7.5.4 标记与强制断点和触发器 (161)7.5.5 CPU断点请求 (162)7.5.6 触发模式 (162)7.5.6.1 单独A触发模式 (163)7.5.6.2 A或B触发模式 (163)7.5.6.3 A然后B触发模式 (163)7.5.6.4 事件B触发模式(存储数据) (163)7.5.6.5 A然后事件B触发模式(存储数据) (163)7.5.6.6 A和B数据触发(全模式) (164)7.5.6.7 A与非B数据触发(全模式) (164)7.5.6.8 触发范围内:A≤地址≤B (164)7.5.6.9 触发范围外:地址<A 或者地址>B (164)7.5.7 DBG寄存器和控制位 (165)7.5.7.1 调试比较器A的高地址页寄存器(DBGCAH) (165)7.5.7.2 调试比较器A的低位寄存器(DBGCAL) (165)7.5.7.3 调试比较器B的高地址页寄存器(DBGCAH) (165)7.5.7.4 调试比较器B的低位寄存器(DBGCAL) (165)7.5.7.5 调试FIFO高地址页寄存器(DBGFH) (165)7.5.7.6 调试FIFO低位寄存器(DBGFL) (165)7.5.7.7 调试控制寄存器(DBGC) (166)7.5.7.8 调试触发寄存器(DBGT) (167)7.5.7.9 调试状态寄存器(DBGS) (168)7.5.8 应用信息与举例 (169)7.5.8.1 定向的调试器例子 (171)7.5.8.2 例1:终止对地址A的处理 (171)7.5.8.3 例2:终止对地址A指令的处理 (172)7.5.8.4 例3:终止在地址A或B上的指令处理 (172)7.5.8.5 例4:开始跟踪在地址A的指令 (173)7.5.8.6 例5:A到B顺序后停止的尾部跟踪 (173)7.5.8.7 例6:起始跟踪数据B写入地址A (174)7.5.8.8 例7:从地址B中读取被捕获的首八位数据 (174)7.5.8.9 例8:捕获在读地址A后写入到地址B的值 (175)7.5.8.10 例9:在一个例程中触发所有的执行命令 (175)7.5.8.11 例10:通过触发来试图处理外部FLASH (176)7.5.9 硬件断点和ROM修补 (176)附录A 指令集详述 (177)A.2命名规则 (177)A.3规范定义 (180)A.4指令集 (180)ADC Add with Carry(带进位位加) (180)ADD Add without Carry(无进位位加) (181)AIS Add Immediate Value to Stack Pointer(立即数加到SP) (182)AIX Add Immediate Value to Index Register(立即数加到HX) (182)AND Logical AND(逻辑与) (183)ASL Arithmetic Shift Left(算术左移) (184)ASR Arithmetic Shift Right(算术右移) (184)BCC Branch if Carry Bit Clear(C为0则转移) (185)BCLR n Clear Bit n in Memory(内存单元n位清零) (185)BCS Branch if Carry Bit Set(C为1则转移) (186)BEQ Branch if Equal(等于则转移) (187)BGE Branch if Greater Than or Equal To(大于或等于则转移) (187)BGND Background(进入背景调试模式) (188)BGT Branch if Greater Than(大于则转移) (188)BHCC Branch if Half Carry Bit Clear(H为0则转移) (189)BHCS Branch if Half Carry Bit Set(H为1则转移) (189)BHI Branch if Higher(大于则转移) (190)BHS Branch if Higher or Same(大于或等于则转移) (191)BIH Branch if IRQ Pin High(引脚IRQ为1则转移) (191)BIL Branch if IRQ Pin Low(引脚IRQ为0则转移) (192)BIT Bit Test(位测试) (192)BLE Branch if Less Than or Equal To(小于或等于则转移) (193)BLO Branch if Lower(小于则转移) (193)BLS Branch if Lower or Same(小于或等于则转移) (194)BLT Branch if Less Than(小于则转移) (195)BMC Branch if Interrupt Mask Clear(I为0则转移) (195)BMI Branch if Minus(结果为负则转移) (196)BMS Branch if Interrupt Mask Set(I为1则转移) (196)BNE Branch if Not Equal(不等于则转移) (197)BPL Branch if Plus(结果为正则转移) (197)BRA Branch Always(无条件短转移) (198)BRCLR n Branch if Bit n in Memory Clear(M位n为0则转移) (199)BRN Branch Never(三个总线周期的空操作) (200)BRSET n Branch if Bit n in Memory Set(M位n为1则转移) (200)BSET n Set Bit n in Memory(M位n置1) (201)BSR Branch to Subroutine(转移到子程序) (201)CBEQ Compare and Branch if Equal(比较,等于则转移) (202)CLC Clear Carry Bit(进位位C清零) (203)CLI Clear Interrupt Mask Bit(中断屏蔽位I清零) (203)CLR Clear(清零) (204)CMP Compare Accumulator with Memory(A与M比较) (204)COM Complement(按位取反) (205)CPHX Compare Index Register with Memory(HX与M比较) (206)CPX Compare X with Memory(X与M比较) (207)DAA Decimal Adjust Accumulator(A十进制调整) (208)DBNZ Decrement and Branch if Not Zero(减1不为0则转移) (209)DEC Decrement(自减1) (209)DIV Divide(无符号除法) (210)EOR Exclusive-OR Memory with Accumulator(M与A异或) (211)INC Increment(自加1) (211)JMP Jump(无条件跳转) (212)JSR Jump to Subroutine(跳转到子程序) (213)LDA Load Accumulator form Memory(取M内容到A) (213)LDHX Load Index Register form Memory(取M内容到HX) (214)LDX Load X from Memory(取M内容到X) (215)LSL Logical Shift Left(逻辑左移) (215)LSR Logical Shift Right(逻辑右移) (216)MOV Move(M单元间数据传送) (217)MUL Unsigned Multiply(无符号数乘法) (218)NEG Negate(Two’s Complement) (求补) (218)NOP No Operation(空操作) (219)NSA Nibble Swap Accumulator(A的高低4位对调) (219)ORA Inclusive-OR Accumulator and Memory(逻辑或) (220)PSHA Push Accumulator onto Stack(A进栈) (220)PSHH Push H onto Stack(H进栈) (221)PSHX Push X onto Stack(X进栈) (221)PULA Pull Accumulator from Stack(A出栈) (222)PULH Pull H from Stack(H出栈) (222)PULX Pull X from Stack(X出栈) (223)ROL Rotate Left through Carry(带进位位的循环左移) (223)ROR Rotate Right through Carry(带进位位的循环右移) (224)RSP Reset Stack Pointer(堆栈指针置$FF) (224)RTI Return from interrupt(中断返回) (225)RTS Return from Subroutine(子程序返回) (226)SBC Subtract with Carry(带借位减法) (226)SEC Set Carry Bit(进位位置位) (227)SEI Set Interrupt Mask Bit(中断屏蔽位置位) (227)STA Store Accumulator in Memory(A存入M) (228)STHX Store Index Register(HX存入M) (229)STOP Enable IRQ Pin, Stop Processing(停机) (229)STX Store X in Memory(X存入M) (230)SUB Subtract(无借位减法) (231)SWI Software Interrupt(软件中断) (231)TAP Transfer Accumulator to Processor Status Byte(写CCR) (232)TAX Transfer Accumulator to X(A复制到X) (233)TPA Transfer Processor Status Byte to Accumulator(读CCR) (233)TST Test for Negative or Zero(小于或等于0测试) (234)TSX Transfer Stack Pointer to index Register(复制SP到HX) (235)TXA Transfer X to Accumulator(复制X到A) (235)TXS Transfer Index Register Low to Stack Pointer(HX-1写入SP) (235)WAIT Enable Interrupts; Stop Processor(待机) (236)附录B 通用文件规范 (237)B.1引言 (237)B.2存储映射区域划分 (238)B.3中断向量定义 (238)B.4位定义的两种方式 (239)B.5MC9S08GB60完整的通用文件 (240)第一章通用信息与结构框图1.1 HCS08系列微控制器介绍新型的FreescaleHCS08系列微控制器,尽管包含新指令,可以执行快速调试和开发功能,但仍然和旧的M68HC08系列完全兼容。
飞锐泰克 MC9S08AC 学习板 说明书
MC9S08AC 学习板F RE E-TE C H飞锐泰克目录第1章 学习板概述--------------------------------------------------------------------- 3 第2章 学习板结构----------------------------------------------------------------------42.1 原理图--------------------------------------------------------------------------4 2.2 丝印图--------------------------------------------------------------------------11 2.3 主要器件-----------------------------------------------------------------------13 2.4 外围接口-----------------------------------------------------------------------13 2.5 调线说明-----------------------------------------------------------------------13 第3章 CodeWarrior 快速入门--------------------------------------------------------15 第4章 实验例程-------------------------------------------------------------------------25实验一 复位与看门狗--------------------------------------------------------------25 实验二 外部中断实验--------------------------------------------------------------30 实验三 实时时钟实验--------------------------------------------------------------34 实验四 低电压检测实验-----------------------------------------------------------36 实验五 熟悉存储器-----------------------------------------------------------------39 实验六 内部时钟--------------------------------------------------------------------47 实验七 MCU 运行模式------------------------------------------------------------56 实验八 熟悉单片机IO -------------------------------------------------------------62 实验九 键盘中断实验--------------------------------------------------------------64 实验十 TPM 实验----------------------------------------------66 实验十一 UART 实验--------------------------------------------------------------74 实验十二 ADC 实验----------------------------------------------------------------83 实验十三 IIC 模块实验-------------------------------------------------------------94 实验十四 SPI 接口--------------------------------------------102 实验十五 数码管实验------------------------------------------109 实验十六 单线协议DS18B20实验----------------------------------------------110 实验十七 3轴加速度传感器实验------------------------------------------------115 第5章 注意事项--------------------------------------------------------------------------121F RE E-TE C H飞锐泰克第1章 MC9S08AC 学习板概述MC9S08AC 学习板是基于MC9S08AW16芯片的功能而开发的一款学习板。
西门子 NXGPro+ 控制系统手册_操作手册说明书
3.4
单元通讯的协议 ............................................................................................................ 36
3.5
NXGpro+ 高级安全 .......................................................................................................37
3.2
功率拓扑 ......................................................................................................................34
3.3
控制系统概述 ...............................................................................................................35
NXGPro+ 控制系统手册
NXGPro+ 控制系统手册
操作手册
AC
A5E50491925J
安全性信息
1
安全注意事项
2
控制系统简介
3
NXGPro+ 控制系统简介
4
硬件用户界面说明
5
参数配置/地址
6
运行控制系统
7
高级的操作功能
8
软件用户界面
9
运行软件
10
故障和报警检修
11
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
飞思卡尔应用笔记AN3041深入讨论HCS08的内部时钟源模块(ICS)文件编号:AN3041版本:0,10/2005苏州大学飞思卡尔嵌入式教学与应用培训中心译2008年5月目录1 ICS模块的功能描述 (1)1.1 结构框图 (1)1.2 ICS模式:Off (3)1.3 ICS模式:FEI (3)1.4 ICS模式:FEE (4)1.5 ICS模式:FBI 和 FBILP (4)1.6 ICS模式:FBE 和 FBELP (5)1.7 ICS 与ICG (5)1.8 其他应用特点 (6)2 低功耗模式下的ICS (6)2.1 Stop1和Stop2 (6)2.2 Stop3 (7)2.3 Wait (7)3 校准IRC (7)3.1 如何校准- AN2496 (8)3.2 未校准状态 (8)3.3 校准IRC (8)深入讨论HCS08的内部时钟源模块(ICS)Scott PapeFreescale微控制器部系统工程师本文档将更深入地了解内部时钟源模块(Internal Clock Source,ICS),HCS08系列微控制器的一些成员都包含有该模块。
对HCS08 MCU来说,ICS模块是一个非常灵活的时钟源,但使用该系列中更小、更低成本的MCU仍是非常经济的。
ICS包括锁频环、内部时钟参考、外部振荡器和时钟选择子模块。
这些子模块组合可以提供多种时钟模式和频率,以满足任何应用的需要。
本应用笔记详细描述ICS的7种工作模式、ICS模块与其他HCS08 MCU的内部时钟发生器(Internal Clock Generator,ICG)模块作比较、ICS模块从不同低功耗模式下恢复的特性及内部时钟参考的校准方法。
1 ICS模块的功能描述本节将详细介绍内部时钟源的功能操作。
1.1 结构框图图1为ICS的结构框图。
ICS由4个主要的子模块组成:z锁频环(FLL)z内部参考时钟z外部振荡器z时钟选择逻辑ICS的主要输出为ICSOUT,它产生CPU和总线时钟的时钟信号。
CPU时钟频率等于ICSOUT的频率,总线时钟频率为ICSOUT的1/2。
FLL输出的频率要比参考时钟频率快512倍。
FLL由3个主要模块组成:z参考选择z数控振荡器(DCO)z用于比较其他两个模块输出的滤波器FLL 非常类似于锁相环(PLL ),不同的是PLL 调整的输出是基于参考时钟和DCO 时钟的相位差,而FLL 比较的是DCO 时钟和参考时钟的频率。
FLL 统计一个参考时钟周期内的DCO 时钟边沿的个数。
所以为了达到512倍,FLL 在参考时钟的每个上升沿之间应计数到512个DCO 的上升沿。
FLL 大多是由数字逻辑实现,无需PLL 通常所需要的外部滤波器元件。
图1 ICS 结构框图时钟选择逻辑只是简单选出FLL 输出、外部时钟参考或内部时钟参考作为ICS 模块的输出。
另外还包含一个时钟分配器电路,通过1,2,4或8对输出进行分频来降低输出时钟的频率。
内部参考时钟(IRC )是可校准的,可用作FLL 的参考时钟,也可直接用作CPU 和总线时钟的时钟源。
该内部参考不需要校准电容或电阻等外部元件。
IRC 是由9位ICS 寄存器的值所校准,它提供典型分辨率为0.1%的未校准的IRC 频率。
与其他内部参考不同,该IRC 可被校准为一个从31.25kHz 到39.06kHz 的频率范围。
作为FLL 参考使用时,允许用户将总线频率设置为8MHz ~10MHz 间的任意值,分辨率为0.1%。
校准后,校准频率的典型误差为+0.5%~-1%,最大也只有±2%。
外部振荡器参考(OSC )实际上是3个外部时钟源组合成1个。
它有一个使用32 kHz ~38.4 kHz 晶体振荡器或陶瓷振荡器的低频振荡器。
有一个使用1 时钟选择 输出时钟选择固定时钟选择内部参考时钟产生器锁相环(FLL )滤波器振荡器(OSC )带有外部参考时钟选择功能MHz ~16 MHz 晶体振荡器或陶瓷振荡器的高频振荡器。
两个振荡器都需要两个引脚XTAL 和EXTAL 来产生时钟信号。
OSC 还有一个外部时钟模式,只允许一个外部时钟信号进入MCU 。
在该模式下,只需要EXTAL 引脚,XTAL 引脚可作普通I/O 口用。
输入频率可以是0 Hz ~20 MHz 间的任意值。
由于引脚限制,一些MCU 可以没有外部振荡器。
实际激活了ICS 的哪个子模块取决于ICS 的被选时钟模式。
ICS 有7中工作模式:OffFLL 使用,内部参考(FEI )FLL 使用,外部参考(FEE )FLL 旁路,内部参考(FBI )FLL 旁路,内部参考,低功耗(FBILP )FLL 旁路,外部参考(FBE )FLL 旁路,外部参考,低功耗(FBELP )1.2 ICS 模式:Off只要进入MCU 的任一种低功耗stop 模式,ICS 就被关闭。
在off 模式下,FLL总是被禁止以节省功耗。
但是在stop3模式下,可以选择是否使能外部参考、内部参考或两者兼用。
这个特点允许某些可以将外部参考作为它的时钟参考的模块在stop3下可以运行,如实时中断模块(RTI )。
一些MCU 可用不要连到内部或外部参考的模块。
为了达到最低功耗运行,如果没有必要,应该禁止参考时钟。
1.3 ICS 模式:FEIFLL 使用内部参考(FEI )模式是芯片复位后的默认模式,包括上电复位(POR )。
在该模式下,FLL 被激活且由其输出信号驱动CPU 和总线时钟。
IRC 被用作FLL 的参考频率,所以绝对不需要外部元件(如过滤电容或校准电阻),EXTAL 和XTAL 引脚可用于其他复用的功能。
根据公式1可以算出在FEI 模式下的总线频率:f bus = f IRC × 512 ÷ (2 X bus divider) 公式1由于内部参考可被校准出31.25kHz 到39.06kHz 的频率范围,FEI 模式可以产生快512倍的频率:16 MHz ~20 MHz 。
复位后,时钟分频器(在后面会详细描述)另加一个2分频的信号到ICSOUT 。
这是为了在未校准的IRC 运行速度快于31.25kHz情况下保护系统。
这将导致总线频率大于8MHz,超过了MCU低电压(<2.1V)的最大频率范围。
由于默认为2分频,在任何工作电压范围内,总线频率都可保证在规格以内,但是对MCU的快速配置来说仍是足够快的。
在上电复位后,应该校准内部参考值,因为上电复位后校准值复位为0x80,校准位复位为0,所有其他复位保持当前校准值。
1.4 ICS模式:FEE在FLL使用外部参考(FEE)模式下,FLL被激活,其输出驱动CPU和总线时钟。
外部振荡器为FLL提供参考时钟。
为了系统的正常工作,FLL输出必须介于16 MHz~20 MHz之间。
因此,使用FEE模式对外部参考的频率有一定的限制。
包含一个参考分频器的ICS可用于降低外部参考的频率,以允许更多的外部时钟选项。
参考分频器由ICS控制寄存器1(ICSC1)的RDIV位确定。
表1给出了基于RDIV设置的允许的外部频率。
表1 FEE模式下的可用外部频率RDIV 分频最小外部频率(MHz)最大外部频率(MHz)0.03906000 1 0.031250.07812001 2 0.06250.1562010 4 0.125011 8 0.25 0.3125 100 16 0.50 0.625 101 32 1.0 1.25 110 64 2.0 2.5 111 128 4.0 5.0 根据公式2可以算出在FEE模式下的总线频率:f bus = (f OSC ÷ reference divider) × 512 ÷ (2 × bus divider) 公式21.5 ICS模式:FBI 和 FBILPFLL旁路内部参考(FBI)模式和FLL旁路内部参考低功耗(FBILP)模式只有一个不同点。
它们都是绕过FLL直接使用IRC产生ICSOUT。
不同之处在于FBI模式下FLL仍是激活的,而在FBILP模式下FLL被禁止了,所以可以节省更多的电源。
通过配置成FBI并设置ICS控制寄存器2(ICSC2)的LP位可以使能FBILP。
用FBILP而不用FBI有两个原因:第一,为了使用背景调试模式(BDM);第二,为了节省切换到FEI的FLL锁定时间。
为了给BDM通信提供高速时钟源,FLL必须在激活状态。
如果在使能BDM时设置LP位,则FLL会保持激活状态。
而且,如果在LP位设置之后使能BDM,FLL也会被切换到激活状态。
FLL锁定时间最大为1ms,通常要求500μs。
禁止FLL通常可以节省200~310μA,具体值取决于V DD和FLL频率。
1.6 ICS模式:FBE 和 FBELPFLL旁路外部参考(FBE)的模式和FLL旁路外部参考低功耗(FBELP)模式与上面所述的FBI和FBILP模式相类似,不同在于是用OSC产生时钟源,而不是IRC。
FBE/FBELP也绕过了FLL,而且在不使能BDM的情况下可通过LP位来禁止FLL。
从1.4节得知,如果使用FLL(FEE),OSC频率是受限的。
如果不使用FEE 模式并且将ICS设置为FBELP模式(记住,FBE模式下FLL仍是激活的),那么这些限制就会减少到只有对OSC参考自己的限制:频率在32 kHz~38.4 kHz之间的低频振荡器,频率在1 MHz~16 MHz之间的高频振荡器和频率在0Hz~20 MHz之间的外部时钟模式。
然而,如果使能BDM,对FEE振荡器的限制同FBILP。
再者,在FBELP模式下,1.4节中讨论的参考分频器无任何作用。
FBE模式下对振荡器的限制同FEE模式。
1.7 ICS 与 ICG个别HCS08系列MCU仍有内部时钟产生器(ICG)模块。
有几个差别可以用于区分ICS与ICG。
虽然ICS是一个全新的模块,但在功能上基本是ICG的一个子集。
ICS的用途是为更小、更低成本的HCS08系列MCU提供一个更小的低功耗的时钟模块。
首先,ICG模块中的FLL有更多关于产生输出频率的选项。
ICS中的FLL固定用512的倍频因子,产生的输出频率为16 MHz~20 MHz,而ICG中的FLL有8个软件可选择的倍频因子,外加一个同时使用高频(>1MHz)和低频(<100Hz)时钟参考的预分频器,产生的输出频率为8 MHz~40 MHz,且对参考时钟的限制更少。
ICG提供更多时钟状态位。
ICG提供9个状态位,几乎可以检测到ICG运行时的各种状态,包括LOCK状态,当前ICG模式,DCO稳定性和外部参考时钟的稳定性。
ICS只有3个状态位:2个用来检测当前ICS的模式,1个用来指示已被初始化的外部振荡器。