英飞凌xc866学习手册.ppt

上传人:小飞机 文档编号:5827129 上传时间:2023-08-24 格式:PPT 页数:73 大小:966.50KB
返回 下载 相关 举报
英飞凌xc866学习手册.ppt_第1页
第1页 / 共73页
英飞凌xc866学习手册.ppt_第2页
第2页 / 共73页
英飞凌xc866学习手册.ppt_第3页
第3页 / 共73页
英飞凌xc866学习手册.ppt_第4页
第4页 / 共73页
英飞凌xc866学习手册.ppt_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《英飞凌xc866学习手册.ppt》由会员分享,可在线阅读,更多相关《英飞凌xc866学习手册.ppt(73页珍藏版)》请在三一办公上搜索。

1、英飞凌8位单片机增强内核的51单片机XC866,(自动化学院单片机原理课程补充内容)康戈文 07年编写,主要包含以下内容:,XC866单片机体系结构并行接口的配置(基本端口操作)I2C 总线,SPI 总线AD 转换器定时器2及定时器中捕获比较单元及PWM输出。根据课时进行选择讲解,XC866 单片机特点,与8051兼容内核具有片内振荡器和锁相环产生时钟具有片内看门狗WDT8通道 10位AD转换器具有PWM产生的捕获比较单元CCU6支持片上调试(JTAG)和在线编程ISP3个定时器,256字节RAM,4KB FLASH+16K ROM,512字节XRAM两个DPTR 双数据指针支持多种省电模式,

2、XC866单片机结构,XC866单片机引脚,多功能引脚举例,P0.0 引脚12TCK_0 JTAG 时钟输入T12HR_1 CCU6 定时器12 硬件运行输入CC61_1 捕获/比较通道1 输入/输出CLKOUT 时钟输出RXDO_1 UART 发送数据输出P0.1 引脚14TDI_0 JTAG 串行数据输入T13HR_1 CCU6 定时器13 硬件运行输入RXD_1 UART 接收数据输入COUT61_1 捕获/比较通道1 输出EXF2_1 定时器2 外部标志输出,XC866的存储器结构,8K 启动(boot)ROM 地址:C00H-E000H256字节片内RAM,07FH使用直接寻址,80

3、FFH使用寄存器间接寻址128字节SFR 地址80FFH,使用直接寻址512字节XRAM 地址F000F200,使用MOVX访问。当使用R0,R1作地址寄存器时,其XRAM地址的高位地址由寄存器XADDRH 中的值定义。8K/16K 程序存储器,起始地址0000特殊的EO寄存器操作,允许切换DPTR以及对程序ROM写操作(指令:MOVC(DPTR+),A)实现软件更新,扩展操作寄存器(EO),指令集还包括一条指令MOVC(DPTR+),A,允许对程序存储器写操作。初始化CPU 时用该指令将代码下载到程序存储器中,也用该指令进行软件更新该指令将累加器中的内容复制到当前数据指针指向的程序存储器地址

4、中,接着数据指针加1。该指令的操作码为A5H,和软件断点指令TRAP 的操作码相同(见表 2-1)。位EO.TRAP_EN 用来选择A5B 操作码执行的指令。当TRAP_EN 为0(缺省值)时,A5H执行MOVC 指令;当TRAP_EN 为1 时,A5H 执行软件断点指令TRAP,该指令将CPU 切换至调试模式执行断点操作。,EO,扩展操作寄存器 复位值:00HDPSEL 数据指针选择0 选择DPTR01 选择DPTR1TRAP_EN TRAP 使能位0 选择MOVC(DPTR+),A1 选择软件TRAP 指令,扩展的SFR,由于XC866功能强大,128个字节的SFR不够用,特作了映射和分页

5、处理对地址8FH的SYSCON0寄存器位0(RMAP)写1可以访问映射区的SFR映射后的SFR还不够用,再采用分页进行管理:对MOD_PAGE寄存器的低3位(PAGE)进行设置,可以访问需要的SFR页。,资料p51-p59,基本端口结构,端口相关寄存器,PX_PUDSEL 上拉/下拉选择寄存器PX_PUDEN 上拉/下拉使能寄存器PX_OD 漏极开路控制寄存器PX_DIR 方向寄存器(P2口只能作为输入)PX_ALTSEL0 第二功能选择寄存器0PX_ALTSEL1 第二功能选择寄存器1PX_DATA 端口数据寄存器其中PX的X为端口编号,寄存器都是8位,每位对应一个引脚回忆:51单片机没有这

6、些寄存器准双向口,端口控制寄存器介绍1,PX_DATA 端口数据寄存器8位,作为输出时,存放输出的端口数据,作为输入时,可以读到端口引脚的锁存值。PX_DIR 方向寄存器8位,双向口时,0输入,1输出单项输入口时(P2口),0禁止输入驱动,1输入驱动使能,端口控制寄存器介绍2,PX_OD 漏极开路控制寄存器8位,0正常模式,1开漏输出模式PX_PUDSEL 上拉/下拉选择寄存器8位,0下拉,1上拉PX_PUDEN 上拉/下拉使能寄存器8位,0禁止上拉或者下拉,1使能,端口控制寄存器介绍3,PX_ALTSEL0 第二功能选择寄存器0PX_ALTSEL1 第二功能选择寄存器1两个8位,对应位的两个

7、寄存器组成2位控制代码,其意义如下:GPIO通用输入输出,P109-p141,I2C总线和SPI总线,I2C总线和SPI总线同属于“位同步”的串行接口,但又有一些不同点:51的串口方式0(回忆)I2C总线的数据信号需要:起始、停止和ACK信号,要求对方作应答SPI总线:两条串行数据线,一条时钟线。数据线分输出和输入。对多个外部芯片,还需要片选CS。,I2C总线介绍,I2C总线是PHILIPS公司提出的“片间总线”的英文缩写典型应用在串行E2PROM存储芯片的读写中。常见型号有24CXX,24LCXX,94CXX等,这里XX表示容量,单位1KBIT。例如24C02表示容量2KBIT256字节这类

8、芯片有8个引脚,除2个电源,三个地址,一个备用外,剩余两个引脚就是I2C的SDA和SCK。器件的3个地址由电路链接设定(接GND或者接VCC),可以确定8个器件的不同地址。这类存储芯片常用于掉电需保存的数据存储,例如彩电频道信息,产品特性信息等。,I2C总线电路链接,I2C总线使用2条通讯线路:SDATA和SCLK。SDATA为双向串行数据线,SCLK为同步时钟,通常由单片机发出。器件自身地址3个引脚用“接地/接电源”方式确定,各器件应当设计为不同地址。(最多8个器件,地址:07),单片机,器件 1,器件 n,SDATA,SCLK,。,I2C 总线基本时序,(A)总线空闲,当SCL和SDA都为

9、高电平时(B)START 数据开始传输,当SCL为高时,SDA变低。(C)STOP 数据停止传输,当SCL为高时,SDA由低变高。(D)数据有效,当SCL高电平期间,SDA为一个稳定电平。即:先发出SDA数据,然后在SCL线上产生一个正方波。,I2C总线E2PROM常见封装,A0A2 芯片地址,链接VCC/GND确定,访问命令中应包含此芯片的地址。SDA 双向串行数据线SCL 同步时钟线VSS=GNDPIN 7 一些芯片定义为“写保护WP”,设为低电平时不能对芯片写入。常见型号:24CXX,94CXX,其中XX为容量(K位),例如XX=02,容量2048/8256字节,图中XX=65,容量为8

10、KB,I2C 总线操作时序和控制码,容量超过256字节时,地址长度为两字节,ADDR1和ADDR0,其中ADDR1为高地址,ADDR0为低地址;在控制码、ACK后,送ADDR1、ACK、ADDR0、ACK,然后是数据。字节写:一次一字节。页写:前面部分同“字节写”,一次可连写8字节控制码前4位为标志,其后3位为器件地址,最末位为1则读,为0则写。,XC866实验四:ZLG7290显示和键盘扫描,ZLG7290和HD7279/7289等芯片是专用于LED数码管显示和键盘扫描的专用芯片,单片机可以通过I2C总线与其相连实现显示控制和键盘扫描。单片机对芯片用约定的命令对其进行初始化,然后把显示数据送

11、入芯片内部的显示寄存器,就能在数码管上看到显示结果。芯片自动扫描键盘和刷新显示。一旦有键按下会发出中断申请。SDA 串行数据,输入SCL 串行移位时钟,输入INT 中断申请输出(有键按下),低电平RST(低电平)复位输入SA;SB;SC.SG;DP 数码管8个笔划。KR0;KR1KR7键盘阵列”行”。SA/KR0;SB/KR1.分时使用DIG0/CK0;DIG1/CK1;.8个数码管选择和8列键盘扫描共用信号,模拟I2C总线要点,编写几个子程序,分别完成和产生:START;STOP;ACK;NOACK以及写数(发送)读数(接收)功能,然后按照芯片规定的时序依次调用它们。例如随机读:START、

12、发控制字(写命令)、ACK、写ADDR1、ACK、写ADDR0、ACK、发START、发控制字(读命令)、读数、STOP前面8051部分已经举例说明过模拟方式写数和收数程序,这里再举例START和STOP,产生START和STOP,(1)起始位送出起始位,若SDA和SCL不全高,起始位发送失败,返回C=1,发送成功则返回C=0。START:SETB SDASETB SCLJNB SDA,RETERRJNB SCL,RETERRNOPCLR SDANOP5CLR SCLCLR CJMP RETSTRETERR:SETB CRETST:RET,(1)停止位STOP:CLR SDANOPNOPSET

13、B SCLNOPNOPNOPNOPNOPSETB SDARET,写数举例同时判读ACK,返回时如果C=0则发送成功,(3)写数数据存在ACC中,程序返回为C=ACKSEND:PUSH BMOV B,#8;8位数SENDLP:RLC AMOV SDA,CNOPSETB SCLNOP4CLR SCLDJNZ B,SENDLP;判8位完否SETB SDA,;以下读取ACKNOPNOPSETB SCLNOP4MOV C,SDACLR SCLPOP BRET,SPI总线结构,SPI总线使用三条信号线,除SCLK外,两条串行数据线MISO和SIMO。字母M为“主”,字母S为“从”,I入O出。SPI总线:主

14、方(MAST)和从方(SLAV)都有各自的“移位寄存器”,并且串连在同一条电路上,主方发出的移位时钟同时移动两个“移位寄存器”,主方的数据发向从方,同时也将从方数据读回。可以并联多个从机,主/从机可以用软件设定,SCLK只能由主机发出。SPI数据顺序是高位(MSB)先发/先收。(注:与8051串口方式0相反),常见的SPI多机通讯,英飞凌8位单片机XC866的SSC,XC866具有高速同步串行通道SSC,可与SPI兼容,也可与8051串口方式0兼容。波特率可独立编程:它具有专用的,具有重装载功能的16位波特率发生器。数据宽规定为28位“字符”可先发送LSB(与8051串口方式0兼容),也可先发

15、送MSB(与SPI兼容)可在时钟的上升沿或者下降沿对数据进行移位可产生移位时钟或者接收移位时钟名称有所不同:MOSI=MTSR,MISO=MRST,XC866的SSC双工方式,XC866没有SS从机选择引脚。可以增加这个选择信号,也可以用特殊命令进行选择。被选中的从机才可以使能MRST,否则大家都输出移位寄存器中的数据会导致。所有从机CLK引脚应当设置成输入方式。,时钟极性和数据顺序,CON寄存器的PO和PH位决定时钟极性。如图所示。CON寄存器的HB位决定先发送LSB或者MSB,HB=0 先发送/接收LSBHB=1先发送/接收MSB,引脚信号,MRST 主机接收(串行数据)(MOSI)MTS

16、R 主机发送(串行数据)(MISO)SCLK 双向,主机发送的移位时钟,作为从机时为输入,SSC组成框图,SSC的部分相关寄存器介绍,CON SSC控制寄存器,16位,分别是:CONH和CONL根据CON中的CONH.EN设定,可为:CONH.EN0 编程模式,实现控制功能CONH.EN1 工作模式,状态标志,控制寄存器CONH编程模式介绍EN=0,TEN=1允许发送出错中断REN=1允许接收出错中断PEN=1允许相位出错中断BEN=1允许波特率出错中断AREN=1波特率出错时SSC被自动复位MS=1主机模式,MS=0从机模式EN=0 禁止发送和接收,编程模式O 保留,控制寄存器CONL介绍,

17、BM 数据宽度选择,通常设为0111HB HB=0,先送LSB;HB=1,先送MSBPH PH=0,时钟前沿移出发送数据,后沿锁存接收数据。PH=1,前沿锁存接收数据,后沿移出发送数据PO 时钟极性控制,PO=0 低电平空闲,上升沿为前沿,PO=1高电平空闲,下降沿为前沿,控制寄存器CONH状态模式介绍EN=1,TE=0发送未出错RE=0接收未出错PE=0相位未出错BE=0波特率未出错BSY 传输过程中1MS=0 从模式EN=1 工作,SSC波特率设定,SSC通道具有专用16位重载功能的波特率发生器。重载寄存器BR存放分频值,定时器对此值进行递减计数,发生下溢时,定时器被此值重装。计数器时钟源

18、fpclk/2进行分频当作为主机,发送数据的同时需要接收从机数据时,波特率应当设置为不超过最高波特率的一半。,主模式fsclkfpclk/2 从模式fsclkfpclk/2,SSC 其它设定,中断控制等,本课程略,数模转换器(DA)工作原理,DA转换器芯片,DA转换器主要组成部分是电阻网络和相应的模拟开关阵列。模拟量输出通常为电流输出,图中的运算放大器把电流输出转换成电压输出,按厂家设计的反馈电阻连接,输出电压与参考电压之间满足如下关系:Vout=-Vref X(data/(2n1))其中:n为数字量的位数,data为输入的数字量有的芯片自带数据锁存器、自己提供参考电压。芯片型号繁多,常见的有

19、DAC0832等。,逐次逼近AD转换器原理,可以用于中断申请,逐次逼近AD转换器芯片基本信号,基本输入信号:Vref:参考电压输入AD:AD转换器工作时钟Vin:输入要转换的模拟电压START:启动转换基本输出信号:EOC:转换结束信号,可以用于触发中断。某些芯片自带参考电压,用电位器调节后再连接到Vref引脚。某些芯片带有采样保持功能。ADC0809 自带8通道选择,可以输入8路模拟量。,XC866的AD转换器特性,逐次逼近8位或者10位精度,8路模拟通道4个独立的结果寄存器单次转换和自动扫描功能采样时钟可编程,时钟分频器可编程集成的采样保持电路数据压缩滤波灵活的中断产生方式,中断服务节点可

20、配置可以关闭ADC模块,以便降低功耗,XC866的AD转换器框图,AD转换器的工作时钟,ADC模拟单元工作时钟应当小于10兆赫兹。当不需要AD工作于最高性能时,建议采用32分频(缺省值)。预分频因子在寄存器GLOBCTR的CTC位域。,AD转换时序,转换被触发后,先作“同步”,然后对信号进行采样(保持),此后才开始转换。转换过程结束,将转换结果存入规定的数据存储单元,并产生中断申请。,XC866降低功耗机制,基本51的电源控制寄存器可以设置:掉电模式PCON.PD=1(关闭MCU),节电模式PCON.IDLE=1(除部分接口外,关闭所有操作)。也叫“空闲模式”XC866增加了低速模式和关闭部分

21、接口功能低速模式PMCON0.SD=1,选择系统时钟频率降低功耗。对PMCON1的低4位设置(置1)以关闭:ADC/SSC/CCU/T2的工作,AD转换功能描述,带有各自独立寄存器的两个不同的转换请求源。请求源用来触发由外部事件、序列方案等引起的转换。每个请求源的优先级可单独编程设定,从而具有高度灵活性,可覆盖期望的应用领域。八路通道中每路的控制寄存器定义了每种模拟输入的行为(例如中断行为,结果寄存器指针,通道级别指针,等)。输入综合控制寄存器给出总的通道控制信息(采样时间)。四个结果寄存器(并非每路模拟输入通道对应一个结果寄存器)用来保存转换结果并控制数据压缩。转换结果的抽取阶段,将新的转换

22、值累加到目标结果寄存器所保存的转换结果上,从而即使CPU 低频工作,仍可快速、连续进行转换而且没有数据损失的危险。,XC866实验五 AD转换初始化解说,AD转换器初始化程序:SFR_PAGE(_ad0,noSST);/switch to page 0 ADC_GLOBCTR=0 x70;/f32,8位宽度ADC_PRAR=0 x94;/设定仲裁方式和优先 SFR_PAGE(_ad1,noSST);/switch to page 1ADC_QMR0=0 x00;/ADC模式,禁止外部触发ADC_CRMR1=0 x01;/ADC模式,开启请求源SFR_PAGE(_ad0,noSST);/swit

23、ch to page 0 ADC_GLOBCTR|=0 x80;/开启模拟部分XC866的ADC使用SFR的7个页面,每个页面占用地址CAHCFH和D2H,D3H。随页不同具有不同的内容,用D1H作为分页寄存器,确定使用那个页。GLOBCTR和PRAR在0页,QMR0和CRMR1在6页。,AD转换器其它设置:略,XC866的AD转换器功能很强,因此设置也比较复杂,本课程限于学时,不作进一步讲解,同学一旦需要时,可以自己参看PDF的电子文档。,一般52单片机定时器T2简介1,捕获模式,重装载模式,一般52单片机定时器T2简介2,波特率模式,脉冲输出模式,脉冲输出,波特率,2分频,一般52无此功能

24、,与T0,T1 比较,T2具有更好的性能:,它有独自的控制寄存器T2CON和T2MOD,以及单独的中断向量2BH和中断允许位:IE寄存器位5:ET2具有16位捕获/重装载寄存器定时器溢出时能够自动重装定时器初值,不需软件干预。能在T2EX PIN引脚变低时捕获定时器值,从而测量此引脚上的脉冲宽度值。可以设置或者外部控制:加/减计数可以作为“波特率”发生器可以通过T2EX引脚输出“溢出”脉冲,实现可编程脉冲输出,普通T2CON设置,TF2T2溢出标志EXF2=1 外部(EX2脚下降沿)触发产生捕获/重装时,产生此标志,可申请中断,软件清0RCLK=1 串口接收波特率使用T2TCLK=1 串口发送

25、波特率使用T2EXEN2=1 允许外部(EX2脚)产生捕获/重装事件TR2=1 T2启动计数C/T2=1用T2IN引脚作输入时钟,=0使用晶振/12作时钟CP/RL2=1设置为捕获模式,=0设置为重装模式,增加的T2MOD解释,T2MOD 基本上属于增加的寄存器,各厂家定义差别较大,此处以philip的P80C32为例解释。T2OE=1,允许T2EX脚作为输出。DCEN=1,T2作“减”计数。T2扩展引脚:P1.0=T2IN;P1.1=T2EX,用T1和T2作波特率发生器设置举例 波特率=2400,T2作波特率发生器mov scon,#50hmov pcon,#00hmov t2con,#30

26、hmov t2h,#0CDHmov rcap2h,#0CDHmov t2L,#0CCHmov rcap2l,#0CCHsetb tr2setb essetb eaRcap2是T2的捕获/重装载寄存器,16位。0CDCCH=2400波特率时间常数,T1作波特率发生器MOV SCON,#050HMOV PCON,#000HMOV TMOD,#021HMOV TH1,#0F4HMOV TL1,#0F4HSETB TR1SETB EASETB ES,XC866的T2与52的T2主要差别,可以设置时钟预分频,还可以关闭时钟输入以降低功耗。没有脉冲输出功能和波特率功能具有外部触发使能和边沿选择,普通T2C

27、ONXC866 T2CON,普通T2MODXC866 T2MOD,XC866 T2CON介绍,TF2 定时器2 上溢溢/下溢标志EXF2 定时器2 外部事件标志,需用软件清0EXEN2 定时器2 外部使能控制,置1允许外部触发TR2 定时器2 启动动/停止控制,置1启动定时器CP/RL2 捕获获/重载模式选择,置1为捕获模式,清0为重装载模式,T2MOD介绍,T2REGS 定时器2 外部启动边沿选择,0下降沿,1上升沿T2RHEN 定时器2 外部启动使能,0禁止外部启动EDGESEL 捕获模式/重载模式的边沿选择,0下降沿有效PREN 预分频使能,1使用逾分频(不使用“/12”)T2PRE 定

28、时器2 预分频选择,3位000 fT2=fPCLK001 fT2=fPCLK/2010 fT2=fPCLK/4011 fT2=fPCLK/8100 fT2=fPCLK/16其它值保留DCEN 递增/递减计数器使能,XC866 T2主要特点:可以设置计数时钟的频率,可编程序计数器阵列PCA和捕获比较单元CCU,增强的定时器/计数器模块,或者多个模块组合,称为PCA/CCU定时器时钟可选择:另一个定时器溢出或者固定分频器输出可选择捕获/比较/重装/PWM输出等多种功能多个捕获/比较/重装数据寄存器组成多路PWM输出捕获/溢出/匹配均可产生中断单独的重装载寄存器可以设定PWM的周期,模拟电路产生PW

29、M,用固定锯齿波与输入电压作比较,比较输出就是PWM波形。锯齿波周期通常是固定的,脉冲宽度随输入电压Vi变化。开关电源一类电路基本属于这一类型。,用单片机定时器实现PWM,简单使用:定时器计数从0到溢出作为周期,使用比较功能,在捕获/比较寄存器中设定脉宽值。一旦定时器值等于比较寄存器值时,将输出引脚置低;定时器溢出时,输出引脚置高。核心部件是定时器。可以使用两个定时器,这样就可以改变周期值使之符合实际需要。,XC866的捕获比较单元CCU6,捕获/比较单元6(CCU6)中有两个独立的定时器(T12,T13)、可被用来产生脉宽调制(PWM)信号,尤其适用于控制交流电机的应用场合。CCU6 也支持

30、一些用于块切换和多相电机的专用控制模式。定时器T12 的3 路通道可工作在捕获和/或比较模式。定时器T13 只能工作在比较模式。多通道控制单元产生的输出序列可由T12 和/或T13 调制。调制源可选择并组合使用。,定时器T12,T13 特性:,定时器T12 特性:3 路捕获/比较通道,每路可用作捕获或比较通道 支持产生三相PWM(6 路输出,每路信号对应上桥臂或下桥臂开关)16 位精度,最大计数频率=外设时钟频率 单通道死区时间控制,避免功率级短路 同步刷新T12/T13 寄存器 产生中间对齐和边缘对齐PWM定时器T13 特性:单一比较通道,单输出 16 位精度,最大计数频率=外设时钟频率 可

31、与T12 同步,XC866的CCU6结构框图,“死区”保护,由于功率器件的开通与关断具有一定的延迟,在换相时可能出现上下直通的现象,这样就会损坏功率器件为了避免出现这种情况,需要进行“死区”控制下图A和B输出A=A&A”。A”=A延时一个死区时间,PWM的中间对齐和边沿对齐,中间对齐:T12从0递增计数到给定值后再递减计数到0。其间产生2次比较匹配,每次都改变输出极性。边沿对齐:T12从0递增计数到给定值后再从头(从0)计数。这种方式只有1次匹配,因此在计数器从头开始计数时,输出极性变化一次。图中DTC为死区时间计数器,输出值DTCX_0控制死区时间。,三相马达PWM生成简单介绍,三相不同的脉

32、宽值需实时写入CCU6i的映射寄存器CCU6iSRU,V,W三相输出通过CCU6i和COUT6i引脚配对输出,极性相反各种设置:时钟选择,预分频选择,死区时间,输出脚配置,以及多种模式选择,在此略讲。,CCU6i数据寄存器,I=0,1,2存放脉冲宽度值,重装周期值,三相马达SPWM信号原理,三角波称为“载波”,正弦波称为“调制波”。A,B,C三相相位差120度,他们的SPWM波形参数表其实也是相同的,但是也是差120度。SPWM波形参数表实际就是每个三角波周期内相应的脉冲宽度,三相马达/无刷电机控制举例,单片机CCU6输出的U+/U-;V+/V-和W+/W-经驱动后连接到IGBT。实时改变周期和脉宽,可以达到变频目的,以及调整输出功率,从而控制马达转速。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号