Component - ILO Trim V1.0 - Component Datasheet (Chinese).pdf

PSoC® Creator™ 组件数据手册
ILO Trim
1.0
特性
 PSoC 3 和 PSoC 5LP 设置 ILO 为 1 kHz 和 100 kHz
 PSoC 3 和 PSoC 5LP 支持 ILO 调整功能
 UDB 和固定功能模式
 用户指定参考时钟
概述
ILO Trim 组件可让您的应用确定 ILO 的精度。它提供一个标度函数,应用可使用其补偿此误差。
对于 PSoC 3 和 PSoC 5LP 组件,它还可以通过使用用户定义的更高频、更高精度的参考时钟计
算 ILO 时钟周期数来直接提高 ILO 的精度。然后使用衍生的信息调整 ILO 裁剪寄存器,以递增方
式接近期望的 ILO 频率。该组件同时支持 UDB 和固定函数实现。
trim100k[3:0]
Trim
DAC
coarseTrim[2:0]
Bias
trim1k[3:0]
Trim
DAC
100 kHz
LSO
100 kHz
Divide by
3
1 kHz
LSO
33 kHz
1 kHz
对 PSoC 3 和 PSoC 5LP 而言,ILO 由两个低速振荡器 (LSO) 组成:100 kHz 和 1 kHz。这两个
振荡器用于生成以下 ILO 时钟频率:1 kHz、33 kHz 或 100 kHz。出厂调整后,在整个电压和温
度工作范围内,1 kHz LSO 的精度为 -50% 至 100%,100 kHz LSO 的精度为 -55% 至 100%。
在运行时调整运算期间,使用 ILO Trim 寄存器调整 DAC 和偏置时钟。对 PSoC 4 而言,ILO 为
32 kHz 低频时钟 (LFCLK)。不支持针对 PSoC 4 进行调整,但是,用户可以使用标度函数获取可
在其应用中使用的补偿信息。
注: ILO Trim 组件的性能特征并非完全适用于 PSoC 3 和 PSoC 5LP 组件。因此,该组件在
PSoC 3 和 PSoC 5LP 设计原图上作为“原型”显示。
Cypress Semiconductor Corporation • 198 Champion Court • San Jose, CA 95134-1709 • 408-943-2600
Document Number: 001-87241 Rev. *A
April 11, 2016
ILO Trim
PSoC® Creator™ 组件数据手册
何时使用 ILO Trim
ILO Trim 组件用于实现更高精度的 ILO 时钟。该组件的一个用途是用于调整 ILO,以在睡眠模式
时用作时钟。这种情况下,更精确的 ILO 可实现更精确的时序。该组件函数还可用于获取误差补
偿信息,这些信息可在用户应用(如看门狗定时器)中使用。
输入/输出连接
本节介绍了 ILO Trim 组件的输入和输出连接。
ref_clk
此输入信号是在 ILO 计数期间用作时序参考的时钟信号。
组件参数
将 ILO Trim 组件拖动到设计中,双击它以打开 Configure(配置)对话框。
一般选项卡
General(一般)选项卡用于设置该组件的一般运算参数。它包含以下参数:这些设置均为编译时
选择项,用户在运行时无需更改这些设置。
Page 2 of 12
Document Number: 001-87241 Rev. *A
PSoC® Creator™ 组件数据手册
ILO Trim
实现
此参数用于指定实现 ILO Trim 组件所使用的硬件类型。可以是固定函数或 UDB。
时钟信息



参考时钟额定频率:显示该参考时钟频率(以 kHz 为单位)。
ILO 时钟额定频率:显示该目标 ILO 频率(以 kHz 为单位)。
比率:显示参考时钟与 ILO 时钟的比率。然后可使用其将参考时钟调整为可接受值。
注:如果此比率在支持范围以外,那么将会出现信息泡,帮助用户选择正确的参考时钟。
时钟选择
ILO Trim 组件含有嵌入式 ILO 时钟。此时钟可通过在设计范围资源管理器中修改 ILO 时钟值进行
配置。该组件还需要连接外部时钟源以拥有外部参考时钟。此时钟必须在参考时钟与 ILO 时钟比
率的有效范围内。
应用程序编程接口
应用程序编程接口 (API) 子程序允许您使用软件配置组件。下表列出了每个函数的接口,并进行了
说明。以下各节将更详细地介绍每个函数。
默认情况下,PSoC Creator 将实例名称“ILO_Trim_1”分配给提供的设计中的第一个组件实例。您
可以将该实例重命名为符合标识符语法规则的任意唯一值。实例名称会成为每个全局函数名称、
变量和常量符号的前缀。为便于阅读,下表中使用了实例名称“ILO_Trim”。
功能
说明
ILO_Trim_Start()
初始化和启动该组件。
ILO_Trim_Stop()
停止该组件。
ILO_Trim_BeginTrimming()
开始实现 ILO 调整算法。
ILO_Trim_StopTrimming()
禁用调整算法。
ILO_Trim_CheckStatus()
返回 ILO 和调整算法的当前状态。
ILO_Trim_CheckError()
计算 ILO 频率误差(千分率)。
ILO_Trim_Compensate()
将所需额定时钟周期数转换成基于当前 ILO 精度所需的有效 ILO 时钟周
期,补偿 ILO 时钟误差。
ILO_Trim_RestoreTrim()
恢复出厂预设值。
Document Number: 001-87241 Rev. *A
Page 3 of 12
PSoC® Creator™ 组件数据手册
ILO Trim
功能
说明
ILO_Trim_GetTrim()
返回当前 ILO 调整值。
ILO_Trim_SetTrim()
从给定地址返回调用的字数。如果任何地址不属于分配的寄存器空间,
将会返回一个错误。
ILO_Trim_Sleep()
停止该组件并保存用户配置。
ILO_Trim_Wakeup()
恢复用户配置并启用组件。
ILO_Trim_SaveConfig()
保存组件的当前用户配置。
ILO_Trim_RestoreConfig()
恢复组件的当前用户配置。
void ILO_Trim_Start(void)
说明:
开始测量 ILO 精度。
参数:
None
返回值:
None
副作用:
None
void ILO_Trim_Stop(void)
说明:
停止测量 ILO 精度。如果调整函数当前正在使用中,那么调整算法此时也会终止。
参数:
None
返回值:
None
副作用:
None
void ILO_Trim_BeginTrimming(void)
说明:
开始实现 ILO 调整算法。该算法需要使用精确调整的 ILO 时钟频率汇聚多个 ILO 周期。此
函数无阻塞,将在配置中断进程以实现调整算法后返回。ILO_Trim_CheckStatus() 和
ILO_Trim_CheckError() 可用于确定算法的当前状态。一旦调整算法汇聚在精确调整的 ILO
频率上,后台调整算法即禁用。
PSoC 4 不支持。
参数:
None
返回值:
None
副作用:
None
Page 4 of 12
Document Number: 001-87241 Rev. *A
PSoC® Creator™ 组件数据手册
ILO Trim
void ILO_Trim_StopTrimming(void)
说明:
禁用由 ILO_Trim_BeginTrimming() 函数启动的调整算法。此函数仅用于及早终止调整
算法。正常使用调整算法时,不使用此函数,因为一旦实现 ILO 精度,该算法将禁用调整。
PSoC 4 不支持。
参数:
None
返回值:
None
副作用:
None
uint8 ILO_Trim_CheckStatus(void)
说明:
返回 ILO 和调整算法的当前状态。在组件启动两个 ILO 时钟周期后,精度状态才是可靠的。
PSoC 4 不支持。
参数:
None
返回值:
指示组件状态的一组位字段。可同时设置多个位字段。
值
副作用:
说明
ILO_Trim_IS_ACCURATE
ILO 精度在必需的误差范围内。
ILO_Trim_TRIMMING
调整算法当前正在运行。
None
int16 ILO_Trim_CheckError(void)
说明:
计算 ILO 频率误差(千分率)。正数表示 ILO 运行太快,负数表示 ILO 运行太慢。此误差是
参考时钟误差的相对值,因此绝对误差取决于参考精度,并且将会较高。在组件启动两个
ILO 时钟周期后,精度误差才是可靠的。
参数:
None
返回值:
误差值(千分率)。
副作用:
None
Document Number: 001-87241 Rev. *A
Page 5 of 12
PSoC® Creator™ 组件数据手册
ILO Trim
int16 ILO_Trim_Compensate(uint16 clocks)
说明:
将期望的时钟周期额定数转换成基于 ILO 当前精度的有效的 ILO 时钟周期数,补偿 ILO 时钟
误差。然后可在基于 ILO 配置定时器时使用该返回值而非额定值。如果计算的结果超出 16
位返回值的容量,则该结果将在最大 16 位值处饱和。
此函数还可用于调整 ILO 频率,不能与 BeginTrimming() 功能一起使用。
参数:
uint16 时钟:所需的额定 ILO 时钟数
返回值:
uint16:需要的实际 ILO 时钟数
副作用:
None
void ILO_Trim_RestoreTrim(void)
说明:
返回出厂预设值。
PSoC 4 不支持。
参数:
None
返回值:
None
副作用:
None
uint8 ILO_Trim_GetTrim(void)
说明:
返回当前 ILO 预设值。
PSoC 4 不支持。
参数:
None
返回值:
uint8 trim寄存器值
副作用:
None
void ILO_Trim_SetTrim(uint8 trim)
说明:
设置 ILO 调整值。
PSoC 4 不支持。
参数:
uint8 trim: 要写入 ILO trim寄存器的值,调整值[3:0] 为细调整值。对于 PSoC 3 和 PSoC
5LP,调整值[5:4] 为粗调整值。
返回值:
None
副作用:
None
Page 6 of 12
Document Number: 001-87241 Rev. *A
PSoC® Creator™ 组件数据手册
ILO Trim
void ILO_Trim_Sleep(void)
说明:
为组件睡眠做准备。如果组件当前启用,它将被禁用,并将由 ILO_Trim_Wakeup() 重新启
用。
参数:
None
返回值:
None
副作用:
None
void ILO_Trim_Wakeup(void)
说明:
将组件返回到调用 ILO_Trim_Sleep() 之前的状态。要从低功耗模式唤醒后调整 ILO,必须调
用 ILO_Trim_BeginTrimming() 函数。
参数:
None
返回值:
None
副作用:
None
void ILO_Trim_SaveConfig(void)
说明:
保存组件的当前用户配置。此子程序由 ILO_Trim_Sleep() 调用以保存配置。
参数:
None
返回值:
None
副作用:
None
void SPIM_RestoreConfig (void)
说明:
恢复组件的配置。此子程序由 ILO_Trim_Wakeup() 调用以恢复配置。
参数:
None
返回值:
None
副作用:
None
固件源代码示例
PSoC Creator 在“查找示例项目”对话框中提供了很多包括原理图和代码示例的示例项目。要获取
组件特定的示例,请打开组件目录中的对话框或原理图中的组件实例。要获取通用的示例,请打
开 Start Page(开始页)或 File(文件)菜单中的对话框。根据需要,使用对话框中的 Filter
Options(筛选选项)可缩小可选项目的列表。
Document Number: 001-87241 Rev. *A
Page 7 of 12
ILO Trim
PSoC® Creator™ 组件数据手册
有关更多信息,请参见 PSoC Creator 帮助中的“Find Example Project(查找示例项目)”主题。
功能描述
实现
ILO Trim 组件使用递减计数器,不断对在单个 ILO 周期内发生的参考时钟周期进行计数。此信息
用于更改 ILO 调整值,以递增方式接近目标 ILO 频率。
调整过程
组件的工作过程如下所述。
1) 将组件配置为 UDB 或固定功能,自定义程序中提供了合适的参考时钟。
2) 参考时钟用作计数器的时钟。
3) 在 ILO 上升沿,当前计数器值被捕获写入捕获寄存器。这将触发含有调整子程序的 ISR。
4) 调整子程序按顺序以递增方式,按每个迭代增加 1 更改 ILO 调整值,以接近目标 ILO 调整
值。
5) 重复第 3 和 4 步,直至调整值位于目标 ILO 值的 10% 以内或更接近的值。
6) 用户可以随时调用 CheckStatus() 和 CheckError() API 以相应检查调整状态和 ILO 误差。
补偿过程
还可以使用补偿查找补偿计数器值,以满足所需的时序要求。例如,假如用户应用中的计数器 td
所需目标时间表示为:
td = Co / fILO
其中 Co 是原计数器值,fILO 是 ILO 的频率。由于 ILO 无法调整,因此,实际时间 ta 可在 +/- z%
内变化。
ta = Co / fILO + z
则补偿过程返回的正确的计数器值 Cc,以满足所需的 +/- 10% 内的定时要求。
Co = (fILO + z)td
Page 8 of 12
Document Number: 001-87241 Rev. *A
PSoC® Creator™ 组件数据手册
ILO Trim
资源
取决于所选模式,ILO Trim 组件使用 1 个 UDB 或 1 个固定函数模块。它包含 1 个嵌入式 ILO 时
钟和 1 个中断时钟。
资源类型
配置
数据路径单
元
宏单元
UDB
1
3
1
1
固定功能:
-
-
-
-
-
-
固定函数
状态单元 控制单元
时钟
中断
-
1
1
-
1(定时器)
1
1
-
1 (TCPWM)
1
1
PSoC 3、PSoC 5LP
固定功能:PSoC4
API 存储器使用
根据编译器、组件、所用 API 数量和组件配置的不同,组件内存使用会出现较大变化。下表提供
指定组件配置中可用的 API 的存储器使用。
测量是使用 Release 模式(带有针对大小的优化设置)下配置的相关编译器进行的。对于特定设
计,可以分析编译器生成的映射文件以确定存储器使用。
PSoC 3 (Keil_PK51)
配置
PSoC 4 (GCC)
PSoC 5LP (GCC)
闪存
SRAM
闪存
SRAM
闪存
SRAM
字节
字节
字节
字节
字节
字节
UDB
1100
9
484
20
1328
12
固定函数
1166
7
492
21
1420
12
MISRA 合规性
本节介绍了本组件与 MISRA-C:2004 的合规和偏差情况。定义了两种类型的偏差:


项目偏差 - 适用于所有 PSoC Creator 组件的偏差
特定偏差 - 仅适用于此组件的偏差
本节提供了有关组件特定偏差的信息。系统参考指南的“MISRA 合规性”章节中介绍项目偏差以及
有关 MISRA 合规性验证环境的信息。
ILO Trim 组件没有任何特定偏差。
Document Number: 001-87241 Rev. *A
Page 9 of 12
PSoC® Creator™ 组件数据手册
ILO Trim
此组件有以下嵌入式组件 — 中断。MISRA 合规性与特定偏差的相关信息请参见相应组件数据手
册。
直流和交流电气特性:PSoC 3
除非另有说明,否则这些规范的适用条件是 -40 °C ≤ TA ≤ 85 °C 且 TJ ≤ 100 °C。除非另有说
明,否则这些规范的适用范围为 1.71 V 到 5.5 V。
直流特性
模式
说明
条件
最小值
典型
值
最大
值
–
15
–
μA
16 位固定功能定时器模块电流 输入时钟频率 - 12 MHz
消耗
输入时钟频率 - 48 MHz
–
60
–
μA
–
260
–
μA
输入时钟频率 - 67 MHz
–
350
–
μA
–
6
–
μA/MHz
输入时钟频率 - 3 MHz
固定函数
UDB
8 位 UDB 定时器模块电流消
耗
–
单位
直流和交流电气特性:PSoC 4
除非另有说明,否则这些规范的适用条件是 -40 °C ≤ TA ≤ 85 °C 且 TJ ≤ 100 °C。除非另有说
明,否则这些规范的适用范围为 1.71 V 到 5.5 V。
直流特性
模式
固定函数
UDB
Page 10 of 12
说明
16 位固定功能 TCPWM 模块
电流消耗
8 位 UDB 定时器模块电流
消耗
条件
最小值
典型
值
最大
值
输入时钟频率 - 3 MHz
–
19
–
μA
输入时钟频率 - 12 MHz
–
66
–
μA
输入时钟频率 - 48 MHz
–
270
–
μA
–
6
–
μA/MHz
–
单位
Document Number: 001-87241 Rev. *A
PSoC® Creator™ 组件数据手册
ILO Trim
直流和交流电气特性 - PSoC 5LP
除非另有说明,否则这些规范的适用条件是 -40 °C ≤ TA ≤ 85 °C 且 TJ ≤ 100 °C。除非另有说
明,否则这些规范的适用范围为 1.71 V 到 5.5 V。
直流特性
模式
说明
条件
最小值
典型
值
最大
值
–
65
–
μA
16 位固定功能定时器模块电流 输入时钟频率 - 12 MHz
消耗
输入时钟频率 - 48 MHz
–
170
–
μA
–
650
–
μA
输入时钟频率 - 67 MHz
–
900
–
μA
–
6
–
μA/MHz
输入时钟频率 - 3 MHz
固定函数
UDB
8 位 UDB 定时器模块电流
消耗
–
单位
直流和交流电气特性:时序
除非另有说明,否则这些规范的适用条件是 -40 °C ≤ TA ≤ 85 °C 且 TJ ≤ 100 °C。除非另有说明,
否则这些规范的适用范围为 1.71 V 到 5.5 V。
PSoC 4
符号
说明
补偿的 ILO 精度
条件
最小
值
典型值
ref_clk 精度为 ±2%,ref_clk 与 -10
ILO 的比率>=50,计数>=20
最大值
10
单位
%
(初步)PSoC 3 和 PSoC 5LP:1 kHz ILO
符号
说明
调整后 ILO 绝对精度
最差调整时间例子
Document Number: 001-87241 Rev. *A
条件
最小
值
ref_clk 精度为 ±2%,ref_clk 与 -10
ILO 的比率>=50
典型值
最大值
单位
10
%
139.6
ms
Page 11 of 12
PSoC® Creator™ 组件数据手册
ILO Trim
(初步)PSoC 3 和 PSoC 5LP:100 kHz ILO
符号
说明
调整后 ILO 绝对精度
条件
最小
值
典型值
ref_clk 精度为 ±2%,ref_clk 与 -10
ILO 的比率>=50
最差调整时间例子
最大值
单位
10
%
2.6
ms
组件更改
本节介绍组件与以前版本相比的主要更改。
版本
1.0
更改说明
更改/影响原因
此组件首次发布。
赛普拉斯半导体公司,2013-2016 年。本文件是赛普拉斯半导体公司及其子公司,包括 Spansion LLC(“赛普拉斯”)的财产。本文件,包括其包含或引用的任何软件或固件(“软件”),根据全球
范围内的知识产权法律以及美国与其他国家签署条约由赛普拉斯所有。除非在本款中另有明确规定,赛普拉斯保留在该等法律和条约下的所有权利,且未就其专利、版权、商标或其他知识产权授
予任何许可。如果软件并不附随有一份许可协议且贵方未以其他方式与赛普拉斯签署关于使用软件的书面协议,赛普拉斯特此授予贵方属人性质的、非独家且不可转让的如下许可(无再许可权)
(1)在赛普拉斯特软件著作权项下的下列许可权(一)对以源代码形式提供的软件,仅出于在赛普拉斯硬件产品上使用之目的且仅在贵方集团内部修改和复制软件,和(二)仅限于在有关赛普拉
斯硬件产品上使用之目的将软件以二进制代码形式的向外部最终用户提供(无论直接提供或通过经销商和分销商间接提供),和(2)在被软件(由赛普拉斯公司提供,且未经修改)侵犯的赛普拉
斯专利的权利主张项下,仅出于在赛普拉斯硬件产品上使用之目的制造、使用、提供和进口软件的许可。禁止对软件的任何其他使用、复制、修改、翻译或汇编。
在适用法律允许的限度内,赛普拉斯未对本文件或任何软件作出任何明示或暗示的担保,包括但不限于关于适销性和特定用途的默示保证。赛普拉斯保留更改本文件的权利,届时将不另行通知。
在适用法律允许的限度内,赛普拉斯不对因应用或使用本文件所述任何产品或电路引起的任何后果负责。本文件,包括任何样本设计信息或程序代码信息,仅为供参考之目的提供。文件使用人应
负责正确设计、计划和测试信息应用和由此生产的任何产品的功能和安全性。赛普拉斯产品不应被设计为、设定为或授权用作武器操作、武器系统、核设施、生命支持设备或系统、其他医疗设备
或系统(包括急救设备和手术植入物)、污染控制或有害物质管理系统中的关键部件,或产品植入之设备或系统故障可能导致人身伤害、死亡或财产损失其他用途(“非预期用途”)。关键部件指,
若该部件发生故障,经合理预期会导致设备或系统故障或会影响设备或系统安全性和有效性的部件。针对由赛普拉斯产品非预期用途产生或相关的任何主张、费用、损失和其他责任,赛普拉斯不
承担全部或部分责任且贵方不应追究赛普拉斯之责任。贵方应赔偿赛普拉斯因赛普拉斯产品任何非预期用途产生或相关的所有索赔、费用、损失和其他责任,包括因人身伤害或死亡引起的主张,
并使之免受损失。
赛普拉斯、赛普拉斯徽标、Spansion、Spansion徽标,及上述项目的组合,及PSoC、CapSense、EZ-USB、F-RAM和Traveo 应视为赛普拉斯在美国和其他国家的商标或注册商标。请访问
cypress.com 获取赛普拉斯商标的完整列表。其他名称和品牌可能由其各自所有者主张为该方财产。
Page 12 of 12
Document Number: 001-87241 Rev. *A