99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

聚豐項(xiàng)目 > 基于A(yíng)B32虛擬示波器

基于A(yíng)B32虛擬示波器

作為常年和硬件打交道的軟件工程師,一直以來(lái)都想有一個(gè)小工具,可以做到比萬(wàn)用表多一個(gè)按時(shí)間記錄波形的功能,比示波器便攜,功能沒(méi)那么重的簡(jiǎn)易工具,這樣能夠滿(mǎn)足自己在調(diào)試上監(jiān)測(cè)硬件狀態(tài)變化的需求。 在軟件層面上,有找到國(guó)外開(kāi)源的一套代碼(serial_port_plotter),看介紹可以實(shí)現(xiàn)自己的第一步需求。1. 在硬件調(diào)試上,能夠滿(mǎn)足觸摸按鍵狀態(tài)監(jiān)控 2. 比萬(wàn)用表多一個(gè)波形記錄功能,但是缺少硬件平臺(tái)實(shí)現(xiàn)數(shù)據(jù)抓取,無(wú)法確認(rèn)該工具是否可用。 硬件層面上,剛好看到RTT有做開(kāi)發(fā)者大會(huì),從中看到了兩片板卡,AB32和 CH32,查看芯片規(guī)格,發(fā)現(xiàn)AB32比較適合做這類(lèi)功能,因此嘗試使用AB32實(shí)現(xiàn)該功能。

oxlm_1 oxlm_1

分享
0 喜歡這個(gè)項(xiàng)目
團(tuán)隊(duì)介紹

oxlm_1 oxlm_1

團(tuán)隊(duì)成員

oxlm 嵌入式系統(tǒng)

分享
項(xiàng)目簡(jiǎn)介
作為常年和硬件打交道的軟件工程師,一直以來(lái)都想有一個(gè)小工具,可以做到比萬(wàn)用表多一個(gè)按時(shí)間記錄波形的功能,比示波器便攜,功能沒(méi)那么重的簡(jiǎn)易工具,這樣能夠滿(mǎn)足自己在調(diào)試上監(jiān)測(cè)硬件狀態(tài)變化的需求。 在軟件層面上,有找到國(guó)外開(kāi)源的一套代碼(serial_port_plotter),看介紹可以實(shí)現(xiàn)自己的第一步需求。1. 在硬件調(diào)試上,能夠滿(mǎn)足觸摸按鍵狀態(tài)監(jiān)控 2. 比萬(wàn)用表多一個(gè)波形記錄功能,但是缺少硬件平臺(tái)實(shí)現(xiàn)數(shù)據(jù)抓取,無(wú)法確認(rèn)該工具是否可用。 硬件層面上,剛好看到RTT有做開(kāi)發(fā)者大會(huì),從中看到了兩片板卡,AB32和 CH32,查看芯片規(guī)格,發(fā)現(xiàn)AB32比較適合做這類(lèi)功能,因此嘗試使用AB32實(shí)現(xiàn)該功能。
硬件說(shuō)明

初期驗(yàn)證接口硬件:

1. 圖片1.png

2. ADC采集部分使用PA5

3. 和上位機(jī)通信串口部分使用PA4

 

  后續(xù)接口(DMA和USB適配后):

  去掉硬件串口,改為USB直接上報(bào),ADC采集部分先采用一路ADC,之后切換為多路同時(shí)采集

 

RT-Thread使用情況概述:

內(nèi)核部分目前僅僅使用到posix接口

組件部分: 暫無(wú),后續(xù)會(huì)用到USB device

軟件包:

初期未添加 

設(shè)備驅(qū)動(dòng):

ADC(DMA方式驅(qū)動(dòng)),USB Device HID 


軟件說(shuō)明

由于虛擬示波器主要工作量在上位機(jī),對(duì)底層的要求是盡可能做到準(zhǔn)確,快速的采集并上報(bào),因此底層軟件不會(huì)使用太復(fù)雜的多任務(wù)調(diào)度等操作。

目前設(shè)想的最終狀態(tài),DMA方式的ADC采集成功消息觸發(fā)讀取至上報(bào)緩沖區(qū),CDC發(fā)送成功消息觸發(fā)將上報(bào)緩沖區(qū)消息上傳(其中上報(bào)穩(wěn)定性由 usb interrupt 節(jié)點(diǎn)來(lái)保證),消息采用加時(shí)間戳方式實(shí)現(xiàn)。由于目前前置的DMA方式讀取ADC和USB device功能原廠(chǎng)暫未打通,因此該實(shí)現(xiàn)思路處于設(shè)想階段。

目前實(shí)現(xiàn)方式:

    采用大循環(huán)方式,降低系統(tǒng)開(kāi)銷(xiāo),最大限度的檢測(cè)硬件能力。

目前實(shí)現(xiàn)功能點(diǎn):

1. 使用普通的ADC方式采集,驗(yàn)證ADC模塊精確性

2. 采用串口上報(bào)方式上報(bào)數(shù)據(jù),確認(rèn)上位機(jī)狀態(tài)并發(fā)現(xiàn)上位機(jī)問(wèn)題點(diǎn)并逐步解決

  后續(xù)實(shí)現(xiàn)方式:

采用事件驅(qū)動(dòng)方式實(shí)現(xiàn),在執(zhí)行重度采集任務(wù)的同時(shí),預(yù)留系統(tǒng)資源做一些低性能算法。

   待實(shí)現(xiàn)功能點(diǎn):

1. USB CDC設(shè)備(后期上位機(jī)切換為USB HID設(shè)備,底層切換為USB HID設(shè)備)

2. DMA方式的ADC采集

3. 上位機(jī)配置底層參數(shù)接口


代碼路徑:

    

主倉(cāng)庫(kù):

https://gitee.com/ShaquilleLiu/VIrtualOSI

上位機(jī)倉(cāng)庫(kù):

https://gitee.com/ShaquilleLiu/serial_port_plotter


演示效果

測(cè)試硬件和上位機(jī)軟件視頻

附件

(5.29 MB)下載

評(píng)論區(qū)(0 )