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

[导读] XC866是新型8位微控制器系列(XC800)的第一代系列产品,集成高性能8051核、片内FLASH及功能强大的外设集。此外,XC800系列产品内部集成的片 内振荡器和支持3.3V或5.0V单电源供电的嵌入式电压调节器(EVR)进一步增强了产品性能并有效地节省了系统成本。

关键词:XC8668位MCU英飞凌

  往期系列文章推荐:

  全球主流8位MCU芯片详细解剖No.1:飞思卡尔 MC9S08AC60

  简介

  XC866是 新型8位微控制器系列(XC800)的第一代系列产品,集成高性能8051核、片内FLASH及功能强大的外设集。此外,XC800系列产品内部集成的片 内振荡器和支持3.3V或5.0V单电源供电的嵌入式电压调节器(EVR)进一步增强了产品性能并有效地节省了系统成本。XC866除了提供片内 FLASH的产品外,同时推出同系列兼容ROM 产品,为大批量生产提供了进一步节省成本的空间。

  单片机结构图

  引脚图

  多功能引脚举例

  -P0.0 引脚12

  TCK_0 JTAG 时钟输入

  T12HR_1 CCU6 定时器12 硬件运行输入

  CC61_1 捕获/比较通道1 输入/输出

  CLKOUT 时钟输出

  RXDO_1 UART 发送数据输出

  -P0.1 引脚14

  TDI_0 JTAG 串行数据输入

  T13HR_1 CCU6 定时器13 硬件运行输入

  RXD_1 UART 接收数据输入

  COUT61_1 捕获/比较通道1 输出

  EXF2_1 定时器2 外部标志输出

  模块分析

  存储器结构

  -8K 启动(boot)ROM 地址:C00H-E000H

  -256字节片内RAM,0~7FH使用直接寻址,80~FFH使用

  (1)寄存器间接寻址

  -128字节SFR 地址80~FFH,使用直接寻址

  -512字节XRAM 地址F000~F200,使用MOVX访问。当使用R0,R1作地址寄存器时,其XRAM地址的高位地址由寄存器XADDRH 中的值定义。

  -8K/16K 程序存储器,起始地址0000

  -特殊的EO寄存器操作,允许切换DPTR以及对程序ROM

  -写操作(指令:MOVC @(DPTR++),A)实现软件更新

  (2)基本端口结构图

  (3)端口相关寄存器

  - PX_PUDSEL 上拉/下拉选择寄存器

  -PX_PUDEN 上拉/下拉使能寄存器

  -PX_OD 漏极开路控制寄存器

  - PX_DIR 方向寄存器(P2口只能作为输入)

  - PX_ALTSEL0 第二功能选择寄存器0

  -PX_ALTSEL1 第二功能选择寄存器1

  - PX_DATA 端口数据寄存器

  其中PX的X为端口编号,寄存器都是8位,每位对应一个引脚

  I2C总线和SPI总线

  I2C总线和SPI总线同属于“位同步”的串行接口,但又有一些不同点:

  nn I2C总线的数据信号需要:起始、停止和ACK信号,要求对方作应答

  I2C总线电路链接

  SPI总线:两条串行数据线,一条时钟线。数据线分输出和输入。对多个部芯片,还需要片选CS。

  SPI总线结构

  XC866的SSC

  XC866具有高速同步串行通道SSC,可与SPI兼容,也可与8051串口方式0兼容;

  -波特率可独立编程:它具有专用的,具有重装载功能的16位波特率发生器;

  -数据宽规定为2~8位“字符”;

  -可先发送LSB(与8051串口方式0兼容),也可先发送MSB(与SPI兼容);

  -可在时钟的上升沿或者下降沿对数据进行移位;

  -可产生移位时钟或者接收移位时钟;

  -名称有所不同:MOSI=MTSR, MISO=MRST ;

  SSC组成框图

  数模转换器(DA)

  工作原理

  DA转换器芯片

  DA转换器主要组成部分是电阻网络和相应的模拟开关阵列。

    模拟量输出通常为电流输出,图中的运算放大器把电流输出转换成电压输出,按厂家设计的反馈电阻连接,输出电压与参考电压之间满足如下关系:

  Vout= - Vref X (data /(2n-1))

  其中:n为数字量的位数,data为输入的数字量有的芯片自带数据锁存器、自己提供参考电压。芯片型号繁多,常见的有DAC0832等。

  AD转换器

  -逐次逼近

  -8位或者10位精度,8路模拟通道

  -4个独立的结果寄存器

  -单次转换和自动扫描功能

  -采样时钟可编程,时钟分频器可编程

  -集成的采样保持电路

  -数据压缩滤波

  -灵活的中断产生方式,中断服务节点可配置

  -可以关闭ADC模块,以便降低功耗

  XC866的AD转换器框图

  AD转换初始化解说

  AD转换器初始化程序:

  -SFR_PAGE(_ad0, noSST); // switch to page 0

  -ADC_GLOBCTR = 0x70; // f32,8位宽度

  -ADC_PRAR = 0x94; // 设定仲裁方式和优先

  - SFR_PAGE(_ad1, noSST); // switch to page 1

  -ADC_QMR0 = 0x00; // ADC模式,禁止外部触发

  -ADC_CRMR1 = 0x01; // ADC模式,开启请求源

  -SFR_PAGE(_ad0, noSST); // switch to page 0

  -ADC_GLOBCTR |= 0x80; // 开启模拟部分

  - XC866的ADC使用SFR的7个页面,每个页面占用地址CAH~CFH和D2H,D3H。随页不同具有不同的内容,用D1H作为分页寄存器,确定使用那个页。GLOBCTR和PRAR在0页,QMR0和CRMR1在6页。

  可编程序计数器阵列PCA和捕获比较单元CCU

  增强的定时器/计数器模块,或者多个模块组合,称为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只能被ulink的ocds信号控制,所以需要人工的加低电平,并且烧完程序后,程序是不能运行。

  XC86相关资料下载

  1、基于XC866的步进电机阀门控制系统

  2、基于XC866的PWM直流无刷电机的正弦波控制

  3、XC866系列微控制器设计的电动自行车控制器技术

时间: 2024-08-26 21:48:12

全球主流8位MCU芯片详细解剖No.2:英飞凌 XC866 - 全文的相关文章

全球最低功耗蓝牙单芯片DA14580的硬件架构和低功耗

号称全球最低功耗蓝牙单芯片DA14580在可穿戴市场.健康医疗.ibeacon定位等市场得到广泛的应用,但是因为其较为封闭的技术/资料支持导致开发人员有较高的技术门槛,网络上也极少看到有关DA14580的开发技术分享,因此一般企业和一般技术团队都不敢贸然采用该平台,但一旦精通该芯片平台的开发,即可在蓝牙方案应用开发中获得较大的技术优势. 作者在集成电路领域有较为深厚的积累,在DA14580平台也有丰富的开发经验,接下来将以一个系列文章对DA14580的硬件架构和软件体系进行分析.如需技术咨询,请

揭开全球第一颗SDN交换芯片的神秘面纱

编者按:全球第一颗SDN交换芯片一直被一层神秘的面纱包围着,小编近日采访了一下盛科网络的张卫峰张总,为您揭开全球第一颗SDN交换芯片神秘的面纱,以下是采访内容. SDN是一个很泛泛的概念,它可以有很多不同的实现方式,而OpenFlow技术是发展最早的,最广为人知的,并且唯一标准化的SDN实现.但是由于一直没有针对OpenFlow的网络交换芯片问世,所有做OpenFlow交换机的设备商都做得很郁闷,用现有的传统交换芯片做出来的OpenFlow交换机,限制都太多,甚至业内有人说,SDN之所以落地缓慢

4月第4周业务风控关注 | 网络犯罪经济每年1.5万亿美元产出 GDP居全球第12位

易盾业务风控周报每周呈报值得关注的安全技术和事件,包括但不限于内容安全.移动安全.业务安全和网络安全,帮助企业提高警惕,规避这些似小实大.影响业务健康发展的安全风险. 1.网络犯罪经济每年1.5万亿美元产出 GDP居全球第12位 根据一项关于网络犯罪利润的最新研究报告显示,威胁行为者产生.洗钱.支出以及再投资的非法资金已经超过了1.5万亿美元. 在美国旧金山举办的RSA2018大会上,安全专家指出,如果把网络犯罪比作一个国家,那么所创造的国内生产总值(GDP)将超过俄罗斯位于世界第12位.根据一

全球最低功耗蓝牙单芯片DA14580的软件体系 -层次架构和BLE消息事件处理过程

在作者之前发表的<全球最低功耗蓝牙单芯片DA14580的系统架构和应用开发框架分析>.<全球最低功耗蓝牙单芯片DA14580的硬件架构和低功耗>.<全球最低功耗蓝牙单芯片DA14580的软件体系-RW内核和消息处理机制>三篇文章分析了DA14580的SDK开发目录结构.硬件架构.低功耗.RW内核和消息处理机制.本篇文章将深入到具体的源码去分析DA14580平台的软件层次架构和具体的BLE消息处理过程,以此佐证前面发表的文章. 一.软件层次架构 1.1 BLE协议栈 从中

全球最低功耗蓝牙单芯片DA14580的软件体系 -RW内核和消息处理机制

上一篇文章<蓝牙单芯片DA14580的硬件架构和低功耗>阐述了DA14580的硬件架构和低功耗的工作原理.本文文章阐述该平台的软件体系,并着重分析消息事件的处理机制. 一.DA14580SOC硬件组成和软件体系组成 DA14580芯片硬件架构包括三个部分: 1)使用ARM公司的cortex M0作为CPUprocessor处理器. 2)使用RivieraWaves公司的IP核作为BLEcore和基带.射频部分. 3)集成时钟管理CMU.电源管理PMU.memory控制存储和其他外围模块控制器,

一个8位MCU学习(基于PIC16F72X)

首先,这个8位MCU的指令集是基于PIC16,不过省去了SLEEP.因此,可以使用MPLAB来实现编译,通过软硬件协同测试来进行验证. 这是一个基于嵌入式的指令集,相对于传统的取址,译码,执行,访存和写回的五级流水操作,只有取址,译码,执行和写回这四步.它主要的指令格式有三种,分别是针对字节的文件寄存器操作,针对位的文件寄存器操作以及立即数和控制操作,其中,指令一共有35条(包含NOP,CLRWDT,SLEEP).下图是指令的通用格式: 大部分指令可以在一个指令周期内完成,除非条件测试指令或指令

IIs、Nginx、Apache三大主流web服务器伪静态的详细设置过程

此文章里面的内容就包含了IIs.Nginx.Apache三大主流web服务器伪静态详细的设置. 文章地址http://blog.51cto.com/lccee/2068828 原文地址:http://blog.51cto.com/lccee/2084437

qml实现对SSL的支持(使用msys2,同时支持32和64位)超详细 good

首先准备环境.两种方法,使用mingw64 或者VS 直接放上下载地址https://sourceforge.net/projects/msys2/我下载的是msys2-x86_64-20161025 ,同时支持32和64位里面有三个EXE   msys2  mingw64  mingw32  3个程序完全独立各自使用各自的gcc 再也不用麻烦的切换了.进入msys2  这时可以运行  pacman   使用说明地址https://wiki.archlinux.org/index.php/pac

Win8-64位安装OpenSSL详细过程

相关软件: 1.ActivePerl 5.22.1 : http://www.activestate.com/activeperl/downloads 2.Microsoft visual_studio_2010_professional:http://pan.baidu.com/s/1o6SsDn0 3.OpenSSL(openssl-1.0.2g):http://www.openssl.org/source/ 安装过程: 1.安装ActivePerl软件 安装ActivePerl软件只需要一