周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104
视频版:
https://www.bilibili.com/video/BV1Tzr9Y3EQ7/
目录:
1、开源低功耗测试仪
2、开源创意万用表,续航100-300小时
3、低级编程和优化实现
4、资讯
(1)兆易创新推出EtherCAT从站控制芯片GD32H75E系列
(2)Nordic的nRF54L系列已经广泛用于开发
(3)英伟达Jetson家族的Jetson Orin Nano推出升级版,算力提升1.7倍至67TOPS
(4)ST要推出一个WiFi6 & BLE5.3模组,支持UART/SPI接口,支持Matter,速度40Mbps
(5)OpenAI推出的嵌入式实时SDK开发包
(6)杰发科技AC7803x通过功能安全ISO 26262 ASIL B产品认证
(7)沁恒的IDE MounRiver Studio Ⅱ发布
(8)RL-TCPnet V8.x增加了一个TCP, UDP速度测试文件netio.c
(9)圣诞节前,Embedded Studio迎来最后一次更新V8.22版本发布,支持浏览MarkDown文件
(10) 极海G32R501实时控制MCU正式发布,双核Cortex-M52
5、PCB 电机即使在 16 亿次旋转后也能保持稳定
6、手把手自制实现
(1)手把手实现个简易C版shell
(2)手把手自制TCP/IP网络协议栈教程
7、开源水培自动化系统
8、emWin模拟器6.48发布,同时配套的AppWizard V1.56发布,横竖屏旋转和文本滑动案例
9、开源加密库Mbed,Cyclone,Wolf和NetX性能
10、H7-TOOL本周进展
(1)H7-TOOL固件2.27发布,新增加40多款芯片脱机烧录,含多款车轨芯片,发布LUA API手册,CAN助手增加负载率,错误状态信息检测
(2)历时456天,实测H7-TOOL的RTC不断电,不校准,快了44分钟
(3)客户H7-TOOL 串口记录小程序 Lua分享
一、开源低功耗测试仪
https://www.openept.net/
所有资料全开源,还有一个上位机,方便查看功耗波形。
OpenEPT的主要目标是为工程师和研究人员提供一套全面的微控制器分析工具,促进对基于微控制器平台功耗的准确分析
原理图: Current_sense_v1_0.pdf(1.96 MB)
固件: Firmware-master.zip(6.98 MB)
PCB: OpenEPT_V1_1_KiCad.zip(5.31 MB)
最新版效果:
之前版本效果:
二、开源创意万用表,续航100-300小时
https://github.com/jduffy105/HydraMeter_0.4
HydraMeter_0.4-main.zip (86.24MB)
有一些功能希望在万用表中具备的,但大多数现有的商业万用表并不常见(这也是这个项目的主要原因)。
1、板载隔离 USB 接口。
2、高采样率和图形(波形)显示选项。
3、可拆卸显示屏
4、长电池寿命 ,最低 100 小时,最好能延长到约 300 小时。
5、同时测量电压和电流并进行功率计算
6、手感和操作良好。
7、保险丝易于更换,无需拆卸万用表。
8、没有十字头螺钉,所有组装/拆卸/维修都应只需一个尺寸的内六角扳手即可完成。
9、如果使用可充电电池,应通过 USB 充电。
10、主要功能的完全暴露界面。没有菜单或软键来更改 AC/DC
或范围或在电阻和连续性之间切换或任何这些。只需查看万用表的按钮/开关/旋钮,就应立即知道它处于什么状态。还可以在不到 2
秒的时间内配置万用表的任何“核心”功能。对于更高级的功能,如记录或无线通信,菜单是可以接受的。
主要(香蕉插孔)功能包括:
1、交流和直流电压,从几毫伏到约 250V
2、交流和直流电流,从约 10 微安到 10A
3、电阻/连续性/二极管测试。约 10 欧姆到约 1 兆欧,二极管测试 >3V
4、功率测量(同时测量电压和电流,包括显示所有 3 个)
次要 XT-60 连接器,具有独立功能:
1、直流电源来自最多 12S 电池组
2、直流电压,至少 60V
3、直流电流,至少 30A,但可以承受更高的峰值电流而不会损坏或熔断保险丝。
4、电压、电流和功率的脉冲/峰值测量,时间尺度为毫秒。
三、低级编程和优化实现
https://en.algorithmica.org/hpc/complexity/
这个是学习低级编程和优化的好网站,特此给大家分享下
四、资讯
1、兆易创新推出EtherCAT从站控制芯片GD32H75E系列
用 Cortex-M7高性能内核,主频600MHz
https://www.gigadevice.com.cn/about/news-and-event/news/gigadevice-launches-new-ethercat-subdevice-controller-chip
2、Nordic的nRF54L系列已经广泛用于开发
https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/nrf54l-series-now-widely-available-for-development
各种开发环境和芯片购买都已经就绪
下面是对应推出的开发板
3、英伟达Jetson家族的Jetson Orin Nano推出升级版,算力提升1.7倍至67TOPS
https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-orin/nano-super-developer-kit/
4、ST要推出一个WiFi6 & BLE5.3模组,支持UART/SPI接口,支持Matter,速度40Mbps
https://www.st.com/content/st_co ... ead-module-z13.html
预计明年第1季度上线,初步从功能上看没问题,就看价格了,当前还没有公布
1、支持CubeMX为各种型号MCU/MPU提供生成代码支持。
2、提供软件包The X-CUBE-ST67W61
3、支持UART和SPI接口
4、BLE速度2Mbps,WiFi速度40Mbps。
5、模组主控芯片采用高通的QCC743
5、OpenAI推出的嵌入式实时SDK开发包
https://github.com/openai/openai-realtime-embedded-sdk
6、杰发科技AC7803x通过功能安全ISO 26262 ASIL B产品认证
通过ISO 26262 ASIL B功能安全产品认证的AC7803x,采用Arm Cortex M0+内核,主频达到64MHz,具备高可靠性,符合AEC-Q100车规要求
7、沁恒的IDE MounRiver Studio Ⅱ发布
http://www.mounriver.com/download
从V2.1.0开始,框架更换至更现代的VSCode,并深度定制开发
8、RL-TCPnet V8.x增加了一个TCP, UDP速度测试文件netio.c
https://github.com/ARM-software/MDK-Middleware/tree/main/Test/Network/netio
这个测试结果没有针对GCC做memcpy和字节复制粘贴优化
9、圣诞节前,Embedded Studio迎来最后一次更新V8.22版本发布,支持浏览MarkDown文件
https://www.segger.com/products/development-tools/embedded-studio/
ARM和RISC-V二合一版
2024年,SES更新还是挺勤快的,一共更新了13个版本
更新记录,其他家的IDE编辑器,基本都转向支持VS Code。而Embedded Studio没有,还在持续更新自己的编辑器
10. 极海G32R501实时控制MCU正式发布,双核Cortex-M52
五、PCB 电机即使在 16 亿次旋转后也能保持稳定
https://github.com/microbotsio/MotorCell/tree/main
https://hackaday.com/2024/12/17/ ... -1-6-billion-spins/
视频
https://www.armbbs.cn/forum.php?mod=viewthread&tid=127169
一个由 20 个测试电机组成的阵列,所有电机都以大约 37,000 RPM 的恒定速度连续运行。一个月后,拆卸并检查了每个单元。每台电机每天旋转超过 5300 万次,当月结束时旋转超过 16 亿次。没有发现内部划痕或其他损坏的迹象
六、手把手实现个简易C版shell
https://brennan.io/2015/01/16/write-a-shell-in-c/
非常不错的文章,大家有兴趣可以看看
手把手自制TCP/IP网络协议栈教程
art 1, Ethernet & ARP: http://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp
Part 2, IPv4 & ICMPv4: http://www.saminiir.com/lets-code-tcp-ip-stack-2-ipv4-icmpv4
Part 3, TCP Basics & Handshake: http://www.saminiir.com/lets-code-tcp-ip-stack-3-tcp-handshake/
Part 4, TCP Data Flow & Socket API: http://www.saminiir.com/lets-cod ... ta-flow-socket-api/
Part 5, TCP Retransmission: http://www.saminiir.com/lets-cod ... tcp-retransmission/
这个也是一个非常不错的系列教程,有兴趣可以挑战下自己,写个协议栈试试
7、开源水培自动化系统
https://gitlab.com/openhydroponics/
https://openhydroponics.com/hw/rootmaster
农业方便的开源搜集的不多,这次再为大家分享一个
八、emWin模拟器6.48发布,同时配套的AppWizard V1.56发布,横竖屏旋转和文本滑动案例
AppWizard
AppWizardTrial_V156_648_Install.exe (92.21MB)
emWin模拟器:
SeggerEval_WIN32_MSVC_GUI_V648.zip (74.96MB)
emWin6.48更新记录:
新版AppWizard:
新增案例效果:
九、开源加密库Mbed,Cyclone,Wolf和NetX性能
NetX有两个:
NetX Crypto
NetX Secure(TLS)
Mbed有两个:
MbedTLS
MbedCrypto
Cyclone有两个:
Cyclone Crypto
Cyclone SSL
Wolf有两个:
wolfSSL
wolfCrypt
在MDK RTE里面都有集成
MbedTLS
搜到一个2017年的测试
https://os.mbed.com/teams/mbed-o ... 60cd5226d/main.cpp/
SHA-256 : 1673 Kb/s, 70 cycles/byte SHA-512 : 546 Kb/s, 215 cycles/byte AES-CBC-128 : 1428 Kb/s, 82 cycles/byte AES-CBC-192 : 1260 Kb/s, 93 cycles/byte AES-CBC-256 : 1127 Kb/s, 104 cycles/byte AES-GCM-128 : 486 Kb/s, 242 cycles/byte AES-GCM-192 : 464 Kb/s, 253 cycles/byte AES-GCM-256 : 445 Kb/s, 264 cycles/byte AES-CCM-128 : 610 Kb/s, 192 cycles/byte AES-CCM-192 : 547 Kb/s, 214 cycles/byte AES-CCM-256 : 496 Kb/s, 237 cycles/byte CTR_DRBG (NOPR) : 1139 Kb/s, 102 cycles/byte CTR_DRBG (PR) : 826 Kb/s, 142 cycles/byte HMAC_DRBG SHA-256 (NOPR) : 193 Kb/s, 611 cycles/byte HMAC_DRBG SHA-256 (PR) : 170 Kb/s, 695 cycles/byte RSA-2048 : 28 ms/ public RSA-2048 : 953 ms/private RSA-4096 : 93 ms/ public RSA-4096 : 5327 ms/private ECDSA-secp384r1 : 451 ms/sign ECDSA-secp256r1 : 304 ms/sign ECDSA-secp384r1 : 863 ms/verify ECDSA-secp256r1 : 594 ms/verify ECDHE-secp384r1 : 829 ms/handshake ECDHE-secp256r1 : 566 ms/handshake ECDHE-Curve25519 : 533 ms/handshake ECDH-secp384r1 : 407 ms/handshake ECDH-secp256r1 : 281 ms/handshake ECDH-Curve25519 : 268 ms/handshake
wolfssl
https://github.com/wolfSSL/wolfssl/blob/master/IDE/STM32Cube/STM32_Benchmarks.md#stm32h753zi
Supports RNG, AES CBC/GCM and SHA-2 acceleration. Note: HW RNG on for all testsBoard: NUCLEO-H753ZI CPU: Cortex-M7 at 480 MHz IDE: STM32CubeIDE RTOS: FreeRTOSSTM32H753ZI (STM Crypto/Hash Acceleration, -Os, SP-ASM Cortex-M) ------------------------------------------------------------------------------ wolfSSL version 4.4.1 ------------------------------------------------------------------------------ wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each) RNG 875 KB took 1.019 seconds, 858.685 KB/s AES-128-CBC-enc 10 MB took 1.000 seconds, 10.400 MB/s AES-128-CBC-dec 10 MB took 1.000 seconds, 10.327 MB/s AES-192-CBC-enc 10 MB took 1.000 seconds, 10.425 MB/s AES-192-CBC-dec 10 MB took 1.000 seconds, 10.278 MB/s AES-256-CBC-enc 10 MB took 1.000 seconds, 10.376 MB/s AES-256-CBC-dec 10 MB took 1.000 seconds, 10.278 MB/s AES-128-GCM-enc 9 MB took 1.000 seconds, 8.789 MB/s AES-128-GCM-dec 9 MB took 1.000 seconds, 8.716 MB/s AES-192-GCM-enc 9 MB took 1.000 seconds, 8.740 MB/s AES-192-GCM-dec 9 MB took 1.000 seconds, 8.691 MB/s AES-256-GCM-enc 9 MB took 1.000 seconds, 8.765 MB/s AES-256-GCM-dec 9 MB took 1.000 seconds, 8.691 MB/s CHACHA 4 MB took 1.000 seconds, 4.443 MB/s CHA-POLY 3 MB took 1.004 seconds, 3.040 MB/s POLY1305 13 MB took 1.000 seconds, 12.671 MB/s SHA-256 9 MB took 1.000 seconds, 8.691 MB/s HMAC-SHA256 8 MB took 1.000 seconds, 8.496 MB/s RSA 2048 public 82 ops took 1.019 sec, avg 12.427 ms, 80.471 ops/sec RSA 2048 private 4 ops took 1.749 sec, avg 437.250 ms, 2.287 ops/sec DH 2048 key gen 5 ops took 1.000 sec, avg 200.000 ms, 5.000 ops/sec DH 2048 agree 6 ops took 1.200 sec, avg 200.000 ms, 5.000 ops/sec ECC 256 key gen 121 ops took 1.000 sec, avg 8.264 ms, 121.000 ops/sec ECDHE 256 agree 56 ops took 1.016 sec, avg 18.143 ms, 55.118 ops/sec ECDSA 256 sign 78 ops took 1.007 sec, avg 12.910 ms, 77.458 ops/sec ECDSA 256 verify 36 ops took 1.004 sec, avg 27.889 ms, 35.857 ops/sec Benchmark complete Benchmark Test: Return code 0
Cyclone
部分截图
https://www.oryx-embedded.com/benchmark/st/crypto-stm32h7.html
十、H7-TOOL本周进展
H7-TOOL详细介绍:https://www.armbbs.cn/forum.php?mod=viewthread&tid=89934
1、H7-TOOL固件2.27发布,新增加40多款芯片脱机烧录,含多款车轨芯片,发布LUA API手册,CAN助手增加负载率,错误状态信息检测
https://www.armbbs.cn/forum.php?mod=viewthread&tid=126914
2、历时456天,实测H7-TOOL的RTC不断电,不校准,快了44分钟
【测试条件】
1、这个TOOL已经连续运行656天未断电过,使用的STM32H7内置RTC。
2、RTC时间在2023年9月26号进行了校准,并开启测试。
3、运行期间,未做任何手动校准,软件校准和NTP, SNTP网络校准。
【测试结果】
1、第1次测试结果,从2023年9月26号到2024年4月5号,共计192天,
实测快了13分钟。
2、第2次测试结果,从2023年9月26号到2024年12月26号,共计456天
实测快了将近44分钟。
【误差原因】
因为晶振对温度敏感,下面是典型的温度对晶振影响:
STM32支持LSI内部低速时钟或者LSE外置低速时钟,使用外部就要接32768Hz的晶体。
一个月的典型误差50秒左右。
【校准】
以外置RTC DS3231为例,精度是:
Accuracy ±2ppm from 0°C to +40°C ---- 每个月30天算的最大误差是2*10^-6 * 24 * 60 *60 * 30 = 5.184秒
Accuracy ±3.5ppm from -40°C to +85°C ---- 每个月30天算的最大误差是3.5*10^-6 * 24 * 60 *60 * 30 = 9.072秒
使用STM32内部RTC不行,白天温度不稳定的话,当天的误差差不多就有1-2秒。主要是晶振不是温补的。
ST提供了一些方案,但是不实用:
方法1:Smooth digital calibration
这种方法使用比较麻烦,当前提供的案例需要用户使用超高精度的信号时钟,精确到几个ppm,发送这个信号给板子做校准。然后示波器测量实际的输出效果来确实是否采用这个校准值。
方法2: RTC时钟同步
官方提供的例子没什么参考价值,倒腾了高精度的HSE来实现。
方法3: 使用50Hz/60Hz高精度参考时钟辅助
这个实用性也有点差。
3、当前推荐方案
(1)使用外置温补晶振,但价格略高,10块钱左右:
(2)使用自带温补的RTC芯片。
(3)带网络的,可以使用NTP, SNTP校准
【RTC校准软件包】
1、https://www.st.com/en/embedded-software/x-cube-rtc.html
2、开源Sensor Watch Pro智能手表,号称一年的误差不到1秒
https://www.armbbs.cn/forum.php?mod=viewthread&tid=126087
3、H7-TOOL 串口记录小程序 Lua分享
https://www.armbbs.cn/forum.php?mod=viewthread&tid=126930
来自客户processor的分享
为了提高系统程序的稳定性,且方便查找程序在长期运行过程中发生报错问题。就需要调试工具长期接入被测设备,通电1,2天,记录设备运行数据,最后电脑记事本ctrl+F查找报错点和报错时间;亦或者用excel导入做图标数据分析等都可以使用本lua小程序。
目前我正使用此小程序用于记录设备上发生的链表剩余可分配空间不足,运行参数检查,通讯丢包等异常查找等非常方便。期待坛友们对此代码一起共同优化。