• 《安富莱嵌入式周报》第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
  • 相关阅读:
    面向对象的继承关系体现在数据结构上时,如何表示
    codeforces 584C Marina and Vasya
    codeforces 602A Two Bases
    LA 4329 PingPong
    codeforces 584B Kolya and Tanya
    codeforces 584A Olesya and Rodion
    codeforces 583B Robot's Task
    codeforces 583A Asphalting Roads
    codeforces 581C Developing Skills
    codeforces 581A Vasya the Hipster
  • 原文地址:https://www.cnblogs.com/armfly/p/15690283.html
Copyright © 2020-2023  润新知