《安富莱嵌入式周报》第243期:2021.12.062021.12.12

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

 

1、ZYNQ版高性能开源示波器,1Gsps采样率,100MHz带宽,捕获率22000 wfm/s,树莓派做波形渲染

这款开源示波器最大的特色就是波形渲染(余晖/荧光)效果做的很强,开始阶段作者是采用的树莓派模组3,每秒可以渲染22000帧,后面阶段采用英伟达Jetson,可以渲染130000帧。

ZYNQ的FPGA负责触发和数据采集,A9负责将数据传送给树莓派,然后树莓派做的显示处理,ADC采用1Gsps的HMCAD1511。

ZYNQ程序:
https://github.com/tom66/scopy-fpga

树莓派跑的APP应用:
https://github.com/tom66/scopeapp

硬件开源:
https://github.com/tom66/scopy_hardware

讨论帖:
https://www.eevblog.com/forum/testgear/a-high-performance-open-source-oscilloscope-development-log-future-ideas/

视频效果:
https://www.bilibili.com/video/BV1JL411E7nm

截图:

 

 

2、TI精密实验室推出的8000多期视频,含运放,ADC,电力电子,电机等

TI training search results | TI.com

之前整理过一次他们的ADC介绍,非常给力。

第1期:ADC介绍
主要分为三小节
(1)第1小节:直流规格,输入电容,输入阻抗,参考电压范围,INL和DNL。
(2)第2小节:AC和DC规格,失调误差,增益误差,CMRR,PSRR,SNR和TH。
(3)第3小节:SAR ADC输入类型。


第2期:ADC驱动器拓扑
主要分为四小节
(1)第1小节:使用运算放大器时确定SAR ADC的线性范围。
(2)第2小节:动手实验,交叉失真,它展示了前端驱动器如何影响SAR ADC性能。
(3)第3小节:使用仪表放大器时确定SAR ADC的线性范围。
(4)第4小节:用全差分放大器驱动SAR ADC。


第3期:误差和噪声的计算
主要分为四小节
(1)第1小节:数据手册里面误差分析中所做统计参数的含义。
(2)第2小节:理解和校准ADC的偏移和增益。
(3)第3小节:使用TI的工具TINA - SPICE Monte Carlo来做统计误差分析。
(4)第4小节:计算总噪声。
(5)第5小节:上手实验,ADC噪声,它展示了前端驱动器如何受到电阻器热噪声的影响。

第4期:ADC规格
主要分为五小节
(1)第1小节:介绍频域。
(2)第2小节:FFT变换和窗口。
(3)第3小节:相关采样和滤波来提高SNR和THD。
(4)第4小节:混叠和抗混叠器。
(5)第5小节:上手实验,混叠和抗混叠器。

第5期:SDR ADC输入驱动设计
主要分为四小节
(1)第1小节:介绍SDR ADC模拟前端器件选择。
(2)第2小节:运放的选择和验证。
(3)第3小节:建立SDR ADC模型。
(4)第4小节:优化Rfilt和Cfilt值(运放使用的电阻和电容值)。
(5)第5小节:最终SDR驱动器仿真。
(6)第6小节:SDR ADC驱动计算时用到的数学算法。

第6期:SDR ADC的低功耗设计
仅一小节
(1)第1小节:SAR ADC功率调节。

第7期:高速ADC基础知识
这些视频涵盖了高速ADC的基础知识,包括ADC和DAC两种架构的概述以及高速器件独有的其他细节。
主要分为七小节
(1)第1小节:了解和比较高速模数(ADC)和数模(DAC)转换器架构。
(2)第2小节:抖动对高速ADC和信噪比SNR的影响。
(3)第3小节:了解高速数据转换器中的信噪比(SNR)和噪声频谱密度(NSD)。
(4)第4小节:带宽,采样率和欠采样的概念。
(5)第5小节:高速数据转换器中的采样速率与数据速率,抽取(DDC)和插值(DUC)概念。
(6)第6小节:频率和采样率规划,了解高速ADC中的采样,奈奎斯特区,谐波和杂散性能。
(7)第7小节:介绍高速ADC的幅频和相频特性。

 这些视频有个关键的特色,就是视频下面都有中文字幕可以选

 

3、芯片外设使用硬件位带,如果没有起作用的话,注意使用__attribute__((bitband))的正确姿势即可
之前发的帖子:

推荐一种超简单的硬件位带bitband操作方法,让变量,寄存器控制,IO访问更便捷,无需用户计算位置
https://www.armbbs.cn/forum.php?mod=viewthread&tid=109508

帖子里面案例2,MDK编译会没有起作用,修改定义方式即可:

原来写法:

typedef struct {
  uint16_t ODR0 : 1;
  uint16_t ODR1 : 1;
  uint16_t ODR2 : 1;
  uint16_t ODR3 : 1;        
  uint16_t ODR4 : 1;
  uint16_t ODR5 : 1;
  uint16_t ODR6 : 1;
  uint16_t ODR7 : 1;        
  uint16_t ODR8 : 1;
  uint16_t ODR9 : 1;
  uint16_t ODR10 : 1;
  uint16_t ODR11 : 1;        
  uint16_t ODR12 : 1;
  uint16_t ODR13 : 1;
  uint16_t ODR14 : 1;
  uint16_t ODR15 : 1;        
  uint16_t Reserved : 16;        
} GPIO_ORD  __attribute__((bitband));

GPIO_ORD *GPIOA_ODR = (GPIO_ORD *)(&GPIOA->ODR);

修改为如下写法:

typedef struct {
uint16_t ODR0 : 1;
uint16_t ODR1 : 1;
uint16_t ODR2 : 1;
uint16_t ODR3 : 1;
uint16_t ODR4 : 1;
uint16_t ODR5 : 1;
uint16_t ODR6 : 1;
uint16_t ODR7 : 1;
uint16_t ODR8 : 1;
uint16_t ODR9 : 1;
uint16_t ODR10 : 1;
uint16_t ODR11 : 1;
uint16_t ODR12 : 1;
uint16_t ODR13 : 1;
uint16_t ODR14 : 1;
uint16_t ODR15 : 1;
uint16_t Reserved : 16;
} GPIO_ORD __attribute__((bitband));

GPIO_ORD GPIOA_ODR __attribute__((at(0x40020014)));

其中地址0x40020014很好获取,可以看参考手册,调试状态看MDK也非常方便:

 操作GPIOA的ODR1,就可以这样:

GPIOA_ODR.ODR1 = 0;
GPIOA_ODR.ODR1 = 1;

看反汇编,已经转换为硬件位带了:

 

4、Embedded Studio增加对 64bit RISC-V 支持

SEGGER adds 64-bit RISC-V support to Embedded Studio

 

5、MDK的STM32F1软件包竟然升级了,更新了一批CMSIS-Driver驱动

MDK5 Software Packs (keil.com)

时隔三年后升级了一次:

 

6、单片机版emWin6.20软件包发布了,配合AppWizard_V124_620b

网盘下载:https://pan.baidu.com/s/1Oe8TsHmxHLjNlMBXGLeYgw 提取码:dond

 

 更新记录:

 现在emWin视频支持AVI格式,支持自家的emf格式,其中emf的图片解码支持jpg和位图两种。

 emWin V6.20的VNC功能大更,支持多用户访问,同时支持Web浏览器访问



7、华为海思发布专为全高清电视设计的32位RISC-V单片机Hi3731V110

Hi3731V110 (hisilicon.com)

从配置上来看,性能很强,整合512Mbit DDR SDRAM。软件上跑LiteOS。

支持全球各种制式的模拟电视(ATV)主处理芯片,支持NTSC/PAL/SECAM制式解调,支持USB播放,支持主流的视频格式包括MPGE2,H.264,H.265,RMVB等,支持主流音频解码及音效处理,以及海思自研的SWS音效处理,支持CVBS/YPbPr/VGA/HDMI 1.4输入,支持LVDS和miniLVDS接口,支持主流的Tconless屏。

 

8、NXP推出的基于单片机i.MX RT117F的3D人脸识别方案:

https://www.nxp.com/design/designs/nxp-edgeready-mcu-based-solution-for-3d-face-recognition:VIZN3D

框图:

 效果:

 

 

9、普源采样率20Gsps,带宽4GHz,4通道示波器DS70004,搭载自研芯片RT8815IE,近期上线

去年年底就见到这个消息了,一直没有正式上线,今天看twitter消息要上线了。

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


10、本周更新两章ThreadX NetXDUO章节教程,快整理完毕

周一或者周二晚上分享更新章节教程,本来是打算今天就分享的,时间没安排好。

ThreadX近期主攻NetXDUO网络协议栈。



11、H7-TOOL本周进展

(1)为了方便生产人员,下次固件升级增加两个功能。

a、可以屏蔽用不到的功能图标。

b、1拖4脱机烧录增加导入配置功能和一键下载更新。如此以来,仅需将配置文件发给生产人员即可。


(2)由于TOOL是支持四个方向切换的

下次截图更新增加横屏展示:



(3)LUA小程序功能更新

LUA脚本的好处是用户可以根据自己注册的一批API(当前TOOL已经提供了几百个函数供大家使用),实现各种小程序,不再限制Flash里面已经下载的程序,就跟手机安装APP差不多,所以在H7-TOOL里面被广泛使用,支持在线调试运行,支持离线运行。

TOOL的LUA教程争取做到大家可以无痛调用各种功能函数,不需要学习成本。

a、H7-TOOL的LUA小程序教程第2期:变量,循环,函数,条件语句和字符串相关API

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

b、LUA小程序做三函数波形验证非常方便

比如我们要测试tan函数:

for j=-10, 10, 0.1 do                                   
    s = string.format("%f", math.tan(j))
    print(s)                                   
    print_wave(s)
    delayms(20)                                   
end

方便的就打印出了效果:

 程序里面做了20ms延迟,方便看动态变换过程:


c、 Lua驱动74HC595,可配置任意引脚、595芯片个数。发布74HC595_8路继电器模块

详细操作说明贴:
https://www.armbbs.cn/forum.php?mod=viewthread&tid=110038

产品应用场合: 工装设备中做信号切换。
可搭配H7-TOOL使用,实现8选1信号切换、设备供电等。8路输出可独立控制。有配套的lua接口API。
特点:
1、内置74HC595,只需3个输出口即可控制. 支持级联.
2、体积小,节省底板空间
3、排针2.54mm间距,可直接插到洞洞板。
4、触点容量:2Ax2  两组并联。

  

(4)花了些时间学习开源调试组件OpenOCD,把Embedded Studio和STM32CubeIDE使用H7-TOOL使用高速DAPLINK做了个支持。

a、H7-TOOL高速DAPLINK用于Embedded Studio操作说明,采用OpenOCD配GDB Server

详细说明:https://www.armbbs.cn/forum.php?mod=viewthread&tid=109999

 进入调试状态动态GIF:

 
b、H7-TOOL的高速DAPLINK用于STM32CubeIDE操作教程,采用OpenOCD

详细说明:https://www.armbbs.cn/forum.php?mod=viewthread&tid=109997

进入调试,动态GIF:

 
(5)H7-TOOL接NTC热敏电阻的温度测量视频展示:

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

微信公众号:armfly_com 安富莱论坛:www.armbbs.cn 安富莱淘宝:https://armfly.taobao.com
原文地址:https://www.cnblogs.com/armfly/p/15690283.html