微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 全球主流8位MCU芯片详细解剖No.2:英飞凌 XC866

全球主流8位MCU芯片详细解剖No.2:英飞凌 XC866

时间:07-26 来源:电子发烧友 点击:

称为PCA/CCU

  - 定时器时钟可选择:另一个定时器溢出或者固定分频器输出

  -可选择捕获/比较/重装/PWM输出等多种功能

  - 多个捕获/比较/重装数据寄存器组成多路PWM输出

  - 捕获/溢出/匹配均可产生中断

  - 单独的重装载寄存器可以设定PWM的周期

  XC866的捕获比较单元CCU6

  捕获/比较单元6(CCU6)中有两个独立的定时器(T12,T13)、可被用来产生脉宽调制(PWM)信号,尤其适用于控制交流电机的应用场合。CCU6 也支持一些用于块切换和多相电机的专用控制模式。

  定时器T12 的3 路通道可工作在捕获和/或比较模式。定时器T13 只能工作在比较模式。

  多通道控制单元产生的输出序列可由T12 和/或T13 调制。调制源可选择并组合使用。

  定时器T12,T13 特性:

  -定时器T12 特性:

  1. 3 路捕获/比较通道,每路可用作捕获或比较通道

  2. 支持产生三相PWM(6 路输出,每路信号对应上桥臂或下桥臂开关)

  3. 16 位精度,最大计数频率 = 外设时钟频率

  4. 单通道死区时间控制 ,避免功率级短路

  5. 同步刷新T12/T13 寄存器

  6. 产生中间对齐和边缘对齐PWM

  -定时器T13 特性:

  1. 单一比较通道,单输出

  2. 16 位精度,最大计数频率 = 外设时钟频率

  3. 可与T12 同步

  三相马达PWM生成简单介绍

  三相不同的脉宽值需实时写入CCU6i的映射寄存器CCU6iSR

  U,V,W三相输出通过CCU6i和COUT6i引脚配对输出,极性相反

  各种设置:时钟选择,预分频选择,死区时间,输出脚配置,以及多种模式选择,在此略讲。

  三相马达SPWM信号原理

  三角波称为"载波",正弦波称为"调制波"。A,B,C三相相位差120度,他们的SPWM波形参数表其实也是相同的,但是也是差120度。

  SPWM波形参数表实际就是每个三角波周期内相应的脉冲宽度

  三相马达/无刷电机控制举例

  单片机CCU6输出的U+/U-;V+/V -和W+/W-经驱动后连接到IGBT。

  实时改变周期和脉宽,可以达到变频目的,以及调整输出功率,从而控制马达转速。

  工程师们对于XC866的使用问答:

  (1)XC866 应该选择哪种IDE

  A:"Miniwigger+KEIL V3破解版

  keil for c51 v8

  infineon dave v2.1

  infineon memtool v4.01.05

  fload 下载器"

  (2)想用Proteus仿真英飞凌的XC866,可是元件库里没有,该怎么办?

  A:"由于Proteus的元件库里没有英飞凌的MCU,自己制作比较困难,如果是其他常用器件,找一个相近的替换一下。可以采用miniwager, 是英飞凌自家的仿真器,也可以用南京伟福的Multi-Infineon仿真器。 "

  (3)英飞凌XC866中SCLK时钟问题

  Q:在DAVE中SSC都已经设置好了,但在keil中编完程序进行仿真时发现SCLK始终为0,XC866不是SSC设置好就能产生时钟信号吗?

  A:"自带的SPI外设,发数据的时候才会有时钟输出。"

  (4)XC866 mbc 电平 ocds模式求助

  Q: xc866开发板。使用ulink通过ocds接口调试,书上说:如果(MBC,TMS,P0.0)= (0,1,1),将进入OCDS 模式进行程序代码的调试。首先初始化OCDS,接下来跳转到程序存储器的地址0000H 处,执行Flash 或ROM存储器中的用户代码,开始进行调试。在OCDS 模式下,内部数据存储器的低64 字节(地址00H- 3FH)可选择映射为64 字节的监控RAM或内部数据RAM。

  为什么用ulink调试时,mbc引脚为始终高电平啊,跟书上说的不一样啊。用万用表看的,难道是mbc瞬间置低电平后进入ocds模式,然后又置高。

  用xc800_fload烧写程序时,必须将mbc引脚专门给接到地,要不不能烧写。

  A1:"(MBC,TMS,P0.0)= (0,1,1) 指的是芯片复位后这些脚的电平,xc866在复位后会自动检测这三个脚的电平决定芯片进入下载模式、JTAG模式,还是运行程序。对于你的问题

  1。  OCDS模式:你的理解可能是对的,因为MBC, TMS, P0.0都会连到Ulink, 所以我猜实际流程是这样的,Ulink先将MBC, TMS, P0.0设置为0,1,1. 然后复位芯片(Ulink 拉低Reset),释放复位芯片,这时候芯片就进入 OCDS模式了。

  2。 如果MBC = 0. TMS = 0,则芯片复位后进入BSL 模式,进行串口下载(通过FLoad)"

  A2:也就说,在ulink连接下,keil软件界面点击debug按钮后,ulink首先让芯片复位,然后设定MBC, TMS, P0.0为(0,1,1)让芯片进入ocds模式。进入模式后,则MBC, TMS, P0.0的设定则恢复的正常模式。这样的话,比如在断点调试时,人为的按下reset键后,芯片可以进入正常运行模式,程序在正常运行,而不是又进入ocds模式。

而fload模式,从电路上看,mbc只能被ulin

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top