雅特力

ACC简介

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

1.png

图1. ACC控制器架构

ACC功能解析

主要特性

ACC控制器具备如下特性:

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

中断请求

拥有两个中断请求源:校准就绪中断源和SOF参考信号丢失中断源

2.png

表1. ACC中断源

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

3.png

图2. ACC中断示意图

校准原理

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

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

SOF信号通过PA8输出,如下图:

4.png

图3. SOF信号示意图

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

5.png

图4. 跨越回归算法示意图

如上图所示,一旦触发自动校准的条件满足,自动校准就会按照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的配置接口及流程进行说明。

函数接口

6.png表2. 配置函数列表

配置流程

  • 系统以HICK作为系统时钟源,并打开ACC时钟;

  • OTG_FS以HICK为时钟源并初始化OTGFS;

  • 使能ACC相关中断;

  • 配置C1/C2/C3值;

  • 选择SOF源;

  • 使能ACC并选择粗校验或者精校验。

案例 ACC校准HICK

功能简介

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

资源准备

1) 硬件环境:

对应产品型号的AT-START BOARD

2) 软件环境

project\at_start_f4xx\examples\acc\calibration

软件设计

1) 配置流程

  • 开启ACC/OTGFS外设时钟

  • 配置OTGFS设备和ACC模块

  • 开启ACC

2) 代码介绍

  • main函数代码描述

7.png

  • 中断处理函数

8.png

实验效果

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

来源:AT32 MCU 雅特力科技

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 84

4月20日,雅特力正式推出AT32F423系列超值型Cortex®-M4F MCU,内建单精度浮点运算单元(FPU),支持多管脚及封装选择,具备高效能、高集成和高性价比等特点,为AT32家族超值型产品线又增添了一名生力军。AT32F423片上集成丰富外设资源,提供高速的数据传输及处理能力,聚焦超低预算开发需求,同时兼顾成本敏感及高性能需求的嵌入式应用。

1.png

AT32F423系列MCU最高主频为150MHz,提供多达256KB Flash和48KB SRAM,包含1个高阶外部储存器(XMC)扩展,兼容8080/6800模式作为LCD并口。且支持1个12位5.33Msps A/D转换器,多达24个外部输入通道,满足更多应用高速数据采集及处理要求,提高产品测量精度及系统监测与控制能力。

AT32F423系列集成了丰富的外设界面,除ADC外,还提供2个12位DAC、 8个USART、3个SPI/I2S、3个I2C、2个CAN、1个OTG控制器(设备模式支持无晶振Xtal-less)及多达87个GPIO还支持端口重映像功能,充份弹性配置I/O脚位和扩充功能,使开发人员灵活运用升级终端产品功能,且不占电路板空间或额外增加物料成本, 优于市场上同级芯片, 几乎以一颗芯片全面涵盖多元应用场域,及满足各种需要灵活的工业标准连接功能的应用需求,如HMI、工业控制、物联网、智能居家、扫地机器人、LED控制、避障模块、LiDAR激光测距、亳米波等。

AT32F423系列提供21个产品型号,最大支持LQFP100封装,满足复杂设计功能对多引脚应用,对应不同市场需求, 还有LQFP64, LQFP48, QFN48, QFN36, QFN32共6种封装类型供选择,且所有AT32 MCU产品在软件和引脚封装方面皆兼容,可协助开发人员随时升级产品和降低扩充项目成本,缩短设计周期。

2.png

雅特力不断构建完善的开发生态体系,提供全面性的开发工具平台,如AT-Link- Family编程调试工具等硬件资源,以及BSP标准库、ICP/ISP编程工具等软件资源,支持Keil, IAR, eclipse, RT-Thread Studio等IDE平台与RT-Thread OS, FreeRTOS及LittlevGL等OS/GUI平台。通过易用的软硬件工具,提升工程人员的开发体验和效能,降低入门使用门槛,并减少重复设置工作,加速开发效率。

在密码保护方面,AT32F423系列搭载雅特力自有开发的sLib安全库 (Security Library) ,支持密码保护指定范围程序区,方案商依需求烧录核心算法到指定范围程序区,有助于下游客户进行二次开发,具备高安全性和可靠性优势。

目前,AT32F423系列产品已经开始发送样片并预计在2023年5月正式投入量产供货。

来源:AT32 MCU 雅特力科技

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 12

3月29-30日,由全球电子技术领域知名媒体集团AspenCore主办的2023国际集成电路展览会暨研讨会(IIC Shanghai)在上海国际会议中心盛大举行。IIC 2023聚焦“碳中和暨绿色能源”电子产业发展、中国IC设计成就、EDA/IP、MCU技术与应用、高效电源管理及宽禁带半导体技术、射频与无线通信技术等领域,为中国半导体产业链搭建高效交流的互动平台,赋能产业升级!

会议现场,雅特力业务处长蔡柏彤先生发表了“用芯打造智慧未来,雅特力AT32 MCU持续布局多领域应用市场”的主题演讲,与广大电子工程师和行业精英共同探讨MCU市场与技术趋势。

1.png

蔡柏彤在演讲中详细介绍了AT32 MCU全系列产品与最新布局,雅特力致力于开发以ARM® Cortex-M4/M0+为内核的32位MCU,包含低功耗、超值型、主流型、高性能、无线型等五大产品系列MCU。随着汽车电子、工控/医疗、新兴物联网等领域市场的不断发展,对32位MCU芯片的需求量将大幅度提升,但也面临新的突破与挑战。雅特力全系列针对工业级别芯片设计,具有高可靠度和高安全性等特征,保证产品在-40℃~105℃的工作环境稳定运行。AT32 MCU工作主频高达288MHz,领先业界其它同级MCU,Cortex-M4F核心浮点运算提供优异的算法技术,具备快速而精确的计算能力,搭配丰富的高速模拟器件与数字通信接口,满足工业自动化、电机控制、汽车电子、智能家电与新能源等新兴领域应用需求,助力客户产业升级与应用创新。

科技发展日新月异,市场需求复杂多元。面对高速发展的绿色节能市场,雅特力2023年将推出Cortex®-M0+低功耗产品线,超低功耗和快速唤醒可大幅降低产品使用功耗,满足高速数据采集、工业控制与电机应用低功耗要求,属入门级低功耗MCU最佳选择。在热度居高不下的车载应用市场雅特力也不断发力,以高可靠、高安全、高性能等优势迅速占领部分市场,AT32F403A/AT32F413已获得国内前三大汽车厂商采用并量产,同时AT32F403A系列还将通过AEC-Q100 Grade2认证(A: Automotive),满足功能安全标准车规级MCU的能力,同时可广泛适用于车身控制、ADAS辅助驾驶、车载影音等新能源车用场景。

2.png

活动现场还设置高端展览区,雅特力展示了基于AT32 MCU的工控、电机、车载、物联网等领域应用方案,包括变频器、PLC、微机综保、智能断路器、数字电源、智能调光开关、BMS智能保护板、充电枪、E-Bike、运动控制器等多款应用方案,现场氛围十分热烈!

3.jpg
4.jpg

来源:AT32 MCU 雅特力科技

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 28

3月24-26日,由中国电子学会电路与系统分会主办,温州大学承办的中国电子学会电路与系统分会第32届学术年会暨第二届电子与信息科学前沿论在浙江温州大学举行,全国多所高校和科研机构专家、学者参加会议。雅特力科技作为协办单位出席此次会议活动,展示了基于AT32 MCU的工控、电机、车载、物联网等领域应用方案,并与众多学者、专家进行现场沟通交流,产品技术得到一致认可。

1679897657236398.png

1679897668781287.png

1679897680958638.png

雅特力致力于开发以ARM® Cortex-M4/M0+为内核的32位MCU,包含低功耗、超值型、主流型、高性能、无线型等五大产品系列MCU。全系列针对工业级别芯片设计,具有高可靠度和高安全性等优势,保证产品在-40℃~105℃的工作环境稳定运行。AT32 MCU Cortex-M4F核心浮点运算提供优异的算法技术,具备快速而精确的计算能力,搭配丰富的高速模拟器件与数字通信接口,满足工业自动化、电机控制、汽车电子、智能家电与新能源等新兴领域应用需求,助力客户产业升级与应用创新。

现场应用方案展示

此次活动现场展示了基于AT32 MCU的变频器、PLC、微机综保、智能断路器、数字电源、智能调光开关、BMS智能保护板、充电枪、E-Bike、运动控制器等多款应用方案。

变频器

4.png

• 采用AT32F403A,AT32F421,AT32F415系列MCU

• 高速GPIO处理响应速度

• 稳定,抗干扰能力强

• 快速ADC转换速率,高达2Msps以上转换速率

PLC

5.png

• 采用AT32F435,AT32F437,AT32F403A,AT32F407系列MCU

• 主频和SRAM优势明显,有利于实现多组程序同时执行,同时提升显示效果

• 支持10/100Mbps以太网口控制器

• DMA自由映射方便引脚功能配置和PCB布板

• 稳定,抗干扰能力强

微机综合保护装置

6.jpg

• 采用AT32F403A系列MCU

• ADC转换速度高达2Msps

• USART速率高达7.5MHz bps

• 符合工业级操作温度范围-40~105°C

• 满足各类不同室外环境要求

智能调光开关

7.png

• AT32F415接入Amazon Alexa,可支持亚马逊Amazon Connect Kit (ACK)功能

• 采用高主频、32位定时器,调光范围更大

• 系统存储器作为用户模式,增大闪存空间

BMS智能保护板

1679897746719175.png

• 采用AT32F413系列MCU

• 搭载Cortex-M4内核,支持CAN*2,RS-485,UART等丰富的外设接口,可实现多种通讯模式

• CAN连接电动车控制器,提高系统稳定性和数据传输速率

• 快速ADC转换速率,及时获取电池电压电流和温度数据并作出处理,防止过充过放过流过温

来源:AT32 MCU 雅特力科技

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 17

OTGFS介绍

AT32F435/437包含2个独立的OTGFS,编号OTGFS1和OTGFS2,本章将描述OTGFS支持的一些基本功能。OTGFS1和OTGFS2特性完全相同。

1.png

图1 OTGFS框图

OTGFS特性

OTGFS通用特性:

  • 支持USB2.0协议

  • 内置独立1280字节SRAM

  • 内置全速PHY

  • 内置上下拉电阻

  • SOF信号输出

  • 低功耗模式

  • 支持忽略VBUS状态

  • 支持ID检测以切换主机设备模式

  • 不支持HNP/SRP协议(PHY不支持,不能动态切换模式,只能根据ID状态切换模式)

  • AHB时钟大于30MHz

OTGFS设备模式特性:

  • 仅支持全速设备

  • 支持内部1.5KΩ上拉

  • 支持软件断开连接

  • 支持1个双向控制端点0

  • 支持7个IN端点,端点号1-7

  • 支持7个OUT端点,端点号1-7

  • 支持控制传输,大容量传输,中断传输,同步传输

  • 端点接收FIFO共享

  • 端点发送FIFO专用

  • 支持无晶振(crystal-less)

OTGFS主机模式特性:

  • 支持全速和低速

  • 支持内部15KΩ下拉

  • 支持16个主机通道

  • 支持控制传输,大容量传输,中断传输,同步传输

  • 通道接收FIFO共享

  • 通道发送FIFO专用

OTGFS全速PHY

OTGFS内置支持全速/低速的PHY,为主机和设备模式提供通信支持。

1、DP和DM内置上下拉电阻,由OTGFS根据模式自动使能上下拉电阻

当OTGFS处于设备模式时,DP 1.5KΩ上拉自动使能

当OTGFS处于主机模式时,DP和DM 15KΩ下拉自动使能

2、ID线内置上拉

ID线为高电平,默认为设备模式

ID线为低电平,为主机模式

3、设备模式下的VBUS检测(可忽略VBUS检测)

设备模式下,仅支持VBUS高低电平检测,当VBUS为高电平,OTGFS认为是有效电平,将使能DP的上拉电阻,让主机识别到设备插入。当VBUS为低电平,OTGFS认为是无效电平,此时不使能DP上拉,处于断开模式。

在设备模式下,如果想不检测VBUS,可通过设置寄存器OTGFS_GCCFG.VBUSIG=1来实现,此时可将检测VBUS的引脚释放出来给其它外设使用。

4、PHY的低功耗模式

OTGFS全速PHY支持低功耗模式,可以通过设置寄存器OTGFS_GCCFG.LP_MODE=1让PHY处于低功耗模式。

OTGFS GPIO引脚

435/437 OTGFS1/2使用GPIO引脚如下表所示:

表1 OTGFS1 GPIO引脚

2.png

表2 OTGFS2 GPIO引脚

3.png

注:USB_OE信号当USB在传输数据时,会翻转此信号

OTGFS 48MHz时钟

需要给OTGFS提供48MHz±0.25%的时钟来用于USB总线采样。48MHz时钟可以直接来源HICK,也可以通过PLLCLK分频得到。

4.png

图2 USB 48MHz时钟来源

注意:当OTGFS作为HOST时,必须使用外部晶振通过PLL分频作为USB 48MHz时钟。

USB时钟选择HICK

通过设置如下寄存器选择HICK:

1、CRM_MISC1. HICKDIV=1;

HICK是否分频,1表示不分频,0表示6分频

2、CRM_MISC1. HICK_TO_USB=1;

1 表示USB 48MHz时钟来源是HICK,0表示来源为PLL分频。

如果USB 48MHz时钟来源选择HICK时,在设备模式下需要开启ACC(HICK自动校准)功能,ACC功能利用USB产生的SOF信号来作为参考信号,实现对HICK时钟的采样和校准。详细功能可参考RM HICK自动时钟校准(ACC)章节。

注意:当OTGFS作为HOST时,必须使用外部晶振通过PLL分频作为USB 48MHz时钟,因为在HOST模式下不能通过ACC校准HICK。

使用HICK作为USB 48MHz时钟代码示例:

5.png

USB时钟选择PLLCK分频

USB 48MHz时钟默认是由PLL通过分频得到,435/437系统时钟最高可达到288Mhz,通过配置USB分频因子,达到为USB提供48MHz时钟。

通过配置已下寄存器进行PLL分频:

  • CRM_MISC2.USBDIV=USB分频因子

USB分频因子支持:1.5分频,不分频,2.5分频,2分频,3.5分频,3分频,4.5分频,4分频,5.5分频,5分频,6.5分频,6分频,7分频。

使用PLL分频作为USB 48MHz时钟代码示例:

6.png

OTGFS数据FIFO管理

OTGFS分配专用的1280 Byte SRAM作为数据FIFO,在主机或设备模式下,可通过软件配置寄存器给端点/通道分配FIFO。

注意:分配的FIFO总大小不要超过1280 Byte

设备模式下的FIFO分配

设备模式下所有端点的接收共享一个接收FIFO,每个端点的发送对应一个专有的发送FIFO。

7.png

图3 设备模式FIFO分配

1、RX_FIFO

所有端点的接收共享这一块FIFO,配置寄存器OTGFS_GRXFSIZ.RXFDEP,此寄存器值表示接收FIFO大小,注意单位为word(4Byte)。

2、TX_FIFO0

端点0的发送FIFO,配置寄存器OTGFS_DIEPTXF0,需要配置起始地址和FIFO大小。OTGFS_DIEPTXF0. INEPT0TXSTADDR=OTGFS_GRXFSIZ.RXFDEP

OTGFS_DIEPTXF0. INEPT0TXDEP=端点0发送FIFO大小

3、TX_FIFO1

端点1的发送FIFO,配置寄存器OTGFS_DIEPTXF1,需要配置起始地址和FIFO大小。

OTGFS_DIEPTXF1.INEPTXFSTADDR=OTGFS_GRXFSIZ.RXFDEP+端点0发送FIFO大小OTGFS_DIEPTXF1.INEPTXFDEP=端点1发送FIFO大小

...

注意:对应端点FIFO配置寄存器中FIFO大小值的单位都是word(4Byte)。

注意:发送端点的起始地址一般配置为前面所有端点已占用的FIFO大小,例程如端点2的发送FIFO起始地址为RX_FIFO大小+TX_FIFO0大小+TX_FIFO1大小。

主机模式下的FIFO分配

主机模式下,所有通道共享一个接收FIFO,通道发送FIFO分为非周期性发送FIFO和周期性发送FIFO。

非周期性和周期性通过传输类型来区分,每个主机通道寄存器都有配置传输类型,包含4种传输类型:控制传输(Control),同步传输(ISO),批量传输(Bulk),中断传输(Interrupt)

非周期性:控制传输(Control),批量传输(Bulk)

周期性传输:同步传输(ISO),中断传输(Interrupt)

8.png

图4 主机模式下FIFO分配

1、RX_FIFO

所有主机通道的接收共享这一块FIFO,配置寄存器OTGFS_GRXFSIZ.RXFDEP,此寄存器值表示接收FIFO大小,注意单位为word(4Byte)。

2、Non-periodic TxFIFO

非周期性的主机通道发送FIFO,配置寄存器OTGFS_GNPTXFSIZ,需要配置起始地址和FIFO大小。

OTGFS_GNPTXFSIZ. NPTXFSTADDR=OTGFS_GRXFSIZ.RXFDEP

OTGFS_GNPTXFSIZ. NPTXFDEP=非周期性发送FIFO大小

3、Periodic_TxFIFO

周期性的主机通道发送FIFO,配置寄存器OTGFS_HPTXFSIZ,需要配置起始地址和FIFO大小。

OTGFS_HPTXFSIZ.PTXFSTADDR=OTGFS_GRXFSIZ.RXFDEP+OTGFS_GNPTXFSIZ.NPTXFDEP

OTGFS_HPTXFSIZ. PTXFSIZE=周期性发送FIFO大小

注意:对应FIFO配置寄存器中FIFO大小值的单位都是word(4Byte)

OTGFS中断结构

9.png

图5 OTGFS中断结构

全局常用中断OTGFS_GINTSTS,此寄存器中包含了主机和设备的中断标志,部分中断标志只在设备模式或者主机模式下有效。

1、设备和主机模式都有效中断标志

OTGFS_GINTSTS. MODEMIS:模式不匹配(主机和设备都适用)

OTGFS_GINTSTS. SOF:SOF中断(主机和设备都适用)

OTGFS_GINTSTS. RXFLVL:接收FIFO非空(主机和设备都适用)

OTGFS_GINTSTS. CONIDSCHG:ID线状态变化(主机和设备都适用)

OTGFS_GINTSTS. WKUPINT:唤醒信号中断(主机和设备都适用)

2、仅主机模式下有效中断标志

OTGFS_GINTSTS. NPTXFEMP:非周期发送FIFO为空(主机适用)

OTGFS_GINTSTS. PRTINT:主机端口中断(主机适用)

OTGFS_GINTSTS. HCHINT:主机通道中断(主机适用)

OTGFS_GINTSTS. PTXFEMP:周期性发送FIFO为空(主机适用)

OTGFS_GINTSTS. DISCONINT:设备断开(主机适用)

3、仅设备模式下有效中断标志

OTGFS_GINTSTS. USBSUSP:设备挂起(设备适用)

OTGFS_GINTSTS. USBRST:USB复位(设备适用)

OTGFS_GINTSTS. ENUMDONE:枚举速度完成(设备适用)

OTGFS_GINTSTS. ISOOUTDROP:同步OUT包丢失(设备适用)

OTGFS_GINTSTS. IEPTINT:IN端点中断(设备适用)

OTGFS_GINTSTS. OEPTINT:OUT端点中断(设备适用)

OTGFS_GINTSTS. INCOMPISOIN:未完成的同步IN传输(设备适用)

10.png

图6 中断处理流程

OTGFS模式

通过配置如下寄存器让OTGFS处于OTG模式:

  • OTGFS_GUSBCFG.FDEVMODE=0(非强制设备模式)

  • OTGFS_GUSBCFG.FHSTMODE=0(非强制主机模式)

435/437 OTGFS可以通过检测ID线上的状态来确定当前处于设备模式还是主机模式。当ID状态为高电平时为设备模式,当ID状态为低电平时为主机模式。

寄存器GINTSTS.CURMOD=0,表示当前为设备模式

寄存器GINTSTS.CURMOD=1,表示当前为主机模式

另外可以根据GINTSTS. CONIDSCHG中断来检测当前ID线的状态是否有变化,当检测到ID线有变化时,根据当前的模式位(GINTSTS.CURMOD),应用程序选择初始化主机程序还是设备程序。

11.png

图7 OTG模式连接示意图

设备模式

435/437 OTGFS作为设备时仅支持全速设备,不支持低速和高速设备。支持8个IN端点(包括端点0),8个OUT端点(包括端点0)。

OTGFS强制作为设备

通过设定如下寄存器将OTGFS强制作为设备:

  • OTGFS_GUSBCFG.FDEVMODE=1(强制设备模式)

  • OTGFS_GUSBCFG.FHSTMODE=0(非强制主机模式)

12.png

图8 设备模式连接示意图

注意:绿色线表示可选连接,当使能VBUSIG信号时,VBUS引脚可作为普通I/O。

OTGFS设备常用功能

本节介绍OTGFS作为设备模式时的一些功能。

1、软件断开

可以通过配置设备模式下的寄存器,达到让设备断开与主机的连接。原理是通过控制DP的上拉使能来控制连接状态。

配置OTGFS_DCTL.SFTDISCON=1,DP上拉不使能,断开连接。

配置OTGFS_DCTL.SFTDISCON=0,DP上拉使能,开始连接。

2、Remote wakeup唤醒

当设备进入挂起状态之后,可以通过Remote wakeup功能唤醒主机。

唤醒流程:

  • 设置OTGFS_DCTL.RWKUPSIG=1;

  • 延迟1-15ms

  • 设置OTGFS_DCTL.RWKUPSIG=0;

3、忽略VBUS信号

在设备模式下,可以忽略VBUS信号,此模式可以释放VBUS引脚给其它外设使用。通过配置OTGFS_GCCFG.VBUSIG=1来忽略VBUS信号。

OTGFS设备端点配置

本节简单介绍OTGFS端点寄存器的配置。
IN端点配置

IN端点寄存器OTGFS_DIEPCTLx(x为0~7),端点寄存器存放端点的基本信息。

如下是一个IN端点的基本配置选项:

  • OTGFS_DIEPCTLx.MPS(最大包长度)

  • OTGFS_DIEPCTLx.EPTYPE(端点类型:控制传输,同步传输,块传输,中断传输)OTGFS_DIEPCTLxTXFNUM(发送FIFO编号,正常跟端点号相同)

  • OTGFS_DIEPCTLx.USBACEPT(激活端点)

  • OTGFS_DIEPCTLx.SNAK(设置端点为NAK状态)

  • OTGFS_DIEPCTLx.CNAK(清除端点NAK状态)

  • OTGFS_DIEPCTLx.STALL(设置端点为STALL状态)

  • OTGFS_DIEPCTLx.EPTENA(开始传输数据)

OUT端点配置

OUT端点寄存器OTGFS_DOEPCTLx(x为0~7),端点寄存器存放端点的基本信息。

如下是一个OUT端点的基本配置选项:

  • OTGFS_DOEPCTLx.MPS(最大包长度)

  • OTGFS_DOEPCTLx.EPTYPE(端点类型:控制传输,同步传输,块传输,中断传输)OTGFS_DOEPCTLx.USBACEPT(激活端点)

  • OTGFS_DOEPCTLx.SNAK(设置端点为NAK状态)

  • OTGFS_DOEPCTLx.CNAK(清除端点NAK状态)

  • OTGFS_DOEPCTLx.STALL(设置端点为STALL状态)

  • OTGFS_DOEPCTLx.EPTENA(开始传输数据)

主机模式

435/437 OTGFS作为主机模式时支持全速/低速设备,同时支持16个主机通道。

OTGFS强制作为主机

通过设定如下寄存器将OTGFS强制作为主机,此时DP/DM下拉自动使能:

  • OTGFS_GUSBCFG.FDEVMODE=0(非强制设备模式)

  • OTGFS_GUSBCFG.FHSTMODE=1(强制主机模式)

13.png

图9 主机模式连接示意图

OTGFS主机常用功能

1、支持全速和低速设备

通过OTGFS_HPRT.PRTSDP判断当前连接的设备是全速设备还是低速设备;OTGFS_HPRT.PRTSDP=1表示全速OTGFS_HPRT.PRTSDP=2表示低速

2、复位

通过设置OTGFS_HPRT.PRTRST来设置端口复位;OTGFS_HPRT.PRTRST=1;延时10msOTGFS_HPRT.PRTRST=0;

3、挂起

通过设置OTGFS_HPRT.PRTSUP=1来设置端口挂起,此时主机停止发送SOF;

OTGFS主机通道配置

主机通道配置寄存器

OTGFS_HCCHARx(x为0~15),通道寄存器存放通道的基本信息。

如下是一个通道的基本配置选项:

  • OTGFS_HCCHARx.MPS(最大包长度)

  • OTGFS_HCCHARx.EPTNUM(指示设备端点号)

  • OTGFS_HCCHARx.EPTDIR(指示设备端点方向 OUT/IN)

  • OTGFS_HCCHARx.LSPDDEV(低速设备)

  • OTGFS_HCCHARx.EPTYPE(端点类型:控制传输,同步传输,块传输,中断传输)

  • OTGFS_HCCHARx.MC(周期性传输在每帧内传输的事务个数)

  • OTGFS_HCCHARx.DEVADDR(设备地址)

  • OTGFS_HCCHARx.ODDFRM(周期性传输奇数帧/偶数帧)

  • OTGFS_HCCHARx.CHDIS(通道禁止)

  • OTGFS_HCCHARx.CHENA(通道使能)

来源:AT32 MCU 雅特力科技

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 101

从简单的控制到嵌入式系统,再到物联网,我们对MCU产品性能和应用场景的要求不断提升,生态建设也变得尤为重要。简单易用的开发板、完善的软件工具链、丰富的应用笔记文档、嵌入式OS的支持、稳定的货源供应和技术支持等都是MCU产品竞争力的关键。

雅特力除了用先进工艺开发产品,还秉持服务精神持续完善整个生态链,构建了一个基于AT32 MCU的开发平台,从系统开发阶段至量产烧录,及后续的硬件更新,都提供了全面性支持。通过易用的软硬件工具,提升设计人员开发体验和便利,降低入门使用门坎,并减少重复设置工作,加速开发效率。

1.png

在产品开发生产阶段,为使工程设计人员加快开发流程,雅特力提供了图形化(GUI)开发工具,导入后可迅速在开发阶段进行调整测试相关配置。AT32 Tooling System能够协助客户缩短产品上市时程,提高开发效率,如AT32 New Clock Configuration,为AT32 MCU进行时钟配置的图形化配置工具,便于清楚了解时钟路径和配置时钟频率;CAN BitRate和I2C Timing Configuration,可在用户接口(UI)输入各项CAN Bus或I2C细部参数,快速计算CAN Bus或I2C对应结果与生成相关配置标准代码。通过可视化图形对话框,用户编写代码时更为直观,并节省产生应用代码时间。

雅特力AT32 IDE为跨平台ARM嵌入式系统的软件开发环境。包含一系列Eclipse插件和工具,使用者可在AT32 IDE开发环境下进行创建、建置和调试AT32 MCU。兼容Windows®和Linux®操作系统,并提供JRE运行环境、ARM工具链和GCC Make构建工具,帮助开发者组织资源,轻松装备软件组件,使开发工作事半功倍。

在批量生产阶段,为让用户更方便的使用AT32 MCU,雅特力配备了一系列图形界面应用程序,包括ICP Programmer和ISP Programmer,可实现在线和脱机编程。使用ICP Programmer需通过雅特力自行开发的AT-Link或J-Link仿真器来进行操作,支持同时烧写主储存器、SPIM/QSPI Flash和文件/设备加载,搭配AT-Link仿真器,支持SWD速度配置自动侦测功能;使用ISP Programmer时可以通过UART或USB进行配置操作,便于读取、写入和验证设备内存。

AT-Link Family为雅特力自行开发的编程调试工具,包含AT-Link-Pro、AT-Link+、AT-Link-ISO+和AT-Link-EZ,支持AT32 MCU仿真与在线/脱机烧录,操作简单、功能多样。AT-Link-Pro使用LCD触控屏操作便利,支持IDE在线调试、在线/脱机烧录、输出电压范围调节、脱机参数设置、USB转串口等功能;AT-Link+除了支持在线与脱机烧录,新增SPI和可变换外设接口(如I2C/CAN)等多功能接口,还支持AT32WB415蓝牙芯片烧录;AT-Link-ISO+在AT-Link+的基础上强化隔离保护功能(ISOLATED),同时支持AT32WB415蓝牙芯片烧录;AT-Link-EZ支持在线烧录功能。

在AT32 MCU升级阶段,通过ISP Application和IAP Application工具与对应传输接口来对AT32 MCU进行升级更新,灵活调整编译程序选项和优化性能,能够协助用户拓展更多元的应用。

32 位MCU的市场发展,“产品+生态”才是可持续发展的硬实力,雅特力将持续研发高性能、高稳定性、低功耗MCU产品,不断完善开发生态,主打强大的平台概念,为用户提供具有一流竞争力的MCU产品和高质量的使用体验。

来源:AT32 MCU 雅特力科技

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 39

页面

订阅 RSS - 雅特力