首页 > 其他分享 >《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架

时间:2022-10-13 21:37:13浏览次数:87  
标签:www JSON 嵌入式 BV sleep https NET com define

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_php

视频教程更新:

GUI综合实战视频教程第1期:综合UI项目规划以及AppWizard和ThreadX GUIX初识(2022-09-24)

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


视频版:

​https://www.bilibili.com/video/BV1RT411T7PL​

 


1、Matlab2022b发布,支持从 .NET 应用程序调用 MATLAB

​https://ww2.mathworks.cn/product ... atest_features.html​

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_02

详细更新如下:

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_03

2、FatFS作者ChaN老师分享的耳机放大器文章说明已经发布,包含固件源码

​http://elm-chan.org/works/hpamp/report.html​

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_04

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_05

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_php_06

代码:

/*-------------------------------------------------*/
/* Headphone Amplifier Controller (C)ChaN, 2022 */
/*-------------------------------------------------*/

#include <avr/io.h>
#include <avr/sleep.h>
#include <avr/interrupt.h>

FUSES = {0x6A, 0xFD}; /* ATtiny13A fuses: Low, High */


#define BLV_LOW 2.3 /* Low battery threshold [volt] */
#define BLV_OFF 2.1 /* Shutdown threshold [volt] */
#define MUL_VIN 0.333
#define VREF 1.1
#define VOLT2AD(v) ((uint16_t)(v * MUL_VIN * 1024 / VREF))

#define HOLD_TIME 50 /* Button hold time to trigger on/off (x10ms) */


#define POWER_ENABLE() PORTB |= _BV(3)
#define POWER_DISABLE() PORTB &= ~_BV(3)
#define OUT_ENABLE() PORTB |= _BV(0)
#define OUT_DISABLE() PORTB &= ~_BV(0)
#define LED_ON() PORTB |= _BV(2)
#define LED_OFF() PORTB &= ~_BV(2)
#define BUTTON (!(PINB & _BV(1)))


volatile uint8_t Stat; /* Battery status: 0=empty, 1=low, 2=ok */



ISR(INT0_vect) /* Wake-up from sleep mode */
{
GIMSK = 0; /* Disable INT0 (on button down) */
}



ISR(TIM0_COMPA_vect) /* 100Hz timer interrupt */
{
uint8_t n;
static uint8_t blink;


n = Stat;
if (n == 2 || (n == 1 && (++blink & 32))) {
LED_ON();
} else {
LED_OFF();
}
}



static void delay_10ms (void)
{
set_sleep_mode(SLEEP_MODE_IDLE); /* Set Idle mode */
sleep_mode();
}



static uint8_t test_button (void) /* b0:status, b1:trigger */
{
static uint8_t btn;


if (BUTTON) {
if (btn < HOLD_TIME) {
if (++btn == HOLD_TIME) return 3;
}
return 1;
} else {
btn = 0;
return 0;
}
}


static void power_off_mode (void)
{
uint8_t n;


Stat = 0; /* LED off */
for (;;) {
/* LED off, power off, headphone off */
LED_OFF();
OUT_DISABLE();
POWER_DISABLE();

/* Wait for button released (100ms) */
for (n = 10; n; n--) {
delay_10ms();
if (test_button() != 0) n = 10;
}

/* Sleep and resume */
TIMSK0 = 0; /* Disable timer interrupt */
cli(); /* Disable interrupts for critical operations */
GIMSK = _BV(INT0); /* Enable button down interrupt (INT0) */
set_sleep_mode(SLEEP_MODE_PWR_DOWN); /* Set Power-Down mode*/
sleep_enable(); /* Enable sleep mode */
sleep_bod_disable(); /* Disable BOD in sleep mode */
sei(); /* Eneble interrupt to wake-up */
sleep_cpu(); /* Enter sleep mode */

/*------ Sleeping ------*/

sleep_disable(); /* Disable sleep mode */
TIMSK0 = _BV(OCIE0A); /* Enable timer interrupt */

/* Press and hold the button for HOLD_TIME to start */
do {
delay_10ms();
n = test_button();
} while (n == 1);
if (n == 3) break; /* Exit if the button was held for HOLD_TIME, or stay power off */
}

POWER_ENABLE(); /* Enable DC-DC converter */
Stat = 2; /* LED on */
for (n = 30; n; n--) delay_10ms(); /* 300ms */
OUT_ENABLE(); /* Ebable headphone output */
}



static uint8_t battery_level (void) /* Test battery status (2=ok, 1=low, 0=empty) */
{
uint16_t adc;


ADMUX = _BV(REFS0) | 2; /* Select ADC2 with Vref = internal 1.1V */
ADCSRA = _BV(ADEN)|_BV(ADSC)|_BV(ADIF)|0b011; /* Enable ADC and start conversion */
while (!(ADCSRA & _BV(ADIF))) ; /* Wait for EOC */
adc = ADC;
ADCSRA = 0; /* Disable ADC */

if (adc < VOLT2AD(BLV_OFF)) return 0; /* Empty? */
if (adc < VOLT2AD(BLV_LOW)) return 1; /* Low? */
return 2;
}



int main (void)
{
uint8_t btct, btlv;


/* Initialize GPIOs */
PORTB = 0b00000; /* Initialize PORTB as: */
DDRB = 0b01101; /* BP4=Vbat, PB3=Power, PB2=LED, PB1=Button, BP0=OutEnable */
DIDR0 = 0b10000; /* Disable digital input on PB4 */

/* Enable TC0 in 100 Hz interval timer */
OCR0A = F_CPU / 256 / 100 - 1;
TCCR0A = _BV(WGM01);
TCCR0B = 0b100;
TIMSK0 = _BV(OCIE0A);

sei();

for (;;) {
power_off_mode(); /* Power-off and wake-up */

btct = btlv = 0;
for (;;) {
delay_10ms();
if (test_button() == 3) break; /* Test button */
btlv += battery_level(); /* Test battery level */
if (++btct == 50) { /* 50 times averaging */
if (btlv < 25) break; /* Battery empty? */
Stat = btlv < 75 ? 1 : 2; /* Battery ok or low? */
btct = btlv = 0;
}
}
}
}

3、分享个非常不错的JSON数据可视化在线软件

​https://jsoncrack.com/editor​

从效果来看非常不错,大大方便数据内容查看

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_07

4、英伟达发布2000TFLOPS的雷神芯片Thor,用于自动驾驶

​https://blogs.nvidia.com/blog/2022/09/20/drive-thor/​

​https://www.anandtech.com/show/17582/nvidia-drops-drive-atlan-soc-introduces-2-pflops-drive-thor-for-2025-autos​

在上周举行的全球开发者大会上,除了RTX4090显卡,就是这个了。

雷神Thor搭载了770亿晶体管,在算力上达到了2000TFLOPs(1TOPS代表每秒能进行10^12次操作),Thor的算力是特斯拉FSD芯片的14倍。

Atlan方案已经放弃

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_08

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_php_09

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_10

5、ST推出基于TOF的预定义手势检测系统

​https://www.st.com/en/evaluation-tools/aek-sns-2tofm1.html?ecmp=tt28526_gl_social_sep2022​

该套件包括两个飞行时间测距传感器,彼此相距23厘米。此方案专为电动升降门应用而设计,可通过预定义的脚部移动来打开/关闭行李箱

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_11

对应的官方文档里面有详细说明

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_12

6、NASA开源的飞行软件和嵌入式系统框架fprime

​https://nasa.github.io/fprime/​

fprime是一个软件框架,用于快速开发和部署嵌入式系统和航天应用。最初是由NASA的喷气推进实验室开发的开源软件,已成功被用于多种太空应用。它已被用于但不限于立方体卫星,小型卫星,仪器。
相关的资源链接全部提供了

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_13

7、TI分享的CANFD SiC信号改进型收发器视频教程

使用SiC版收发器,可以有效降低信号振铃问题,效果如下:

一般将CANFD的数据通信阶段速度提到8Msps问题大不

​https://training.ti.com/designing-can-signal-improvement-capability-sic-transceivers​

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_14

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_php_15

8、CMSIS-DSP软件包升级至V1.14

​https://github.com/ARM-software/CMSIS-DSP/releases​

最近更新频繁了,基本上半个月就更新一次。针对计算图,增加了Event Recorder支持

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_16

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_17

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_php_18

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_php_19

9、Google推出iMX RT1176配合自家珊瑚TPU的套件

​https://coral.ai/products/dev-board-micro​

规格:

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_20

效果:

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_21

还有个对应的POE和无线扩展板

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_22

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_23

10、各大IC厂家的参考设计案例

​https://www.ti.com/reference-designs/index.html​​​​https://www.analog.com/en/design-center/reference-designs.html​​​​https://www.maximintegrated.com/ ... -design-center.html​​​​https://www.microchip.com/en-us/tools-resources/reference-designs​

之前分享了TI,ADI和美信,这次加入Microchip

数千个完整设计案例供大家参考。

TI:

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_php_24

美信:

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_25

ADI:

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_26

Microchip

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_27

11、牛屎芯片替换

​https://www.instructables.com/Replacing-a-40-Pin-COB-With-a-44-Pin-QFP/​

搞牛屎芯片替换的玩家非常多,其中尤其以替换万用表的玩家,因为三位半常用的芯片是7106/7107,四位半常用的是7129/7135

这个网上的一位玩家替换效果:

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_php_28

磨掉COB环氧树脂,使用这种封装的优势是成本低

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_29

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_php_30

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_31

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_32

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_php_33

换上新芯片的效果:

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_34

12、国产海天芯生产的三位半HT7106和四位半HT7135万用表IC

​http://www.htcsemi.com/acpzs.asp?pages=1&dlb_id=37&xlb_id=14​

三位半HT7106价格在3-6块,四位半的6-9块,价格还算非常给力。

像TI,瑞萨和美信,也都有相应系列的产品。

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_35

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_36

13、国内资讯

(1)沁恒的应用方案中心

做的也非常不错

​https://www.wch.cn/application.html​

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_php_37

他们还有一个选型框图做的也非常好

下面的小方框可以方便的查找

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_38

 

(2)兆易创新发布GD32A503系列首款车规级MCU

​https://www.gigadevice.com/zh-hans/press-release/gigadevice-launches-gd32a503/​

基于Cortex-M33内核,40nm车规级制程和高速嵌入式闪存eFlash技术,配备384KB Flash和48KB SRAM,另有专用代码空间可配置为64KB DFlash/4KB EEPROM

另外他们的TUV安全认证应该还在进行中,

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_39

 

(3)Holtek推出多款用于电机控制的单片机

​https://www.holtek.com.cn/web/guest/news/-/news-center/search/all/2022/all​

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_php_40

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_php_41

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_42

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_php_43

 

(4)极海通过TüV莱茵ISO 26262功能安全管理体系认证

​https://www.geehy.com/news/news_detail/109​

这个还是很给力的,直接上证书

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_44

14、H7-TOOL本周进展

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

(1)更新2.1.9版本所需功能。

(2)RTOS Trace初步完成uCOS-III,增加ThreadX的Trace中

uCOS-III初步的界面效果,最终效果略有不同,部分信息会在控件上刷新

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_45

这两天增加ThreadX的关键信息Trace,能正常检索了,还要继续改进。

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_php_46

 

(3)H7-TOOL的截图功能关键部分都已经打通了,下面是截图SDRAM显存数据效果

用户仅需接上SWD接口即可,无需用户嵌入代码到目标,填入显存地址即可。

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_#define_47

而截图RA8875屏,太不容易了,坑有点多,因为需要通过SWD接口控制RA8875进入读像素操作,最后也是最关键的一步就是读取是显存地址自增模式,这个坑太多了,比写显存地址自增麻烦很多,花了很长时间才搞定

《安富莱嵌入式周报》第284期:Matlab2022b发布,支持从 .NET 调用,耳机放大器,牛屎芯片替换,JSON可视化,开源的飞行软件和嵌入式系统框架_html_48

 

微信公众号:armfly_com



标签:www,JSON,嵌入式,BV,sleep,https,NET,com,define
From: https://blog.51cto.com/u_15785540/5754644

相关文章

  • CMT: Convolutional Neural Networks Meet Vision Transformers概述
    0.前言相关资料:arxivgithub论文解读(CSDN,CSDN)论文基本信息:作者单位:华为诺亚,悉尼大学发表时间:CVPR2022(2021.7.13)1.针对的问题当前将......
  • .Net FTP 自动创建目录/上传文件
    //上传文件publicstaticBooleanFtpUpload(stringftpPath,stringlocalFile){//检查目录是否存在,不存在创建FtpCheckDirectoryExist(ftpPath);......
  • Deep Q Network
    DQN论文简介两篇内容大致相同,可直接看第二篇,更详细DQN神经网络部分模型结构整体结构伪代码代码解释初始化replaymemoryD和它的大小N初始化Q函数和Po......
  • NetBSD安装中的一些问题总结
    参考文档:https://www.cioworld.cn/guide/install/netbsd-quick-installhttps://www.netbsd.org/docs/guide/en/最近迷上了BSD系统,玩了一阵子FreeBSD之后,发现FreeBSD对ar......
  • 【postman】postman中如何加断言,来判断json返回结果中是否有某个值或字符
    摘自:https://blog.csdn.net/zengting927/article/details/79826649 问题:每次测试计划执行完成后,执行结果列表中都会新增一条执行数据想要通过查询结果列表接口,判断每......
  • linux嵌入式系统修改时区
    一.网址参考1. 修改系统时区/etc/localtime 二.实践1.对/etc/localtime修改软链接,命令如下://1.先判断/etc/localtime是否存在,如果存在,则先删除i......
  • netty 断点续传与分片下载
    参考文档:java视频上传,播放预览,解决苹果手机视频无法预览的问题_不加糖的沙的博客-CSDN博客fileex:一款基于netty、http1.1transfer-encoding:chunked、websocket实现的......
  • AlexNet-文献阅读笔记
    论文介绍ImageNetClassificationwithDeepConvolutionalNeuralNetworks-AlexKrizhevsky,IlyaSutskever,andGeoffreyE.Hinton该论文是ImageNetLarge-Scale......
  • Golang复杂json结构体解析
    1、示例一{"id":"8667597b-bcd9-51de31b655cd","name":"ali-redis-analyse","category":"db","category_display":"数据库","type":"redis","type_display":......
  • 《安富莱嵌入式周报》第274期:2022.07.11--2022.07.17
    ​​​​ 本周更新一期视频教程:BSP视频教程第20期:串口专题之玩转HAL库,LL库和寄存器方式实现方法以及参考手册几个关键时序图学习视频版:​​https://www.bilibili.com/video......