1. 程式人生 > 其它 >《安富萊嵌入式週報》第243期:2021.12.06--2021.12.12

《安富萊嵌入式週報》第243期:2021.12.06--2021.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