在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發(fā)燒友App

硬聲App

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

基于Arduino Zero/MKR的示波器

2022-12-15 | zip | 0.03 MB | 次下載 | 免費

資料介紹

描述

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

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

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

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

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

下圖列出了該應用程序的主要功能:

pYYBAGOYLKSAHXCAAAJBs6JXHr8575.jpg
?

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

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

=> 每 16 毫秒 5600 個樣本,

1 個樣本 = 開銷字節(jié)(至少完整性)+ 12/16/8 位樣本 + 12/16/8 位時間戳 = 3 到 6 個字節(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

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

=> 跨行實現(xiàn)多線程是可能的,因為有必要盡可能接近我們的目標。

openGL 要求:

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

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

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

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

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

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

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

該應用程序具有 3 個線程:

1) C#圖形用戶界面

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

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

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

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

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

安裝應用程序:

該應用程序不是那么用戶友好的使用:

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

2) WinUSB.inf驅動文件需要在測試模式下運行Windows安裝。這是因為沒有駕駛證。

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

未來的改進:

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

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

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

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

繼續(xù)制作!


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

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

評論

请按住滑块,拖动到最右边
了解新功能

查看更多

广告

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 日本视频一区二区三区 | 性天堂网 | 国产三级一区 | 国产拍拍视频 | 久久久久久久久久免免费精品 | 伊人网在线免费视频 | 成人爽爽激情在线观看 | 天堂成人 | 色.com| 天天干天天爽天天射 | 黑色丝袜美女被视频网站 | 欧美二级 | 国产乱子伦一区二区三区 | 亚洲欧美一区二区三区图片 | 黄色录像日本 | 国产精品美女免费视频观看 | 亚洲伊人久久在 | 8x8x极品国产在线 | 欧美性aaa| 色多多视频在线观看免费大全 | 日本最黄 | 性xxxxhd高清| 色婷婷影视 | bt天堂在线最新版www | 欧美在线免费 | 四虎影视地址 | 午夜性刺激免费视频观看不卡专区 | 亚洲综合成人网 | 精品乩伦视频 | 亚洲天天看 | 手机看片1024国产基地 | 91在线激情在线观看 | 五月天婷婷色图 | 日本一区不卡视频 | 天堂网址 | 色综合久 | 亚洲图片欧美色图 | 四虎国产精品永久在线看 | 国产精品欧美一区二区三区不卡 | 美女网站视频一区 | 37pao强力打造免费高速高清 |