高级技术与特定方案
文章平均质量分 90
面向有经验的开发者,本专栏探讨APM32应用中的高级技术和特定解决方案,助您攻克复杂项目挑战。
Geehy极海半导体
珠海极海半导体有限公司(简称:极海半导体),是一家致力于开发工业级/车规级微控制器、高性能模拟与混合信号IC及系统级芯片的集成电路设计型企业。极海半导体团队拥有20年集成电路设计经验和嵌入式系统开发能力,可为客户提供核心可靠的芯片产品及方案,实现准确感应、安全传输和实时控制,助力客户在智慧家居、高端消费电子、工业控制、汽车电子、智慧能源以及通信设施等领域的拓展创新。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
APM32芯得 EP.34 | 告别I2C“假死”——APM32F103硬件IIC防锁死设计
本文针对APM32F103硬件IIC常见问题(总线锁死、仲裁丢失等),提出系统性的错误恢复方案:首先通过状态寄存器诊断错误类型,尝试软复位IIC控制器;若无效则采用GPIO模拟时钟脉冲强制释放总线。文章还提供了详细的代码实现,并给出预防性设计建议,包括硬件优化(上拉电阻、ESD保护)和软件防护(超时机制、错误重试)。该方案可有效解决硬件IIC通信中的稳定性问题,适合需要高效可靠IIC通信的开发者参考。原创 2025-09-08 17:19:53 · 942 阅读 · 0 评论 -
APM32芯得 EP.32 | GPIO模拟串口的另一种实现方式?非阻塞+时间戳解析法详解
本文介绍了一种基于时间戳解析法的模拟串口实现方案,适用于嵌入式开发中硬件串口资源不足的情况。该方法利用GPIO引脚和定时器中断,通过记录电平翻转时间点来解析数据,相比传统逐位采样法减少中断次数50%以上。文章详细阐述了硬件配置(APM32F407)、非阻塞设计原理、时间戳解析逻辑(以0x37为例)及实现代码,并对比了两种方法的优缺点。测试表明该方法在9600bps下稳定可靠,同时提出了优化方向(如支持更高波特率)。适用于低速通信场景,为多任务系统提供灵活的低成本串口扩展方案。原创 2025-09-04 09:47:02 · 871 阅读 · 0 评论 -
APM32芯得 EP.31 | APM32F402 & HC-SR04超声测距经典操作:波形输出与滤波
文章摘要:本文介绍了使用APM32F402微控制器处理HC-SR04超声波测距数据时,如何通过波形可视化分析数据抖动问题。重点讲解了三种滤波方法:均值滤波(简单但延迟明显)、指数平滑(内存占用少)和卡尔曼滤波(自适应强但需调参)。通过SerialPlot工具可直观对比不同滤波效果,文章还提供了具体代码实现。作者指出APM32F402的Cortex-M4F内核和FPU单元能高效处理这些算法,建议根据实际需求选择合适滤波方法。最后附带了相关代码资源供读者参考实践。原创 2025-08-29 14:56:24 · 1017 阅读 · 0 评论 -
APM32芯得 EP.30 | 一根USB线搞定高速传输与日志打印
本文介绍了如何利用APM32F402芯片的USB OTG功能实现USBCDC虚拟串口输出调试日志的方法。相比传统UART串口,USBCDC具有带宽高、接线简单、可同时支持WinUSB数据传输等优势。通过将设备配置为USB复合设备,可实现一根USB线同时传输数据和输出日志。文章详细说明了printf重定向的实现步骤,包括初始化USBCDC、修改fputc函数、添加缓冲区机制等关键代码。这种方案能有效节省硬件资源,简化调试流程,特别适合数据采集设备等需要同时处理高速数据传输和实时调试的应用场景。原创 2025-08-21 11:29:22 · 853 阅读 · 0 评论 -
基于极海APM32E030的智能手表设计(下):血氧监测、GPS定位及步数感应等功能实现
本文介绍了基于APM32ER8T6主控的可穿戴设备开发方案,重点解析了心率血氧传感器MAX30102和加速度传感器ADXL345的硬件设计与软件实现。MAX30102采用光电容积法(PPG)原理,通过I2C接口实现心率血氧检测,详细说明了数据采集、滤波处理和算法计算过程。ADXL345加速度传感器则用于步数检测,通过三轴加速度数据计算角度变化来判断步行动作。文章提供了完整的硬件连接方案、寄存器配置方法和数据处理流程,并介绍了在GitHub开源的智能手表项目。该方案可同时实现温度、血压、血氧测量、GPS定位、原创 2025-08-06 09:40:29 · 746 阅读 · 0 评论 -
基于极海APM32E030的智能手表设计(上):健康监测与GPS定位功能实现
本文设计了一款基于APM32E030R8T6 MCU的智能手表系统,通过集成DS18B20温度传感器、MAX30102血氧/心率模块、ATGM336H GPS定位模块和ADXL345加速度计,实现温度监测、健康检测、定位和计步功能。重点介绍了DS18B20单总线通信的温度采集实现和ATGM336H模块的GPS定位数据处理方法,包括串口通信、NMEA协议解析和坐标转换。系统采用Arm Cortex-M0+内核处理器,具有低功耗、高性能的特点,为可穿戴设备开发提供了参考方案。原创 2025-08-04 14:52:43 · 767 阅读 · 0 评论 -
芯得EP.25 | 使用IIC的DMA模式高效驱动OLED,实现流畅动画显示
本文介绍了使用IIC DMA方式驱动0.96寸OLED屏(SSD1306芯片)的方法。通过配置APM32E103的I2C1和DMA1通道6,实现从内存到外设的数据传输。重点包括:1)修改OLED地址模式为水平模式,减少命令数据量;2)初始化IIC和DMA,设置DMA传输方向为外设作为目标地址;3)实现全屏刷新函数,通过DMA一次性传输1024字节显存数据。最后通过马里奥动画演示了刷屏效果,相比传统方式可大幅节省CPU时间。文中还提供了位图取模工具的使用方法和动画实现的具体代码。原创 2025-07-21 09:27:39 · 1112 阅读 · 0 评论 -
芯得EP.24 | 用APM32E030从零打造低功耗电子墨水屏时钟
本文介绍了基于APM32E030单片机和电子墨水屏的电子时钟设计。该系统利用APM32E030内置的RTC模块实现日历功能,通过SPI接口驱动2.13寸电子墨水屏显示时间日期。文章详细阐述了硬件电路设计,包括RTC时钟电路和墨水屏驱动板;软件部分实现了RTC时间读取、墨水屏驱动(包括全屏刷新和局部刷新)以及自定义字库显示功能。该系统具有低功耗、护眼等特点,最终实现了清晰的时间日期显示效果,适合作为电子时钟或万年历应用。原创 2025-07-16 13:56:45 · 1068 阅读 · 0 评论 -
芯得EP.23 | 来了来了 G32G501 可以用上 Zephyr 了
本文详细介绍了如何将Zephyr RTOS移植到极海半导体G32R501 MCU的过程。G32R501是基于Arm Cortex-M52内核的实时控制MCU,而Zephyr是目前最活跃的开源RTOS项目之一。文章首先介绍了Zephyr项目的特点和优势,包括其开源特性、基于Devicetree+Kconfig的开发模式以及丰富的生态系统。重点讲解了移植的具体步骤,包括创建基础文件结构、SOC相关配置、DTS设备树设置、SDK集成以及开发板适配等。最后展示了初步移植成功的验证结果,为后续驱动开发奠定了基础。原创 2025-07-16 10:44:32 · 1243 阅读 · 0 评论 -
APM32芯得 EP.19 | 设备离线无法调试?教你用APM32和U盘打造一个永不丢失的“黑匣子”
本文介绍了基于APM32F407xx MCU实现离线系统日志存储的方案,通过OTG Host接口连接U盘,结合FatFs文件系统和RTC实时时钟,实现带时间戳的日志记录功能。主要内容包括:1. 系统设计:采用U盘存储日志,避免频繁读写板载存储器;2. 关键外设配置:详细说明OTG Host、RTC、定时器及FatFs的初始化过程;3. 功能实现:自动创建日期文件夹、每秒记录数据、存储空间管理(超过90%时删除最早日志);4. 验证结果:展示了实际运行时的日志记录过程和U盘文件生成效果。原创 2025-07-01 11:18:18 · 822 阅读 · 0 评论 -
APM32芯得 EP.16 | 一字之差,性能提升5倍 —— 充分发挥APM32F411的FPU潜能
本文介绍了APM32F411微控制器中硬件FPU的应用方法。测试表明,当处理单精度浮点运算时,开启FPU可将200次乘法运算时间从73.48us缩短至16.4us,提升81.67%。关键要点:1)需在Keil中设置"Single Precision"选项启用FPU;2)浮点常量须加"f"后缀以触发FPU加速;3)双精度运算反而会降低性能。实验通过逻辑分析仪和汇编代码对比验证了优化效果,建议在单精度浮点运算场景中开启FPU并正确使用数据类型后缀。原创 2025-06-26 10:01:34 · 734 阅读 · 0 评论 -
APM32芯得 EP.13 | GPIO翻转速度极限在哪里?
本文测试了APM32F103ZE芯片GPIO引脚的最大翻转速度。通过C语言函数、寄存器操作和汇编语言三种方法逐步优化,最终测得最高翻转频率约为24MHz(主频96MHz时)。测试发现C语言函数版本受调用开销限制仅达1MHz,寄存器操作提升至约8MHz但波形不对称。汇编版本优化后实现24MHz稳定输出,但占空比仍不完美。结果说明即使采用最优方法,该芯片GPIO翻转存在约24MHz的物理极限。测试过程详细对比了不同实现方式的性能差异,为开发者提供了GPIO极限性能的参考数据。原创 2025-06-16 09:20:25 · 831 阅读 · 0 评论 -
APM32芯得 EP.12 | 仅需60KB内存,让你的MCU也能跑AI!APM32F411 + TinyMaix 成功运行图像识别模型
本文介绍了将轻量级机器学习库 TinyMaix 成功移植到极海 APM32F411 微控制器的过程,详细阐述了从源码准备、工程配置到解决编译错误的关键步骤。通过运行手写数字和图像识别等实例,验证了在APM32F411A 上实现 AI 推理的可行性。原创 2025-06-13 09:31:08 · 1239 阅读 · 0 评论 -
APM32芯得 EP.11 | 玩点不一样的2,写个能读取APM32F411内存的小程序
本文介绍了使用Python和Tkinter图形库开发APM32F411内存读取工具的实现过程。作者通过pyocd和Geehylink连接开发板,设计了支持字节/半字/字显示格式的GUI界面,采用多线程处理数据读取与UI显示,并实现了内存数据保存为二进制文件的功能。文章详细讲解了设备连接检测、内存缓存管理、进度显示等关键技术点,同时分享了界面布局设计思路。该工具简化了调试过程中的内存数据读取操作,虽然目前功能较基础,但为后续扩展预留了空间。原创 2025-06-11 09:27:57 · 1037 阅读 · 0 评论 -
APM32芯得 EP.10 | 基于APM32F411控制的一个软开关电路设计分享
本文介绍了一种用于电子产品的软开关电路设计,通过按键控制系统的供电开启与关断。该电路采用APM32F411 MCU控制电源芯片的使能引脚,实现长按开机、按键松开保持供电、长按关机的功能。硬件部分通过PMOS和NMOS管组合,实现系统断电时按键触发供电、系统运行后MCU锁定电源的状态切换。软件部分提供GPIO控制和按键检测代码示例,支持检测长按动作执行关机操作。该设计已通过实物测试验证,适用于穿戴设备等需要软开关控制的电子产品。原创 2025-06-10 17:22:48 · 2020 阅读 · 0 评论 -
高效驱动 | 极海G32R501低压无感FOC双电机参考方案演示
极海推出基于G32R501双核MCU的低压无感FOC双电机控制方案,具备24.8μs快速电流环响应,支持1Hz极低速运行及零速满载启动。该方案集成电机参数辨识和PI自整定功能,适配永磁同步电机,适用于AGV、家电、无人机等多元场景。G32R501芯片的高性能特性为电机控制提供了实时处理能力,技术详情可访问极海官网查询。原创 2025-06-09 13:29:26 · 413 阅读 · 0 评论
分享