《安富莱嵌入式周报》第311期:300V可调节全隔离USB PD电源,开源交流负载分析仪,CANFD Trace,6位半多斜率精密ADC设计,开源数学库

Posted 嵌入式系统

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《安富莱嵌入式周报》第311期:300V可调节全隔离USB PD电源,开源交流负载分析仪,CANFD Trace,6位半多斜率精密ADC设计,开源数学库相关的知识,希望对你有一定的参考价值。

周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104

 

视频版:

https://www.bilibili.com/video/BV1Hh4y1H7dR



1、运行速度1Hz木头材料晶体管

https://liu.se/en/news-item/varldens-forsta-tratransistor

研究人员设计并测试了第一批木制晶体管,为更具可持续性和可生物降解的木质电子产品铺平道路。此外,木质电子设备可以提供活植物的电子控制。


2、可调300V高压USB PD电源,所有USB端口都彼此隔离并与高压隔离

https://aylo6061.com/2023/04/26/adjustable-high-voltage-usb-pd-power-supply/

 PDHV-main.zip (1.47 MB)

高压是相对来说的,这里的高压是指从USB电源中获的300V。


3、AI单片机STM32N6的最新消息,STM32N6的AI性能是STM32MP1(双核A7,800MHz)的25倍

这次消息由ST官方带来

1、运行相同的神经网络Demo,STM32N6的刷新帧率是STM32H7的75倍,主频不到其2倍。

2、STM32N6带的硬件NPU单元式他们自家开发,没有使用ARM的U55/U56加速,性能非常强劲,STM32N6的AI性能是STM32MP1(双核A7,800MHz)的25倍

3、芯片运行不需要像A系那样搞个散热片或者风扇冷却。

4、硬件上带千兆以太网,ISP机器视觉图像处理器,H264硬件编码,MIPI CSI摄像头等。

 

4、EtherCAT 20周年

https://www.beckhoff.com/en-en/company/press/two-decades-since-ethercat-communication-launched-at-hannover-messe-2023-04.html
https://www.ethercat.org/en/press/etg_8F12DBC9E18C42828CC9D45E6A1A84D6.htm

自 20 年前推出 EtherCAT 以来,EtherCAT 技术协会(ETG)首次发布节点数。除模块化I/O 设备外,ETG 估计全球 EtherCAT 节点数为 5910 万个,而近期的增长尤为明显。自 2014年以来,EtherCAT 节点数呈指数级增长,仅 2022 年就增加了 1840 万个节点。

EtherCAT的独特卖点之一是该技术本身在20多年来从未改变过。芯片中包含的基本协议始终保持不变,并且仅以完全向后兼容的方式进行扩展

 

 

5、Python开源数学库numpy,很多底层实现采用C,有一定参考价值

网站:https://github.com/numpy/numpy
文档:https://numpy.org/doc
源代码:https://github.com/numpy/numpy

源码中有很多以C实现的代码,有一定的参考性:

比如单精度浮点转半精度浮点

 

uint16_t numpy_floatbits_to_halfbits(uint32_t f) 
  uint16_t h_sgn = (uint16_t)((f & 0x80000000u) >> 16);
  uint32_t f_exp = f & 0x7f800000u;
  uint32_t f_sig = f & 0x007fffffu;
 
  // Exponent overflow/NaN converts to signed inf/NaN
  if (f_exp >= 0x47800000u) 
    if ((f_exp == 0x7f800000u) && (f_sig != 0)) 
      // NaN - propagate the flag in the significand...
      uint16_t ret = (uint16_t)(0x7c00u + (f_sig >> 13));
      ret += (ret == 0x7c00u); // ...but make sure it stays a NaN
      return h_sgn + ret;
     else 
      // (overflow to) signed inf
      return (uint16_t)(h_sgn + 0x7c00u);
    
  
 
  // Exponent underflow converts to a subnormal half or signed zero
  if (f_exp <= 0x38000000u) 
    // Signed zeros, subnormal floats, and floats with small
    // exponents all convert to signed zero half-floats.
    if (f_exp < 0x33000000u) 
      return h_sgn;
    
    // Make the subnormal significand
    f_exp >>= 23;
    f_sig += 0x00800000u;
    f_sig >>= (113 - f_exp);
    // Handle rounding by adding 1 to the bit beyond half precision
    //
    // If the last bit in the half significand is 0 (already even),
    // and the remaining bit pattern is 1000...0, then we do not add
    // one to the bit after the half significand. However, the
    // (113 - f_exp) shift can lose up to 11 bits, so the || checks
    // them in the original. In all other cases, we can just add one.
    if (((f_sig & 0x3fffu) != 0x1000u) || (f & 0x07ffu)) 
      f_sig += 0x1000u;
    
    uint16_t h_sig = (uint16_t)(f_sig >> 13);
    // If the rounding causes a bit to spill into h_exp, it will
    // increment h_exp from zero to one and h_sig will be zero.
    // This is the correct result.
    return (uint16_t)(h_sgn + h_sig);
  
 
  // Regular case with no overflow or underflow
  uint16_t h_exp = (uint16_t)((f_exp - 0x38000000u) >> 13);
  // Handle rounding by adding 1 to the bit beyond half precision
  //
  // If the last bit in the half significand is 0 (already even), and
  // the remaining bit pattern is 1000...0, then we do not add one to
  // the bit after the half significand. In all other cases, we do.
  if ((f_sig & 0x3fffu) != 0x1000u) 
      f_sig += 0x1000u;
  
  uint16_t h_sig = (uint16_t)(f_sig >> 13);
  // If the rounding causes a bit to spill into h_exp, it will
  // increment h_exp by one and h_sig will be zero. This is the
  // correct result. h_exp may increment to 15, at greatest, in
  // which case the result overflows to a signed inf.
  return (uint16_t)(h_sgn + h_exp + h_sig);

 

 

 

6、FatFS作者ChaN老师分享的交流负载分析仪

  heco_src.zip (53.96 KB)

支持电压,电流,有效功率、视在功率、功率因数,频率,谐波分量展示。

界面效果:


7、AppWizard发布V1.36c,增加自动售货机,阿拉伯键盘,滚轮调数,火焰动态视频效果按钮等demo

AppWizardTrial_V136c_632c_Install.exe (70.63MB)

按钮动态效果是播放的视频实现,实际效果很炫

自动售货机:

阿拉伯键盘

滚轮调数

更新记录:


8、6位半多斜率精密ADC设计

https://hackaday.io/project/190528-multislope-adc

基于积分器、电流开关、电压-时间转换和久经考验的多斜率方法的精密ADC设计

作者已经搞了一段时间了,还在持续的更新中。


9、MicroPython 10周年,发布V1.20

https://micropython.org/resources/MicroPython10YearsPoster.pdf


10、CinePI基于树莓派的高端电影摄像头

https://github.com/schoolpost/CinePI
https://www.raspberrypi.com/news/cinepi-a-high-end-film-camera-built-on-raspberry-pi/

规格:

效果:


11、Embedded Wizard给STM32U599带来的炫酷视频效果展示

视频:

https://www.armbbs.cn/forum.php?mod=viewthread&tid=119027


12、资讯

(1)英飞凌推出业界首款下一代汽车级E/E架构LPDDR

https://www.infineon.com/cms/en/about-infineon/press/market-news/2023/INFATV202304-092.html

英飞凌LPDDR闪存提供安全、可靠和实时的代码执行,对汽车域和区域控制器至关重要。该器件的性能是当前NOR闪存的8倍,实时应用的随机读取事务速度提高了20倍。该器件符合 ISO26262 ASIL-B 标准,提供先进的纠错和其他安全功能

 

 

(2)  16路IO扩展芯片NCA9595PW

https://www.nexperia.com/products/analog-logic-ics/interface/i2c-general-purpose-i-o-gpio/NCA9595PW-Q100.html

低压16位,I2C和SMBus I/O扩展器,带中断输出、配置寄存器和可编程上拉电阻,该器件已经通过汽车级AEC-Q100 (Grade 1) 认证

 

 

(3)Audio Pioneer xMEMS宣布全球唯一 一款全硅固态保真微型扬声器正式上市

https://xmems.com/news/xmems-announces-general-availability-of-all-silicon-micro-speakers/


13、H7-TOOL本周进展

H7-TOOL详细介绍:https://www.armbbs.cn/forum.php?mod=viewthread&tid=89934

(1)H7-TOOL已实现NXP 的 S32K3 系列汽车级芯片脱机烧录

下个正式版本将发布,急需的客户可先联系我们获取临时版本使用

 

 

(2)下个版本V2.22版本增强 PWM输出性能, 支持 0.01Hz 和 0.1Hz 单位

V2.2.2 版本增强 PWM输出性能。支持 0.01Hz 和 0.1Hz 单位。

频率范围: 0.05Hz ~ 40MHz

低频信号应用场景:

调试低功耗测量的板子时,由H7-TOOL输出低频方波信号控制继电器自动切换负载,用示波器观察电流波形。之前最低频率是1Hz,波形变化太快,不方便观察。

目前可以设置5秒(0.2Hz)波形变化一次,观察波形就很方便了。

(3)H7-TOOL的CANFD Trace全解析功能制作完成

当前已经支持:
1、LUA小程序控制,使用灵活。
2、采用SWD接口直接访问目标板芯片的CANFD外设寄存器和CANFD RAM区实现,支持USB,以太网和WiFi方式以及内网和外网访问。
3、可以解析CANFD工作模式,波特率,采样点和是时钟误差率。
4、可以解析所有标准ID过滤器配置和所有扩展ID过滤器配置。
5、可以解析CANFD接收的Rx Buffer,Rx FIFO0和Rx FIFO1数据。
6、通过监测Tx Event FIFO解析Tx Buffer, TxFIFO/Queue的发送事件序列。
7、监测ECR错误计数器和PSR协议状态寄存器。
8、CANFD兼容经典CAN,CANFD用于经典CAN模式也是可以正常解析的。
9、CANFD基本都是采用博世的IP核,所以大家可以方便的修正移植到其他厂家的CANFD芯片监测。

这几天将正式发布分享给大家,同时带来第2期CAN/CANFD/CANopen专题视频教程,将把CANFD的工作机制做个详细的说明

 

 

扩展ID过滤器和标准ID过滤器解析均正常

 

 

接收消息Rx FIFO 0和Rx FIFO 1也没问题了

 

 

Rx Buffer的读取没问题了

 

 

发送解析也没问题了,Tx Event里面可以记录Tx Buffer/TxFIFO的发送事件。

 

 

监测ECR错误计数器和PSR协议状态寄存器

 

《安富莱嵌入式周报》第260期:2022.04.04--2022.04.10

往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 视频教程更新: DSP视频教程第6期:Matlab和VSCode联调,使用贼舒服,大大方便测试验证,全程无需打开Matla

以上是关于《安富莱嵌入式周报》第311期:300V可调节全隔离USB PD电源,开源交流负载分析仪,CANFD Trace,6位半多斜率精密ADC设计,开源数学库的主要内容,如果未能解决你的问题,请参考以下文章

《安富莱嵌入式周报》第260期:2022.04.04--2022.04.10

《安富莱嵌入式周报》第268期:2022.05.30--2022.06.05

《安富莱嵌入式周报》第269期:2022.06.06--2022.06.12

《安富莱嵌入式周报》第263期:2022.04.25--2022.05.01

《安富莱嵌入式周报》第264期:2022.05.02--2022.05.08

《安富莱嵌入式周报》第265期:2022.05.09--2022.05.15