武汉芯源

CW32系列MCU的GTIM、ATIM的每个定时器都带有至少4路独立的捕获 / 比较通道,输入捕获功能可以测量输入信号的脉冲宽度或者频率。当捕获比较通道 CHy 上信号发生跳变(上升沿或下降沿)时,硬件自动将当前计数寄存器 GTIMx_CNT 的值存放到对应通道的比较捕获寄存器 GTIMx_CCRy 中,完成一次捕获。通过连续几次捕获即可完成信号脉冲宽度或者频率的测量。

功能框图如下图所示:

1.png

各个通道上触发捕获的条件由比较捕获控制寄存器 GTIMx_CMMR 决定。

2.png

当发生一次捕获时,通道 CHy 比较捕获中断标志 GTIMx_ISR.CCy 被硬件置位,如果允许中断 ( 设置中断使能寄 存器 GTIMx_IER.CCy 为 1),CPU 将响应中断服务程序。退出中断服务程序之前,应设置中断标志清除寄存器 GTIMx_ICR.CCy 为 0 以清除该标志。

输入捕获来源 

GTIM 的输入捕获来源可以是外部 GTIMx_CHy 引脚,也可以是片内其它外设,通过通用定时器输入捕获来源配置寄存器 SYSCTRL_GTIMxCAP 进行配置。当 SYSCTRL_GTIMxCAP.CHy 为 0x00 时,输入捕获信号的外部输入端口由 GPIO 复用功能寄存器 (GPIOx_AFRH 和 GPIOx_AFRL) 进行配置。当 SYSCTRL_GTIMxCAP.CHy 为 0x01 ~ 0x07 时,输入捕获信号来自片内其它外设,如下表所示:

33.png

这种配置下,可以在芯片内部实现外部输入的互联,例如将 UART 的 RXD 信号作为输入捕获来源,可以实现对 UART 波特率的自动检测。

实例演示:利用GTIM的输入捕获功能,测量PWM信号的周期和脉宽

1.初始化系统时钟

void RCC_Configuration(void)

{

__RCC_GTIM1_CLK_ENABLE();

__RCC_GPIOA_CLK_ENABLE();

RCC_HSI_Enable(RCC_HSIOSC_DIV6);

// 系统时钟设置为HSI,6分频,8MHz, PCLK、HCLK不分频, PCLK=HCLK=SysClk=8MHz

}

2.初始化GPIO

void GPIO_Configuration(void)

{

GPIO_InitTypeDef GPIO_InitStruct = {0};

GPIO_InitStruct.IT = GPIO_IT_NONE;

GPIO_InitStruct.Mode = GPIO_MODE_INPUT;

GPIO_InitStruct.Pins = GPIO_PIN_6 | GPIO_PIN_7;

GPIO_Init(CW_GPIOA, &GPIO_InitStruct);

PA06_AFx_GTIM1CH1();//设置PA06复用为GTIM1_CH1, 上升沿触发捕获

PA07_AFx_GTIM1CH2();//设置PA07复用为GTIM1_CH2,下降沿触发捕获。

}

3.配置中断服务程序

void NVIC_Configuration(void)

{

    __disable_irq();

    NVIC_EnableIRQ(GTIM1_IRQn);

    __enable_irq();

}

4.GTIM1中断服务程序:通道1的输入捕获中断获取计数值VALUE1,通道2的输入捕获中断获取计数值VALUE2,通道1的第2次输入捕获中断获取计数值VALUE3。则信号脉宽=VALUE2-VALUE1,信号周期=VALUE3-VALUE1。注意如果待测量信号的脉宽和周期较长,在计算时需要考虑定时器的溢出问题,详见定时器溢出中断处理内容。

void GTIM1_IRQHandler(void)

{

    GTIM1_IRQHandlerCallBack();

}

void GTIM1_IRQHandlerCallBack(void)

{

    static uint8_t stage = 0;

    static uint32_t cnt = 0;

    if (GTIM_GetITStatus(CW_GTIM1, GTIM_IT_OV))

    {

        GTIM_ClearITPendingBit(CW_GTIM1, GTIM_IT_OV);

        if (stage == 1)

        {

            cnt++;

        }

    }

    if (GTIM_GetITStatus(CW_GTIM1, GTIM_IT_CC1))

    {

        if (stage == 0)

        {

            PWMPeriod = GTIM_GetCapture1(CW_GTIM1);

            stage = 1;

        }

        else if (stage == 1)

        {

            PWMPeriod = GTIM_GetCapture1(CW_GTIM1) + cnt * 65536 - PWMPeriod;

            stage = 0;

            cnt = 0;

        }

        GTIM_ClearITPendingBit(CW_GTIM1, GTIM_IT_CC1);

    }

    if (GTIM_GetITStatus(CW_GTIM1, GTIM_IT_CC2))

    {

        if (stage == 1)

        {

            PWMWidth = GTIM_GetCapture2(CW_GTIM1) + cnt * 65536 - PWMPeriod;

        }

        GTIM_ClearITPendingBit(CW_GTIM1, GTIM_IT_CC2);

    }

}

5.主程序:使用GTIM1的CH1和CH2两个通道对PWM输入信号进行测量,在捕获中断服务程序中完成信号的周期和脉宽计算。

static uint32_t PWMPeriod = 0;

static uint32_t PWMWidth = 0;

int32_t main(void)

RCC_Configuration();//System Clocks Configuration 

     GPIO_Configuration();//GPIO Configuration 

     NVIC_Configuration();//NVIC Configuration 

GTIM_InitTypeDef GTIM_InitStruct = {0};

GTIM_ICInitTypeDef GTIM_ICInitStruct = {0};

GTIM_InitStruct.Mode = GTIM_MODE_TIME; /*!< GTIM的模式选择。*/

GTIM_InitStruct.OneShotMode = GTIM_COUNT_CONTINUE; 

/*!< GTIM的单次/连续计数模式选择。*/

GTIM_InitStruct.Prescaler = GTIM_PRESCALER_DIV1; /*!< GTIM的预分频系数。*/

GTIM_InitStruct.ReloadValue = 0xFFFF; /*!< GTIM的重载值。*/

GTIM_InitStruct.ToggleOutState = DISABLE;

GTIM_TimeBaseInit(CW_GTIM1, &GTIM_InitStruct); //GTIM的基础参数初始化


GTIM_ICInitStruct.CHx = GTIM_CHANNEL1;// GTIM 输入捕获的配置参数

GTIM_ICInitStruct.ICFilter = GTIM_CHx_FILTER_NONE;

GTIM_ICInitStruct.ICInvert = GTIM_CHx_INVERT_ON;

GTIM_ICInitStruct.ICPolarity = GTIM_ICPolarity_Rising;

GTIM_ICInit(CW_GTIM1, &GTIM_ICInitStruct);//输入捕获功能初始化


GTIM_ICInitStruct.CHx = GTIM_CHANNEL2;

GTIM_ICInitStruct.ICPolarity = GTIM_ICPolarity_Falling;

GTIM_ICInit(CW_GTIM1, &GTIM_ICInitStruct);


GTIM_ITConfig(CW_GTIM1, GTIM_IT_CC1 | GTIM_IT_CC2 | GTIM_IT_OV, ENABLE);

GTIM_Cmd(CW_GTIM1, ENABLE);

while (1)

    {

    }

}

6.演示说明:

将同一个PWM输入信号引入到PA06和PA07上,运行程序,使用GTIM1的CH1和CH2两个通道对PWM输入信号的脉宽和周期进行测量。 

来源:武汉芯源半导体

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

围观 151
围观 20

随着12月7日国家“新十条”防疫政策的发布,动态清零时代已成过去, 各地防疫全面放开的情况下,各地新冠阳性人员比例先后进入高峰期。其中大部分人员经过感染和自然免疫的过程可以安全度过感染和痊愈的过程, 但对少部分有基础疾病或免疫力低的人群,会有转入重症的可能。

有医生建议,脆弱人群应尽早在发病初期进行抗病毒药物治疗,并准备指夹血氧仪进行重症监测。为了保障家里老人的安全,不少家庭都开始着手购置家用血氧仪。一时间血氧仪供应紧俏,成为继抗原检测试剂、莲花清瘟以及布洛芬之后,又一脱销的防疫产品。

武汉芯源半导体作为国内优秀的半导体设计厂商,可提供基于CW32F003E4P7的便携指夹式血氧仪全套解决方案,实现0.2%的弱灌注检测能力。

1.png

CW32F003E4P7血氧仪方案特点:

1、低弱灌注性能,最低可达到0.2%。(可保证在信号弱、儿童、失血多、肢体冰凉的低灌注的患者进行准确测量)

2、光强自动调节。(可根据病人的手指大小自动调节发射光强,保证信号质量更好,功耗更低,可以使用不同大小的手指、不同皮肤颜色)

3、优秀的环境光抵消功能。(可以在室内以及光线较强的临床环境使用)

4、TFT显示,采用0.96inch TFT彩屏显示

5、可测量血样饱和度SpO2、脉率PR和灌注指数PI

6、可进行屏幕方向翻转。

7、5s快速出测量结果

8、血氧饱和度和脉率超限报警

9、无手指自动关键

10、电池电量报警以及电池电量低自动关机

CW32血氧仪方案技术规格

2.png

便携指夹式血氧仪外形小巧方便携带并且使用方便,一般老年人都可以自己快速操作。指夹式血氧仪测血氧不再需要取血,轻轻往手指上一夹就可以知道自己的血氧、脉搏等指标,在家就可以随时随地检查自己的健康状况,为广大市民提供便捷。

3.png 

4.png

不同于市面类似解决方案的是,CW32F003E4P7属于高性价比32位MCU,内置FLASH容量仅20KByte。芯片成本得到有效控制的同时,MCU集成的高精度模拟功能依然支持实现卓越的血氧检测能力,可以保证在信号弱、儿童、失血多、肢体冰凉的低灌注的患者进行准确测量。

CW32F003在指夹式血氧仪应用中的关键优势有:

1、12位SAR ADC可实现ENOB 11.3位

2、内置电压参考

3、宽电压工作范围1.65V ~ 5.5V

4、高性能低成本

在血氧仪方案的应用上,武汉芯源半导体提供CW32F003单片机的用户手册、设计文档、配套SDK等丰富完备的资料,帮助客户工程师快速上手,能有更多的精力投放到终端产品系统化实现当中,创造出更具市场竞争优势的产品。

有关血氧仪方案相关问题,请咨询武汉芯源的销售和官方代理商。更多MCU详细信息,请访问武汉芯源官方网站:https://www.whxy.com

来源:武汉芯源半导体

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

围观 34

在政策引领支持、市场需求和技术发展的全面推动下,智能表计市场高速发展。目前我国表计市场仍处于传统机械表和智能表共存的局面,并且水、电、气、热四大智能表的发展程度也各不相同。而表计智能化的浪潮中,元器件无疑是举足轻重的一环。

MCU在表计行业的应用发展进程

1.png

表计行业作为一个专有的应用行业,兼具消费行业和工业行业的一些特性,既具备消费行业广泛的市场前景,同时又具有工业行业对MCU产品的稳定性、可靠性的更高要求。同时,智能表计行业也是联网化比例较高的一个应用场景,对MCU产品的功能、性能、可靠性、低功耗等要求也更高。

相比可穿戴、智能家居、消费电子类等行业,表计行业需要MCU 365天、24小时全天候持续稳定运行,并且需要长期运行10~16年,这对MCU的可靠性和稳定性有很高的要求,这也可以理解为表计行业有较高的技术门槛。

燃气表产品算法和功能相对比水表复杂,对表计产品的升级功能也有一定要求,除了MCU产品的低功耗特性外,还要有较大的存储空间来进行OTA升级备份处理。同时,智能燃气表除了机械数字显示外,还需要LCD段码屏显示,这需要MCU支持段码屏驱动模块。因此燃气表对MCU产品的要求更高一点。

2.png

武汉芯源半导体MCU芯片在智能燃气表领域的应用也迎来了快速的发展,已应用于相关产品方案。今天介绍的这款产品就是武汉芯源半导体CW32L083在智能燃气表的应用方案。

3.png

燃气表控制板方案特色:

01)采用NB-IoT 技术,满足物联网燃气表对小数据流、低通讯频率、低功耗的需求的各种需求,且自身具备的广覆盖、低成本、大容量等优势;

02)优异的低功耗技术平台,实现超低的运行功耗和待机功耗,保证燃气表系统实现长效、稳定的运行;

03)最大支持256K FLASH+24K RAM的大资源配置,适配智能燃气表方案上的远传通信、操作系统、在线升级以及多功能化的发展趋势;

04)集成了LCD驱动、带校准补偿的RTC,高精度ADC,以及丰富的UART、 LPUART、I2C、SPI等通用外设接口,其中LPUART支持低功耗下多种模式唤醒;

05)具有强大的电源管理系统(支持 PDR、 BOR、LVD 等电源管理单元),当燃气表电池电压低于一定阀值时可以进行紧急数据保存,确保产品处于安全状态;

06)内置安全加密模块(支持AES硬件运算单元 128/192/256-bit,支持 ECB/CBC/CTR/GCM/ GMAC 模式),配合应用方案可实现数据的安全化;

CW32L083VCT6在燃气表的应用框图

4.png

CW32L083VCT6特色及优势点:

● ARM Cortex-M0+ 32位内核;

● 最多256K Flash,24K SRAM,数据可保持25年之久;

● 内置高达8x52段LCD驱动;

● VLCD电荷泵,供电电压下降不影响显示对比度;

● 支持低功耗模式Deep Sleep,含六路低功耗UART;

● 内置独立校准的RTC,允许独立关断各外设时钟;

● 内部集成IR调制器,最高数据速率 115.2kbps;

武汉芯源半导体低功耗MCU芯片CW32L083系列具备超低功耗、高可靠性、资源丰富等特点,在智能燃气表应用方面,可以更高效进行数据的采集、显示、存储、传输等一系列功能。

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

来源:武汉芯源半导体

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

围观 10

武汉芯源全新RF系列芯片CW32R030正式发布,CW32R030是基于武汉芯源自主MCU与磐启微电子的2.4G射频前端的SIP芯片,相对于分立器件方案更具成本优势,采用6mm×6mm×0.75mm超小尺寸QFN48封装,除了缩小PCB尺寸,同时也降低了射频布局难度,满足客户不同的应用领域以及不同的产品规格。

图:CW32R030内部框图

1.png

CW32系列MCU在上市以来,已经广受市场好评。此次推出CW32R030系列是对通用单片机市场的补充,也表明了武汉芯源持续投入物联网无线通信市场的决心。CW32R030支持2400MHz~2483MHz通信频段,兼容BLE及XN297L数据包,可编程输出功率高达+10dBm,拥有-88dBm良好的接收灵敏度,支持自动应答及自动重传功能。结合相关例程和SDK,能够在极少数外围器件的支持下方便的实现手机APP或小程序与MCU以及MCU之间的短距离通讯。  

图:CW32R030射频前端功能框图

2.png

CW32R030内置Cortex-M0+内核,最高主频64MHz,FLASH容量为64KB,SRAM容量为8KB;外设主要包括:1路12位ADC、3路UART、1路SPI、2路IIC以及多路定时器等功能模块。非常适合各种无线产品应用领域,比如:遥控器、电子烟、无人机、玩具、电子围栏、电子标签、低端称、照明、门锁、键盘鼠标等产品。

图:CW32R030 家族产品功能列表

3.png

武汉芯源官方网站已经发布了CW32R030的数据手册、用户手册、应用笔记等技术文档,以及配套的StartKit开发板资料、底层外设驱动软件库和应用例程等SDK资料,以方便用户开展产品评测,加速新产品的开发进程。

关于CW32R030更多详细信息,请访问武汉芯源官方网站:https://www.whxy.com

来源:武汉芯源半导体

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

围观 30

料位开关,主要用于容器、储罐的高、低料位、或者中间料位测量,通过螺纹或法兰,定点安装于料仓的顶部、侧面、底部,包括阻旋料位开关、音叉料位开关、电容式料位开关、射频导纳料位开关等。

“武汉芯源CW32F003系列产品在料位开关上的应用"

“武汉芯源CW32F003系列产品在料位开关上的应用"

“武汉芯源CW32F003系列产品在料位开关上的应用"

“武汉芯源CW32F003系列产品在料位开关上的应用"

智能音叉物位开关是一种新型的物位开关。叉体由晶体激励产生振动,当叉体末端被液体浸没时,振动频率发生变化,这一变化通过电子线路检测出来并输出一个开关量,从而实现液位的上、下限报警和控制。

“上海晨肯仪表有限公司研发的智能音叉料位开关"
上海晨肯仪表有限公司研发的智能音叉料位开关

音叉式物位开关被称为“电气浮子” ,凡使用浮球液位开关和由于结垢、湍流、搅动、气泡等原因不能使用浮球液位开关的场合均使用“电气浮子” 。由于音叉式物位开关无活动部件,因此无需维护和调整,是浮球液位开关的升级换代产品。

这款智能音叉料位开关使用的是武汉芯源半导体的CW32F003F4P7作为主控芯片。CW32F003F4P7作为料位开关的主控单元,通过驱动震动部件,产生一定的震荡频率,当有液位变化从而引发震荡频率发生变化,CW32F003F4P7检测该变化,输出开关信号给设备主控单元,进而感知液位情况。CW32F003F4P7也会控制外部信号的输入、输出,提示操作人员及时了解液位情况,做出准确判断。

“武汉芯源CW32F003系列产品在料位开关上的应用"

“武汉芯源CW32F003系列产品在料位开关上的应用"

其方案特色:

▼晶体激励产生振动,叉体末端被液体浸没时,振动频率发生变化;

▼可靠电子线路检测频率变化,输出一个开关量,实现液位的上、下限报警和控制;

▼产品无活动部件,无需维护和调整;

▼普通型、本安型、隔爆型,适用于不同要求的环境场合使用;

“武汉芯源CW32F003系列产品在料位开关上的应用"

CW32F003F4P7产品在料位开关应用中的优势:

▼ ARM Cortex-M0+ 32位内核;

▼ 12位精度ADC,±1 LSB;

▼ 105℃耐温,适用多种工业应用;

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

▼ 8KV ESD,抗干扰;

“W32F003F4P7在料位开关的应用框图"
W32F003F4P7在料位开关的应用框图

设备应用领域的多样化,要求MCU抗干扰强、耐温高、ADC精度高、功耗低,以便节省后期维护成本。综上可以看出,CW32系列MCU在料位开关上占有一定优势。

有关芯片购买事宜,请咨询武汉芯源的销售和官方代理商。

更多详细信息,请访问武汉芯源官方网站:https://www.whxy.com

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

围观 23

页面

订阅 RSS - 武汉芯源