英飞凌xc866学习手册.ppt

上传人:rrsccc 文档编号:9578738 上传时间:2021-03-08 格式:PPT 页数:73 大小:1.09MB
返回 下载 相关 举报
英飞凌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兼容内核 具有片内振荡器和锁相环产生时钟 具有片内看门狗WDT 8通道 10位AD转换器 具有PWM产生的捕获比较单元CCU6 支持片上调试(JTAG)和在线编程ISP 3个定时器,256字节RAM,4KB FLASH+16K ROM,512字节XRAM 两个DPTR 双

2、数据指针 支持多种省电模式,XC866单片机结构,XC866单片机引脚,多功能引脚举例,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 外部标志输出,XC866的存储器结构,8K 启动(boot)ROM 地址:C00H-E000

3、H 256字节片内RAM,07FH使用直接寻址,80FFH使用寄存器间接寻址 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,扩展操作寄存器 复位值: 00H DPSEL 数据指针选择 0 选择DPTR0 1 选择DPTR1 TRAP_EN TRAP 使能位 0 选择MOVC(DPTR+),A 1 选择软件TRAP 指令

5、,扩展的SFR,由于XC866功能强大,128个字节的SFR不够用,特作了映射和分页处理 对地址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 第二功能选择寄存器0 PX_ALTSEL1 第二功能选择寄存器1 PX_D

6、ATA 端口数据寄存器 其中PX的X为端口编号,寄存器都是8位,每位对应一个引脚 回忆:51单片机没有这些寄存器准双向口,端口控制寄存器介绍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使能,端口控

7、制寄存器介绍3,PX_ALTSEL0 第二功能选择寄存器0 PX_ALTSEL1 第二功能选择寄存器1 两个8位,对应位的两个寄存器组成2位控制代码,其意义如下: GPIO通用输入输出,P109-p141,I2C总线和SPI总线,I2C总线和SPI总线同属于“位同步”的串行接口,但又有一些不同点: 51的串口方式0(回忆) I2C总线的数据信号需要:起始、停止和ACK信号,要求对方作应答 SPI总线:两条串行数据线,一条时钟线。数据线分输出和输入。对多个外部芯片,还需要片选CS。,I2C总线介绍,I2C总线是PHILIPS公司提出的“片间总线”的英文缩写 典型应用在串行E2PROM存储芯片的读

8、写中。 常见型号有24CXX,24LCXX,94CXX等,这里XX表示容量,单位1KBIT。例如24C02表示容量2KBIT256字节 这类芯片有8个引脚,除2个电源,三个地址,一个备用外,剩余两个引脚就是I2C的SDA和SCK。 器件的3个地址由电路链接设定(接GND或者接VCC),可以确定8个器件的不同地址。 这类存储芯片常用于掉电需保存的数据存储,例如彩电频道信息,产品特性信息等。,I2C总线电路链接,I2C总线使用2条通讯线路:SDATA和SCLK。SDATA为双向串行数据线,SCLK为同步时钟,通常由单片机发出。 器件自身地址3个引脚用“接地/接电源”方式确定,各器件应当设计为不同地

9、址。(最多8个器件,地址:07),单片机,器件 1,器件 n,SDATA,SCLK,。 。,I2C 总线基本时序,(A)总线空闲,当SCL和SDA都为高电平时 (B)START 数据开始传输,当SCL为高时,SDA变低。 (C) STOP 数据停止传输,当SCL为高时,SDA由低变高。 (D)数据有效,当SCL高电平期间,SDA为一个稳定电平。即:先发出SDA数据,然后在SCL线上产生一个正方波。,I2C总线E2PROM常见封装,A0A2 芯片地址,链接VCC/GND确定,访问命令中应包含此芯片的地址。 SDA 双向串行数据线 SCL 同步时钟线 VSS=GND PIN 7 一些芯片定义为“写

10、保护WP”,设为低电平时不能对芯片写入。 常见型号:24CXX,94CXX,其中XX为容量(K位),例如XX=02,容量2048/8256字节,图中XX=65,容量为8KB,I2C 总线操作时序和控制码,容量超过256字节时,地址长度为两字节,ADDR1和ADDR0,其中ADDR1为高地址,ADDR0为低地址;在控制码、ACK后,送ADDR1、ACK、ADDR0、ACK,然后是数据。 字节写:一次一字节。 页写:前面部分同“字节写”,一次可连写8字节 控制码前4位为标志,其后3位为器件地址,最末位为1则读,为0则写。,XC866实验四:ZLG7290显示和键盘扫描,ZLG7290和HD7279

11、/7289等芯片是专用于LED数码管显示和键盘扫描的专用芯片,单片机可以通过I2C总线与其相连实现显示控制和键盘扫描。单片机对芯片用约定的命令对其进行初始化,然后把显示数据送入芯片内部的显示寄存器,就能在数码管上看到显示结果。 芯片自动扫描键盘和刷新显示。一旦有键按下会发出中断申请。 SDA 串行数据,输入 SCL 串行移位时钟,输入 INT 中断申请输出(有键按下),低电平 RST (低电平)复位输入 SA;SB;SC.SG;DP 数码管8个笔划。KR0;KR1KR7键盘阵列”行”。SA/KR0;SB/KR1.分时使用 DIG0/CK0;DIG1/CK1;.8个数码管选择和8列键盘扫描共用信

12、号,模拟I2C总线要点,编写几个子程序,分别完成和产生:START;STOP;ACK;NOACK以及写数(发送)读数(接收)功能,然后按照芯片规定的时序依次调用它们。 例如随机读:START、发控制字(写命令)、ACK、写ADDR1、ACK、写ADDR0、ACK、发START、发控制字(读命令)、读数、STOP 前面8051部分已经举例说明过模拟方式写数和收数程序,这里再举例START和STOP,产生START和STOP,(1)起始位 送出起始位,若SDA和SCL不全高,起始位发送失败,返回C=1,发送成功则返回C=0。 START: SETB SDA SETB SCL JNB SDA,RET

13、ERR JNB SCL,RETERR NOP CLR SDA NOP5 CLR SCL CLR C JMP RETST RETERR:SETB C RETST: RET,(1)停止位 STOP:CLR SDA NOP NOP SETB SCL NOP NOP NOP NOP NOP SETB SDA RET,写数举例同时判读ACK,返回时如果C=0则发送成功,(3)写数 数据存在ACC中,程序返回为C=ACK SEND:PUSH B MOV B,#8;8位数 SENDLP:RLC A MOV SDA,C NOP SETB SCL NOP4 CLR SCL DJNZ B,SENDLP;判8位完否

14、 SETB SDA,;以下读取ACK NOP NOP SETB SCL NOP4 MOV C,SDA CLR SCL POP B RET,SPI总线结构,SPI总线使用三条信号线,除SCLK外,两条串行数据线MISO和SIMO。字母M为“主”,字母S为“从”,I入O出。 SPI总线:主方(MAST)和从方(SLAV)都有各自的“移位寄存器”,并且串连在同一条电路上,主方发出的移位时钟同时移动两个“移位寄存器”,主方的数据发向从方,同时也将从方数据读回。 可以并联多个从机,主/从机可以用软件设定,SCLK只能由主机发出。 SPI数据顺序是高位(MSB)先发/先收。(注:与8051串口方式0相反)

15、,常见的SPI多机通讯,英飞凌8位单片机XC866的SSC,XC866具有高速同步串行通道SSC,可与SPI兼容,也可与8051串口方式0兼容。 波特率可独立编程:它具有专用的,具有重装载功能的16位波特率发生器。 数据宽规定为28位“字符” 可先发送LSB(与8051串口方式0兼容),也可先发送MSB(与SPI兼容) 可在时钟的上升沿或者下降沿对数据进行移位 可产生移位时钟或者接收移位时钟 名称有所不同:MOSI=MTSR, MISO=MRST,XC866的SSC双工方式,XC866没有SS从机选择引脚。可以增加这个选择信号,也可以用特殊命令进行选择。 被选中的从机才可以使能MRST,否则大

16、家都输出移位寄存器中的数据会导致。 所有从机CLK引脚应当设置成输入方式。,时钟极性和数据顺序,CON寄存器的PO和PH位决定时钟极性。如图所示。 CON寄存器的HB位决定先发送LSB或者MSB, HB=0 先发送/接收LSB HB=1先发送/接收MSB,引脚信号,MRST 主机接收(串行数据)(MOSI) MTSR 主机发送(串行数据)(MISO) SCLK 双向,主机发送的移位时钟,作为从机时为输入,SSC组成框图,SSC的部分相关寄存器介绍,CON SSC控制寄存器,16位,分别是:CONH和CONL 根据CON中的CONH.EN设定,可为: CONH.EN0 编程模式,实现控制功能 C

17、ONH.EN1 工作模式,状态标志,控制寄存器CONH编程模式介绍EN=0,TEN =1允许发送出错中断 REN =1允许接收出错中断 PEN =1允许相位出错中断 BEN =1允许波特率出错中断 AREN =1波特率出错时SSC被自动复位 MS =1主机模式,MS=0从机模式 EN =0 禁止发送和接收,编程模式 O 保留,控制寄存器CONL介绍,BM 数据宽度选择,通常设为0111 HB HB=0,先送LSB;HB=1,先送MSB PH PH=0,时钟前沿移出发送数据,后沿锁存接收数据。PH=1,前沿锁存接收数据,后沿移出发送数据 PO 时钟极性控制, PO=0 低电平空闲,上升沿为前沿,

18、PO=1高电平空闲,下降沿为前沿,控制寄存器CONH状态模式介绍EN=1,TE =0发送未出错 RE =0接收未出错 PE =0相位未出错 BE =0波特率未出错 BSY 传输过程中1 MS =0 从模式 EN =1 工作,SSC波特率设定,SSC通道具有专用16位重载功能的波特率发生器。 重载寄存器BR存放分频值,定时器对此值进行递减计数,发生下溢时,定时器被此值重装。 计数器时钟源fpclk/2进行分频 当作为主机,发送数据的同时需要接收从机数据时,波特率应当设置为不超过最高波特率的一半。,主模式fsclkfpclk/2 从模式fsclkfpclk/2,SSC 其它设定,中断控制等,本课程

19、略,数模转换器(DA)工作原理,DA转换器芯片,DA转换器主要组成部分是电阻网络和相应的模拟开关阵列。 模拟量输出通常为电流输出,图中的运算放大器把电流输出转换成电压输出,按厂家设计的反馈电阻连接,输出电压与参考电压之间满足如下关系: Vout= - Vref X (data /(2n1)) 其中:n为数字量的位数,data为输入的数字量 有的芯片自带数据锁存器、自己提供参考电压。 芯片型号繁多,常见的有DAC0832等。,逐次逼近AD转换器原理,可以用于中断申请,逐次逼近AD转换器芯片基本信号,基本输入信号: Vref:参考电压输入 AD:AD转换器工作时钟 Vin:输入要转换的模拟电压 S

20、TART:启动转换 基本输出信号: EOC:转换结束信号,可以用于触发中断。 某些芯片自带参考电压,用电位器调节后再连接到Vref引脚。某些芯片带有采样保持功能。 ADC0809 自带8通道选择,可以输入8路模拟量。,XC866的AD转换器特性,逐次逼近 8位或者10位精度,8路模拟通道 4个独立的结果寄存器 单次转换和自动扫描功能 采样时钟可编程,时钟分频器可编程 集成的采样保持电路 数据压缩滤波 灵活的中断产生方式,中断服务节点可配置 可以关闭ADC模块,以便降低功耗,XC866的AD转换器框图,AD转换器的工作时钟,ADC模拟单元工作时钟应当小于10兆赫兹。 当不需要AD工作于最高性能时

21、,建议采用32分频(缺省值)。 预分频因子在寄存器GLOBCTR的CTC位域。,AD转换时序,转换被触发后,先作“同步”,然后对信号进行采样(保持),此后才开始转换。 转换过程结束,将转换结果存入规定的数据存储单元,并产生中断申请。,XC866降低功耗机制,基本51的电源控制寄存器可以设置: 掉电模式PCON.PD=1(关闭MCU), 节电模式PCON.IDLE=1(除部分接口外,关闭所有操作)。也叫“空闲模式” XC866增加了低速模式和关闭部分接口功能 低速模式PMCON0.SD=1,选择系统时钟频率降低功耗。 对PMCON1的低4位设置(置1)以关闭:ADC/SSC/CCU/T2的工作,

22、AD转换功能描述,带有各自独立寄存器的两个不同的转换请求源。请求源用来触发由外部事件、序列方案等引起的转换。 每个请求源的优先级可单独编程设定,从而具有高度灵活性,可覆盖期望的应用领域。 八路通道中每路的控制寄存器定义了每种模拟输入的行为(例如中断行为,结果寄存器指针,通道级别指针,等)。 输入综合控制寄存器给出总的通道控制信息(采样时间)。 四个结果寄存器(并非每路模拟输入通道对应一个结果寄存器)用来保存转换结果并控制数据压缩。 转换结果的抽取阶段,将新的转换值累加到目标结果寄存器所保存的转换结果上,从而即使CPU 低频工作,仍可快速、连续进行转换而且没有数据损失的危险。,XC866实验五

23、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 1 ADC_QMR0 = 0 x00; / ADC模式,禁止外部触发 ADC_CRMR1 = 0 x01; / ADC模式,开启请求源 SFR_PAGE(_ad0, noSST); / switch to page 0 ADC_GLOBCTR |= 0 x80; /

24、开启模拟部分 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无此功能,与T0,T1 比较,T2具有更好的性能:,它有独自的控制寄存器

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

26、2脚)产生捕获/重装事件 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,#50h mov pcon,#00h mov t2con,#30h mov t2h,#0C

27、DH mov rcap2h,#0CDH mov t2L,#0CCH mov rcap2l,#0CCH setb tr2 setb es setb ea Rcap2是T2的捕获/重装载寄存器,16位。 0CDCCH=2400波特率时间常数,T1作波特率发生器 MOV SCON,#050H MOV PCON,#000H MOV TMOD,#021H MOV TH1,#0F4H MOV TL1,#0F4H SETB TR1 SETB EA SETB ES,XC866的T2与52的T2主要差别,可以设置时钟预分频,还可以关闭时钟输入以降低功耗。 没有脉冲输出功能和波特率功能 具有外部触发使能和边沿选择

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

29、不使用“/12”) T2PRE 定时器2 预分频选择,3位 000 fT2 = fPCLK 001 fT2 = fPCLK /2 010 fT2 = fPCLK /4 011 fT2 = fPCLK /8 100 fT2 = fPCLK /16 其它值保留 DCEN 递增/递减计数器使能,XC866 T2主要特点:可以设置计数时钟的频率,可编程序计数器阵列PCA和捕获比较单元CCU,增强的定时器/计数器模块,或者多个模块组合,称为PCA/CCU 定时器时钟可选择:另一个定时器溢出或者固定分频器输出 可选择捕获/比较/重装/PWM输出等多种功能 多个捕获/比较/重装数据寄存器组成多路PWM输出

30、捕获/溢出/匹配均可产生中断 单独的重装载寄存器可以设定PWM的周期,模拟电路产生PWM,用固定锯齿波与输入电压作比较,比较输出就是PWM波形。 锯齿波周期通常是固定的,脉冲宽度随输入电压Vi变化。 开关电源一类电路基本属于这一类型。,用单片机定时器实现PWM,简单使用:定时器计数从0到溢出作为周期,使用比较功能,在捕获/比较寄存器中设定脉宽值。一旦定时器值等于比较寄存器值时,将输出引脚置低;定时器溢出时,输出引脚置高。 核心部件是定时器。 可以使用两个定时器,这样就可以改变周期值使之符合实际需要。,XC866的捕获比较单元CCU6,捕获/比较单元6(CCU6)中有两个独立的定时器(T12,T

31、13)、可被用来产生脉宽调制(PWM)信号,尤其适用于控制交流电机的应用场合。CCU6 也支持一些用于块切换和多相电机的专用控制模式。 定时器T12 的3 路通道可工作在捕获和/或比较模式。定时器T13 只能工作在比较模式。 多通道控制单元产生的输出序列可由T12 和/或T13 调制。调制源可选择并组合使用。,定时器T12,T13 特性:,定时器T12 特性: 3 路捕获/比较通道,每路可用作捕获或比较通道 支持产生三相PWM(6 路输出,每路信号对应上桥臂或下桥臂开关) 16 位精度,最大计数频率 = 外设时钟频率 单通道死区时间控制 ,避免功率级短路 同步刷新T12/T13 寄存器 产生中间对齐和边缘对齐PWM 定时器T13 特性: 单一比较通道,单输出 16 位精度,最大计数频率 = 外设时钟频率 可与T12 同步,XC866的CCU6结构框图,“死区”保护,由于功率器件的开通与关断具有一定的延迟,在换相时可能出现上下直通的现象,这样就会损坏功率器件 为了避免出现这种情况,需要进行“死区”控制 下图A和B输出 A=AV+/V-和W+/W-经驱动后连接到IGBT。 实时改变周期和脉宽,可以达到变频目的,以及调整输出功率,从而控制马达转速。,

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1