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

news2024/11/19 15:16:18

周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz!

 

视频版:

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

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



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

The world’s first wood transistor - Linköping University

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

 


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

Adjustable High Voltage USB PD Power Supply – AyLo

 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周年

Compatible and open EtherCAT technology – proven in practice for 20 years | Beckhoff Worldwide
EtherCAT Technology Group | Press details

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

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

 

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

网站:GitHub - numpy/numpy: The fundamental package for scientific computing with Python.
文档:NumPy Documentation
源代码:GitHub - numpy/numpy: The fundamental package for scientific computing with Python.

源码中有很多以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设计

Multislope ADC | Hackaday.io

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

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

 


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

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

 


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

GitHub - schoolpost/CinePI: OpenSource Cinema Camera using Raspberry Pi
CinePI: a high-end film camera built on Raspberry Pi - Raspberry Pi

规格:

 

效果:

 

 

 


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

视频:

《安富莱嵌入式周报》第311期:2023.04.24--2023.05.01 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz!

 

 

 


12、资讯

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

Infineon enables next-generation automotive E/E architectures with industry’s first LPDDR Flash memory - Infineon Technologies

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

 

(2)  16路IO扩展芯片NCA9595PW

NCA9595PW-Q100 - Low-voltage 16-bit I²C and SMBus I/O expander with interrupt output, configuration registers and programmable pull-up resistors | Nexperia

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

 

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

Audio Pioneer xMEMS Announces General Availability of the World’s Only All-Silicon, Solid-State Fidelity Micro Speakers | xMEMS

 


13、H7-TOOL本周进展

H7-TOOL详细介绍:H7-TOOL开发工具,1拖4/16脱机烧录,高速DAPLINK,RTOS Trace,CAN/串口助手, 示波器, RTT等,支持WiFi,以太网,高速USB和手持 - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!

(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协议状态寄存器

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/492168.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【机器学习】决策树算法解读

【机器学习】决策树算法解读 文章目录 【机器学习】决策树算法解读1. 介绍1.1 优缺点1.2 结构1.3 学习过程1.4 决策树与条件概率分布 2. 决策树学习过程2.1 训练策略2.2 特征选择2.2.1 信息增益和条件熵 2.3 决策树的生成2.3.1 ID32.3.2 C4.52.3.3 CART2.3.4 小结 2.4 决策树的…

Nacos配置中心、配置热更新、及配置共享的记录

Nacos除了提供了注册中心的功能,同样也提供了配置中心的功能,用于管理一些叫常改动的配置 当微服务部署的实例越来越多&#xff0c;达到数十、数百时&#xff0c;逐个修改微服务配置就会让人抓狂&#xff0c;而且很容易出错。我们需要一种统一配置管理方案&#xff0c;可以集中…

计算时间复杂度详解

1&#xff0c;前置知识 我们在计算时间复杂度之前的前置知识是等差数列的通项公式和求和公式以及等比数 列的通项公式和求和公式 等差数列&#xff1a; 通项公式&#xff1a;ana1(n-1)d&#xff08;d是公差&#xff09; 求和公式&#xff1a;Snn(a1an)/2 等比数列&#xf…

【Python入门知识】NumPy数组拆分,超详细讲解

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 今天我们来学习python中NumPy数组的拆分 拆分 NumPy 数组 拆分是连接的反向操作。 连接&#xff08;Joining&#xff09;是将多个数组合并为一个&#xff0c;拆分&#xff08;Spliting&#xff09;将一个数组拆分为多个。…

Mysql 学习(七)独立表结构存储 二

段的结构 上一节说过表空间分为各个段&#xff0c;每个段里面又是以区为单位&#xff0c;每个区则有64个页。区根据剩余存储空间分为&#xff1a;Free&#xff0c;FREE_FRAG&#xff0c;FULL_FRAG 三种类型&#xff0c;为了方便管理区&#xff0c;给每个区创建XDES Entry结构&…

【校招VIP】用户反驳:你说大厂校招不会问框架实战,现在就有问的了,打脸了吧?一看是专业技能给自己挖的坑

最近有个用户过来质疑&#xff0c;不是说大厂不考框架的使用吗&#xff1f; 但网上的这两份面经里&#xff0c;却问到关于SpringBoot的问题。 接着发来了相对应的简历&#xff0c;一看&#xff0c;直接真相大白&#xff1a; 他在专业技能这栏写了&#xff1a;我熟练掌握Sprin…

flink内存参数配置学习

直接上官网 配置 JobManager 内存 | Apache Flink配置 JobManager 内存 # JobManager 是 Flink 集群的控制单元。 它由三种不同的组件组成&#xff1a;ResourceManager、Dispatcher 和每个正在运行作业的 JobMaster。 本篇文档将介绍 JobManager 内存在整体上以及细粒度…

自动驾驶中地图匹配定位技术总结

引言 汽车定位是让自动驾驶汽车知道自身确切位置的技术&#xff0c;在自动驾驶系统中担负着相当重要的职责。汽车定位涉及多种传感器类型和相关技术&#xff0c;主要可分为卫星定位、惯性导航定位、地图匹配定位以及多传感器融合定位几大类。其中地图匹配定位技术利用道路物理…

CSS绝对定位、相对定位

目录 静态定位 - static 相对定位 - relative 绝对定位 - absolute 固定定位 - fixed z-index属性&#xff1a; 在CSS中定位有以下4种&#xff1a; 静态定位 - static相对定位 - relative绝对定位 - absolute 固定定位 - fixed 静态定位 - static 静态定位是css中的默认定…

网络机顶盒哪个牌子好?资深数码粉分享网络电视机顶盒排名

智能电视配置跟不上经常死机卡顿&#xff0c;但显示正常的情况下不想花钱换电视机怎么办&#xff1f;一台网络机顶盒就可以解决你的烦恼&#xff0c;安装上网络机顶盒以后就可以让旧电视新生&#xff0c;那么你知道网络机顶盒哪个牌子好吗&#xff1f;如果不懂这行&#xff0c;…

【自然语言处理 | Transformer】Transformer:Attention is All You Need论文讲解

Transformer由论文《Attention is All You Need》提出&#xff1a; 论文地址为&#xff1a; https://arxiv.org/pdf/1706.03762.pdf文章目录 一、Transformer 整体结构二、Transformer 的输入2.1 单词 Embedding2.2 位置 Embedding 三、Self-Attention&#xff08;自注意力机制…

.net7 通过 JsonTranscoding 实现 gRPC 与 Web API 一鱼两吃

目标 在一个网站内&#xff0c;用一套proto即提供gPRC 调用&#xff0c;又提供 Web API 调用。 实现方法 根据微软官方James Newton King&#xff08;Newtonsoft.json 作者&#xff09;的文章&#xff0c;.net7 里面提供了 JsonTranscoding 特性&#xff0c;只需要三步&#x…

听我一句劝,别去外包,干了6年,废了....

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近6年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了6年的功能测试&…

NANK OE骨传导开放式蓝牙耳机发布,极致体验拉满!

近日&#xff0c;中国专业音频品牌NANK南卡发布了全新一代——骨传导开放式蓝牙耳机NANK OE&#xff0c;耳机采用了传统真无线和骨传导的结合方式&#xff0c;带来更加舒适的佩戴体验和音质升级&#xff0c;同时还支持单双耳自由切换&#xff0c;全新的设计收获了市场的喜爱和认…

SignOff Criteria——POCV(Parametric OCV) introduction

文章目录 1. O v e r v i e w Overview Overview2. P O C V A n a l y s i s POCV\ Analysis POCV Analysis3. P O C V F l o w POCV\ Flow POCV Flow4. P O C V R e p o r t POCV\ Report POCV Report 1. O v e r v i e w Overview Overview P r o c e s s v a r i a t i…

数据发送流程

在发送模式下&#xff0c;UART 的串行数据发送电路主要包括一个发送移位寄存器(TSR)&#xff0c;TSR 功能是将数据 逐个移位送出。待发数据必须先写到发送缓冲区中。 TXIFx 是发送中断标志位&#xff0c;可配置为发送缓冲区空或TSR 空。 数据的发送支持7bit 、8bit 或9bit 数据…

JavaScript原型链污染学习记录

1.JS原型和继承机制 0> 原型及其搜索机制 NodeJS原型机制&#xff0c;比较官方的定义&#xff1a; 我们创建的每个函数都有一个 prototype&#xff08;原型&#xff09;属性&#xff0c;这个属性是一个指针&#xff0c;指向一个对象&#xff0c; 而这个对象的用途是包含可…

为什么用Selenium做自动化测试,你真的知道吗?

目录 手工测试的问题 为什么用自动化 选择合适的测试方式 什么时候引入自动化测试 以Jmeter为代表的测试工具 编程能力既重要又不重要 为什么是Selenium 没有最好的技术&#xff0c;只有合适的技术 web自动化测试效率不高 手工测试的问题 手工操作点点点借助的是人脑的…

知识变现海哥|这3种课程定价最容易爆单

这3种课程定价最容易爆单 一门课怎么才能卖到100万&#xff0c;定价很关键。我卖了160万的课&#xff0c;总结了3种课程定价&#xff0c;组合起来最容易爆单&#xff01;引流课定价0、1、9.9、19.9一般讲3天结束&#xff0c;用低价吸引大量潜在学员 信任课定价99、699、999等…

C++—非递归【循环】遍历二叉树(前序,中序,后序)思路讲解+代码实现

非递归遍历二叉树 前序中序后序 接下来我们在研究如何使用循环实现遍历二叉树时&#xff0c;以下面的二叉树为例&#xff1a; 在下文的讲解中&#xff0c;不对如何构建这颗二叉树做讲解&#xff0c;直接给出代码&#xff0c;如果有不懂的地方欢迎私信我。 文章中的完整源代码链…