Infineon DAVE代码自动生成软件操作指南(8 bit MCU 部分)
注意。声明:由于本公司人力有限,发生错误在所难免,一切以Infineon公司提供的相关IC datasheet等资料为准,欢迎
大家指正相关错误。
目录
前言.........................................................................................................................................................................................................1
1 Project Settings:工程设置 .........................................................................................................................................................2
2 T0/T1:定时器 0/1 ..............................................................................................................................................................................5
3 UART:串行通信接口.........................................................................................................................................................................11
4 Interrupt Unit:中断管理单元 ..........................................................................................................................................................17
5 UART1:串行通信接口 1 ...................................................................................................................................................................23
6 T2:定时器 T2 ..................................................................................................................................................................................29
7 T21:定时器 T21 ..............................................................................................................................................................................34
8 ADC:模数转换单元 .........................................................................................................................................................................40
9 CCU6:捕获比较单元 6...................................................................................................................................................................55
10 Multi CAN........................................................................................................................................................................................74
11 SSC:高速串行接口 .......................................................................................................................................................................90
12 Watch Dog Timer:看门狗定时器..................................................................................................................................................97
13 Power Saving Mode:省电模式....................................................................................................................................................100
14 Port:设置 I/O 口属性 .....................................................................................................................................................................104
前言
Infineon DAVE是Infineon MCU一个非常好的Infineon MCU软件设计助手,它可以在设计者对Infineon MCU的寄存器了
解不是很深入的情况下,编写出准确的软件驱动代码。比如说CCU6的驱动等。
DAVE软件的安装。
请参考相关屏幕录象
MCU驱动的安装
请参考相关的屏幕录象
打开后的主界面如图0-1:
工具条如图0-2
从左向右分别主要为。
1. 相关资料关联控件
2. 新建项目
3. 打开项目
4. 保存
5. 生成代码
图0-1
图0-2
1
1 Project Settings:工程设置
概述:
XC800 MCU的总体设置。该窗口主要是用来设置MCU的总体参数。打开菜单的方法:File -> Project Settings
1.1 General:总体
设置界面如图1-1
Controller Details:控制器详细
Device:在该菜单中选择器件。选择好后会在右边显示出该MCU的一些主要参数,主要是最高频率,Flash的大小等
图1-1
Main Source File:主源文件
File name:主源文件名。默认为 MAIN.C。 用户可以修改
Main Header File:主头文件
File name:主头文件名。默认为 MAIN.H。用户可以修改
Compiler Settings:编译器设置
选择编译器:
Keil:Keil 公司编译器 适用8 bit,16 bit MCU。
Tasking:Tasking 公司编译器 适用16 bit,32 bit MCU。
SDCC:Infineon公司自己的编译器,目前还没有完成,不可选。
Enable Startup File Generation:是否生成启动文件。选种则生成启动文件
Memory Mode:存储器模式:
Small:小端(默认)8 bit 一般的情况下采用此种模式
Large:大端
COMPACT:紧密型
1.2 System Clock:系统时钟
2
设置界面如图1-2
图1-2
Clock Source Control:时钟源控制
Prescalar Mode (VCO Bypass):VCO旁路。fSYS=fOSC /(P * K)。
PLL Mode:PLL模式:fSYS=fOSC *N /(P * K)。在该模式下VCO旁路和PLL旁路均必须无效。
Clock Source Select:时钟源选择
OnChip OSC:选择片内集成的晶振 XC866
10MHz
XC886、XC888 9.60MHz
External OSC:选择片外晶振,并在下面输入外接晶振数值
Clock System:始终系统
fSYS=fOSC * N / (P * K) : 在PLL模式下选择N的值
System Frequency fSYS:最后系统时钟的值。自动计算所得
Clock Output Control:时钟输出控制
Use Pin P0.0 as CLKOUT:选择P0.0作为CLKOUT引脚
Use Pin P0.7 as CLKOUT:选择P0.7作为CLKOUT引脚
CLKOUT=fOSC:输出时钟频率等于fOSC,由COCON.COUTS位控制。
CLKOUT is Selected by COREL and TLEN bits Clock Divider (COCON.COREL):
输出时钟频率由COCON.CORELd的只进行分频。由TLEN控制翻转使能。
Enable Toggle Latch (COCON.TLEN):
翻转锁存被使能。时钟输出频率为位域COREL所选择频率的1/2,占空比为50%。
CLKOUT (MHz)。进行锁存翻转后的频率输出
Clock Managerment:时钟管理,主要是些外设时钟的管理。
3
Clock divider (CMCON.CLKREL):选择外设时钟的分频参数
PCLK,SCLK,CCLK (MHz): 根据分频参数自动计算所得的外设时钟。
PCLK:外设时钟,SCLK:CPU时钟,CCLK:Flash:接口时钟
FCLK (MHz):根据分频参数自动计算所得。
PCLK:CCU6单元时钟
1.3 Global Settings:全局设置
设置界面入图1-3
图1-3
Global Interrupt Enable:全局中断使能
Enable global interrupt (IENO.EA):使能总中断
Interrupt Structure 2 Mode Select:中断结构2模式选择
中断结构2适用于NMI,此时不需要控制位EA,“中断节点使能位”由所有NMICON位的逻辑或(OR)取代。因此当IMODE=1
时,NMI 节点不可被屏蔽;当IMODE=0 时,清零所有NMICON位,NMI 挂起中断请求可被清零。
若IMODE=1,只有将节点上被使能中断的状态标志全部清零,才能间接清零挂起的中断请求。若IMODE=0,只有当中断
节点使能位被清零,才能间接清零挂起的中断请求。
中断结构2 适用于定时器T2、定时器T21、UART1、LIN、外部中断2 到6、ADC、SSC、CCU6、Flash、MDU、CORDIC 和MultiCAN
中断源。该结构中,中断状态标志不会直接驱动挂起的中断请求。另外还要通过寄存器SYSCON0 中的附加控制位IMODE 来选
择处理中断事件的模式(有两种模式供选择)。
IMODE=0:选择中断结构2模式0
IMODE=1:选择中断结构2模式1
Interrupt Service Routine Type Select:中断服务程序类型选择
CHOICE1 Doesn’t Disable IENO.EA bit for Mapped ISRs, Non Mapped ISRs are generated with push-pop:
不禁止IEN0.EA,中断服务程序自动产生返回指针。
CHOICE2 Disable IENO.EA bit for Mapped ISRs, Non Mapped ISRs are generated without push-pop:
不禁止IEN0.EA,中断服务程序不产生返回指针。
4
Shared Interrupt Message Box Enable:使能分享中断信息信箱
Enable shared interrupt message box: 使能分享中断信息信箱
1.4 Notes:
是编程者自己的一些记述文件
2 T0/T1:定时器0/1
概述:
XC800的定时/计数器 0/1和标准51的定时/计数器 0/1的区别不大,是标准的。工作模式等基本上也是一样。不同的在
于XC800 MCU的指令周期为2个clock,所以在计算其定时周期和计数最小采样时钟周期的时候加以注意就可以了。
上海市虹漕路 461 号 60#楼 4 楼
021-54263188
5
2.1 Timer0:定时器0参数设置
设置界面如图2-1:
图2-1
Timer Module (TMOD.T0M):选择Timer0的工作模式
Module 0:8-bit timer (TH0) with a divide-by-32 prescaler (TL0):
模式0:13位定时器。该定时器是一个有32预分频的8位计数器。包括此工作模式仅仅是为了和Intel的8048兼容。
Module 1:16-bit timer (TH0/Tl0):
模式1:16位定时器。定时寄存器TL0和TH0级联构成一个16位计数器。
Module 2:8-bit timer (TL0) with 8-bit auto reload (TH0):
模式2:具有自动重载功能的8位定时器。定时寄存器TL0溢出时,TH0中用户定义的8位数据自动重载入TL0。
Module 3:8-bit timer (TL0) and second 8-bit timer(TH0):
模式3:定时器0作为2个8位定时器工作。定时寄存器TL0和TH0作为2个分开的8位定时器工作。即使定时器1被使能,他仍停
止计数,保持原计数值。
Timer Register:定时/计数寄存器
TL0: 定时/计数低位寄存器
TH0: 定时/计数高位寄存器
Timer overflow:定时器溢出时间。该参数为自动计算所得。
计算公式:Tout=(0xFFFF-(TH0,TL0))*2/SCLK us
Timer Options
Enable Counter Operation on:使能计数操作
Pin P4.4 (T0_0):作为计数器时。P4.4为计数信号输入脚
Pin P1.1 (T0_1):作为计数器时。P1.1为计数信号输入脚
6