毕业论文:基于freescalehcs12系列单片机的结晶器振动控制系统——can通信部分内容摘要:

HCS12 系列单片机的内核及片上资源 在本设计中具体用到是 HCS12 系列单片机中的 MC9S12DG128 单片机,它是 MC9S12 系列单片机的一员。 下面将对 MC9S12 系列单片机做详细介绍。 MC9S12 系列单片机采用了高性能的 16 位处理器 HCS12,可提供丰富的指令系统,具有较强的数值 运算和逻辑运算能力;期内大容量的 FLASH 存储器具有在线编程能力, EEPROM 和 RAM 可存储各种控制参数。 MC9S12 的低功耗晶振、复位控制、看门狗及实时中断等配置和功能更有助于系统的可靠运行。 MC9S12 有多个系列几十个品种,而且仍在不断发展中。 该系列单片机有很高的集成度,片上集成了很多功能模块,丰富的外设资源使用户使用 起来十分方便。 MC9S12DG128 单片机的内部结构及引脚功能 MC9S12 系列单片机简称 S12 系列单片机。 典型的 HC12 总线频率为 8MHz,而典型的 S12 总线速度为 25MHz。 总线速度指的是 CPU执行一条基本指令的速 度。 CPU12是高速的 16位处理单元,指令集兼容以前的版本 M68HC12, M68HC12的源代码不经修改就能拿到 CPU12 内核的单片机上使用。 HC12 和 S12 指令完全兼容,故在很多场合下,写成 HCS12 系列单片机。 从 HC12 到 S12,单片机的功能有所增强,包括运行频率的提高和功能 模块的增加、增强。 与多数单片机的仿真调试方式不同, MC9S12 具有的背景调试模块为单片机的开发提供了便利, BDM 能在单片机运行时对单片机动态调试。 丰富的外设和 I/O 资源是 MC9S12 系列单片机的一大特色。 多数引脚具有复用功能,给用户提供了很大的灵活性。 MC9S12 系列单片机 的 A 口、 B 口在扩展方式下作为分时复用的地址 /数据总线, E 口的部分口线作为控制总线,在系统扩展的时候使用。 每一种接口都具有双重功能,即通用 I/O 功能和特殊接口功能,在单片模式下,甚至 A 口、 B 口和 E 口的一部分也可以用作通用 I/O 口。 这些双重 功能的 I/O 口本身及其控制逻辑完全集成在 MCU内部,其体积、功耗、可靠性、应用简单方便程度都与 用户扩充的 I/O 口有着重要的区别。 单线背景调试模式( BDM)和时钟监视部分用于开发支持和运行安全,更是他的特色。 内部 Flash 程序存储器容量达 256KB,可以用来保存程序和原始数据,在正常工作是没有被改写的危险。 12KB 的 RAM 存储器可以用作堆栈、保存中间结果及动态数据,甚至可以在调试时存放程序。 4KB 的 EEPROM 可以保存组态、设置信息等半永久数据。 16 位的 CPU12 具有 16 位乘法和 32 位除 16位的整数乘除运算 指令,内部设有指令队列,最小总线周期仅为 40ns, I/O 与存储器统一编址。 特有的 BDM 调试方式无需仿真器,可以实现硬件断点、条件断点、在线调试等全部调试功能,外部只需简单的接口和相应的软件即可。 内部集成了看门狗功能,可以保证程序跑飞后快速恢复。 时钟监视更具特色,它可以监视系统时钟的运行异常,例如时钟频率下降等,两者结合 等于为系统安全加了双保险。 内部集成的外设除了常规的定时器、串行接口、并行接口以外,还包括 ATD、ECT、 SPI、 BDLC、 CAN 等,其中 ATD 有 16 个 10 位模拟输入通道,内部具有多路器和采样 保持,可以设定各种采样方式,可以采用中断方式工作。 定时器模块具有 8 个独立可编程通道,每个通道可以单独设置成输入捕捉 /输出比较方式。 集成的串行接口 SCI 有 2 个, SPI 有 3 个,工作方式及参数可以根据应用要求设 置。 内部 8 个 8 位的 PWM 通道可以组合成 4 个 16 位通道。 BDLC 和 CAN 总线接口使系统 可以直接接入相应的小型局域网。 此外, MC9S12 还具有暂停和等待模式,在满足要求的前提下,可以最大限度地降低功率消耗。 MC9S12 有两种典型的封装形式,即 LQFP112 和 QFP80。 其中除了地址、数据、控制等三总线外,主 要是 I/O 引脚,多数引脚具有两种或更多功能。 ( 1) VDDR 和 VSSR—— 数字电源和接地引脚 外部电源和地引脚,提供 I/O 驱动和电压调整器的输入。 为了满足 信号的快速上升要求,一般要求电源能提供瞬时大电流,因此要在两个之间放置旁路电容,并且要尽量靠近 MCU,具体旁路要求取决于 MCU引脚的负载。 ( 2) VDDX 和 VSSX—— I/O 电源和接地引脚 外部电源和地引脚,提供 I/O 驱动。 要在两个之间放置旁路电容,并且要尽量靠近 MCU。 ( 3) VDDA 和 VSSA—— ADC 转换模块电源和接地引脚 为电压调 整器和 AD 转换器提供电源和地,同时为内部电压 调整器提供参考电压。 两个引脚之间需要放置旁路电容。 ( 4) VRH 和 VRL—— ADC 参考电源输入引脚 AD 转换器的参考电压输入引脚,其精度和稳定性直接影响转换结果,因此这路电源要求品质较高,不能受数字部分的影响,但功率较小,单独供电既经济又容易实现。 ( 5) 和 —— 外部 用两对引脚,直接对内部 内核供电。 如果内部电压调整器使能, 来自于电压调整器,不需要外部提供,这两组电源引脚上不能放置静态负载。 如果 VREGEN 引脚 接地,内部电压调整器关闭,这两对引脚上需要提供外部 电源。 ( 6) VDDPLL 和 VSSPLL—— 振荡器和锁相环供电引脚 电压调整器关闭时,该引脚必须接。 电压调整器工作时,该引脚的电压由电压调整器提供。 ( 7) VREGEN—— 电压调整模块选择引脚 该引脚拉高则使能内部电压调整器,该引脚拉低则禁止内部电压调整器。 若VREGEN 接地,内部电压调整器禁止,不能输出 , 和 VDDPLL需要的。 MC9S12 单片机指定三个引脚 MODC(BKGD)、 MODB(PE6)、 MODA(PE5)来设定单片机的运行模式。 模式选择见表。 ( 1) A 口( PA7~PA0)和 B 口( PB7~PB0) —— 地址、数据总线引脚 在宽扩展模式下, A 口和 B 口做分时复用的数据和地址总线,与通用 I/O 口A、 B 共享引脚。 其中, PA7~PA0 引脚分时用作 D15~D8 和 A15~A8, PB7~PB0引脚分时用作 D7~D0 和 A7~A0。 表 MC9S12 单片机运行模式选择 BKGD (MODC) PE6 (MODB) PE5 (MODA) 模式选择 地址线宽度 数 据线宽度 0 0 0 特殊单片模式 0 0 0 0 1 仿真扩展窄模式 16 8 0 1 0 测试模式 16 16 0 1 1 仿真宽扩展模式 16 16 1 0 0 普通单片模式 0 0 1 0 1 普通窄扩展模式 16 8 1 1 0 特殊外设模式 —— —— 1 1 1 普通宽扩展模式 16 16 在窄扩展模式下, B 口德引脚用作地址总线的低 8 位, A 口供高 8 位地址总线和 8 位数据总线分时使用。 在该模式下,处理 16 位数据需要两个连续的总线周期,第一个周期 用于处理高位字节,下一个周期处理低位 字节。 各个地址引脚的状态应该在 E 时钟的上升沿锁存,要让外部器件获得最长的地址建立时间,因此要用到锁存器。 单片模式下,这两个口可作为通用 I/O 口。 ( 2) PE4(ECLK)—— 地址锁存引脚 ECLK 是内部总线时钟的对外输出引脚,用于地址、数据总线分离,也用作定时基准。 复位后其频率为晶振频率的一半。 在宽扩展模式下,必须用地址锁存器( 74HC574 等),生成地址信息。 ECLK 的上升沿将 PTA 口和 PTB 口的地址信息锁存到锁存器,然后释放这两个端口,使其成为数据通道。 ( 3) PE2(R/W )—— 读写信号引脚 R/W 引脚在所有模式下都可以用作 I/O,通过 E 口设置寄存器 PEAR 中的RDWE 位置位来启用该引脚的读写控制功能。 扩展模式下对扩展的存储器和 I/O电路进行数据读 /写控制。 ( 4) PE3(LSTRB )—— 片选信号引脚 LSTRB 在所有模式下都可以用作 I/O,通过 E 口设置寄存器 PEAR 中的RDWE 位置位来启用该引脚的写控制功能。 该引脚可以用作选通控制访问规范字 时地址 A0 和 LSTRB 分别作用高位和低位数据单元的片选信号。 在特殊扩展模式下,该引脚也用作 TAGLO ,并与 LSTRB 分时占用引脚。 ( 5) PK7(ECS )—— 片内程序存储器选择引脚 扩展方式下,该引脚用作仿真片选信号输出。 配置扩展方式时该引脚用来使能片上的 Flash。 ( 1) XTAL 和 EXTAL、 XFC—— 锁相环外接滤波电容端 XTAL和 EXTAL分别是晶体驱动和外部时钟输入引脚。 EXTAL既可接晶振,也可接 CMOS 兼容的时钟信号,驱动内部时钟产生电路,器件中所有时钟信号都源于该引脚输入的时钟。 XTAL 是晶体驱动输出,当 EXTAL 外接时钟时,该引脚必须悬空。 XFC 是锁相环滤波引脚。 应注意串联和并联晶振电路的构成。 ( 2) PE7(NOACC/ XCLKS )—— 外部震荡电路方式选择 当使用串行振荡电路时,该引脚要拉高;当使用并行振荡电路时,该引脚要接地。 ( 3) RESET —— 复位引脚 低有效的双向控制信号。 当作为输入时,外部的低电平用来初始化 MCU的初始状态。 如果时钟监视或 COP 看门狗电路检测到内部故障,该引脚作为开漏输出,对外指示这种状态。 MCU 进入复位是异步方式,结束复位是同步方式,这使得器件即使在时钟失效的情况下也可以进入真正的复位状态,同时又可以在复位结束后以同步方式开始运行。 一次复位是内部还是外部引起的,是可以判别的。 内部复位首先将该引脚拉低并保持 131~134 个系统时钟周期然后释放该引脚,再过 64 个系统时钟周期采样该引脚电平,如果该引脚回到了高电平, 说明复位是由 时钟监视器或 COP 看门狗电路引起的, CPU将取得时钟监视器或 COP 看门狗电路的复位向量;如果该引脚仍然是低电平,就确定为外部复位,将取得外部复位的向量。 ( 4) PE1(IRQ )—— 可屏蔽中断请求 可屏蔽外部中断输入脚,可通过程序选择(中断控制寄存器 INTCR)该引脚是否和中断逻辑相连,以及下降沿或电平触发方式。 复位后, IRQ 默认为电平触发方式,同时在条件码寄存器 IRQ 中中断被屏蔽。 可以通过 软件清零或置位CCR 寄存器中的 1 位来使能或禁止所有可屏蔽的中断,当然也包括 IRQ 中断。 ( 5) PE0( XIRQ )—— 不可屏蔽中断请求 该不可屏蔽外部中断引脚提供了一种复位初始化后申请非屏蔽中断的手段。 在复位阶段, CCR 寄存器中的 X 位和 I 位被置 1, 在 MCU通过软件允许以前,任何中断都被屏蔽。 系统初始化后,可以通过软件清零 X 位,从而使能该中断。 X 位一旦清零,就不能再通过软件方式将该位置 1 了。 该中断申请经常用于系统掉电、硬件故障等场合。 ( 6) BKGD—— 背景调试引脚 采用自定义协议,通过 BDM 调试工具进行单线双向通信,进行实时在线调试。 /输出部分 MCU 片上集成了十余个 I/O 接口,其中有通用并行 I/O 口(一般每口 8 个外部引脚)以及 SCI、 PWM、 ADC、 I2C、 CAN 等专用子系统。 复位后所有 I/O引脚默认设置为通用的 I/O 输入,当专用子系统激活后,自动变更为专用功能。 MC9S12 输入输出口包括 PTA、 PTB、 PTE、 PTH、 PTJ、 PTS、 PTP、 PTK、 AD0、AD1 等。 ( 1) A、 B 口 在扩展方式下为地址数据分时复用总线, 但在芯片模式下为通用 I/O。 输入可选内部上拉,输出具有降功率驱动功能。 ( 2) E 口 用于总线控制和中断请求,余下其他引脚可作通用 I/O。 输入可选内部上拉,输出具有降功率驱动功能。 ( 3) AD 口 ATD 子系统输入或通用输入引脚。 复位后默认为通用 I/O 输入引脚并且只能做输入。 ATD 模块使能后,用作模拟输入。 ( 4) K 口 扩展方式下外部总线的扩展地址线、仿真片选输出或通用 I/O。 复位后为通用 I/O 引脚。 输入可选内部上拉,输出具有降功率驱动功能。 ( 5) T 口 I/O 与增强型捕捉定时器共享引脚。 复位后为通用 I/O 引脚 ,定时器功能使能后,用作输入捕捉或输出比较或脉冲累加输入。 输入可选内部上拉,输出具有降功率驱动功能。 ( 6) P 口 SPI、脉宽调制输出、 I/O 中断或通用 I/O。 复位后为通用 I/O 引脚,要使用某种特殊功能,可以通过置位 相应功能寄存器的使能位来实现。 ( 7) S 口 SCI、 SPI 或通用 I/O。 复位后为通用 I/O 引脚。 SCI 或 SPI 使能后,对应引脚的通用 I/O 关闭。 ( 8) M 口 I/O 与 CAN、 BDLC 共享。 复位后位通用 I/O 引脚。 CAN 或 BDLC 使能后,对应引脚的通用 I/O 关闭。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。