MCU

MCU是Microcontroller Unit(微控制器单元)的缩写,它是一种集成了中央处理器(CPU)、存储器(ROM、RAM)、输入/输出端口(I/O)、定时器(Timer)、串行通信接口(UART、SPI、I2C等)和其他外围设备控制器的单个芯片。MCU通常用于嵌入式系统中,用于控制各种电子设备和系统。

由于其集成度高、体积小、功耗低以及成本相对较低等特点,MCU被广泛应用于各种嵌入式系统中,例如智能家居设备、医疗设备、汽车电子系统、工业自动化等。MCU的选择通常基于应用的需求,如处理性能、功耗、外设接口等因素。

从合作到创新:Arduino与芯科科技联手

Silicon Labs(芯科科技)和Arduino在2024年初即宣布达成合作,旨在通过Arduino Nano Matter开发板(基于芯科科技的MGM240系列多协议无线模块)的两阶段合作来简化Matter协议设计和应用,同时通过此一功能强大且支持人工智能和机器学习(AI/ML)硬件加速器的开发板,帮助开发人员更容易实现创新的边缘AI和ML产品,进而开启下一代物联网的崭新局面。

1740994920213198.png

在双方合作的第一阶段,Arduino发布了一个全面的Matter资源库,以及适用于芯科科技无线微控制器(MCU)的核心支持。第二阶段,Arduino Nano 产品系列新增了一款基于 芯科科技MGM240S模块的Nano Matter 开发板。合作的主要目标就是将Arduino直观易用的开发体验与芯科科技在Matter协议领域强大的射频链路(RF)和技术能力相结合,从而推动更多物联网应用的创新。

“与 Arduino 的合作展示了AI在物联网领域的变革力量。”芯科科技全球大众市场销售与应用副总裁Rob Shane表示,"通过将芯科科技先进的AI/ML硬件加速器MCU与Arduino直观的开发平台结合,我们赋能开发者打造智能、高效节能的设备,使其能够在本地进行实时计算。此次合作正在推动创新应用的发展,使其能够利用实时机器学习提升自动化、优化能源效率,并实现自适应响应。"

扩展Arduino生态系统:Matter 与边缘 AI/ML

对广大的开发者而言,Arduino一直是快速原型设计的首选平台之一。它拥有100多种硬件和软件产品,涵盖开发板、扩展板、载板和套件等多个类别。此外,其集成开发环境(IDE)支持从学生到资深专业人士的不同用户群体,使其成为物联网应用开发的理想平台。Arduino社区提供了大量可参考的开发资源,同时低成本的硬件解决方案也让其在各类应用场景中展现出高度的灵活性和可扩展性。

通过引入Matter 协议,Arduino Nano Matter结合了由AI驱动的先进智能计算,以及Matter协议提供的无缝互操作性。实时ML推理能够提升自动化水平,优化能源效率,并根据环境条件做出自适应响应。此外,它与Apple、Google 和Amazon等主流智能家居生态系统兼容,确保智能设备的可靠、智能化控制,让智能家居技术更加普及和易用。

利用ML加速器释放边缘AI的潜能

在物联网领域,“边缘计算”指的是设备本地执行计算任务,而无需将数据存储或传输到云端服务器。这种计算模式可节省电能,释放网络带宽用于其他关键操作,同时降低开发成本,并减少信号延迟。如今,计算任务正越来越接近数据生成源(如传感器节点),这一趋势被称为“微边缘”(Tiny Edge)。

芯科科技领先行业发布了一系列支持AI/ML的SoC产品,包括EFR32 xG24、xG26和 xG28系列——利用边缘计算能力加速设备处理速度并提升性能。其内置的矩阵向量处理器(MVP)可使ML推理加速高达8倍,同时功耗比MCU核心低6倍。此外,芯科科技提供TensorFlow和Simplicity Studio等开发工具,以及广泛的边缘AI生态系统支持,帮助开发者快速完成ML应用的开发和原型设计,从而缩短产品上市时间。

体验Arduino Nano Matter开发板演示

近期在 Edge AI Foundation 于奥斯汀举办的活动上,芯科科技和Arduino将展示一项创新演示,展现双方合作推动新一代智能家居设备的发展。现场观众将能体验一款基于运动识别技术的直观解决方案:一根“魔法棒(magic wand)”,用户只需在空中画出“W”(打开)或“O”(关闭)即可控制灯光的开关。

“我们与芯科科技的合作旨在为开发者带来强大且易用的技术,‘魔法棒’演示正是这一愿景的完美体现。”Arduino首席执行官Fabio Violante 表示,“通过在Nano Matter 开发板上结合 Matter、边缘 AI 和 TinyML,我们展示了物联网应用的智能化与直觉化——只需一个简单的手势,就能实现无缝的智能家居交互。这仅仅是创新与可及性结合后所能实现可能性的开始。”

该演示基于 Arduino Nano Matter,与Arduino Modulino Movement 节点连接,并搭载 6 轴加速度计和陀螺仪。Arduino Nano Matter 配备了强大的芯科科技MGM240S 无线模块,运行Matter over Thread协议,同时集成TensorFlow Lite提供的 TinyML 手势识别库。

探索基于芯科科技MGM240模块系列的Arduino Nano Matter开发板信息:https://community.silabs.com/s/share/a5UVm000000DdWbMAK/arduino-silicon-labs-nano-matter-board?language=en_US 

来源:Silicon Labs

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

围观 3

新的入门级STM32 MCU扩大存储容量,增加接口数量,支持CAN FD总线

意法半导体的 STM32C0系列微控制器 (MCU) 新增三款产品,为设计人员带来更高的设计灵活性,提供更高的存储容量、更多的接口和CAN FD选择,以增强通信能力。

1740985693276930.jpeg

STM32C0高性价比系列的新产品STM32C051配备最高64KB的闪存,适合对存储空间要求更高而STM32C031 MCU又无法满足的应用设计,最多48引脚的封装具有更多的接口和用户I/O通道。

另外两款新产品STM32C091STM32C092的闪存容量扩展到256KB,采用最多64引脚的封装。此外,STM32C092还增加了一个CAN FD接口,有了片上CAN FD接口,用户可以削减 BOM物料清单成本,简化工业通信和网络设备的硬件设计,充分利用协议升级后的灵活性、速度和有效载荷能力。

意法半导体通用 MCU 部门总经理 Patrick Aidoune 表示:“作为 STM32系列中注重成本的产品线,STM32C0系列为开发者提供很高的设计灵活性,片上闪存容量从32KB到256KB ,并集成丰富的外设接口。现在,STM32C091/C092的大容量闪存和 RAM可以让设计人员把图形用户界面软件与主应用程序都存放在微控制器上,利用 ST的TouchGFX工具创造悦目娱心的使用体验,简化开发过程。”

作为 STM32 系列经济实惠的入门级产品,STM32C0 MCU包含广泛使用的接口,例如,无晶振 USB 全速设备和USART,以及定时器和模拟/数字转换器 (ADC)。为了完善注重成本的功能组合,这个经济设计具有片上时钟,电源输入只有一个,可以节省更多的外部元件,例如,计时器、去耦电容,降低物料清单成本 (BOM)。节省外部元器件还可让PCB电路板变得更小、更简单。

STM32C0全系MCU为开发人员带来了更多的好处,包括 ST的延长产品寿命计划,确保ST的芯片在工业项目的整个生命周期内长期有货供应。作为高品质的STM32产品家族的一员,STM32C0 MCU可以简化产品级认证,例如, IEC 61508功能性安全认证。STM32C0系列与 STM32G0系列都采用 Arm® Cortex®-M0+内核,但是STM32G0系列的性能和功能更强。这两个系列 STM32 MCU有很多共同点,包括封装样式和引脚排列以及外设 IP模块,因此,这个两个系列在应用设计中可以相互替换。

STM32C0系列微控制器新产品现已投产,意法半导体网站电子商城ST eSTore 提供免费样品。

详情访问 www.st.com/stm32C0

关于意法半导体

意法半导体拥有5万名半导体技术的创造者和创新者,掌握半导体供应链和先进的制造设备。作为一家半导体垂直整合制造商(IDM),意法半导体与二十多万家客户、成千上万名合作伙伴一起研发产品和解决方案,共同构建生态系统,帮助他们更好地应对各种挑战和新机遇,满足世界对可持续发展的更高需求。意法半导体的技术让人们的出行更智能,让电源和能源管理更高效,让云连接的自主化设备应用更广泛。意法半导体承诺将于2027年实现碳中和(在范围1和2内完全实现碳中和,在范围3内部分实现碳中和)。详情请浏览意法半导体公司网站:www.st.com.cn

围观 2

Holtek新推出集成双通道感烟探测器AFE、双通道LED驱动、5V稳压和9V升压蜂鸣器驱动专用Flash MCU BA45F25343/BA45F25353/BA45F25363,适用于感烟探测报警器。

1.jpg

BA45F25343/53/63具备4K×16/8K×16/16K×16 Flash ROM、256×8/1024×8/2048×8 RAM、64×8/128×8/256×8 EEPROM、多功能Timer Module、多通道12-bit ADC、串行通信接口、低耗电LIRC和温度传感器。内建双通道感烟探测器AFE和双通道LED定电流驱动,可提高侦烟精准度并降低误报率。内建5V稳压器可用于驱动蓝光LED。内建9V升压的蜂鸣器驱动电路支持2-pin/3-pin蜂鸣片,并具有MCU失效报警功能。

BA45F25343/53/63依型号不同提供24/28-pin SSOP及48-pin LQFP等多种封装。相较于BA45F53xx系列,可支持双发双收及红蓝光驱动应用,可以满足各种感烟报警器产品需求。

来源:HOLTEK

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

围观 8

全球半导体解决方案供应商瑞萨电子(TSE:6723)近日宣布其最新推出的三款微控制器(MCU)产品群已成功获得PSA一级认证,并附带欧盟《网络弹性法案(CRA)》的合规性扩展。此次认证由Applus+实验室进行,标志着瑞萨在网络安全领域以及对即将出台的欧盟法规合规性方面迈出重要一步。

1740734545926970.jpg

获得认证的RA4L1 MCU产品群是采用Arm® Cortex®-M33(CM33)内核的32位低功耗微控制器(MCU),支持Arm TrustZone®技术,在低电压运行、低功耗和高性能之间实现了理想的平衡。其集成的低功耗功能、先进的安全引擎和通信接口使这些产品成为工业自动化、家用电器、智能家居、消费电子、楼宇/家居自动化,以及医疗/保健应用领域的理想之选。

获得认证的RA8E1和RA8E2 MCU产品群均基于Arm® Cortex®-M85(CM85)架构,专为包括工业自动化、家用电器、智能家居系统和医疗设备在内的广泛应用而设计。RA8E1 MCU产品群支持Arm Helium™技术,适用于视觉和语音AI应用;RA8E2 MCU产品群则内置图形LCD控制器,可用于先进的人机界面(HMI)解决方案。

PSA认证作为全球领先的安全框架,由Arm与行业合作伙伴于2019年共同建立。该框架已推出针对其一级认证的扩展,以满足即将实施的欧盟《网络弹性法案》合规要求。这项新法规将于2027年12月成为强制性规定,广泛适用于各种数字产品。

Daryl Khoo, Vice President of the Embedded Processing Marketing Division at Renesas表示:“我们很自豪能够站在物联网安全领域的前沿。瑞萨获得PSA一级认证及CRA合规扩展,充分彰显了我们致力于为客户提供安全、面向未来解决方案的坚定决心与承诺。”

David Maidment, senior director, market strategy at Arm表示:“随着边缘AI设备在所有市场的日益普及以及新政府法规的正式实施,安全已然成为首要任务。这不仅是确保AI安全部署的关键,更是保障企业和消费者权益的重要防线。PSA认证等举措是推动强大设备安全的基础,祝贺瑞萨的产品获得这些新认证,展现了其在AI时代的安全领域卓越地位。”

Jose Ruiz, Cybersecurity BU Director at Applus+ Laboratories补充:“我们致力于提供网络安全评估解决方案,以增强市场信任并帮助供应商遵守法规要求。其中降低网络安全认证的碎片化是达成这一目标的关键。我们肯定PSA认证在与其它私有方案及政府要求保持一致方面所做出的努力。”

PSA一级认证还提供额外的扩展,以符合欧盟RED和英国PSTI法规。这两项法规均适用于连接设备和物联网产品,进一步提升了其对制造商在满足全球安全标准层面的价值。此外,瑞萨MCU还支持对信任根的物理保护,RA8D1、RA8M1和RA8T1系列产品获得了PSA 3级RoT组件认证,进一步证明了瑞萨对安全的长期承诺。更多信息,请点击文末阅读原文查阅。

瑞萨MCU优势

作为全球卓越的MCU产品供应商,瑞萨电子MCU近年来的平均年出货量超35亿颗,其中约50%用于汽车领域,其余则用于工业、物联网以及数据中心和通信基础设施等领域。瑞萨电子拥有广泛的8位、16位和32位产品组合,所提供的产品具有出色的质量和效率,且性能卓越。同时,作为一家值得信赖的供应商,瑞萨电子拥有数十年的MCU设计经验,并以双源生产模式、业界先进的MCU工艺技术,以及由250多家生态系统合作伙伴组成的庞大体系为后盾。

关于Applus+集团

Applus+是全球测试、检验和认证领域的领先公司之一。我们帮助客户提升资产和运营的质量与安全性,同时保障其环境绩效。我们拥有一支由26,000多名专业人员组成的高素质团队,能够在超过65个国家的众多领域确保卓越运营。我们致力于技术开发、数字化和可持续性。

我们的实验室部门在欧洲、亚洲和北美洲的多学科实验室网络中提供测试和认证服务。我们在全球范围内为各种计划提供通用标准EUCC和CCRA评估,包括NIAP列表与SOG-IS技术领域、FIPS 140-3、LINCE、IEC 62443、EN 18031、RED,以及支付、汽车、工业、医疗设备和国防等多样化行业。我们的网络安全实验室为ICT产品、组件和系统的开发人员带来支持,证明其符合适用标准。敬请访问:

http://www.appluslaboratories.com

关于RA4L1/RA8E1/RA8E2 MCU产品群的更多信息您可识别下方二维码或复制链接至浏览器中打开查看:

RA4L1 MCU产品群

https://www.renesas.com/zh/products/microcontrollers-microprocessors/ra-...

RA8E1 MCU产品群

https://www.renesas.com/zh/products/microcontrollers-microprocessors/ra-...

RA8E2 MCU产品群

https://www.renesas.com/zh/products/microcontrollers-microprocessors/ra-...

(备注)Arm和Arm Cortex是Arm Limited在欧盟和其它国家/地区的注册商标。本新闻稿中提及的所有产品或服务名称均为其各自所有者的商标或注册商标。

来源:Renesas瑞萨电子

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

围观 14

Matter是由连接标准联盟(CSA,Connectivity Standards Alliance)推动的智能家居统一标准,旨在为设备提供安全、可靠、无缝的连接体验。它基于IP的连接协议,支持多种通信方式,包括Wi-Fi、以太网、Thread(基于 IEEE 802.15.4)进行数据传输,并使用Bluetooth LE完成设备配网。

Matter的核心目标是通过跨品牌、跨平台的互操作性,消除智能家居设备间的兼容性障碍,简化用户体验,同时增强设备的安全性。

Matter的主要技术特点

1、跨平台互操作性:Matter支持Apple HomeKit、Google Home、Amazon Alexa等生态,实现设备在不同平台间的无缝连接。

2、安全与隐私:通过基于IP的通信和强大的加密技术,Matter确保数据传输的安全性,满足用户对隐私保护的需求。

3、可扩展性:支持多种设备类型(如智能照明、门锁、传感器等),为开发者提供一个统一的框架,简化开发和认证过程。

4、易于使用:Matter简化了设备的安装与配置流程,用户可轻松将新设备添加到现有 Matter网络中,极大提升了用户体验。

5、普及性强:基于IP协议在设备上实现,Matter可与现有的互联网基础设施无缝集成,降低了技术普及的门槛。

1740732235395100.jpg

(Matter支持设备类型,图片来源CSA官网)

GD32VW553系列MCU:强大的硬件支持

兆易创新GD32VW553无线系列MCU,采用了全新的开源指令集架构RISC-V处理器内核,主频可达160MHz,专为无线连接和边缘计算设计,支持Wi-Fi 6和Bluetooth LE 5.2,无缝适配Matter协议,并已通过Matter 1.2 Light设备认证。

  • Wi-Fi 6射频模块:基于IEEE 802.11ax标准,并向下兼容IEEE 802.11b/g/n标准,适用于不同网络环境,提升无线通信效率和性能。

  • Bluetooth LE 5.2射频模块:延长通信距离、提高数据吞吐量、增强安全性,同时实现更低功耗,满足智能家居设备的需求。

  • 高性能处理架构:搭载RISC-V处理器内核,主频高达160MHz,支持实时处理和高效通信。

  • 丰富的存储与接口:集成高达4MB Flash、320KB SRAM,以及32KB指令高速缓存(I-Cache),提升CPU处理效率;支持多种通用有线接口,扩展性强。

  • 多重安全特性:配置多层安全机制,简化高性能无线设备的安全连接和管理,进一步提升系统安全性。

  • 宽温与多场景支持:支持1.8V~3.6V供电电压及85℃~105℃宽温范围,适用于工业互联、智能照明、插座面板等高温场景。

1740732263181366.jpg

(GD32VW553功能框图)

通过集成Matter协议,GD32VW553系列MCU不仅能为设备间提供无缝的互操作性,还提升了用户体验的稳定性和安全性。其支持的Wi-Fi 6特性大幅提升了设备的连接效率和带宽利用率,确保在多设备环境中的优异表现。

无线模组:灵活应对多样化需求

兆易创新基于GD32VW553芯片推出了多款无线模组,为用户们提供了更多选项。

1740732283964847.jpg

这些模组具备以下优势:

  • 多种尺寸选择:支持不同空间要求的应用场景。

  • 宽温与大容量存储:满足苛刻环境与复杂应用需求。

  • 丰富的GPIO支持:灵活连接多种外设设备。

  • 天线选择:提供板载PCB天线和外部天线连接器选项,适应不同通信条件。

更多详细资料请查看兆易创新无线模组选型器https://www.gigadevice.com.cn/product/mcu/wireless-mcus/wireless-modules 

基于GD32VW553的Matter LED设备演示

兆易创新(GigaDevice)自研的Matter SDK是一套专为物联网设备开发设计的软件开发工具包,它基于Matter标准,集成常用外设驱动和产品级示例,大大简化了开发流程,助力快速开发Matter设备,支持照明、开关等多种设备类型。

以下示例中使用涂鸦智能APP对运行lighting-app示例代码,对Matter设备进行配网。

准备条件

  1. 环境搭建:安装下载好Matter环境

  2. 智能手机:本示例使用涂鸦智能App

  3. 硬件准备:1个GD32VW553H-EVAL开发板

1、在GD32VW553H-EVAL开发板上成功下载并运行lighting-app示例代码且正确连接AP后,开发板的LCD屏幕上将显示配网二维码。

注意:在手机上安装涂鸦智能App后 ,手机需和开发板接入到同一IP网络中。

1740732319455485.png

2、然后打开涂鸦智能App,点击App右上角的“+”,使用扫一扫功能扫描开发板屏幕上的配网二维码,开始commission配网 ,使用APP扫一扫添加新设备。

1740732335573058.png

3、当Commissioning成功,可以在涂鸦智能App中看到配网成功的提示。此时,GD32VW553H-EVAL开发板作为Matter设备接入系统。

1740732349641313.png

4、用户可以通过App对该Matter设备进行控制,例如操作LED灯的开关、调节亮度或更改颜色等

1740732386176914.png


关于GD32 MCU

兆易创新GD32 MCU是中国高性能通用微控制器领域的领跑者,中国最大的Arm® MCU家族,中国第一个推出的Arm® Cortex®-M3、Cortex®-M4、Cortex®-M23、Cortex®-M33及Cortex®-M7内核通用MCU产品系列,并在全球首家推出RISC-V内核通用32位MCU产品系列,已经发展成为32位通用MCU市场的核心之选。以累计超过15亿颗的出货数量,超过2万家客户数量,63个系列700余款产品选择所提供的广阔应用覆盖率稳居中国本土首位。

兆易创新GD32 MCU也是Arm®大学计划(University Program, AUP)中国首批合作伙伴、Arm® mbed™ IoT平台生态合作伙伴、RISC-V基金会战略会员、“兆易创新杯”中国研究生电子设计竞赛的冠名厂商。GD32以打造“MCU百货商店”规划发展蓝图,为用户提供更加全面的系统级产品和解决方案支撑,构建智能化开发平台和完善的产品应用生态。更多信息欢迎访问GD32MCU.com。

关于兆易创新

兆易创新科技集团股份有限公司(股票代码603986)是全球领先的Fabless芯片供应商,公司成立于2005年4月,总部设于中国北京,在全球多个国家和地区设有分支机构,营销网络遍布全球,提供优质便捷的本地化支持服务。兆易创新致力于构建以存储器、微控制器、传感器、模拟产品为核心驱动力的完整生态,为工业、汽车、计算、消费电子、物联网、移动应用以及通信领域的客户提供完善的产品技术和服务,已通过ISO26262:2018汽车功能安全最高等级ASIL D体系认证,并获得ISO 9001、ISO 14001、ISO 45001等体系认证和邓白氏认证,与多家世界知名晶圆厂、封装测试厂建立战略合作伙伴关系,共同推进半导体领域的技术创新。欲了解更多信息,请访问:www.GigaDevice.com。

*兆易、兆易创新、GigaDevice,GD32,及其标志均为兆易创新科技集团股份有限公司的商标或注册商标,其他名称或品牌均为其所有者所有。

来源:GD32MCU

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

围观 14

一、市场规模与增长

全球工业自动化市场持续扩张,电焊机作为制造业核心设备之一,其智能化、高效化需求日益凸显。据预测,2028年全球工业控制芯片市场规模将突破350亿美元,年复合增长率达5.2%。中国作为全球最大制造业基地,电焊机年产量超200万台,但传统设备存在能耗高、精度不足等问题,需通过芯片升级实现技术突破。航顺HK32F103A电焊机方案以“高性能+国产化”双轮驱动,助力客户实现从“制造”到“智造”的跨越。未来,随着工业4.0深化,该方案将持续赋能电焊机行业绿色转型与智能化升级。

二、市场应用

航顺HK32F103A电焊机解决方案广泛应用于以下场景:

工业制造:汽车零部件、五金加工等领域,通过精准电流控制提升焊接质量与效率;

新能源设备:光伏逆变器、储能系统焊接场景,保障高精度工艺要求;

轨道交通:电气化铁路接触网焊接,适应复杂电磁环境与动态负载;

传统产业升级:替代进口MCU,降低电焊机生产成本;

三、方案概述

航顺HK32F103A电焊机方案以ARM Cortex-M3内核为核心,集成12位高精度ADC、多通道外设及硬件加密引擎,实现以下功能:

动态电流调节:通过PWM脉宽调制技术,实时调整焊接电流(100-500A),精度达±1%;

温度与负载监测:内置温度传感器接口,结合CAN总线实现设备状态远程监控;

故障自诊断:过流、过压、短路保护机制;

四、方案核心优势

高性能计算:120MHz主频+512KB Flash,满足复杂算法(如谐波补偿)实时运算需求;

高可靠性设计:-40℃~105℃宽温工作,工业级ESD防护;

国产化替代:完全兼容国外F103系列,支持代码无缝迁移,降低开发成本;

能效优化:动态电压调整技术使待机功耗降低至50mW以下,综合节能;

产品系统框图

2.27.png

电焊机实物图

2.27 (2).png

航顺HK32F103A系列MCU主要规格

ARM® Cortex®-M3 内核

最高时钟频率:120 MHz

24 位 System Tick 定时器

支持 CPU Event 信号输入至 MCU 引脚,实现与板级其它 Soc CPU 的联动。

工作电压范围

双电源域:

-主电源 VDD 为 2.0 V ~ 3.6 V

-备份电源 VBAT为 1.8 V ~ 3.6 V

当主电源掉电时,RTC 可继续工作在 VBAT 电源下。

VBAT 电源域提供 84 byte 备份寄存器。

工作温度范围:-40°C ~ +105°C

VDD 典型工作电流

运行(Run)模式:19.3 mA@120MHz@3.3V

睡眠(Sleep)模式:5.6mA@120MHz@3.3V(唤醒时间:1 个机器时钟周期)

停机(Stop)模式

- LDO 低功耗模式:89.4 μA@3.3V(唤醒时间:10µs)

- LDO 全速工作模式:303 μA@3.3V

待机(Standby)模式:3.3 μA@3.3V(唤醒时间:150µs)

VBAT 典型工作电流(VDD掉电)

VBAT RTC 开启模式:2.6 μA@3.3V

VBAT RTC 关闭模式:2.1 μA@3.3V

存储器

最高 512 Kbyte 的 Flash 存储器

- 当 CPU 主频不高于 24 MHz 时,支持 0 等待总线周期。

- 具有代码安全保护功能,可分别设置读保护和写保护。

64Kbyte 片内 SRAM

FSMC 模块可外挂 1 Gbyte NOR/PSRAM/NAND/PC Card 存储器(其中,256 Mbyte 的空间可以存放指令,可用于片内 Cache 缓存)

数据安全

CRC32 校验硬件单元

时钟

外部高速时钟(HSE):支持 4 ~ 32 MHz,典型 8 MHz

外部低速时钟(LSE):32.768 kHz

片内高速时钟(HSI):8 MHz/28 MHz/56 MHz 可配置

片内低速时钟(LSI):40 kHz

PLL 输出时钟:120MHz(最大值)

GPIO 外部输入时钟:1 ~ 64 MHz

复位

外部管脚复位

电源复位(POR/PDR)

软件复位

看门狗(IWDG 和 WWDG)复位

低功耗管理复位

可编程电压检测器(PVD)

8 级检测电压门限可调

上升沿和下降沿检测可配置

通用输入输出端口(GPIO)

64 脚封装提供 51 个 GPIO 引脚,100 脚封装提供 80 个 GPIO 引脚

所有 GPIO 引脚可配置为外部中断输入

内置可开关的上、下拉电阻

支持开漏(Open-Drain)输出

支持施密特(Schmitt)迟滞输入

输出驱动能力超高、高、中、低四档可选

数据通讯接口

5 路 USART/UART(USART1/2/3,UART4/5)

3 路 SPI(SPI2/3 支持 I2S 协议)

2 路 I2C

1 路 SDIO

1 路 CAN 2.0 A/2.0B

1 路全速 USB2.0

定时器及 PWM 发生器

高级定时器:TIM1/TIM8(带死区互补 PWM 输出)

通用定时器:TIM2/TIM3/TIM4/TIM5

基本定时器:TIM6/TIM7(支持 CPU 中断、DMA 请求和 DAC 转换触发)

片内模拟电路

3 个 12 位 1 MSPS ADC(支持最多 16 路外部模拟输入通道同时使用;其中 2 路弱驱动信号输入通道和 1 路 5 V 高压信号输入通道);支持双 ADC 模式,采样率最高 2 MSPS。

2 个 12 位 DAC

1 个温度传感器

1 个 0.8 V 内部参考电压源

1 个 VBAT 电源电阻分压器(分压器输出在片内与 ADC 相连,实现 VBAT电源电压监控)

DMA 控制器

2 个独立 DMA:DMA1 和 DMA2

DMA1 提供 7 路通道

DMA2 提供 5 路通道

支持 Timer、ADC、SPI、I2C、USART、UART 等多种外设触发

CPU 调试及跟踪接口

SW-DP 两线调试端口

JTAG 五线调试端口

ARM DWT、FPB、ITM、TPIU 调试追踪模块

单线异步跟踪数据输出接口(TRACESWO)

四线同步跟踪数据输出接口(TRACEDO[3:0]、TRACECKO)

自定义 DBGMCU 调试控制器(低功耗模式仿真控制、调试外设时钟控制、调试及跟踪接口分配)

RTC 时钟计数器,配合软件记录年月日时分秒

ID 标识

每颗芯片提供一个唯一的 96 位 ID 标识

可靠性

通过 HBM2000V/CDM500V/MM200V/LU200mA 等级测试

来源:航顺芯片

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

围观 6

CKS32F107xx系列在支持正常USART功能的同时,亦支持LIN(局域互联网)模式。

LIN模式是通过设置USART_CR2寄存器的LINEN位选择。在LIN模式下,下列位必须保持为0:

USART_CR2寄存器的CLKEN位

USART_CR3寄存器的STOP[1:0],SCEN,HDSEL和IREN

LIN发送

在前几讲中,对USART发送器进行了部分介绍,其所描述的同样步骤适用于LIN主发送,但和正常USART发送有以下区别:

  • 清零M位以配置8位字长

  • 置位LINEN位以进入LIN模式。这时,置位SBK将发送13位’0’作为断开符号。然后发一位’1’,以允许对下一个开始位的检测。

LIN接收

当LIN模式被使能时,断开符号检测电路被激活。该检测完全独立于USART接收器。断开符号只要一出现就能检测到,不管是在总线空闲时还是在发送某数据帧其间,数据帧还未完成,又插入了断开符号的发送。

当接收器被激活时(USART_CR1的RE=1),电路监测RX上的起始信号。监测起始位的方法同检测断开符号或数据是一样的。当起始位被检测到后,电路对每个接下来的位,在每个位的第8,9,10个过采样时钟点上进行采样。如果10个(当USART_CR2的LBDL=0)或11个(当USART_CR2的LBDL=1)连续位都是’0’,并且又跟着一个定界符,USART_SR的LBD标志被设置。如果LBDIE位=1,中断产生。在确认断开符号前,要检查定界符,因为它意味RX线已经回到高电平。

如果在第10或11个采样点之前采样到了’1’,检测电路取消当前检测并重新寻找起始位。如果LIN模式被禁止,接收器继续如正常USART那样工作,不需要考虑检测断开符号。

如果LIN模式没有被激活(LINEN=0),接收器仍然正常工作于USART模式,不会进行断开检测。如果LIN模式被激活(LINEN=1),只要一发生帧错误(也就是停止位检测到’0’,这种情况出现在断开帧),接收器就停止,直到断开符号检测电路接收到一个’1’(这种情况发生于断开符号没有完整的发出来),或一个定界符(这种情况发生于已经检测到一个完整的断开符号)。

图1说明了断开符号检测器状态机的行为和断开符号标志的关系。图2给出了一个断开帧的例子。

1.png

图1 LIN 模式下的断开检测(11 位断开长度—设置了 LBDL 位)

2.png

图2 LIN 模式下的断开检测与帧错误的检测

相关链接:

MCU微课堂 | CKS32F107xx USART(一)

MCU微课堂 | CKS32F107xx USART(二)

来源:中科芯MCU

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

围观 6

在上一讲中,我们对USART进行了简单介绍,并讲解了如何在不使用DMA的情况下进行不定长度数据接收,本讲将着重讲解如何使用DMA进行USART不定长度接收。

USART可以利用DMA连续通信。Rx缓冲器和Tx缓冲器的DMA请求是分别产生的。参考产品技术说明以确定是否可用DMA控制器。如果所用产品无DMA功能,发送器或接收器里所描述的方法使用USART。在USART2_SR寄存器里,可以清零TXE/RXNE标志来实现连续通信。

利用DMA发送

使用DMA进行发送,可以通过设置USART_CR3寄存器上的DMAT位激活。当TXE位被置为’1’时,DMA就从指定的SRAM区传送数据到USART_DR寄存器。为USART的发送分配一个DMA通道的步骤如下(x表示通道号):

  1. 在DMA控制寄存器上将USART_DR寄存器地址配置成DMA传输的目的地址。在每个TXE事件后,数据将被传送到这个地址;

  2. 在DMA控制寄存器上将存储器地址配置成DMA传输的源地址。在每个TXE事件后,将从此存储器区读出数据并传送到USART_DR寄存器;

  3. 在DMA控制寄存器中配置要传输的总的字节数;

  4. 在DMA寄存器上配置通道优先级;

  5. 根据应用程序的要求,配置在传输完成一半还是全部完成时产生DMA中断;

  6. 在DMA寄存器上激活该通道。

当传输完成DMA控制器指定的数据量时,DMA控制器在该DMA通道的中断向量上产生一中断。在发送模式下,当DMA传输完所有要发送的数据时,DMA控制器设置DMA_ISR寄存器的TCIF标志;监视USART_SR寄存器的TC标志可以确认USART通信是否结束,这样可以在关闭USART或进入停机模式之前避免破坏最后一次传输的数据;软件需要先等待TXE=1,再等待TC=1。

1.png

图1 利用DMA发送

利用DMA接收

可以通过设置USART_CR3寄存器的DMAR位激活使用DMA进行接收,每次接收到一个字节,DMA控制器就就把数据从USART_DR寄存器传送到指定的SRAM区(参考DMA相关说明)。

为USART的接收分配一个DMA通道的步骤如下(x表示通道号):

  1. 通过DMA控制寄存器把USART_DR寄存器地址配置成传输的源地址。在每个RXNE事件后,将从此地址读出数据并传输到存储器;

  2. 通过DMA控制寄存器把存储器地址配置成传输的目的地址。在每个RXNE事件后,数据将从USART_DR传输到此存储器区;

  3. 在DMA控制寄存器中配置要传输的总的字节数;

  4. 在DMA寄存器上配置通道优先级;

  5. 根据应用程序的要求配置在传输完成一半还是全部完成时产生DMA中断;

  6. 在DMA控制寄存器上激活该通道。

当接收完成DMA控制器指定的传输量时,DMA控制器在该DMA通道的中断矢量上产生一中断。

2.png

图2 利用DMA接收

DMA通道

在CKS32F107xx DMA章节中,我们对DMA进行了基本介绍,根据各通道DMA请求表可以发现,USART1需要使用的DMA通道为DMA1的第4和第5通道。

3.png

图3 USART1 DMA通道

USART初始化程序

在该例程中,我们使用USART1,利用DMA接收并发送不定长度数据。

  1. 开启GPIO、USART1、DMA1时钟;

  2. 对USART引脚进行配置,PA9映射TX,PA10映射RX;

  3. 初始化DMA1相关参数;

  4. 对USART参数进行配置,此例程使用USART的IDLE中断对不定长度数据接收完成进行判断;

  5. 对中断参数进行配置;

/*******************************************************************************

* Function Name  : USART_Configuration

* Description    : Configure USART1

* Input          : None

* Output         : None

* Return         : None

* Attention   : None

*******************************************************************************/

void CKS_USART_Init(void)

{

  GPIO_InitTypeDef GPIO_InitStructure;

  USART_InitTypeDef USART_InitStructure;

NVIC_InitTypeDef NVIC_InitStructure;

DMA_InitTypeDef DMA_InitStructure;


  RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1,ENABLE);

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);


  /*USART1_TX -> PA9 , USART1_RX -> PA10*/

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;          

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  GPIO_Init(GPIOA, &GPIO_InitStructure);     


  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;         

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;  

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  GPIO_Init(GPIOA, &GPIO_InitStructure);


  /* DMA configuration ----------------------------------------------*/

  /* USART1_RX DMA Init */

DMA_DeInit(DMA1_Channel5);

  DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&USART1->DR;

  DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)CKS_Uart_Rx;

  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;

  DMA_InitStructure.DMA_BufferSize = CKS_UART_TX_RX_BUFF;

  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;

  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;

  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;

  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;

  DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;

  DMA_InitStructure.DMA_Priority = DMA_Priority_High;

  DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;

  DMA_Init(DMA1_Channel5, &DMA_InitStructure);

DMA_Cmd(DMA1_Channel5, ENABLE);


/* USART1_TX DMA Init */

DMA_DeInit(DMA1_Channel4);

  DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&USART1->DR;

  DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)CKS_Uart_Tx;

  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;

  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;

  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;

  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;

  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;

  DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;

  DMA_InitStructure.DMA_Priority = DMA_Priority_High;

  DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;

  DMA_Init(DMA1_Channel4, &DMA_InitStructure);

DMA_Cmd(DMA1_Channel4, DISABLE);


  USART_InitStructure.USART_BaudRate = 115200;

  USART_InitStructure.USART_WordLength = USART_WordLength_8b;

  USART_InitStructure.USART_StopBits = USART_StopBits_1;

  USART_InitStructure.USART_Parity = USART_Parity_No;

  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;

  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

  USART_Init(USART1, &USART_InitStructure);


  USART_ITConfig(USART1, USART_IT_IDLE, ENABLE);


/* USART1 interrupt configuration ----------------------------------------------*/

  NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);


USART_DMACmd(USART1, USART_DMAReq_Rx, ENABLE);

USART_DMACmd(USART1, USART_DMAReq_Tx, ENABLE);

  USART_Cmd(USART1, ENABLE);

}

USART_IRQHandler函数

我们利用USART的IDLE进行不定长度数据接收完成判断,当USART被IDLE中断触发后,即标志着本次数据流已完成传输。

/*******************************************************************************

* Function Name  : USART1_IRQHandler

* Description    : This function handles USART1 global interrupt request.

* Input          : None

* Output         : None

* Return         : None

*******************************************************************************/

void USART1_IRQHandler(void)

{

if(USART_GetFlagStatus(USART1, USART_FLAG_IDLE) != RESET)

{

DMA_Cmd(DMA1_Channel5, DISABLE);


uint8_t i = USART1->SR;

i = USART1->DR;


CKS_Uart_Rx_Data_Lenth = CKS_UART_TX_RX_BUFF - DMA_GetCurrDataCounter(DMA1_Channel5);

DMA1_Channel5->CNDTR = CKS_UART_TX_RX_BUFF;


CKS_Uart_Tx_Data_Lenth = CKS_Uart_Rx_Data_Lenth;

memcpy(CKS_Uart_Tx, CKS_Uart_Rx, CKS_Uart_Rx_Data_Lenth);


memset(CKS_Uart_Rx, 0x00, sizeof(CKS_Uart_Rx));

DMA_Cmd(DMA1_Channel5, ENABLE);


CKS_Uart_Transmite_With_DMA(CKS_Uart_Tx_Data_Lenth);

}


USART_ClearFlag(USART1, USART_IT_RXNE);

}

USART发送程序

发送程序通过DMA发送长度为lenth的CKS_Uart_Tx数组。

/*******************************************************************************

* Function Name  : CKS_Uart_Transmite_With_DMA

* Description    : transmite data.

* Input          : None

* Output         : None

* Return         : None

*******************************************************************************/


void CKS_Uart_Transmite_With_DMA(uint32_t lenth)

{

DMA1_Channel4->CNDTR = lenth;

DMA_Cmd(DMA1_Channel4, ENABLE);

while(!DMA_GetFlagStatus(DMA1_FLAG_TC4)){}

DMA_ClearFlag(DMA1_FLAG_TC4);


memset(CKS_Uart_Tx, 0x00, sizeof(CKS_Uart_Tx));

CKS_Uart_Tx_Data_Lenth = 0x00;


DMA_Cmd(DMA1_Channel4, DISABLE);

}

相关链接:MCU微课堂 | CKS32F107xx USART(一)

来源:中科芯MCU

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

围观 6

USART介绍

通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互连网),智能卡协议和IrDA(红外数据组织)SIRENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。使用多缓冲器配置的DMA方式,可以实现高速数据通信。

USART主要特性

  • 全双工的,异步通信

  • NRZ标准格式

  • 分数波特率发生器系统

—发送和接收共用的可编程波特率,最高达4.5Mbits/s

  • 可编程数据字长度(8位或9位)

  • 可配置的停止位-支持1或2个停止位

  • LIN主发送同步断开符的能力以及LIN从检测断开符的能力

—当USART硬件配置成LIN时,生成13位断开符;检测10/11位断开符

  • 发送方为同步传输提供时钟

  • IRDA SIR编码器解码器

—在正常模式下支持3/16位的持续时间

  • 模拟智能卡功能

—智能卡接口支持ISO7816-3标准里定义的异步智能卡协议

—智能卡用到的0.5和1.5个停止位

  • 单线半双工通信

  • 可配置的使用DMA的多缓冲器通信

—在SRAM里利用集中式DMA缓冲接收/发送字节

  • 单独的发送器和接收器使能位

  • 检测标志

—接收缓冲器满

—发送缓冲器空

—传输结束标志

  • 校验控制

—发送校验位

—对接收数据进行校验

  • 四个错误检测标

—溢出错误

—噪音错误

—帧错误

—校验错误

  • 10个带标志的中断源

—CTS改变

—LIN断开符检测

—发送数据寄存器空

—发送完成

—接收数据寄存器满

—检测到总线为空闲

—溢出错误

—帧错误

—噪音错误

—校验错误

  • 多处理器通信--如果地址不匹配,则进入静默模式

  • 从静默模式中唤醒(通过空闲总线检测或地址标志检测)

  • 两种唤醒接收器的方式:地址位(MSB,第9位),总线空闲

USART功能概述

任何USART双向通信至少需要两个脚:接收数据输入(RX)和发送数据输出(TX)。RX:接收数据串行输。通过过采样技术来区别数据和噪音,从而恢复数据。

TX:发送数据输出。当发送器被禁止时,输出引脚恢复到它的I/O端口配置。当发送器被激活,并且不发送数据时,TX引脚处于高电平。

1、字符发送

在USART发送期间,在TX引脚上首先移出数据的最低有效位。在此模式里,USART_DR寄存器包含了一个内部总线和发送移位寄存器之间的缓冲器。

每个字符之前都有一个低电平的起始位;之后跟着的停止位,其数目可配置。USART支持多种停止位的配置:0.5、1、1.5和2个停止位。

配置步骤:

  1. 通过在USART_CR1寄存器上置位UE位来激活USART

  2. 编程USART_CR1的M位来定义字长。

  3. 在USART_CR2中编程停止位的位数。

  4. 如果采用多缓冲器通信,配置USART_CR3中的DMA使能位(DMAT)。按多缓冲器通信中的描述配置DMA寄存器。

  5. 利用USART_BRR寄存器选择要求的波特率。

  6. 设置USART_CR1中的TE位,发送一个空闲帧作为第一次数据发送。

  7. 把要发送的数据写进USART_DR寄存器(此动作清除TXE位)。在只有一个缓冲器的情况下,对每个待发送的数据重复步骤7。

  8. 在USART_DR寄存器中写入最后一个数据字后,要等待TC=1,它表示最后一个数据帧的传输结束。当需要关闭USART或需要进入停机模式之前,需要确认传输结束,避免破坏最后一次传输。

2、字符接收

在USART接收期间,数据的最低有效位首先从RX脚移进。在此模式里,USART_DR寄存器包含的缓冲器位于内部总线和接收移位寄存器之间。

配置步骤:

  1. 将USART_CR1寄存器的UE置1来激活USART。

  2. 编程USART_CR1的M位定义字长

  3. 在USART_CR2中编写停止位的个数

  4. 如果需多缓冲器通信,选择USART_CR3中的DMA使能位(DMAR)。按多缓冲器通信所要求的配置DMA寄存器。

  5. 利用波特率寄存器USART_BRR选择希望的波特率。

  6. 设置USART_CR1的RE位。激活接收器,使它开始寻找起始位。

当一字符被接收到时

  • RXNE位被置位。它表明移位寄存器的内容被转移到RDR。换句话说,数据已经被接收并且可以被读出(包括与之有关的错误标志);

  • 如果RXNEIE位被设置,产生中断;

  • 在接收期间如果检测到帧错误,噪音或溢出错误,错误标志将被置起;

  • 在多缓冲器通信时,RXNE在每个字节接收后被置起,并由DMA对数据寄存器的读操作而清零;

  • 在单缓冲器模式里,由软件读USART_DR寄存器完成对RXNE位清除。RXNE标志也可以通过对它写0来清除。RXNE位必须在下一字符接收结束前被清零,以避免溢出错误。

USART程序编写

  1. 开启GPIO、USART1时钟;

  2. 对USART引脚进行配置,PA9映射TX,PA10映射RX;

  3. 对USART参数进行配置、开启USART的RXNE中断;

  4. 对中断参数进行配置;

/*******************************************************************************

* Function Name  : USART_Configuration

* Description    : Configure USART1

* Input          : None

* Output         : None

* Return         : None

* Attention   : None

*******************************************************************************/

void CKS_USART_Init(void)

{

  GPIO_InitTypeDef GPIO_InitStructure;

  USART_InitTypeDef USART_InitStructure;

NVIC_InitTypeDef NVIC_InitStructure;


  RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1,ENABLE);


  /*USART1_TX -> PA9 , USART1_RX -> PA10*/

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;          

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  GPIO_Init(GPIOA, &GPIO_InitStructure);     


  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;         

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;  

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  GPIO_Init(GPIOA, &GPIO_InitStructure);

/* USART configuration ------------------------------------------------------*/

  USART_InitStructure.USART_BaudRate = 115200;

  USART_InitStructure.USART_WordLength = USART_WordLength_8b;

  USART_InitStructure.USART_StopBits = USART_StopBits_1;

  USART_InitStructure.USART_Parity = USART_Parity_No;

  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;

  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

  USART_Init(USART1, &USART_InitStructure);


/* Enable USART RXNE interrupt */

  USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);

  USART_Cmd(USART1, ENABLE);


/* NVIC configuration ------------------------------------------------------*/

  NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);

}

5. 编写USART1_IRQHandler函数;

我们利用USART的IDLE状态位进行不定长度数据接收,当USART被RXNE中断触发后,程序将在该中断函数中轮询,直至串口空闲后IDLE状态位被置位。

/*******************************************************************************

* Function Name  : USART1_IRQHandler

* Description    : This function handles USART1 global interrupt request.

* Input          : None

* Output         : None

* Return         : None

*******************************************************************************/

void USART1_IRQHandler(void)

{

  uint8_t i = 0;

uint8_t j = 0;


if(USART_GetFlagStatus(USART1, USART_IT_RXNE) != RESET)

{

/* get usart data until IDLE flag is set */

while(!USART_GetFlagStatus(USART1, USART_FLAG_IDLE))

{

if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) != RESET)

{

CKS_Uart_Buff[i++] = USART_ReceiveData(USART1);

}

}


/* clear uart IDLE flag */

j = USART1->SR;

j = USART1->DR;


/* clear uart RXNE flag */

USART_ClearFlag(USART1, USART_IT_RXNE);

}

}

来源:中科芯MCU

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

围观 15

随着消费者对健康生活的日益重视,智能养生壶作为一种集便捷、健康、时尚于一体的家用电器,正逐渐成为现代家庭的标配。本方案采用高性能的汇春32位MCU YS32T030C8T6作为核心控制单元,结合先进的传感技术、智能控制算法及人性化设计,为用户带来极致的养生体验。

核心控制器介绍

YS32T030C8T6是一款高性能的32位微控制器(MCU),基于先进的Arm Cortex-M系列内核设计。它具备强大的数据处理能力和丰富的外设资源,能够满足智能养生壶对精确温控、多功能操作及低功耗运行的需求。

系统方案设计

1.jpg

1、智能温控系统

利用YS32T030C8T6的高精度ADC模块,实时监测养生壶内的水温。

通过内置的PID温控算法,实现对水温的精确控制,满足不同茶叶或养生食材的最佳泡煮温度需求。

用户可通过触控界面轻松设定目标温度,系统根据设定自动调节加热功率,确保水温稳定。

2、多段保温功能

YS32T030C8T6具有丰富的定时器资源,可用于实现多段保温功能。

用户可根据需求设定不同的保温温度和时间段,系统自动切换保温状态,确保饮品长时间保持适宜口感。

3、提壶记忆功能

通过检测养生壶的提起动作,YS32T030C8T6能够自动记录当前工作状态。

当壶体放回原位时,系统自动恢复之前的工作设置,继续完成泡煮或保温任务。

4、定时预约功能

利用YS32T030C8T6的实时时钟(RTC)模块,实现定时预约功能。

用户可提前设定煮水或泡煮时间,系统自动在指定时间开始工作,方便用户在不同时段享受养生饮品。

5、人机交互界面

采用高清OLED显示屏,实时显示当前水温、保温状态、定时预约信息等。

触控按键设计,操作简便直观,提升用户体验。

6、安全保护机制

集成过温保护、干烧保护等安全功能,确保养生壶在异常情况下自动断电,保障用户安全。

32位MCU产品应用介绍

2.jpg

3.jpg

本方案采用高性能的32位MCU YS32T030C8T6作为核心控制单元,结合先进的传感技术、智能控制算法及人性化设计,为用户带来极致的智能养生体验。通过精准温控、多种预设模式、安全保护机制、智能预约及远程控制等功能,满足用户多样化的养生需求。未来,我们将持续优化方案,为用户提供更加便捷、智能、安全的养生服务。

来源:汇春科技

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

围观 13

页面

订阅 RSS - MCU