智能汽车设计基础—微控制器.ppt_第1页
智能汽车设计基础—微控制器.ppt_第2页
智能汽车设计基础—微控制器.ppt_第3页
智能汽车设计基础—微控制器.ppt_第4页
智能汽车设计基础—微控制器.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

第5章智能汽车设计基础 微控制器 第5章智能汽车设计基础 微控制器 5 1单片机简介 随着大规模集成电路的出现及发展 将计算机的CPU RAM ROM 定时 数器和多种I O接口集成在一片芯片上 形成芯片级的计算机 因此单片机早期的含义称为单片微型计算机 SingleChipMicrocomputer 直译为单片机 又称为微控制器 Microcontroller 或嵌入式控制器 EmbeddedController 近年来 单片机结合专用集成电路 ApplicationSpecificIntegratedCircuit ASIC 和精简指令集计算机 ReducedInstructionSetComputer RISC 技术 发展为嵌入式处理器 EmbeddedProcessor 适用于数据与数值分析 信号处理 智能机器人及图像处理等高技术领域 5 2单片机系统 5 2 1单片机最小系统 所谓单片机最小系统 是指在单片机外部增加尽可能少的元件电路 组成一个让单片机可独立工作的系统 以MCS 51系列单片机为例 图5 1和图5 2所示的分别是使用单片机内部程序存储器和单片外部程序存储器组成的单片机最小系统 在图5 2中 8031的程序存储器是通过使用外部程序存储器EPROM实现的 74LS373是一种8D透明锁存器 其作用是存储单片机P0口输出的对EPROM取指令用的低8位地址 这两个最小系统的复位电路均由10 F的电容器与正电源相连 构成上电复位电路 时钟电路均采用内部振荡方式 外接一个频率为12MHz的晶体振荡器 图5 2中 从接地 我们可以得知程序存储器在单片机外部 因此 对外部程序存储器来说 单片机的取指令操作有效的 5 2 1单片机最小系统 图5 1完全使用单片机内部程序存储器的单片机最小系统 5 2 1单片机最小系统 图5 2使用单片机外部程序存储器的单片机最小系统 5 2 2单片机系统的扩展 在单片机应用系统硬件设计中 虽然单片机的最小应用系统拥有较高的性价比 但在功能很复杂的系统中 最小系统往往不能满足要求 往往需要连接各种设备 形成各种接口通道 因此 单片机系统的扩展成了单片机应用系统硬件设计中最常遇到的也是不可避免的问题 单片机系统的扩展包括数据存储器 RAM 扩展 程序存储器 ROM EPROM 扩展 输入 输出 I O 扩展 定时 计数器扩展 中断系统扩展及其他特殊功能扩展 5 2 2单片机系统的扩展 1 程序存储器扩展单片机系统扩展中 最常见的是程序存储器扩展 在扩展时需注意以下几方面的问题 1 可分配地址空间 在MCS 51系列单片机中 程序存储器可占用0000H FFFFH间64K的存储空间 虽然地址可与数据存储器或I O口重叠 但它们实际上是两个相互对立的存储空间 硬件上程序存储器通过使用PSEN而不是用RD进行控制读操作 软件上用MOVC而非MOVX执行读操作命令 2 地址译码电路 随着大规模集成电路的发展 程序存储器的容量越来越大 仅需使用一两片芯片就可满足系统对容量的要求 因此地址译码通常采用直接或用反相器产生片选信号的方式 但是 在扩充多片程序存储器时 地址译码一般采用译码器方式 以获得地址范围连续而又不相重叠的片选信号 这是因为程序机器码在存储空间中需要连续放置 因此各存储器占用的程序存储器空间必须相互连续 另外 分配给程序存储器的地址范围还必须包含单片机的启动程序 5 2 2单片机系统的扩展 3 程序存储器扩展方法 其他接口扩展芯片与程序存储器共用地址总线 数据总线和部分控制总线 其中控制总线有ALE低8位地址信号锁存控制 PSEN外部程序存储器读控制 EPROM程序存储器扩展电路如图5 3所示 图5 3 a 中系统只扩展一片EPROM 可将EPROM的片选端直接接地 图5 3 b 中的系统扩展了两片EPROM 若P2 i等于0 就选择了EPROM 1 若P2 i等于1 就选择了EPROM 2 4 常用程序存储器芯片 程序存储器芯片最常见的是Intel公司的典型系统芯片2716 2K 8 2732 4K 8 2764 8K 8 27128 16K 8 27256 32K 8 和27512 64K 8 等 近年来大容量EPROM芯片不断涌现 2764以上的大容量芯片在单片机应用系统程序存储器扩展中得到越来越广泛的使用 5 2 2单片机系统的扩展 图5 3EPROM程序存储器扩展电路 图5 3EPROM程序存储器扩展电路 5 2 2单片机系统的扩展 2 数据存储器扩展在单片机系统扩展中 最常见的数据存储器扩展是静态随机存取存储器SRAM的扩展 在扩展时应注意以下几个方面的问题 1 存储器地址空间 在MCS 51系列单片机中 任何扩展的数据存储器 I O口及外围设备的地址都不能相互重叠 但可以和程序存储器地址重叠 因为数据存储器与I O口是统一编址的 共用0000H FFFFH间的64K地址空间 2 数据存储器读写控制 数据存储器与I O口的读 写控制可以通过RD和WR指令 地址总线和数据总线则与程序存储器共用 3 数据存储器扩展方法 图5 4所示的是数据存储器扩展电路 除了在读写控制上使用不同信号和不同指令外 数据存储器扩展方法与程序存储器扩展方法是一样的 4 常用数据存储器芯片 目前常用数据存储器芯片有SRAM6116 2K 8 6264 8K 8 和62256 32K 8 等 另外 电可擦除只读存储器 E2PROM2816 2K 8 和E2PROM2864 8K 8 等也可作为数据存储器使用 5 2 2单片机系统的扩展 图5 4RAM数据存储器扩展电路 5 2 2单片机系统的扩展 3 输入 输出 I O 口扩展大部分单片机应用系统设计中都不可避免地要进行I O口扩展 因为单片机本身能提供的有限的I O口中的许多都有复用功能 当这些口被复用功能占用后 留给用户系统的I O口就不多了 在进行I O口扩展时 应注意以下几个方面的问题 1 I O口寻址空间 在MCS 51系列单片机应用系统中 扩展的I O口与数据存储器占用统一编址的64K存储空间 而与外部程序存储器空间无关 指令上扩展I O口具有与数据存储器相同的寻址方式 且地址总线 数据总线与控制总线的连线也与数据存储器相同 2 单片机提供的I O口 当单片机本身的I O口在复用功能未被使用时 这些口可当作普通的I O口使用 5 2 2单片机系统的扩展 图5 5所示的是用TTL芯片扩展的简单I O口电路 图5 5 a 中通过锁存器74LS273扩展8位并行输出口 在通过数据总线扩展输出口时 锁存器被视为一个外部RAM单元 输出控制信号为WR 使用MOVX DPTR A指令 当单片机向锁存器输出数据时 地址信号P2 7和写信号WR同时有效 使或门输出低电平接入锁存器CLK端 当WR由低变高时 锁存器CLK端的信号上升沿将数据总线上的数据锁存到输出端 完成输出操作 图5 5 b 所示为用三态门74LS245通过数据总线扩展的8位并行输入接口 三态门由P2 7和RD进行或控制 使用MOVX DPTR A指令 当单片机产生地址信号和RD信号 经或门产生低电平信号时 控制三态门打开 输入信号便可经数据总线送入单片机内部 5 2 2单片机系统的扩展 图5 5TTL芯片扩展的简单I O接口电路 5 2 2单片机系统的扩展 此外 还可以利用单片机的串行口和移位寄存器也可以实现I O口的扩展 这种I O是通过串行口把串行数据转换为并行数据 或是把并行数据转换为串行数据 此种扩展方法速度较慢 但所扩展的I O口不占用片外I O口地址 图5 6 a 所示是利用移位寄存器74LS165 并行输入串行输出 扩展的8位并行输入接口电路 单片机与74LS165的串行输出端相连的RXD作为串行输入端 与74LS165的时钟输入端相连的TXD端作为移位脉冲输出端 控制74LS165数据输出节拍 移位和置数过程通过单片机的一根I O线 如P1 0 来控制 图5 6 b 所示是利用串行输入并行输出移位寄存器74LS164扩展的8位并行输出接口电路 单片机与74LS164的数据输入端相连的RXD和TXD分别作为串行数据输出端和移位脉冲输出端 普通I O口P1 0用于清除74LS164的输出数据 5 2 2单片机系统的扩展 除了以上I O口的扩展方法外 I O接口的扩展还可以通过专用接口芯片 例如可编程的并行I O接口芯片8255 图5 7所示的就是通过8255进行I O扩展的电路 8255由并行I O端口 数据总线驱动器 读 写控制逻辑和A组 B组控制块四个逻辑结构组成 8255通过读 写控制逻辑实现全部的工作状态 在单片机应用系统中 8255的读写操作是通过单片机的地址信号线A0和A1 数据信号线D0 D7 及控制信号线WR RD CS实现的 在使用可编程接口芯片时 除要有正确的硬件 软件中应增加相应的初始化操作 这是因为 用可编程接口芯片扩展I O口可以通过软件灵活方便地选择接口的工作方式 初始化工作主要是根据应用对芯片的工作方式进行相应的设定 使各口线工作在输入或输出状态 5 2 2单片机系统的扩展 图5 6利用串行口扩展I O接口电路 5 2 2单片机系统的扩展 图5 7可编程芯片扩展I O接口电路 5 2 2单片机系统的扩展 在使用可编程接口芯片时 除要有正确的硬件 软件中应增加相应的初始化操作 这是因为 用可编程接口芯片扩展I O口可以通过软件灵活方便地选择接口的工作方式 初始化工作主要是根据应用对芯片的工作方式进行相应的设定 使各口线工作在输入或输出状态 3 常用I O口扩展芯片常用的I O口扩展的TTL芯片有三态门 74LS241 74LS244 74LS245 锁存器 74LS273 74LS273 74LS374 串行输入 并行输出移位寄存器 74LS164 74LS595 并行输入 串行输出寄存器 74LS165 74LS166 和可编程I O接口芯片 8255 8155 等 5 2 2单片机系统的扩展 4 其他外围芯片扩展在单片机应用系统中 除了程序存储器 数据存储器及I O口这些系统主要部件外 还有一些满足系统应用的十分有用的外围芯片 如中断系统 定时 计数器 键盘 显示控制器及串行通信控制器等 这些外围芯片内部大都设有与微处理器芯片的接口电路 接口电路主要由控制命令逻辑电路 状态存储器与设置电路 数据存储与缓冲电路三部分组成 用来实现单片机信号与外围芯片内部信号的转换工作 由于大部分外围芯片能与微处理器芯片直接相连 因此在单片机应用系统中扩展 接口电路比较简单 图5 8所示为外围芯片与微处理器芯片连接的典型电路 中央处理器CPU与外围芯片连接的信号主要是总线信号 包括地址信号 数据信号 读写控制信号 定时信号 中断信号和复位信号等 5 2 2单片机系统的扩展 图5 8一般外围芯片扩展电路 5 2 2单片机系统的扩展 此外 有些外围芯片 接口芯片 专门用来控制微处理器芯片与外围设备的连接 它们与外围设备连接的信号主要是输入 输出控制信号和数据信号 不同的控制方式下 接口信号的复杂程度也不同 由于中断接口与DMA接口的控制信号更为复杂 因此通常要由接口芯片提供专用控制信号才能完成数据传输 在单片机应用系统中用到的外围芯片较常见的有 可编程控制器8259 可编程直接存储器存取控制器 DMA 8237 8257 可编程CRT控制器8275 8276 MC6845 MC6847 可编程键盘 显示接口8279 可编程通信接口8250 8251 可编程定时器8253 8254 点阵式打印机控制器8295 A D和D A转换芯片等 5 3FreescaleHCS12单片机 5 3 1FreescaleHCS12单片机系列简介 FreescaleHCS12微控制器系列产品是飞思卡尔公司于2002年在68HC12微控制器的基础上升级开发出来的 它是基于16位CPU的控制器 其前身是8位的68HC11微控制器 HCS12系列产品的工作电压为5V 时钟频率最高为25MHz 该系列产品微控制器的结构及特点如下 1 HCS12的核心 16位HCS12CPU 20位ALU 指令队列 增强型索引寻址 多种外部总线接口 MEBI 模块映射控制机制 MMC 中断控制 INT 5 3 1FreescaleHCS12单片机系列简介 断点 BKP 背景调试模块 BDM 2 CRG时钟和复位发生器 锁相环 PLL 看门狗 COPWATCHDOG 实时中断 RTI 时钟监视器 CM 3 带中断功能的8位和4位端口可编程的上升沿或下降沿触发 5 3 1FreescaleHCS12单片机系列简介 4 存储器HCS12存储器有内部寄存器 RAM EEPROM和FLASH ROM 每个存储单元对应一个地址 共有64K个地址 用4位十六进制数表示 0000H FFFFH 存储器中每个存储单元可存放一个8位二进制信息 这就是存储器存储单元内的内容 不同的存储器占用不同的存储空间 5 2个8通道A D转换器HCS12内置了2个10位 8位的A D模块 ATD0和ATD1 HCS12的ATD是逐次逼近型A D转换器 它内置多路器 精度为2LSB 无需外部采样保持电路 HCS12ATD在寄存器区内共有28个寄存器 其中3个仅用于HCS12生产线的内部调试 HCS12ATD的最高转换频率约为2MHz ATD模块的特点如下 5 3 1FreescaleHCS12单片机系列简介 8位 10位精度可选择 8位数字量转换时间仅需6 s 10位数字量转换时间仅需7 s 具有采样缓冲器和放大器 可编程采样时间 数据可选择左 右对齐方式和无符号 有符号数据方式 转换结束标志和转换结束中断 外部触发控制 模拟输入的8个通道为复用方式 采用多通道扫描方式 模拟 数字输入引脚复用 可选择单次转换模式或连续转换模式 5 3 1FreescaleHCS12单片机系列简介 6 3个1Mb s的CAN总线模块 兼容CAN2 0A B 5个接收缓冲器 3个发送缓冲器 4个独立的中断通道 发送中断 接收中断 错误中断和唤醒中断 低通滤波器唤醒功能 7 增强型捕捉定时器 ECT ECT功能相当于高速的I O口 由一个16位自由运行计数器 8个16位的输入捕捉 输出比较通道 一个16位脉冲累加器以及一个16位模数递减计数器 MDC 组成 HCS12ECT有以下特点 4个具有16位缓冲寄存器的输入捕捉通道 4个8位脉冲累加器可以通过级联形成2个16位的脉冲累加器 5 3 1FreescaleHCS12单片机系列简介 1个具有4位预分频的16位递减模 数计数器 4个可选的延迟计数器用来增强输入抗干扰能力 8 8个PWM通道 每个通道的周期和占空比由程序决定 8个8通道或16个4通道 各通道独立控制 脉冲在周期内中心对称或左对齐输出 可编程时钟选择逻辑 紧急事件关断输入 可作为中断输入 5 3 1FreescaleHCS12单片机系列简介 9 串行口 2个异步串行通信接口 SCI SCI是一种采用标准的不归零数据NRZ格式的异步串行通信接口 它内置独立的波特率产生电路和SCI收发器 可以选择8或9个数据位 其中9位数据格式的第9位可由SCI控制寄存器的M位指定位奇或偶校验位 发送和接收的奇偶校验位可以选择是否由硬件生成 SCI的特点是 双线串行接口 标准NRZ格式 硬件自动生成奇偶标志 全双工操作 独立波特率产生逻辑 独立的发送器和接收器允许控制位 通信中采用中断驱动机制 具有回送方式 可以监视发送器的输出 实现通信过程的自诊断 5 3 1FreescaleHCS12单片机系列简介 2个同步串行设备接口 SPI SPI系统的时钟源是总线时钟 可以通过设置SPI波特率寄存器来选择分频系数 HCS12SPI的核心是一个8位移位寄存器 数据传输时 在时钟信号SCK的控制下 数据寄存器的数据从8位移位寄存器移出或移入 SPI数据寄存器有SPI控制寄存器1 SPICR1 和SPI控制器2 SPICR2 设置 SPI状态寄存器可以通过设置改变SPI的工作状态 当SPI系统使能时 PORTS端口的PS7 PS4四个引脚将分别为SPI的MISO MOSI SCK 引脚 SPI有三种工作模式 主机模式 从机模式和双工模式 5 3 1FreescaleHCS12单片机系列简介 10 总线 兼容总线标准 多组总线模块 11 LQFP 112和QFP 80封装选择 5V输入和带驱动能力I O 5VA D转换器输入 50MHz系统频率 单线背景调试模块 片上硬件断点 5 3 2MC9S12DG128最小系统设计 MC9S12DG128芯片是全国智能汽车竞赛组委会指定各参赛队使用的FreescaleHCS12系列中的一款芯片 本节介绍以MC9S12DG128芯片为核心的最小系统的组成 如图5 9所示 该最小系统主要包括以下几个部分 时钟电路 串口电路 BDM接口 供电电路 复位电路和调试用LED灯 各个部分的功能分别如下 1 时钟电路为单片机提供一个外接的16Hz的石英晶振 2 串口的RS 232驱动电路可实现TTL电平与RS 232之间的转换 3 BDM接口允许用户通过该接口向单片机下载和调试程序 4 供电电路主要是给单片机提供 5V的电源 5 复位电路是通过一个复位芯片给单片机一个复位信号 6 调试用LED灯和单片机的PORTB口相连 供程序调试使用 5 3 2MC9S12DG128最小系统设计 1 时钟电路时钟电路是单片机系统可靠运行的关键之一 如果时钟电路在设计上存在问题 会造成时钟电路不稳定 且时钟电路的高频噪声会引起系统的兼容性下降 会成为系统永久的隐患 这种不稳定因素带来的不可靠性会给整个系统的调试工作带来极大的困难 设计人员一般很难发现会是由于时钟电路设计不合理或辅助元器件参数有问题造成的 因此 时钟电路的设计需要引起初学者的重视 在辅助元器件参数的选择 印刷电路板的布线等方面需要给予很大程度的重视 对于初学者 在设计时钟电路时 可以首先使用有源振荡器作为外部时钟 并且振荡器的频率不必太高 积累足够的经验后再使用频率更高的晶振 若使用无源石英晶振时 也可以不使用内部锁相环倍频电路 5 3 2MC9S12DG128最小系统设计 5 3 2MC9S12DG128最小系统设计 标准的MC9S12DG128单片机的时钟电路 通过把一个16MHz的外部晶振接到单片机的外部晶振输入接口EXTAL和XTAL上 然后利用MC9S12DG128内部的压控振荡器 VCO 和锁相环 PLL 把这个频率提高到25MHz 使之作为单片机工作的内部总线时钟 值得注意的是 MC9S12DG128单片机的外时钟电路既可以使用串联振荡电路 也可以使用并联振荡电路 使用串联振荡电路时 XCLKS引脚即PE7引脚要拉低 而使用并联振荡电路或外部有源振荡器时 该引脚要拉高 因此 在最小系统的设计中 通常会设计一处跳线 方便选择外部有源振荡器还是串联振荡电路 图5 10所示是最小系统外接无源晶振的接口电路 若直接使用有源振荡器 则可以接一个16MHz的外部有源晶体振荡器 经单片机内部分频后得到一个8MHz的总线时钟 由于EXTAL的输入电压为2 5V 故有源晶体振荡器输出的时钟信号必须经分压后才可以和EXTAL连接 5 3 2MC9S12DG128最小系统设计 图5 10最小系统外接无源晶振的接口电路 5 3 2MC9S12DG128最小系统设计 对于锁相环模块 需要加上一个如图5 11所示的滤波器电路 其中 VDDPLL引脚由单片机内部提供2 5V电压 XFC端是压控振荡器 VCO 的电压控制端 通过给锁相环电路编程 以数字方式锁定VCO的控制端电 而Cs Cp和Rs的取值与晶振 REFDV寄存器和SYNR寄存器有关 需要通过计算得出 若其参数选择不当 会使得VCO的控制端电压抖动 导致系统工作不正常 图5 11锁相环滤波电路 5 3 2MC9S12DG128最小系统设计 时钟电路的振荡器一方面为单片机系统提供时钟 另一方面时钟电路又是一个很强的高频干扰源 因此 为避免对电路板上其他元件造成高频干扰 时钟电路部分的印刷电路板的设计要做得特别讲究 在设计印刷线路板的布线时 为使系统的电磁兼容性得到保证 单片机系统时钟电路和单片机电源电路印刷线路板布线必须满足以下的原则 1 时钟产生器尽量靠近用到该时钟的器件 2 尽量让时钟信号回路周围电场趋近于零 要用地线将时钟区圈起来 时钟线要尽量短 3 石英晶振的外壳要接地 4 在石英晶振的下面和对噪声特别敏感的器件下面不要布线 5 锁相环的滤波电路要尽量靠近MCU 5 3 2MC9S12DG128最小系统设计 6 单片机的每个电源端和接地端都要接一个去耦电容 去耦电容要尽量靠近MCU 对于给单片机不同电源端供电的VDD线也要遵循上述规则 如模拟电路供电端VDDA 给单片机I O模块供电端VDDX 给MCU内部电压调整器供电端VDDR等 片内的电压调整器向片内各模块输出多种不同规格的电压 如VDD1 VDD2 需要外接滤波电容时 一定不要省略 特别是时钟 锁相环电路的电源端VDDPLL 是由内部电压调整器给出的2 5V电压 因此一定要接滤波器件 A D变换用的参考电压端的供电也要经过特殊的处理才能保证A D变换的精度 5 3 2MC9S12DG128最小系统设计 2 串行口的RS 232驱动电路通过串口驱动电路中的RS 232电平转换芯片 单片机可以利用异步通信协议与PC机通信 RS 232电平转换芯片可以实现TTL电平与RS 232电平之间的转换 然后再通过9芯串行口与PC进行串口通信 3 电源电路HCS12单片机的芯片内部使用3V电压 而I O端口和外部供电电压为5V 通常需要采用滤波电路改善系统的电磁兼容性 降低系统对电源的高频干扰 4 复位电路复位电路的作用是产生一个低电压信号给MC9S12DG128的RESET端 使系统上电启动 在最小系统中 通常使用低电压复位芯片MC34064 使上电复位更加可靠 而在设计系统目标板时 也可以只用一只0 1 F的电容替代电路中的MC34064 同时 在系统目标板上通常添加一个手动复位按钮 以方便调试时使用 5 3 2MC9S12DG128最小系统设计 5 BDM接口BDM接口是连接BDM调试工具的 其中BDMIN接口是接BDM调试工具 向MC9S12单片机下载程序用的 若下载相应的BDM调试工具软件到目标板后 这块目标板就具有了BDM调试器功能 BDMOUT接口是当开发上的应用程序为BDM调试器程序时 此接口可以用做BDM调试器的输出口 如果不打算将这块目标板用做BDM调试器 可以不引出BDMOUT接口 从而有更多的I O口可供用户的应用程序使用 6 单片机并行口及驱动能力并行口模块是单片机中最简单的I O模块 其他功能模块如SCI SPI PWM CAN等在不作为相应功能模块使用时 也可以作为并行口模块使用 如果在单片机的并行口上连接一些发光二极管 LED 可用于调试时显示系统应用程序的某些状态 5 3 2MC9S1

温馨提示

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

评论

0/150

提交评论