Freescale MC68HC11A8微控制器:功能剖析与应用指南

电子说

1.4w人已加入

描述

Freescale MC68HC11A8微控制器:功能剖析与应用指南

在嵌入式系统设计领域,微控制器(MCU)的选择至关重要,它直接影响着系统的性能、功能和成本。Freescale的MC68HC11A8作为一款先进的8位MCU,凭借其丰富的片上外设功能和低功耗特性,在众多应用场景中展现出强大的竞争力。本文将深入剖析MC68HC11A8的各项特性,为电子工程师们提供全面的设计参考。

文件下载:MC68HC11A1CFNE3.pdf

一、MC68HC11A8概述

MC68HC11A8采用HCMOS工艺制造,具有静态设计和低功耗的优势,可在3 MHz至直流的频率范围内稳定运行。它集成了多种片上外设,包括ROM、EEPROM、RAM、定时器、串行通信接口等,为开发者提供了丰富的功能选项。

1.1 硬件特性

  • 内存配置:拥有8 Kbytes的ROM、512 Bytes的EEPROM和256 Bytes的RAM,其中RAM可在待机期间保存数据,并可重新定位到任何4K边界。
  • 定时器系统:配备增强型16位定时器系统,包括四级可编程预分频器、三个输入捕获功能和五个输出比较功能,可满足各种定时和计数需求。
  • 通信接口:支持增强型NRZ串行通信接口(SCI)和串行外设接口(SPI),方便与其他设备进行数据通信。
  • A/D转换器:具备8通道、8位模拟 - 数字转换器,可实现高精度的模拟信号采集。
  • 其他特性:还集成了实时中断电路、计算机运行正常(COP)看门狗系统等,提高了系统的可靠性和稳定性。

1.2 软件特性

  • 指令集:增强型M6800/M6801指令集,支持16 x 16整数和分数除法功能,以及位操作指令,提高了编程的灵活性。
  • 低功耗模式:提供WAIT和STOP两种软件控制的低功耗模式,可有效降低系统功耗。

二、信号描述与操作模式

2.1 信号引脚描述

  • 电源引脚:(V{DD})为正电源输入,(V{SS})为接地引脚。由于MC68HC11A8是CMOS设备,其引脚存在快速信号转换,因此需要在MCU处提供良好的电源旁路电容,以确保电源稳定。
  • 复位引脚:RESET为低电平有效双向控制信号,用于将MC68HC11A8初始化为已知的启动状态,同时也可作为开漏输出,指示时钟监视器或COP看门狗电路检测到内部故障。
  • 晶体驱动和外部时钟输入引脚:XTAL和EXTAL提供晶体或CMOS兼容时钟接口,用于控制内部时钟发生器电路。输入频率应为所需E时钟速率的四倍。
  • E时钟输出引脚:E为内部生成的E时钟输出,可作为定时参考。其频率为XTAL和EXTAL引脚输入频率的四分之一。
  • 中断请求引脚:IRQ为异步中断请求输入,可通过OPTION寄存器选择负边沿触发或电平触发方式。
  • 非屏蔽中断引脚:XIRQ为非屏蔽中断输入,在复位初始化后可请求非屏蔽中断。
  • 模式选择引脚:MODA/LIR和MODB/(V{STBY})用于在复位时选择四种操作模式之一,同时LIR可作为开漏输出,指示指令开始;(V{STBY})用于提供RAM待机电源。
  • A/D转换器参考电压引脚:(V{RL})和(V{RH})为模拟 - 数字转换器提供参考电压。
  • strobe和读写控制引脚:STRB/R/W和STRA/AS根据操作模式的不同,分别作为选通信号或总线控制信号。
  • 端口信号引脚:端口A、B、C、D和E具有多种功能,可根据操作模式和控制寄存器的数据进行配置。

2.2 操作模式

  • 单芯片操作模式:MC68HC11A8作为独立的微控制器运行,无需外部地址或数据总线。端口B、C、选通A和选通B作为通用I/O和握手信号。
  • 扩展复用操作模式:MC68HC11A8可访问64 Kbyte的地址空间,包括片上内存和外部外设及内存设备。扩展总线由端口B和C以及控制信号AS和R/W组成。
  • 特殊引导操作模式:通过SCI端口将256字节的程序加载到片上RAM中,并在加载完成后自动执行该程序。在此模式下,中断向量指向RAM,方便用户使用中断。
  • 特殊测试操作模式:主要用于工厂测试,与扩展复用操作模式类似,但复位和中断向量从外部内存位置(BFC0 - BFFF)获取。

三、片上内存

3.1 内存映射

MC68HC11A8的内存映射包括ROM、RAM和EEPROM,不同操作模式下的内存布局有所不同。

  • 单芯片操作模式:不生成外部地址,内部ROM始终启用。
  • 扩展复用操作模式:内存位置基本与单芯片操作模式相同,但EXT区域用于外部寻址的内存和I/O。
  • 特殊引导操作模式:与单芯片操作模式类似,但在(BF40 - BFFF)位置启用引导程序,复位和中断向量位于该区域。
  • 特殊测试操作模式:与扩展复用操作模式相同,但复位和中断向量位于外部内存位置(BFC0 - BFFF)。

3.2 RAM和I/O映射寄存器(INIT)

INIT寄存器用于在初始化期间重新定位RAM和64个控制寄存器的位置,可在复位后的前64个E时钟周期内写入一次,之后变为只读寄存器。

3.3 ROM

内部8K ROM位于内存映射的最高8K位置((E000 - FFFF)),可通过CONFIG寄存器中的ROMON位禁用。此外,还有一个192字节的引导ROM,用于特殊引导操作模式。

3.4 RAM

256字节的内部RAM可通过INIT寄存器重新定位,默认位置为(0000 - 00FF)。在WAIT和STOP模式下,RAM内容可保持不变,也可通过(MODB / V_{STBY})引脚提供备用电源来保存数据。

3.5 EEPROM

512字节的EEPROM位于(B600 - B7FF),读写周期时间与内部ROM相同。其编程和擦除由PPROG寄存器控制,可通过CONFIG寄存器中的EEON位禁用。

四、并行I/O

MC68HC11A8具有40个I/O引脚,分为五个8位端口。这些引脚根据操作模式和控制寄存器的数据具有多种功能。

4.1 通用I/O(端口C和D)

端口C和D作为通用输入/输出引脚,由各自的数据方向寄存器控制。当输出线被读取时,返回引脚驱动器输入的值;当配置为输入时,引脚变为高阻抗输入。

4.2 固定方向I/O(端口A、B和E)

端口A、B和E(除端口A的第7位外)具有固定的数据方向。端口A的部分引脚可用于定时器功能,也可作为通用I/O;端口B在单芯片操作模式下为通用输出端口,在扩展复用操作模式下为高地址信号输出;端口E可作为通用数字输入或A/D输入通道。

4.3 简单选通I/O

通过并行I/O控制寄存器(PIOC)选择简单选通模式,端口C作为选通输入端口,端口B作为选通输出端口。

4.4 全握手I/O

全握手模式涉及端口C和选通信号STRA和STRB,分为输入和输出两种模式,还支持端口C的三态操作。

4.5 并行I/O控制寄存器(PIOC)

PIOC寄存器用于控制并行握手I/O功能,仅在单芯片操作模式下可用。通过设置不同的位,可以实现不同的握手操作。

五、串行通信接口(SCI)

SCI是一个全双工异步串行通信接口,支持标准NRZ格式和多种波特率。

5.1 概述和特性

  • 两线系统特性:采用标准NRZ格式,具有先进的错误检测方法,支持全双工操作,可软件编程选择32种不同的波特率和字长。
  • 接收器特性:具备唤醒功能、空闲线检测、帧错误检测、噪声检测和溢出检测等功能。
  • 发送器特性:提供发送数据寄存器空标志、发送完成标志和发送中断功能。

5.2 数据格式

采用非归零(NRZ)数据格式,包括一个起始位、8或9个数据位和一个停止位。

5.3 唤醒特性

接收器唤醒功能可降低SCI服务开销,可通过SCCR1寄存器中的WAKE控制位选择空闲线唤醒或地址标记唤醒方式。

5.4 接收数据

接收数据通过输入线和串行通信接口传输到内部总线,接收器电路以16倍波特率的时钟对输入进行采样。

5.5 起始位检测

当检测到RxD输入为低电平时,进行三次采样以验证起始位。如果至少两次采样检测到逻辑零,则认为检测到有效起始位。

5.6 发送数据

发送数据从内部总线通过串行通信接口传输到输出线,发送器使用RT时钟的派生时钟生成位时间。

5.7 功能描述

SCI由多个寄存器控制,包括SCDR、SCCR1、SCCR2、SCSR和BAUD。数据传输通过写入SCDR寄存器启动,接收数据通过读取SCDR寄存器获取。

六、串行外设接口(SPI)

SPI是一个同步接口,允许多个SPI微控制器或SPI类型的外设相互连接。

6.1 概述和特性

  • 全双工、三线同步传输:支持主从操作,主设备的最大位频率为1.5 MHz,从设备的最大位频率为3 MHz。
  • 可编程特性:具有四个可编程的主位速率,可选择时钟极性和相位,提供传输完成中断标志和写冲突标志保护。

6.2 SPI信号描述

  • MISO:主设备中为输入,从设备中为输出,用于传输串行数据。
  • MOSI:主设备中为输出,从设备中为输入,用于传输串行数据。
  • SCK:用于同步数据传输,由主设备生成,从设备作为输入。
  • SS:用于选择从设备,主设备的SS引脚必须拉高,从设备的SS引脚在数据传输期间必须为低电平。

6.3 功能描述

SPI采用双缓冲读取,写入时不缓冲。主设备通过MOSI线向从设备发送数据,从设备通过MISO线向主设备返回数据。传输完成后,SPSR寄存器中的SPIF标志位被设置。

6.4 SPI寄存器

包括串行外设控制寄存器(SPCR)、串行外设状态寄存器(SPSR)和串行外设数据I/O寄存器(SPDR),用于控制、状态监测和数据存储。

七、模拟 - 数字转换器(A/D)

MC68HC11A8集成了8通道、多路复用输入、逐次逼近型A/D转换器,具有采样和保持功能,可减少快速变化输入信号引起的转换误差。

7.1 转换过程

A/D转换器采用比例转换方式,输入电压等于(V{RL})时转换为(00),等于(V{RH})时转换为(FF)。转换过程在写入A/D控制/状态寄存器(ADCTL)后的一个E时钟周期开始,每个转换需要32个MCU E时钟周期。

7.2 通道分配

通过多路复用器选择16个模拟信号之一,其中8个通道对应端口E的输入线,4个通道用于内部参考点或测试功能,4个通道保留供未来使用。

7.3 单通道操作

分为两种模式:SCAN = 0时,对选定通道进行四次连续转换;SCAN = 1时,对选定通道进行连续转换。

7.4 多通道操作

同样分为两种模式:SCAN = 0时,对选定的四个通道各进行一次转换;SCAN = 1时,对选定的四个通道进行连续转换。

7.5 停止和等待模式操作

在停止或等待模式下,如果转换序列正在进行,当前通道的转换将暂停。恢复正常操作后,该通道将重新采样并继续转换序列。

7.6 A/D控制/状态寄存器(ADCTL)

用于控制A/D转换,包括转换完成标志、连续扫描控制、多通道/单通道控制和通道选择等功能。

7.7 A/D结果寄存器

包括ADR1、ADR2、ADR3和ADR4,用于存储A/D转换结果。

7.8 A/D电源和时钟选择

通过OPTION寄存器中的ADPU位控制A/D电源,CSEL位选择A/D时钟源。当E时钟频率低于750 kHz时,建议使用内部R - C振荡器。

八、可编程定时器、实时中断和脉冲累加器

8.1 可编程定时器

定时器具有一个16位自由运行计数器,由四级预分频器驱动。输入捕获功能用于记录计数器的值,输出比较功能用于在计数器与输出比较寄存器匹配时触发输出动作。

8.2 实时中断

通过PACTL寄存器中的RTR1和RTR0位选择四种中断速率之一,RTII位启用中断功能。

8.3 脉冲累加器

脉冲累加器是一个8位读写计数器,可工作在外部事件计数或门控时间累积模式。通过PACTL寄存器控制其工作模式和相关参数。

九、复位、中断和低功耗模式

9.1 复位

MC68HC11A8具有四种复位类型:外部复位引脚、上电复位、COP看门狗定时器复位和时钟监视器复位。复位后,CPU从指定位置获取重启向量并开始执行指令。

9.2 中断

共有17个硬件中断和1个软件中断,可分为可屏蔽和不可屏蔽两类。中断优先级由硬件电路确定,可通过HPRIO寄存器将一个I位相关中断源提升到最高I位优先级。

9.3 低功耗模式

  • WAIT指令:将MCU置于低功耗模式,保持振荡器运行,可通过未屏蔽的中断或RESET退出。
  • STOP指令:将MCU置于最低功耗模式,停止所有时钟,可通过RESET、XIRQ或未屏蔽的IRQ退出。

十、CPU、寻址模式和指令集

10.1 CPU寄存器

包括累加器A和B、索引寄存器X和Y、堆栈指针SP、程序计数器PC和条件代码寄存器CCR。这些寄存器用于存储操作数、地址和指令执行结果。

10.2 寻址模式

支持立即寻址、直接寻址、扩展寻址、索引寻址、固有寻址和相对寻址六种寻址模式,部分指令需要预字节来扩展操作码映射。

10.3 指令集

MC68HC11A8的CPU可执行所有M6800和M6801指令,并新增91个操作码。主要功能包括16位索引寄存器、16 x 16除法指令、STOP和WAIT指令以及位操作指令。

总结

Freescale的MC68HC11A8微控制器以其丰富的片上外设功能、低功耗特性和灵活的编程选项,为电子工程师提供了一个强大的开发平台。在实际应用中,工程师们可以根据具体需求选择合适的操作模式和功能,充分发挥MC68HC11A8的优势,设计出高效、稳定的嵌入式系统。同时,通过合理配置寄存器和使用相应的开发工具,能够进一步提高开发效率和系统性能。希望本文对电子工程师们在使用MC68HC11A8进行设计时有所帮助。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分