18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>基于Arduino Zero/MKR的示波器

基于Arduino Zero/MKR的示波器

2022-12-15 | zip | 0.03 MB | 次下載 | 免費(fèi)

資料介紹

描述

大多數(shù)基于 Arduino Zero/MKR 的示波器是:

  • 使用計(jì)算機(jī)的聲卡
  • 使用 USB 端口,但受 Bulk USB 傳輸協(xié)議的限制,即。在每毫秒 27 字節(jié)的傳輸請(qǐng)求 (USB 2.0) 之后每毫秒 64 字節(jié)

Arduino Zero/MKR 具有一個(gè) 350kSps 12 位 ADC。考慮到它,這是很棒的規(guī)格。然而,釋放這種能力是另一回事。托管在 Arduino Zero/MKR 中的 SAMD21G18 提供 USB2.0 全速。

因此,訪問(wèn) 350kSps ADC 需要示波器解決方案來(lái)捕獲這些樣本,通過(guò) USB2.0 線路傳輸它們并以 60Hz 的速率將它們投射到屏幕上,即在 16ms 的時(shí)間范圍內(nèi)。此外,為了允許準(zhǔn)確定時(shí)采樣,ADC 讀數(shù)需要伴隨時(shí)間測(cè)量。

該項(xiàng)目繼續(xù)尋求破解這一挑戰(zhàn)!

下圖列出了該應(yīng)用程序的主要功能:

pYYBAGOYLKSAHXCAAAJBs6JXHr8575.jpg
?

數(shù)字挑戰(zhàn):

每幀 60hz 或 16ms vs ADC:350kSps

=> 每 16 毫秒 5600 個(gè)樣本,

1 個(gè)樣本 = 開(kāi)銷(xiāo)字節(jié)(至少完整性)+ 12/16/8 位樣本 + 12/16/8 位時(shí)間戳 = 3 到 6 個(gè)字節(jié)

=> 5600 x 3 到 6 字節(jié)每 16 毫秒 = 16 800 到 33 600 字節(jié)每 16 毫秒

USB2.0 全速提供:

  • 在 USB 批量傳輸中:每毫秒 64 字節(jié) ~ 每 16 毫秒 1024 字節(jié) --> 很少!!
  • 在 USB 同步傳輸中:1023bytes per ms ~ 16 368bytes per 16ms --> OK

以上(錯(cuò)誤地)假設(shè) USB 傳輸可以與 ADC 捕獲并行發(fā)生。

=> 跨行實(shí)現(xiàn)多線程是可能的,因?yàn)橛斜匾M可能接近我們的目標(biāo)。

openGL 要求:

  • 將 ADC 讀數(shù)和時(shí)間戳數(shù)據(jù)轉(zhuǎn)換為 {-1;1} 數(shù)據(jù)。我們想在另一個(gè)線程中的 CPU(判斷為最快)上執(zhí)行此操作。
  • 屏幕的建設(shè)。由 OpenGL 在 GPU 上完成

上述示例(假設(shè)讀數(shù)準(zhǔn)確)顯示:

我們以 270kSps 采樣(當(dāng)我們采樣時(shí),請(qǐng)記住 Arduino 板上的 USB 傳輸也需要處理器時(shí)間)。

通過(guò) USB 線收集和發(fā)送 1023 字節(jié)數(shù)據(jù)的時(shí)間大約需要 6.7 毫秒:這里的 1023 字節(jié)數(shù)據(jù)等于:1023 x 8 / (12 + 12 + 7) = 264 個(gè)樣本重復(fù) 4 次以獲得 1024 個(gè)樣本(理論上它會(huì)只需 4 毫秒)。

這些數(shù)據(jù)在 15ms+.35ms+1.6ms ~2.1ms 內(nèi)進(jìn)行轉(zhuǎn)換、構(gòu)建和繪制。

openGL 的總幀速率為 9.2 毫秒(讓程序盡可能快地運(yùn)行)。因此,我們可以嘗試將樣本讀數(shù)增加到 2048,而不會(huì)犧牲太多的屏幕刷新率。

正如我們上面所寫(xiě)的,我們需要實(shí)現(xiàn)多個(gè)線程以盡可能地允許并行處理。

該應(yīng)用程序具有 3 個(gè)線程:

1) C#圖形用戶(hù)界面

(從其他線程中分離出來(lái),讓相對(duì)較慢的 UI 至少盡可能地干擾主任務(wù),即捕獲 USB 并在屏幕上投影)

2) C++ DLL OpenGL。用于包裝 OpenGL 窗口的本機(jī) C DLL。好處是代碼易于移植到其他平臺(tái)/ UI。OpenGL 是開(kāi)源的,并且是目前最快的之一。

3) C++ DLL USB。用于包裝 winUSB 驅(qū)動(dòng)程序的本機(jī) C DLL。選擇的原因是 winUSB.sys USB 驅(qū)動(dòng)程序安裝在每臺(tái) Windows 計(jì)算機(jī)上,它支持同步數(shù)據(jù)傳輸。同步數(shù)據(jù)傳輸用于流數(shù)據(jù)。它為速度留下了數(shù)據(jù)完整性檢查。通過(guò)這種方式,您可以每毫秒傳輸 1023 字節(jié)。

poYBAGOYLKiAY4lwAAC1MGQyeDs283.jpg
Wireshark 捕獲同步數(shù)據(jù)傳輸
?

通過(guò)實(shí)施多線程方案,屏幕可以在另一個(gè)線程從 USB 線捕獲新數(shù)據(jù)時(shí)構(gòu)建,同時(shí)用戶(hù)將鼠標(biāo)懸停在用戶(hù)界面上。

安裝應(yīng)用程序:

該應(yīng)用程序不是那么用戶(hù)友好的使用:

1) Arduino 板(或任何其他 ADC/USB 捕獲設(shè)備)需要實(shí)現(xiàn)同步 USB 數(shù)據(jù)傳輸。默認(rèn)情況下,ArduinoCore 不支持此功能。在本項(xiàng)目提供的草圖中,我提供了 Arduino 代碼,以使用等時(shí) USB 接口擴(kuò)展 ArduinoCore(同時(shí)不會(huì)失去仍然使用Serial.print功能的可能性)。該擴(kuò)展可在常規(guī) Arduino IDE 中使用(因此無(wú)需更改 ArduinoCore 本身)。

2) WinUSB.inf驅(qū)動(dòng)文件需要在測(cè)試模式下運(yùn)行Windows安裝。這是因?yàn)闆](méi)有駕駛證。

3) 目前我在 Github 上留下了未編譯的 YetAnotherUSB 示波器軟件。這是為了邀請(qǐng)用戶(hù)進(jìn)入代碼并自行調(diào)整、編譯和構(gòu)建。

未來(lái)的改進(jìn):

YetAnotherUSB 示波器軟件是在 VS 2019 上使用最新的 .NET 框架開(kāi)發(fā)的,并在 64 位上進(jìn)行了測(cè)試。換句話說(shuō),該應(yīng)用程序相對(duì)未經(jīng)測(cè)試且開(kāi)發(fā)不足,無(wú)法在多個(gè)平臺(tái)(32 位或 linux)上運(yùn)行。

此外,多線程還沒(méi)有變得超級(jí)健壯。(在極端情況下可能會(huì)出現(xiàn)無(wú)限循環(huán),例如在讀取時(shí)拔下 USB 等)

仍然缺少一些功能,即。FFT 分析、觸發(fā)和記憶能力。

我希望這對(duì)您有所啟發(fā),并且您可以使用/借用代碼進(jìn)行自己的(進(jìn)一步)開(kāi)發(fā)。

繼續(xù)制作!


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1NS1081/NS1081S/NS1081Q USB 3.0閃存數(shù)據(jù)手冊(cè)
  2. 0.40 MB   |  4次下載  |  2 積分
  3. 2光伏并網(wǎng)逆變器原理
  4. 7.31 MB   |  3次下載  |  2 積分
  5. 3T20電烙鐵原理圖資料
  6. 0.27 MB   |  2次下載  |  免費(fèi)
  7. 4PL83081 雙路恒流同步降壓轉(zhuǎn)換器技術(shù)手冊(cè)
  8. 3.34 MB   |  1次下載  |  免費(fèi)
  9. 5PL88052 4.8V至60V輸入,5A,同步降壓轉(zhuǎn)換器技術(shù)手冊(cè)
  10. 3.36 MB   |  1次下載  |  免費(fèi)
  11. 6LX8201微孔霧化驅(qū)動(dòng)芯片電路圖資料
  12. 0.15 MB   |  1次下載  |  免費(fèi)
  13. 7PC6200_7V直流電機(jī)驅(qū)動(dòng)器技術(shù)手冊(cè)
  14. 0.47 MB   |  次下載  |  免費(fèi)
  15. 8恒溫晶體振蕩器(OCXO)FOC-2D:20.6×20.6mm在通信基站和測(cè)試設(shè)備中的應(yīng)用參數(shù)規(guī)格
  16. 485.75 KB  |  次下載  |  免費(fèi)

本月

  1. 1如何看懂電子電路圖
  2. 12.88 MB   |  329次下載  |  免費(fèi)
  3. 2RK3588數(shù)據(jù)手冊(cè)
  4. 2.24 MB   |  14次下載  |  免費(fèi)
  5. 3PC5502負(fù)載均流控制電路數(shù)據(jù)手冊(cè)
  6. 1.63 MB   |  12次下載  |  免費(fèi)
  7. 4STM32F10x參考手冊(cè)資料
  8. 13.64 MB   |  12次下載  |  1 積分
  9. 5OAH0428 V1.0英文規(guī)格書(shū)
  10. 5.86 MB   |  8次下載  |  免費(fèi)
  11. 6NS1081/NS1081S/NS1081Q USB 3.0閃存數(shù)據(jù)手冊(cè)
  12. 0.40 MB   |  4次下載  |  2 積分
  13. 7PID控制算法學(xué)習(xí)筆記資料
  14. 3.43 MB   |  3次下載  |  2 積分
  15. 8光伏并網(wǎng)逆變器原理
  16. 7.31 MB   |  3次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935132次下載  |  10 積分
  3. 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191415次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183349次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81599次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73818次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65990次下載  |  10 積分