《安富萊嵌入式週報》第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程式:
樹莓派跑的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
(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熱敏電阻的溫度測量視訊展示: