武汉芯源

2023年11月,武汉芯源半导体(以下简称“武汉芯源”) 的Cortex®-M0+内核的CW32A030C8T7车用MCU(微控制器)在广电计量的助力下顺利通过了车规级验证,这是武汉芯源半导体首款通过AEC-Q100车规标准的主流通用型车规MCU产品。

1.png

测试声明

车用MCU对于新能源汽车的意义

MCU在电动汽车电机控制中扮演着关键角色。它们是电机控制单元的核心组件,负责执行复杂的算法、监测传感器数据、调整电机参数并与其他车辆系统通信。以下是MCU在电动汽车电机控制中的几个主要作用:

1、高性能计算:MCU具备强大的计算能力,能够实时执行复杂的控制算法,确保电机的高效运行。

2、丰富的外设接口:MCU具有多个接口,应用于车身控制、车用照明、智能座舱、辅助驾驶及电机电源等多种电气化车用场景,为汽车电子领域带来更丰富的智能体验。

3、电源管理:MCU还管理电机控制单元的电源,确保其稳定运行。它可以监测电池电压,防止过充和过放,并执行能源管理策略,以提高能源效率。

MCU的车规级验证

广电计量严格按照AEC-Q100标准,为武汉芯源CW32A030C8T7车用MCU进行了包括高温工作寿命试验(HTOL)、早期失效率试验(ELFR)、静电放电人体模型(HBM)、静电放电充电装置模型(CDM)、高温闩锁试验(LU-HT)、电磁兼容试验(EMC)在内的19项测试。经过数月测试,产品顺利通过AEC-Q100测试考核,成为首批通过车规认证的国产车载MCU之一。

AEC-Q100测试考核是汽车电子委员会(Automotive Electronics Council)制定的规范,主要针对车载应用的芯片进行严格的质量与可靠性确认,以提高车载电子的稳定性和标准化。

由于车规级芯片在可靠性、安全性、使用寿命方面的要求高于消费级、工业级芯片,AEC-Q100测试考核门槛高、测试项目覆盖广、标准极为严苛,是芯片产品进入汽车领域的重要通行证之一。

CW32A030C8T7车规MCU能通过AEC-Q100较长周期下严格的可靠性测试和评估,符合车用电子高可靠性和稳定性要求,可用于环境温度范围-40°C~105°C的大部分车载应用环境。

2.png

武汉芯源产品介绍

来源:广电计量半导体服务

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

围观 16

近日,武汉芯源半导体正式发布首款基于Cortex®-M0+内核的CW32A030C8T7车规级MCU,这是武汉芯源半导体首款通过AEC-Q100 (Grade 2)车规标准的主流通用型车规MCU产品。

CW32A030C8T7通过AEC-Q100车规可靠性测试

作为武汉芯源半导体首款车规级MCU产品,CW32A030C8T7产品顺利通过AEC-Q100(Grade2)车规级可靠性测试,符合车用电子高可靠性和稳定性要求,可用于环境温度范围-40°C~105°C的大部分车载应用环境。

1.jpg

武汉芯源半导体始终将安全可靠性要求放在第一位,遵循AEC-Q100测试标准,进行了包括高温工作寿命试验(HTOL)、早期失效率试验(ELFR)、静电放电人体模型(HBM)、静电放电充电装置模型(CDM)、高温门领试验(LU-HT)、电磁兼容试验(EMC)等19项测试。同时加强产品质量管控,将质量管理渗透到产品的研发、制造、销售、技术服务等各个方面,确保产品高可靠度。

2.png

CW32A030C8T7车规MCU产品性能优势特性

1、高性能架构设计

CW32A030C8T7是基于ARM® Cortex®-M0+内核,采用Prefetch+Cache架构,以64MHz为量产测试保证,芯片配置64K字节FLASH,8K 字节RAM,128字节OTP存储器。芯片采用1.65~5.5V宽电压供电,工作温度范围-40~+105℃。

3.png

2、丰富的外设接口

为实现多样化的车身控制和互联应用,CW32A030C8T7集成了多种通信接口增强连接能力。

-支持多达三路低功耗UART、两路I2C、两路SPI接口;

-16位高级控制定时器、4组16位通用定时器,3组16位基本定时器;

-12位高精度ADC,采样速率可达1M SPS。

3、加密安全防护

增加多级程序加密安全防护,妥善保护客户知识产权。

4、超强抗干扰能力

HBM ESD、MM ESD、CDM ESD、Latch up@105℃全面达到JEDEC最高等级。

4.png

全面、高效的开发配套支持

CW32A030C8T7车规MCU配套提供样品和开发板,兼容Keil/IAR/GCC等多种主流集成开发环境(IDE),并提供CW-DAPLINK调试工具和CW-Writer高效率量产工具。开发套件软件源码、硬件参考设计、应用笔记等技术文档配套齐全,已在官网开放下载。武汉芯源半导体提供线上公众号(武汉芯源半导体、CW32生态社区)、芯源CW32 MCU技术论坛等多个渠道的技术交流与支持服务。

广泛的车身应用,丰富汽车电子智能体验

CW32A030C8T7车规MCU遵循车规级设计理念和生产标准,兼具通用高性能、硬件高安全性和车规级高可靠性等优势特性,满足车规级产品对恶劣工作环境的适应性要求,帮助客户加速方案开发、缩短产品量产时程。可应用于车身控制、车用照明、智能座舱、辅助驾驶及电机电源等多种电气化车用场景,为汽车电子领域带来更丰富的智能体验。

武汉芯源半导体正式进入车规MCU市场

AEC-Q100测试考核是汽车电子委员会(Automotive Electronics Council)制定的规范,主要针对车载应用的芯片进行严格的质量与可靠性确认,以提高车载电子的稳定性和标准化。

由于车规级芯片在可靠性、安全性、使用寿命方面的要求高于消费级、工业级芯片,AEC-Q100测试考核门槛高、测试项目覆盖广、标准极为严苛,是芯片产品进入汽车领域的重要通行证之一。

CW32A030C8T7车规MCU能通过AEC-Q100较长周期下严格的可靠性测试和评估,代表该产品能够在恶劣的汽车环境下稳定运行,可确保汽车的安全性和可靠性,能够获得汽车制造商的认可。

有关芯片样品申请及购买事宜,请咨询武汉芯源半导体的销售和官方代理商。更多MCU详细信息,请访问武汉芯源半导体官方网站:https://www.whxy.com

来源:武汉芯源半导体

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

围观 13

随着工业技术的发展,单片机在许多领域都发挥了重要的作用。在电焊机中应用单片机,通过编写特定的程序,可以实现自动化控制、提高焊接质量和效率。

  1.png

电焊机是一种用于金属焊接的设备,利用电弧热将金属熔化实现焊接。电焊机主要由电源、控制器和焊接头组成,其中电源提供高电压、大电流的电能,控制器负责控制电源的通断和调节焊接参数,焊接头则将电能转化为热能,实现金属的熔化和焊接。‍‍

电焊机按工作原理可分为电弧焊机、氟弧焊机、脉冲焊机等,本文将介绍武汉芯源半导体CW32F030系列单片机在电弧焊机中的应用。

CW32F030系列MCU在电焊机的应用框图

2.png

方案特色:

●可实现对电焊机的自动化控制,可以通过输入接口设置焊接参数,通过输出接口控制电源的通断和调节焊接参数,实现自动焊接;

●对焊接过程进行实时监控,通过对焊接电流、电压等参数的采样和处理,可以实现焊接质量的自动检测和评估,保证焊接质量;

●对电焊机的工作状态进行监测和记录,可以实现故障自动诊断和报警,方便维修和维护;

●对电焊机的功耗进行控制,可以实现能源的节约和节能减排。

焊接工业现场的干扰性太强,所以对MCU的抗干扰有很高要求。武汉芯源半导体的MCU全部ESD可靠性达到国际标准最高等级,HBM ESD通过8KV测试,具备超强抗干扰能力。

3.png

同时,单片机对焊接过程进行实时监控,需要对焊接电流、电压等参数进行采样和处理,对单片机的ADC要求极高。武汉芯源半导体的CW32F030系列MCU可达到12位高精度ADC,可达到±1.0 LSB INL,11.3 ENOB(有效位数)。

4.png

单片机在电焊机中的应用,不仅可以实现自动化控制,提高焊接质量和效率,还可以实现节能控制和智能诊断等功能。随着科技的不断进步和应用技术的不断发展,单片机在电焊机中的应用将会更加广泛和深入,为工业生产带来更多的便利和效益。

来源:武汉芯源半导体

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

围观 27

近年来,新能源汽车快速发展和普及,但随之而来的“续航焦虑”也困扰着广大车主。于是,可随身携带、只要有标准插座就能为“爱车”充电的便携式充电枪进入消费者视野。

模式二便携式充电枪作为即插即用型充电设备,结构简洁、操作简单,不受充电场地限制,满足电动车主随时充电的应用诉求。此外,模式二便携式充电盒在使用过程中性能稳定,相比模式一无保护式充电,模式二充电安全有保障。

1.png

图为:思皓新能源车的便携充电枪

思皓创建于2018年4月24日,此品牌为安徽江淮汽车集团股份有限公司与大众汽车集团(中国)合资成立的大众汽车(安徽)有限公司(原名江淮大众汽车有限公司)发布全新品牌。同时也是大众旗下子品牌之一。

通过拆解思皓新能源车的便携充电枪,我们发现武汉芯源半导体的CW32F030C8T6在其作为核心主控芯片。

2.png

3.png

作为充电枪的核心部件,不仅要求充电安全可靠,而且还需要适应从东北极寒到三亚酷热的各种使用环境,这对MCU要求极高,这说明武汉芯源半导体的CW32F030C8T6单片机已得到一线主机厂的认可。

武汉芯源半导体的CW32F030C8T6,支持-40~105℃的超宽温度范围,也有已公开HBM ESD 8KV、EFT 4KV等测试结果,全部ESD和Latch Up指标达到国际标准最高等级,可以确保充电枪安全稳定的工作。

CW32F030C8T6在充电枪中的应用框图

4.png

CW32F030C8T6特色及优势点‍

√ARM Cortex-M0+ 32位内核;

√12位高精度ADC;

√105℃耐温,适用多种工业/汽车应用

√支持DeepSleep模式,节省功耗;

√8KV ESD,4KV EFT抗干扰,从容应对EMC;

√3路UART,调试更方便

有关芯片购买事宜,请咨询武汉芯源半导体的销售和官方代理商。更多MCU详细信息,请访问武汉芯源半导体官方网站:https://www.whxy.com

来源:武汉芯源半导体

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

围观 26

一、波特率介绍

波特率表示单位时间内传送的码元符号的个数,它是对符号传输速率的一种度量,它用单位时间内载波调制状态改变的次数来表示,即指一个单位时间内传输符号的个数(Baud,单位符号:Bd)。

CW32L083 内部集成 6 个通用异步收发器 (UART),支持异步全双工、同步半双工和单线半双工模式,支持硬件数据流控和多机通信;可编程数据帧结构,可以通过小数波特率发生器提供宽范围的波特率选择。UART 控制器工作在双时钟域下,允许在深度休眠模式下进行数据的接收,接收完成中断可以唤醒 MCU 回到运行模式。

波特率发生器框图如下:

1.png

二、波特率设置

1.同步半双工模式下

波特率计算公式:BaudRate = UCLK / 12

其中,UCLK 是 UART 的传输时钟,其来源可以是 PCLK、LSE 或 LSI,通过控制寄存器 UARTx_CR2 的 SOURCE 位域来选择。

2.异步模式下

UART 的接收和发送波特率是相同的,由同一个波特率发生器产生。波特率发生器支持 16 倍采样、8 倍采样、4 倍采样和专用采样这 4 种采样模式,具体的采样模式通过控制寄存器 UARTx_CR1 的 OVER 位域来选择。UCLK是 UART的传输时钟,其来源可以是 PCLK、LSE或 LSI,具体来源通过 UARTx_CR2.SOURCE来选择。BRRI(UARTx_BRRI[15:0]),是波特率计数器的整数部分,可设置范围为 1 ~ 65535。BRRF(UARTx_BRRF[3:0]),是波特率计数器的小数部分,可设置范围为 0 ~ 15。

OVER = 00,设置 16 倍采样,波特率计算公式:BaudRate = UCLK / ( 16×BRRI + BRRF )

OVER = 01,设置 8 倍采样,波特率计算公式:BaudRate = UCLK / ( 8×BRRI )

OVER = 10,设置 4 倍采样,波特率计算公式:BaudRate = UCLK / ( 4×BRRI )

OVER = 11,设置专用采样,波特率计算公式:BaudRate = ( 256×UCLK ) / BRRI

专用采样仅适合传输时钟源为 LSE 或者 LSI 时,进行 2400bps、4800bps 或 9600bps 波特率下的 UART 通信。

UCLK 为 24MHz 波特率设置示例(OVER = 00)

2.png

UCLK 为 32.768kHz 波特率设置示例(OVER = 11)

3.png

3.波特率自动检测 

CW32L083 使用 UART 作为从机进行通信时,可以通过自动波特率检测的方法,自动适应 UART 主机的波特率。可将通用定时器(GTIM)的输入捕获来源配置为 UART 的 RXD 信号,或者将 GTIM 的门控信号配置为 UART 的 RXD 信号,配合使用相关软件算法测量 UART 的波特率,以实现波特率自适应。

三、波特率计数器寄存器定义

1.UARTx_BRRI 波特率计数器整数部分寄存器

Address offset: 0x0C  Reset value: 0x0000 0000

4.png

2.UARTx_BRRF 波特率计数器小数部分寄存器

Address offset: 0x10  Reset value: 0x0000 0000

5.png

四、波特率设置举例

当传输时钟 UCLK 的频率为 24MHz 时,要求配置 BaudRate = 115200 bps,计算 16×BRRI + BRRF = 24000000 / 115200 = 208.33 则: 

BRRI = 208.33 / 16 = 13.02,最接近的整数是:13(0x0D) 

BRRF = 0.02×16 = 0.32,最接近的整数是:0(0x00) 

即需要设置 UARTx_BRRI 为 0x0D,UARTx_BRRF 为 0x00 此时,实际波特率 BaudRate = 115384.62 bps,误差率为 0.16%。

来源:武汉芯源半导体

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

围观 29

4月25-28日,2023年中国国际表计行业年度大会顺利举办。在这次展会中,武汉芯源半导体携CW32家族产品,为表计行业参观者展示了燃气表、水表、电表、可燃气体报警器等表计产品应用方案,以及料位开关、温控器、无刷电机等工业类应用方案,吸引了专业用户、外国友人、主办方媒体的驻足咨询了解。

1.png

2.png

3.png

4.png

同时,武汉芯源半导体还受邀出席了“2023年数智四表创新技术和产品开放日大会”,技术总监张总进行了主题为“造芯新势力-CW32系列MCU”的精彩分享,从智能表计市场对MCU的需求、CW32在智能表计市场的应用、CW32在智能表计市场的优势等方面进行了介绍。

5.jpg

技术总监张总表示,相比其他行业,表计行业需要MCU长时间持续稳定运行,通常要求十年以上。所以,智能表计市场对MCU的可靠性和稳定性有很高的要求,需要MCU具有高等级的ESD和EFT等可靠性指标,可以确保产品整个生命周期稳定工作。而CW32已公开HBM ESD 8KV等测试结果,全部ESD和Latch Up指标达到国际标准最高等级。

6.png

此外,智能表计市场对MCU有着极其苛刻的超低功耗要求,需要nA级超低待机功耗、uS级高速唤醒、uA/MHz级高能效比。CW32L031低功耗系列产品支持Sleep和DeepSleep两种低功耗工作模式,在最低功耗模式下工作电流仅为450nA,从DeepSleep模式下唤醒时间仅为4us,能够满足表计市场的需求。

7.png

最后,智能表计市场对MCU的生态环境和服务支持也是有要求的,需要完备的软硬件工具链以及技术支持。CW32提供完善的研发资料,配套工具,支持主流开发环境,配备专业技术交流论坛等,也可以很好的支持表计应用。

8.png

9.png

10.png

具体到表计市场的应用,技术总监张总介绍了CW32在智能水表、智能燃气表以及智能电表上的应用。

11.png

12.png

13.png

这也体现了低功耗CW32L系列已得到部分智能表计市场的认可。同时,武汉芯源半导体也将紧跟市场的需求,深入调研用户需求,将给客户提供更丰富的产品选择,欢迎更多行业伙伴前来洽谈合作。

来源:武汉芯源半导体

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

围观 15

脉冲宽度调制(PWM),即“Pulse Width Modulation”的缩写,简称脉宽调制,是在数字电路中达到模拟输出效果的一种手段,常见应用电机调速,照明灯调光等。

在MCU中,主要通过定时器单元来时实现PWM输出,以CW32L083VxTx为例,LPTIM,GTIM,ATIM都可以输出PWM信号。

低功耗寄存器(LPTIM)中,LPTIM 在连续模式下可以输出 PWM 波,在单次模式下可以输出单脉冲波或单次置位波形。连续模式下输出PWM波的周期和占空比由自动重载寄存器 LPTIM_ARR 和比较寄存器 LPTIM_CMP决定。

通用定时器(GTIM)中,通过设置输出比较功能,可以产生一个由重载寄存器 GTIMx_ARR 确定频率、由比较捕获寄存器 GTIMx_CCRy 确定占空比的PWM信号。每个GTIM对应有4个GTIMx_CCRy寄存器,可输出4路PWM信号。向 GTIMx_CCMR 寄存器中的 CCyM 位写入 0xE 或 0xF,能够独立地控制每个 CHy 输出PWM信号的波形。

●设置 GTIMx_CMMR.CCyM 为 0xE,当 GTIMx_CNT >= GTIMx_CCRy 时,CHy 通道输出高电平,否则输出低电平。如果 GTIMx_CCRy 中的比较值大于重载寄存器 GTIMx_ARR 的值,则 CHy 通道输出保持为低电平;如果 GTIMx_CCRy 中的比较值为 0,则 CHy 通道输出保持为高电平。

●设置 GTIMx_CMMR.CCyM 为 0xF,当 GTIMx_CNT < GTIMx_CCRy 时,CHy 通道输出高电平,否则输出低电平。如果 GTIMx_CCRy 中的比较值大于重载寄存器 GTIMx_ARR 的值,则 CHy 通道输出保持为高电平;如果 GTIMx_CCRy 中的比较值为 0,则 CHy 通道输出保持为低电平。

下图是 GTIMx_CMMR.CCyM 为 0xE、GTIMx_ARR 为 0x08 时PWM波形实例图:

1.png

高级定时器(ATIM)中有独立PWM输出模式和互补PWM输出两种模式。

●独立PWM模式可独立输出6路PWM,PWM的周期和占空比由重载寄存器ATIM_ARR和比较捕获寄存器ATIM_CHxCCRy寄存器确定。PWM 输出模式需要设置控制寄存器 ATIM_CR、滤波寄存器 ATIM_FLTR 和死区寄存器 ATIM_DTR,如下表所示:

2.png

另外比较通道 CHx 的 A 路可通过控制寄存器 ATIM_CR 的 PWM2S 位域配置为单点比较或双点比较 工作方式。在单点比较方式下,使用比较捕获寄存器 ATIM_CHxCCRA 控制比较输出;在双点比较方式下,使用 比较捕获寄存器 ATIM_CHxCCRA 和 ATIM_CHxCCRB 控制比较输出。比较通道的 B 路只能使用单点比较,由比较 捕获寄存器 ATIM_CHxCCRB 控制比较输出。

●互补PWM模式可输出3对互补输出的PWM波形,通常用于电机控制。设置控制寄存器 ATIM_CR 的 COMP 位域为 1 选择互补 PWM 输出模式,比较输出通道 CHxA 与通道 CHxB 产生一 对互补 PWM。在互补 PWM 输出模式下,通道 CHx 的 A 路控制输出信号, B 路比较捕获寄存器 CHxCCRB 不再控制 CHxB 输出,但仍可用作内部控制,比如触发 ADC 或 DMA。

另外互补 PWM 输出模式,也可通过控制寄存器 ATIM_CR 的 PWM2S 位域选择单点比较或双点比较工作方式:单点比 较时使用比较捕获寄存器 ATIM_CHxCCRA 控制比较输出;双点比较时使用比较捕获寄存器 ATIM_CHxCCRA 和 ATIM_CHxCCRB 控制比较输出。

实例演示

以CW32L083VxTx的通用定时器GTIM1为例,实现PWM输出例程:GTIM1的CH3通道(PB08)输出周期为500uS,占空比递增递减循环改变的PWM信号。

1.配置不同的系统时钟。

void RCC_Configuration(void)
{
    /* 0. HSI使能并校准 */
    RCC_HSI_Enable(RCC_HSIOSC_DIV6);
    /* 1. 设置HCLK和PCLK的分频系数 */
    RCC_HCLKPRS_Config(RCC_HCLK_DIV1);
    RCC_PCLKPRS_Config(RCC_PCLK_DIV1);
    /* 2. 使能PLL,通过HSI倍频到48MHz */
    RCC_PLL_Enable(RCC_PLLSOURCE_HSI, 8000000, 6);     
    // PLL输出频率48MHz
    RCC_PLL_OUT();
    ///< 当使用的时钟源HCLK大于24M,小于等于48MHz:设置FLASH 读等待周期为2 cycle
    ///< 当使用的时钟源HCLK大于48M,小于等于72MHz:设置FLASH 读等待周期为3 cycle    
    __RCC_FLASH_CLK_ENABLE();
    FLASH_SetLatency(FLASH_Latency_2);
    /* 3. 时钟切换到PLL */
    RCC_SysClk_Switch(RCC_SYSCLKSRC_PLL);
    RCC_SystemCoreClockUpdate(48000000);
}

2.配置GPIO口

void GPIO_Configuration(void)                                                 
{
    /* PB08作为GTIM1的CH3 PWM 输出 */                                                                 
    __RCC_GPIOB_CLK_ENABLE();
    PB08_AFx_GTIM1CH3();
    PB08_DIGTAL_ENABLE();
    PB08_DIR_OUTPUT();
    PB08_PUSHPULL_ENABLE();
}

3.配置中断使能

void NVIC_Configuration(void)
{
    __disable_irq();
     NVIC_EnableIRQ(GTIM1_IRQn);
    __enable_irq();
}

4.配置GTIM为PWM输出功能

void PWM_OutputConfig(void)
{
    GTIM_InitTypeDef GTIM_InitStruct = {0};
    __RCC_GTIM1_CLK_ENABLE();
     GTIM_InitStruct.Mode = GTIM_MODE_TIME; /*!< GTIM的模式选择。*/
    GTIM_InitStruct.OneShotMode = GTIM_COUNT_CONTINUE;
    /*!< GTIM的单次/连续计数模式选择。*/
    GTIM_InitStruct.Prescaler = GTIM_PRESCALER_DIV16; 
    /*!< GTIM的预分频系数。*/  
    // DCLK = PCLK / 16 = 48MHz/16 = 3MHz
    GTIM_InitStruct.ReloadValue = Period * 3 - 1; /*!< GTIM的重载值。*/
    //ARR设置为1499
    GTIM_InitStruct.ToggleOutState = DISABLE;
    GTIM_TimeBaseInit(CW_GTIM1, &GTIM_InitStruct);
    //GTIM的基础参数初始化
    GTIM_OCInit(CW_GTIM1, GTIM_CHANNEL3, GTIM_OC_OUTPUT_PWM_HIGH);
    //比较输出功能初始化
    GTIM_SetCompare3(CW_GTIM1, PosWidth);
    GTIM_ITConfig(CW_GTIM1, GTIM_IT_OV, ENABLE);
    GTIM_Cmd(CW_GTIM1, ENABLE);// GTIM使能
}

5.GTIM标志清零函数

void GTIM_ClearITPendingBit(GTIM_TypeDef *GTIMx, uint32_t GTIM_IT)
{
     GTIMx->ICR = ~GTIM_IT;
}

6.GTIM 比较值设置函数

void GTIM_SetCompare3(GTIM_TypeDef *GTIMx, uint32_t Value)
{
    GTIMx->CCR3 = 0x0000FFFF & Value;
}

7.GTIM中断处理函数

void GTIM1_IRQHandler(void)
{
    /* USER CODE BEGIN */
    // 中断每500us进入一次,每50ms改变一次PosWidth
    static uint16_t TimeCnt = 0;
    GTIM_ClearITPendingBit(CW_GTIM1, GTIM_IT_OV);
    if (TimeCnt++ >= 100)    // 50ms
    {
        TimeCnt = 0;
        if (Dir)
        {
            PosWidth += 15;    // 5us
        }
        else
        {
             PosWidth -= 15;
        }
        if (PosWidth >= Period * 3)
        {
            Dir = 0;
        }
        if (0 == PosWidth)
        {
            Dir = 1;
        }
            GTIM_SetCompare3(CW_GTIM1, PosWidth);
        }
             /* USER CODE END */
}

8.主函数 

uint32_t Period = 500;    // 周期,单位us
uint32_t PosWidth = 0;    // 正脉宽,单位us
uint8_t Dir = 1;    // 计数方向 1增加,0 减少

int32_t main(void)
{
    /*系统时钟配置 */
    RCC_Configuration();
    /* GPIO配置*/
    GPIO_Configuration();
    PWM_OutputConfig();
    /* NVIC配置*/
    NVIC_Configuration();
    while(1)
    {
        /* 中断服务程序见GTIM1_IRQHandler() */
}

9.实验演示

系统时钟由HSI提供,通过PLL倍频到48MHz。GTIM1经16分频后,以3MHz的频率计数,ARR设置为1499,GTIM1的溢出周期为500us。GTIM1每500us进入一次中断,每50ms改变一次CH3的CCR寄存器的值,即改变PWM的正脉宽,步长为5us,先递增到ARR,然后递减到0,如此反复。通过示波器图像显示,PB08处的信号波的占空比随时间进行周期性变化。截取2个波形如下:

3.png

4.png

来源:武汉芯源半导体

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

围观 213

2023年2月,武汉芯源半导体超低功耗家族再添新成员——32位M0+内核MCU CW32L052系列芯片。

CW32L052 是基于 eFlash 的单芯片低功耗微控制器,集成了主频高达 48MHz 的 ARM® Cortex®-M0+ 内核、高速嵌入式存储器(最大64K字节FLASH、最大8K字节RAM),支持最多55路I/O接口。

1.png

CW32L052内部框图

外设包括:1路12位ADC,3路UART(支持LIN通信接口)、2路SPI、2路IIC、模拟电压比较器、低电压检测器、多路定时器以及最多8×36段LCD驱动器等功能模块。

CW32L052工作温度为-40℃~85℃,宽工作电压1.65V~5.5V,支持Sleep和DeepSleep两种低功耗工作模式,在DeepSleep模式下工作电流仅为500nA,从这一模式下唤醒时间仅为4us。

Sleep 模式

在 Sleep 模式下,CPU 停止运行,所有外设保持工作,并且可以在发生中断或事件的时候唤醒 CPU。

DeepSleep 模式

DeepSleep 用于实现最低功耗,CPU 停止运行,高速时钟模块(HSE、HSIOSC)自动关闭,低速时钟(LSE、LSI、RC10K、RC150K)保持原状态不变。

当发生外部复位,或 IWDT 复位,或部分外设中断发生,或 RTC 事件发生时,芯片退出 DeepSleep 模式。

CW32L052作为广受市场欢迎的低功耗MCU的补充,继承了CW32L083优秀的设计理念与框架,并在CW32L083的基础上进行了部分精简与优化,降低成本但不妥协性能。目前已推出LQFP64、LQFP48两种封装产品,可广泛应用于物联网、便携医疗、智能家居等领域。

CW32L052 家族产品功能列表

2.png

武汉芯源半导体官方网站已经发布了CW32L052系列MCU的数据手册、用户手册、应用笔记等技术文档,以及配套的StartKit开发板资料、底层外设驱动软件库和应用例程等SDK资料。

同时,可免费提供样品,欢迎选型进行测试。

关于CW32L052更多详细信息,请访问官方网站www.whxy.com

来源:武汉芯源半导体

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

围观 15

页面

订阅 RSS - 武汉芯源