概 述
HPM APPS是基于HPM SDK开发的上层应用软件开发套件。提供各种典型通用的应用解决方案,包含了中间件、组件、服务等,供用户使用评估。
HPM APPS需搭配HPM SDK使用,且HPM APPS和HPM SDK版本一一对应。
在参考方案时,建议先查阅文档开始。
应用方案
1. LWIP+ADC高性能解决方案
在HPM6700/6400、6300系列微控制器上均支持16位ADC采样和百兆以太网外设。HPM6300系列支持3个16位的ADC转换器,可以转换来自外部引脚以及芯片内部的模拟信号。ADC的转换精度设置为16位时,最大采样率2MSPS,ADC的转换精度设置为12位时,最大采样率4MSPS。ADC支持读取转换模式、周期转换模式、序列转换模式和抢占转换模式。
本方案以HPM6300开发板为例介绍以2MSPS采样率进行16位ADC采样并将采样数据通过ENET LWIP TCP的方式发送到上位机的应用,ADC采样使用抢占转换模式、PWM触发的方式,ENET LWIP TCP每次发送1024个16位采样数据。
该方案通过PWM特定时刻触发ADC采样和触发HDMA转换ADC数据,并依靠HDMA链式模式,做成循环链表,考虑到中断响应占用CPU资源,在链式任务中增加状态标识,从而不启用中断,以此达到ADC采样及数据转换全自动完成,无需CPU参与,且将转换后的数据放到ILM/DLM,CPU零等待访问。最终达到性能最优。
2. 电源通用软件架构方案
HPM Power方案是汇总电源MCU的需求,整合成一个通用的软件结构方案,并提供各类API接口。
HPM Power Driver API 是基于HPM Software Development Kit (HPM SDK) 封装的针对电源类的驱动API接口。
Power API将硬件上PWM对、PWM、ADC通道抽象成自定义ID序号,上层应用只需关注抽象的ID序号即可。
Power API支持生成各种成对的PWM波形,例如互补、中心对齐相位、边沿对齐,支持死区插入、故障保护、强制输出等功能。
Power API同样支持单路的PWM波形,单路的PWM波形也支持故障保护、强制输出等功能。
Power API支持将PWM对或单路PWM 和多路ADC绑定,支持配置PWM任意占空比时刻触发ADC采样,ADC采样结束后自动触发回调。
Power API支持PWM对或单路PWM 配置在PWM任意占空比时刻触发DMA请求,可借助DMA搬运采样一组(数量可配)连续的ADC值。
Power API DMA支持链式模式,支持双缓冲模式,可自动周期性PING/PONG模式下的采样一组(数量可配)ADC值而无需CPU干预,且在每组采样结束后自动触发回调,同时自动触发下一组采样。
Power API支持设置PWM对/PWM 频率、占空比、触发时刻等。
Power API支持创建高精定时器(单位:微秒)。
3. HPM电机外接SPI编码器方案
该方案通过PWM特定时刻触发ADC采样,同时在PWM另一特定时刻触发HDMA操作SPI控制器,并依靠HDMA链式模式,做成循环链表,由HDMA全自动完成SPI的读写任务,将读到的数据存放到指定内存中,无需CPU参与。
同时HPM ADC控制器也自带DMA,ADC采样完成后自带DMA将采样的数据存放到指定内存中,CPU也无需参与。
用户可直接在ADC采样完成中断中使用ADC采样结果及SPI编码器信息,去做后续闭环算法,最终调整下一周期PWM占空比。
DMA链式传输通常能够降低数据传输的延时以及将规则的连续任务由DMA自主完成。此方案中ADC抢占采样、DMA获取SPI编码器信息并行执行,从而减少了数据从源到目标的传输时间。这对于实时系统和需要快速响应的应用非常关键。
4. HPM二级Boot固件升级方案
本方案是定制化的二级Boot升级方案,支持在二级Boot中固件升级,也支持在APP应用中固件升级;
支持升级包制作,支持不同的校验算法,如:checksum/xor/crc32/sha1/sha256/sm3;
支持ping/pang升级,二级Boot支持remap跳转,userapp只需一个工程和linker文件;
二级Boot支持版本校验及智能跳转;
支持多通道升级,如UART通道/ENET通道/USB DEVICE MSC通道/ USB HOST MST通道,由于usb device msc传输不连续性,USB DEVICE MSC通道支持切片组包升级;
通用的Flash分区,可按需灵活分配。
5. Bootrom OTA升级方案
本方案主要介绍如何借助 bootrom 自带的 SEC_IMG_OFFSET 功能进行 OTA 升级。OTA 升级我们采用 UART xmodem 功能,并且运行的是加密固件。
通常来说,我们只使用启动镜像0,但是当我们有 OTA 升级或者是 OTA 加密需求的时候,这个时候我们就需要用到启动镜像1。BootROM在启动时,判断OTP中的 SEC_IMG_OFFSET 是否为0,如果为0,说明只有一份镜像;如果不为0,则说明存在第二份镜像。BootROM通过对比两份镜像中的 SW_VERSION 大小,选择 SW_VERSION 更大的一份作为最新的IMAGE执行,若两份 SW_VERSION 相等,则认为第一份为最新的IMAGE执行。其中 SW_VERSION 存放在固件容器头中。其次,我们在实际使用中,通常需要对固件进行加密,此时,会用到 EXIP BLOB 功能, 用于存放加密所需要的密钥等信息。并且,HPM 全系列都支持 XPI NOR 的原地解密执行,当开启了 EXIP BLOB 功能后,bootrom 启动阶段会对镜像原地解密并执行,十分方便。
6. HPM FEMC驱动 8080屏
本方案介绍了如何用FEMC控制器驱动8080屏。将8080屏通过FEMC控制器挂载,如访问RAM操作,通过读写对应地址即可轻松驱动点亮8080屏,并实现高速的刷新率。
在HPM6700/6400、6300系列微控制器上均带了多功能外部存储器FEMC控制器。
从8080协议时序图和SRAM时序图对比可知,8080并口时序和SRAM时序基本一致。因此,可以使用FEMC控制器来驱动8080屏。
7. LED大屏驱动方案
LED大屏显示系统利用RGB灯珠构成的点阵模块或像素单元组成大面积显示屏显示字符、图像等信息,具有低功耗、低成本、高亮度、长寿命、宽视角等优点,近年来随着LED显示技术的不断更新,广泛应用在各类媒体场合。
LED大屏由无数个LED RGB灯组成,通过实时控制每个LED RGB的亮度及色彩,来显示不同的图案。在LED大屏显示应用中,传统的核心控制芯片选择可谓多种多样,MCU、FPGA或PLD都可以被作为核心控制芯片来进行设计,实现的效果也是各有优劣。
在LED大屏显示应用不断拓展的同时,大屏显示系统对刷新频率和延迟也提出了更严苛的要求:
更高的刷新频率:刷新频率越高,显示的图像越稳定,眼睛感觉到疲劳可能性就越小;
更低的延迟:整个数据链路的延迟进一步降低,减少闪屏或卡顿。
为确保LED大屏高刷新频率和低延迟,避免闪屏或卡顿的情况,就必须通过高速的链路来实时控制这些LED RGB灯。要实现更高刷新频率、更低延迟的LED大屏系统系统设计,主控芯片的选择非常关键。以MCU为核心的LED大屏显示控制系统常常被诟病数据处理速度无法满足实时性要求很高的场合,其实不然。
HPM6750就是先楫半导体开发的采用RISC-V 内核、具有高主频及创新总线架构的双核高性能MCU。HPM6750拥有两个完全独立的CPU且主频高达816MHz,模拟外设包括4组共32路精度达2.5ns的PWM、3个12位高速ADC以及1个16位高精度ADC,其性能在市场同类产品中居于领先水平。
不仅如此,对于LED大屏显示应用,高性能HPM6750能通过双千兆以太网透传的方案完美解决高速的链路设计。HPM6750支持2个以太网控制器ENET,支持标准以太网MAC,支持10/100/1000Mbps数据传输速率,支持RMII和RGMII模式的PHY,ENET以太网控制器自带DMA,因此在数据接收和发送上CPU负载为0。HPM6750通过以太网控制器,将两个PHY收到的以太网数据相互透传,透传速率达780Mb/s。基于高性能HPM6750的LED大屏显示方案在对实时控制要求极高的应用中丝毫不逊色于FPGA方案,不仅成本更低而且进一步降低了开发难度。
8. hpm_motor库
hpm_motor是一个针对电机控制核心算法的库文件,该库旨在通过不断地更新完善,模块化管理具体功能算法;对用户来说不用去关心底层如何实现,加速用户程序开发。
轨迹规划算法
电机在启停时,速度存在阶跃的情况。电机速度的突变可能会导致电流过载。所以通常用加减速控制算法来规划电机速度。
libhpm_motor.a中使用的轨迹规划算法是S型曲线,其核心是通过可变加加速度大小来控制加速度的变化,保证加速度不突变,使得加减速的速度曲线平滑,以此达到电机平稳运行的目的。
9. HPM5300系列旋转变压器硬件解码方案
本方案是结合HPM 5300系列旋变解码专用外设、针对电机控制领域编码器为旋变的一种解码方案。
本方案包括软件配置、硬件指导设计、白盒测试文档。
本方案软件配置主要是通过注释、白盒测试文档,告知读者如何得到5300系列专用旋变外设解码后的位置。
本方案硬件指导设计主要告知读者旋变的励磁放大器和模拟前端电路。
本方案白盒测试文档主要是基于ABZ编码器的电机测试平台,去做性能对比测试。
( 注意:使用本方案的工程师需要对旋变的基础知识有一定了解。)
10. HPM ADC EVK
HPM6700/6400系列微控制器内置3个12位和1个16位ADC控制器,HPM6300和HPM6200系列微控制器内置3个16位ADC控制器,HPM5300系列微控制内置2个16位微控制器。其中12位ADC支持最高采样率5MSPS,16位ADC支持最高采样率2MSPS。支持读取、周期、序列、抢占多种采样模式,输入模式支持单端(12位,16位)和 差分输入(12位),并且支持可配置分辨率和采样周期数,以及DMA转换结果写入内存中。
针对HPM系列MCU高精度ADC,先楫半导体推出系列ADC EVK用于评估ADC性能,其中包含了ADC EVK硬件设计图纸,ADC EVK用户指南,ADC设计指南,以及ADC测试代码。旨在帮助用户实现最佳ADC性能。
11. HPM6880 DDR硬件设计建议
上海先楫半导体科技有限公司推出了国产高性能微控制器HPM6800系列,致力于提供单主控的数字仪表及HMI解决方案,其产品主频高达600MHz,内置RISC-V内核,算力高达1710DMIPS,其具有增强图像系统如下:
2.5D OpenVG 1.1 GPU
2 个 4 Lane MIPI-DSI/LVDS-Tx 显示接口
2 个 2 Lane MIPI-CSI/LVDS-Rx 摄像头接口
LCD 控制器支持多图层 Alpha-blending
1920×1080 分辨率显示屏刷新率可达60fps
集成 JPEG 编解码器可实现快速 JPEG 编码和解码, 减轻处理器负荷
包含1个DDR控制器,支持 DDR2-800、DDR3-1333,DDR3L-1333
本文主要介绍HPM6880 单颗DDR2,单颗DDR3l硬件设计要求,并分别提供两种DDR的DEMO源文件以做参考,建议客户直接使用DEMO提供的原理图和PCB进行设计。
12. HPM5300微型伺服驱控一体方案
HPM系列MCU是来自上海先楫半导体科技有限公司的高性能实时RISC-V微控制器,为工业自动化及边缘计算应用提供了极大的算力、高效的控制能力。上海先楫半导体目前已经发布了如 HPM6700/6400、HPM6300、HPM6200、HPM5300等多个系列的高性能微控制器产品。
HPM5300系列微控制器作为高性能运动控制MCU,具备强劲性能、丰富接口、更小封装、更低成本、卓越品质等优势。
针对HPM5300系列MCU,先楫半导体推出本款产品级伺服驱控方案用于评估运动控制性能,本方案囊括了HPM5300系列芯片的大部分使用功能;内置位置、速度控制模式,可以配套各种开环、半闭环和闭环系统满足绝大部分行业的使用要求。
电气参数如下:
注:SEI(串行编码器接口)可以通过编程实现多种通信协议,如Tamagawa编码器协议、HIPERFACE、Nikon编码器协议、SSI、BiSS-C 及EnDat2.1/2.2协议等,用户还可以通过自定义编程支持更多协议。
完 结
在使用过程中有任何疑问或者建议,欢迎在github对应项目中提交。
全部0条评论
快来发表一下你的评论吧 !