往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104
更新视频教程:
GUI综合实战视频教程第3期:GUIX Studio一条龙设计主界面,底栏和窗口切换控制(2022-11-21)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=116669
视频版:
https://www.bilibili.com/video/BV1Q24y117xf
1、树莓派单片机100Msps双通道示波器软硬件全开源,含详细说明
https://hackaday.io/project/188051-rpscope https://hackaday.io/project/188051-rpscope/details rpscope_v1_v2.rar (30.52MB) schematic.pdf (282.89KB)
这是继树莓派单片机的24通道,100Msps的逻辑分析仪开源发布后,又一个非常棒的开源项目。感谢作者jgpeiro的开源
当前的设计方案是采用的一片8bit ADC芯片ADC08100,100M带宽的前端模拟电路。其实大家要玩的话,可以提升指标,采用AD9288或者国产替代品MXT2088,一个芯片带两个通道,通过快速交替采样做250M采样率(当前我们H7-TOOL的250M模组就是这个方案)。
模拟带宽不用再提升了,当前支持的100M已经很不错了。还有就是作者显示屏是采用的并口显示屏做显示,大家可以考虑采用SPI接口的,树莓派驱动速度也超快。
效果:
100M带宽性能:
2、MDK5.38发布
(1)AC6编译器升级至6.19,而AC5不再添加到MDK中了。
(2)RTX5中间件升级至V7.16。
(3)CMSIS的DSP,Driver和神经网络组件开始独立更新,不再合并到CMSIS里面了。
(4)虚拟硬件增加Cortex-M85和Ethos-U65支持。
更新记录如下:
全家桶组件更新如下:
3、NXP推出支持8通道±25V模拟前端芯片NAFE71388和NAFE11388,集成24bit分辨率ADC
https://www.nxp.com.cn/products/peripherals-and-logic/signal-chain/analog-front-end:ANALOG-FRONT-END
专为可编程逻辑控制器(PLC)、I/O模块、数据记录器、仪器以及高精度传感器和数据采集系统而设计。
高度可配置的工业级8通道通用输入模拟前端(AFE),可满足高精度的测量要求。该设备集成了低漏高压快速多路复用器、低偏移和低漂移PGA和缓冲器、高精度和高数据速率24位Δ-∑ ADC以及低漂移电压基准。模拟高压(HV)输入引脚在内部有二极管保护,以防止EMC和布线错误。该设备配备了各种诊断和供电监控电路,用于状态监测和异常检测。为便于端对端系统的自校准和预测性维护,提供了两个精确的校准电压源。
规格:
4、爱普生推出万用表单片机S1C17M02/M03单芯片解决方案
https://global.epson.com/products_and_drivers/semicon/products/micro_controller/16bit/dmm.html
规格:可以测量直流/交流电压、直流/交流电流,电阻,电感,电容,二极管,频率。内置16bit ADC,数字滤波器,RMS有效值电路和峰值保持电路。
芯片框图:
集成的万用表控制单元:
同时官方还推出的参考设计套件,纽扣电池供电,含原理图
https://global.epson.com/products_and_drivers/semicon/pdf/id003136.pdf
5、推荐个非常棒的C 入门学习网站
https://hackingcpp.com/cpp/hello_world.html
这个网站好就好在从基础知识,编译链接,注意事项都做了详细的说明
6、逼真的3D电路仿真软件CRUMB Circuit Simulator
https://store.steampowered.com/app/2198800/CRUMB_Circuit_Simulator/
7、用于电子元件拾取放置的电机控制板开源项目
https://blog.thea.codes/starfish-a-control-board-with-the-rp2040/ https://github.com/wntrblm/jellyfish-and-starfish
这个也是一个非常不错的开源项目,采用RP2040和TMC2209电机控制器实现
8、安森美新推出的旋转位置传感器NCS32100
https://www.onsemi.com/design/tools-software/evaluation-board/STR-NCS32100-GEVK
新传感器的方法旨在取代基于光学编码器的位置传感器。而且,与这些传感器不同,NCS32100不受温度和振动变化的影响。这些方面使其非常适合极端环境条件具有挑战性的工业应用。
同时推出参考设计套件
9、Weebit Nano和SkyWater推出首批ReRAM演示芯片
https://www.weebit-nano.com/news/press-releases/weebit-nano-receives-from-skywater-technology-the-first-silicon-wafers-manufactured-with-embedded-weebit-reram-rram/
SkyWater生产了第一批集成Weebit嵌入式ReRAM的硅晶圆,标志着ReRAM商业化的一个重要里程碑。
ReRAM代表电阻式RAM,将DRAM的读写速度与SSD的非易失性结合于一身。
下一代存储器技术开发商Weebit Nano表示,它已成功完成其研发合作伙伴CEA-Leti制造的电阻式随机存取存储器(ReRAM)模块的全面技术认证。证明了Weebit的ReRAM的质量、可重复性和可靠性,并确认了其作为嵌入式IP的批量生产的适用性。
10、第4版:Real-Time Embedded Multithreading With Azure RTOS ThreadX 下载
Real-Time_Embedded_Multithreading_with_ThreadX_4th_Edition.pdf (2.37 MB)
11、H7-TOOL发布V2.19,脱机烧录新增中微半导体、广芯微电子、中移芯昇以及极海和灵动新系列,增加PWM发生器等功能
H7-TOOL所有资源汇总(含操作手册):
http://www.armbbs.cn/forum.php?mod=viewthread&tid=89934
PC机软件:升级PC软件到V2.1.9
h7toolPC_release(V2.1.9).zip (62.95MB)
【PC软件】V2.1.9 1. 脱机烧录新增IC -- 灵动 MM32F0020、MM32F0133 -- 中微半导体 CMS32M53xx、CMS32M55xx、CMS32M57xx。 CMS32F03x -- 广芯微电子 UM321x -- 中移芯昇CM32M101A -- 极海APM32F4xx系列 APM32F405、407、415、417 2. 脱机烧录器功能增强 -- 高级配置中添加参数说明(SWD时钟延迟对应的实际速度) -- UID加密页面,增加"打开算法文件夹"按钮 -- UID解密结果长度可设置4-16之间任意值。之前是 4、6、8、16 -- UID解密页面完善说明,如何添加自定义加密文件 -- 支持读串行Flash的UID,可用于程序加密 -- 烧录串行FLASH的滚码和UID密码时,数据文件之后的空间按1024字节粒度进行擦除和编程,之前是16KB -- 烧录器读芯片界面,支持偏移地址为负数 -- 更改芯片型号后,算法栏自动选择第1项,地址框自动填充为首地址。 修改算法文件后也自动修改为首地址。不影响HEX文件分段地址自动填充功能。 -- Cypress PSOC4,支持Hex文件中 0x09030000、0x09040000 配置数据的自动分割。 3. 界面BUG --解决BUG: Windows字体缩放100%时,示波器拨盘10V档位的位置不正确 --LOG窗口字体由宋体修改为新宋体,解决字体大小变化时,制表符号不对齐问题 --修改鼠标滚轮调整LOG窗口字体大小的步距,更加细腻。 【固件】V2.19 1. 增加开机启动选项,新增模拟信号发生器。上电可以直接恢复上次设置状态 2. 修正 uint8_t W25Q_DetectIC() 函数的bug 3. lua接口f_write() 函数实现4字节对齐 4. lua API新增 get_runtime_us()、check_runtime_us() 5. 修复utf8转gbk的bug(末尾为2字节uft8编码,直接退出) 6. 解决V2.18引入的BUG(非烧录界面下载程序时,不保存烧录启动文件,导致下载之前的配置文件) 7. lua API新增 pg_read_uid(), 目前仅用于读取串行flash的UID 8. 烧录器参数界面,取消多路模式项目(已实现自动交易上次烧录模式) 9. 上电缺省界面参数,修改参数值为:"缺省", "脱机烧录", "DAP-Link", "信号源"。 10.信号发生器功能。增加PWM发生器
1、升级新版注意事项
(1)APP和eMMC独立分别升级了: http://www.armbbs.cn/forum.php?mod=viewthread&tid=105600
(2)因为关闭了WiFi模块内部上电自动重连功能,由程序控制接入WiFi热点,所以升级完毕后需要大家更新下WiFi密码。
2、新增PWM发生器
使用TOOL上的引脚D0,D1,D3和D4
(1)可以i使用LUA小程序控制,LUA API 如下:
代码语言:javascript复制lua 接口函数 gpio_pwm_out(pin, freq, duty)
--pin : 端口号,0、1、3、4
--freq : 频率,Hz单位,整数
--duty :占空比,百分比,0 - 100.0%
--推挽输出,电平由TVCC电压决定(可设置) --四路共用的一个TIM,因此频率必须相同。占空比可以不同
函数用法:
gpio_pwm_out(0, 1000, 50.00) --D0口输出1KHz,占空比50.00%的方波
gpio_pwm_out(1, 1000, 40.00) --D1口输出1KHz,占空比40.00%的方波
gpio_pwm_out(3, 1000, 30.00) --D3口输出1KHz,占空比30.00%的方波
gpio_pwm_out(4, 1000, 10.00) --D4口输出1KHz,占空比10.00%的方波
gpio_pwm_out(0, 0, 0) --D0口PWM关闭,输出0电平
gpio_pwm_out(1, 0, 0) --D1口PWM关闭,输出0电平
gpio_pwm_out(3, 0, 100) --D3口PWM关闭,输出1电平
gpio_pwm_out(4, 0, 100) --D4口PWM关闭,输出1电平
set_tvcc(3.30) --设置电平为3.3V
可以上位机这里控制:
可以使用TOOL手持显示屏控制:
3、支持读取串行Flash的UID,可永固程序加密 之前做的SPI Flash读取ID是JEDEC ID,这次更正为UID,保证ID唯一
4、新增的LUA API
这个是64bit变量计数,单位1us,最长可以表示 292471年。
代码语言:javascript复制local us
-- 获取当前的时间,单位us
us = get_runtime_us()
print(us)
-- 计算当前运行时间和给定时刻之间的差值,单位us
us = check_runtime_us(2533198373)
print(us)
5、脱机烧录
(1)新增中微半导体 CMS32M53xx、CMS32M55xx、CMS32M57xx、CMS32F03x
(2)广芯微电子 UM321x
(3)中移芯昇CM32M101A
(4)极海APM32F4xx系列 APM32F405、407、415、417
(5)灵动 MM32F0020、MM32F0133
6、当前支持的器件列表