0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AT32讲堂051 | 雅特力AT32F435/437 ACC使用指南

雅特力 AT32 MCU 2023-04-25 11:45 次阅读

ACC简介

HICK时钟校准器(ACC)利用OTGFS作为设备时产生的SOF信号作为参考信号达到校准HICK的目的,SOF信号为主机发给设备其周期为1ms的脉冲信号。ACC控制器采用“跨越回归”算法,可以将HICK频率尽可能校准到靠近目标频率。图1. ACC控制器架构1925a354-df82-11ed-ad0d-dac502259ad0.png

ACC功能解析

主要特性

ACC控制器具备如下特性:

  • 校准HICK,已达到对OTGFS设备提供48MHz±0.25%精度的时钟
  • SOF标志可选择来源:OTGFS1或者OTGFS2
  • 可配置的触发校准功能的边界频率
  • 两种校验方式:粗校验和精校验
  • 状态标志:校准就绪标志和SOF参考信号丢失标志
  • 带标志的中断源:校准就绪标志中断源和SOF参考信号丢失标志中断源


中断请求

拥有两个中断请求源:校准就绪中断源和SOF参考信号丢失中断源表1. ACC中断源194cb0ac-df82-11ed-ad0d-dac502259ad0.png

当设置了对应的使能位,当产生了对应的中断,就会进入对应的中断处理函数。

图2. ACC中断示意图196073b2-df82-11ed-ad0d-dac502259ad0.png

校准原理

首先需要了解到,如果系统使用的是HICK作为系统时钟源,而本身ACC模块又是对HICK进行校准,那么此时整个系统是不具备校准条件的,因为没有一个准确的参考信号作为校准的基准,所以就引入了OTGFS的SOF信号。SOF信号是外部主机提供的,主机将准确的SOF信号(1ms周期)给到设备(待校准系统),然后ACC模块采样SOF信号,并进行一系列的计算达到判定HICK是否准确,如若发现HICK不准确那么就会进行校准动作。

SOF周期信号:1毫秒的周期性必须是准确的,是自动校准模块能够正常工作的前提条件;

SOF信号通过PA8输出,如下图:图3. SOF信号示意图197d8c2c-df82-11ed-ad0d-dac502259ad0.png

cross-return策略(跨越回归算法):计算出离理论值最近的校准值;从理论上来说,可以将校准后的实际频率调校到离目标频率(8MHz)约0.5个step的精度范围以内。

图4. 跨越回归算法示意图19a03e2a-df82-11ed-ad0d-dac502259ad0.png如上图所示,一旦触发自动校准的条件满足,自动校准就会按照step所规定的步长调整HICKCAL或者HICKTRIM。

跨越(cross):

在满足自动校验的条件后的第一个1毫秒采样周期内的实际采样值要么小于C2,要么大于C2。当这个值小于C2,自动校准按照step的定义,增加HICKCAL或者HICKTRIM,直到实际采样值比C2大,实现实际采样值由小到大对C2的跨越。当这个值大于C2,自动校准按照step的定义,减少HICKCAL或者HICKTRIM,直到实际采样值比C1小,实现实际采样值由大到小对C2的跨越。

回归(return):

在跨越完成后,比较在跨越前后的实际采样值和C2之间的差值(按绝对值计算),得到离C2最近的实际采样值,从而得到最佳的校验值HICKCAL或者HICKTRIM。若跨越后的实际采样值和C2之间的差值小于跨越前的实际采样值和C2之间的差值,则以跨越后的校验值为准,并结束校验流程,直到满足下一个满足自动校验的条件。若跨越后的实际采样值和C2之间的差值大于跨越前的实际采样值和C2之间的差值,则以跨越前的校验值为准,那么校验值会退回一个step,并返回到跨越前的那个校验值,并结束校验流程,直到满足下一个满足自动校验的条件。按照cross-return策略,在理论上,可以得到离中心频率约0.5个step所对应的频率精度。

如下四种情形会启动自动校准:

  • CALON的上升沿(从0到1);
  • 当CALON=1时,参考信号丢失之后又恢复;
  • 当采样计数器的值小于C1;
  • 当采样计数器的值大于C3。

在CALON的上升沿,即便采样计数器的值大于C1并小于C3,也会启动自动校准,其目的在于,在CALON之后,能够尽快将HICK的频率调整到中心频率的0.5个step以内。

以上四种情形的自动校准的结果均能将HICK的频率调整到中心频率的0.5个step以内。所以为了获得最佳的校准精度,建议将step保持为默认值1。若将step设为0,则HICKCAL或者HICKTRIM将无法改变,也即,无法校准。

ACC配置解析

以下对ACC的配置接口及流程进行说明。

函数接口

表2. 配置函数列表19b63036-df82-11ed-ad0d-dac502259ad0.png

配置流程

  • 系统以HICK作为系统时钟源,并打开ACC时钟;
  • OTG_FS以HICK为时钟源并初始化OTGFS;
  • 使能ACC相关中断;
  • 配置C1/C2/C3值;
  • 选择SOF源;
  • 使能ACC并选择粗校验或者精校验。

案例 ACC校准HICK

功能简介

实现了使用ACC模块将HCIK校准在要求的精度内。

资源准备

1) 硬件环境:对应产品型号的AT-START BOARD2) 软件环境project\at_start_f4xx\examples\acc\calibration

软件设计

1) 配置流程

  • 开启ACC/OTGFS外设时钟
  • 配置OTGFS设备和ACC模块
  • 开启ACC

2) 代码介绍

  • main函数代码描述

19ed643e-df82-11ed-ad0d-dac502259ad0.png

  • 中断处理函数

1a330a2a-df82-11ed-ad0d-dac502259ad0.png

实验效果

  • 如若HICK时钟偏离正常值,ACC将自动启动校准(前提是OTGFS设备与主机成功连接),校准完成后在中断函数内会翻转LED2;产生SOF信号丢失后也会进入对应中断函数内翻转LED3。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ACC
    ACC
    +关注

    关注

    1

    文章

    54

    浏览量

    22585
  • AT32
    +关注

    关注

    1

    文章

    97

    浏览量

    1828
收藏 人收藏

    评论

    相关推荐

    AT32F435 & AT32F437入门使用指南

    电子发烧友网站提供《AT32F435 & AT32F437入门使用指南.pdf》资料免费下载
    发表于 12-18 11:13 1次下载
    <b class='flag-5'>AT32F435</b> & AT32F<b class='flag-5'>437</b>入门<b class='flag-5'>使用指南</b>

    雅特力AT32F435/F437入门使用指南

    搭建AT32开发环境一、调试工具及开发板目前AT32F435/F437开发板都自带AT-Link-EZ调试工具,AT-Link-EZ如下图左边红框所示,它也可拆开后单独搭配其他电路板使用,支持IDE在线调试、在线烧录、USB转串
    的头像 发表于 11-10 08:15 2286次阅读
    雅特力<b class='flag-5'>AT32F435</b>/F<b class='flag-5'>437</b>入门<b class='flag-5'>使用指南</b>

    AT32 VSCode PlatFormIO使用指南

    AT32 VSCode PlatFormIO使用指南旨在帮助使用VSCode+PlatFormIO开发AT32的用户,快速建立开发环境并进行开发。
    发表于 10-26 07:14

    AT32F435&amp;AT32F437入门使用指南

    AT32F435 & AT32F437入门使用指南旨在让用户快速使用AT32F435xx /AT32F437xx 进行项目开发,AT
    发表于 10-26 06:58

    AT32F435/437xx GPIO使用指南

    AT32F435/437xx的通用功能I/O (GPIO)提供了一系列与外部环境通讯的接口,可用于MCU与其他嵌入式设备之间通过数字或模拟方式的通讯。AT32F435/437xx系列的
    发表于 10-25 08:23

    AT32F435/437 I 2C使用指南

    AT32F435/437 I2C使用指南主要就I2C 总线接口的基本功能进行讲解和案例解析。
    发表于 10-25 08:09

    AT32F435/437 ADC应用说明

    AT32F435/437 ADC使用指南主要以ADC的特色功能进行讲解和案列解析。
    发表于 10-25 08:08

    AT32F435/437 DMA使用指南

    AT32F435/437 拥有 2 个 DMA 控制器(DMA1/DMA2),每个 DMA 支持 7 个通道且外设的 DMA 请求可映射到任意通道上。本文主要就 DMA 的基本功能进行讲解和案列解析。
    发表于 10-25 08:07

    如何提升AT32F435/437性能

    AT32F435/437 Performance Improvement描述了如何通过软件方法改善AT32F435_437的运行效能。
    发表于 10-25 07:37

    AT32 MCU ACC使用指南

    AT32 MCU ACC使用指南AT32 MCU 拥有HICK 自动时钟校准器,其作用是当系统内部使用HICK 作为时钟源时,若外界环境改变等因素导致HICK 时钟差生偏差时,可利用H
    发表于 10-25 07:24

    AT32F435/437 EDMA使用指南

    AT32F435/437 EDMA使用指南本文主要就EDMA 的基本功能进行讲解和案列解析。
    发表于 10-25 07:24

    AT32F435/437系列安全库区的应用原理、软件使用方法及范例程序

    AT32F435/437 Security Library Application Note主要在阐述AT32F435/437系列安全库区的应用原理、软件使用方法及范例程序。
    发表于 10-25 07:22

    AT32F435/437 OTGFS应用说明

    AT32F435/437 OTGFS Application Note主要描述AT32 OTGFS 外设特性,OTGFS 支持主机和设备模式。
    发表于 10-25 07:01

    AT32F435/437时钟配置

    AT32F435/437时钟配置主要介绍两部分内容:1、基于提供的V2.x.x 的板级支持包来进行时钟源码的配置及修改2、如何使用配套
    发表于 10-25 06:18

    FAQ0130 AT32F435 437 QSPI XIP模式需开启cache bypass

    AT32F435/437 QSPI XIP模式需开启cache bypass在使用QSPI 时,当使用XIP 模式时,运行过程中读写外接器件可能出现非预期的数据,导致程序数据错误、hardfault 等问题。
    发表于 10-23 06:15