題:
Pi是否足以用於示波器項目?
niw3
2012-12-27 04:13:39 UTC
view on stackexchange narkive permalink

我的目標是從示波器開始製造基於Pi的儀器。因此,我閱讀了有關

似乎可以以非常低的採樣率讀取模擬輸入,但是我想知道是否可以達到每秒大採樣的速率。如果有可能,連續數據採集可能會很困難,因此我可以不用它。皮會為此配備不足嗎?我想先觀察連接到Pi的顯示器上的波形,然後再觀察移動設備上的波形(Pi傳送無線數據給它們)。

我對片上系統的經驗告訴我,這些系統可能在連續的I / O上容易飽和。 Pi也是如此嗎?

八 答案:
AndrejaKo
2012-12-30 17:49:46 UTC
view on stackexchange narkive permalink

讓我們對示波器的功能進行一個高級概述:

首先,我們有模擬前端。在這裡,我們為探頭提供了阻抗匹配網絡(但探頭也必須具有電容匹配部分),衰減部分(非常重要,因此我們不會使ADC過載或讓高壓進入),觸發並連接至模數轉換器。我不會過多地談論這個問題,因為我對模擬的東西不太了解,但最重要的是:在這一部分,我們無法使用Pi。

接下來,我們有了模擬的東西到數字轉換器部分。每個通道至少需要一個ADC。更多可以用於更高的採樣率。在傳統範圍內,ADC連接到ASIC或FPGA器件。之所以使用它們,是因為傳統的計算機不夠實時(並且不能將實時與快速混淆!)來處理ADC提供的數據。然後將該數據存儲到某種RAM中。有些設備將使用靜態RAM,而另一些設備將使用動態RAM。通常,SRAM方法是更傳統的方法,在大型製造商中可以看到,而DRAM的使用似乎是較便宜的中國設計單位中看到的新方法。

RAM的數量及其速度將決定可以存儲多少樣本。幾乎總是ADC是8位ADC,因此,對於一個兆採樣,我們將需要8 b乘以100000 = 8 Mb或1 MB RAM。對於一個MSa / s,我們需要可以這種速度工作的RAM。今天,這應該相對容易實現。 FPGA通常直接驅動RAM,並負責在其中存儲數據。它的工作方式是在仍然有空房間的情況下填充示例內存,然後在空間滿時將其覆蓋。當每個通道有多個ADC時,FPGA將對其進行設置,使其首先開始採樣,然後在下一個時鐘秒開始,依此類推。當他們完成採樣後,第一個ADC的採樣將首先被寫入存儲器,然後是第二個ADC的採樣。這樣一來,看起來ADC的採樣速度就比它們實際的採樣速度快。

本節的下一點是採樣時間應等距。這是在示波器中使用PC的主要問題,也是FPGA和ASIC占主導地位的原因。如果某些樣本遲到或過早,則屏幕上顯示的圖像將不正確。如果採樣率足夠低,我們也許可以直接從Pi驅動ADC,並將其結果存儲在Pi的RAM中。我們能走多快取決於ADC與Pi的連接方式以及Pi進行I / O的方式。根據我的閱讀,Pi的I ^ 2C端口的最高速度為150 MHz(在GNU / Linux中實現這一目標的難易程度是另一個問題),而最高的標準速度為5 MHz,而SPI的最高速度為Pi是250 MHz。我不確定SPI的最高標準速度是多少,但是我希望它最大可以在100 MHz範圍內。

因此,從理論上講,我們在Pi上具有足夠的速度以在低MSa / s範圍內運行ADC。我感覺RAM速度在這裡不會成為問題,但是我沒有任何數據可以備份。如果真是這樣,那麼我們將比通常的範圍有一個很大的好處:將有大量的捕獲內存可用。例如,如果我們將32 MiB的RAM專用於程序用於樣本存儲,而我們有兩個通道,那麼每個通道將有16 MiB的空間,或者每個通道多於134 Mb或134 megasamples。即使到了今天,許多示波器也無法做到這一點。

缺點是我們需要對操作系統進行大量修改才能在此處獲得準確的採樣。我沒有使用實時Linux的經驗,所以我不知道這會多麼容易。

無論如何,讓我們繼續下一步。因此,我們有一個填充RAM的採樣系統。下一部分是觸發器。觸發器與屏幕刷新率密切相關。它基本上所做的是找到一個有趣的樣本並將其保存在內存中。示波器觸發時,它將在觸發後繼續採樣,直到填滿內存,然後將其發送以進行處理並顯示在屏幕上。在處理數據時,採樣系統(如果經常凍結)並等待數據顯示。這就是為什麼低端示波器的刷新率較低,而高端示波器將具有特殊的高刷新率顯示,並且花費更少的時間等待數據被顯示。

在此部分中,通常會有另一個將對樣本進行信號處理的ASIC或FPGA,如果示波器支持,則可以對協議進行任何解碼,並實際驅動顯示器本身。

這是我從中可以看到Pi真正發光的部分。它可以驅動出色的1920x1080顯示屏(示波器通常在800x600像素以下),並且可以很好地進行協議解碼。我能看到的唯一問題是速度以及處理過程如何影響延遲時間。如果我們的刷新率很低,那麼我們可以得到一個非常好的邏輯分析儀。

最後一個關於USB示波器的知識以及為什麼USB對於這種類型的項目通常不好:傳統的USB示波器進行輸入和採樣,並將採樣數據發送到PC,以進行主機應用程序的處理。基本上,Pi也可以完成類似的操作。通常,PC應用程序的設計不當,並且充滿錯誤。下一個不好的部分是USB本身。它被宣傳為快速總線,在“高速”模式下可以達到480 Mb / s。事實是,找到能夠支持如此高速度的USB控制器非常罕見(平均速度據我所見約為250 Mb / s),並且它作為協議並不十分適合任何實際應用。時間申請。首先,它在集線器上的所有設備之間共享(Pi僅具有一個連接了以太網+ USB集線器的USB端口),具有相對較高的開銷(與SPI相比)和較高的延遲(請記住,其速率為1 MSa / s每個樣本僅持續1 µs,因此我們必須在板上保留內存,因為我們無法通過USB實時發送樣本。最終,使用USB將使數據採集成為另外一個USB示波器的一部分,這就是我們失去使用Pi的任何好處:傳統台式計算機更加普遍,更快,更容易獲得併且具有更好的USB功能。

編輯我已經閱讀了Gert van Loo的相對較新的帖子,據他介紹,Pi的I ^ 2C的實際速率為400 kHz, SPI的頻率為20 MHz。

那麼,您的答案的最高點是什麼?這更像維基。
@ppumkin是的,像這樣的問題需要這樣的答案。我們沒有提供有關所需設備預期性能的足夠信息,因此,假設Pi可以進行採集,那麼對於足夠低的頻率,底線是肯定的。如果Pi不做採集,那麼使用Pi會因為USB性能不佳而毫無意義。
BitScope
2013-09-23 18:39:20 UTC
view on stackexchange narkive permalink

我們發現Raspberry Pi是運行此類項目所需的軟件的絕佳平台。問題是首先將信號放入RPi,並在運行O / S和應用軟件的同一CPU上執行高速無抖動實時信號捕獲。我們的解決方案是 BitScope Raspberry Pi示波器,它將BitScope(用於高速混合信號波形捕獲)與運行所有必需軟件的Raspberry Pi配對。

enter image description here

無恥的插頭=)
棒極了。但這與答案無關!還是可以證明Pi不能作為示波器使用?
Pi並不是“太弱”,但它不具有(高速)波形採集所需的I / O功能。用原始問題的話來說,就是“為此配備不足” :-)
ikku
2012-12-27 07:09:12 UTC
view on stackexchange narkive permalink

注意:這更像是一個“大聲思考”的文本,而不是真正的答案

這個想法在不久前也浮現在我的腦海,我仍然喜歡大概的概念!

據我所知,高端示波器是15年來(甚至更長),只是帶有大量專用高速I / O的計算機(PC)。我認為,當將類似的I / O設計/連接到RPi時,結果可能會令人驚訝。

IMHO做到這一點的一種好方法是讓RPi僅存儲和顯示收集的數據(例如通過USB端口接收),並讓一些專用硬件進行高速測量。然後,RPi也可以根據用戶輸入或類似的東西來控制此高速測量單元。

在RPi的第一個版本中,USB端口存在某些問題,我還沒有搜索過最近如果這些問題現在解決了。我還聽到一個謠言說RPi的新2.0版本應該沒有這些問題,但是我也沒有檢查過這個謠言。

我認為沒有任何外部(專用)硬件的結果是有限的,因為I / O端口的數量以及整個OS都在上面運行的事實(這限制了實時選項)。除非您打算編寫自己的操作系統?

為此目的,例如使用I2C芯片將不會有足夠的速度來完成真正出色的工作。 SPI已經提供了更多的帶寬(從我的頭頂到最高100Mhz),但是我會選擇USB並根據需要進行壓縮,或者在發送數據之前使用一些好的編碼方案來獲得更多的帶寬。

所以我想這是有可能的,但是需要添加到RPi的硬件​​會比RPi本身昂貴得多。

最後但並非最不重要的(在我停止對此主題作白日夢之前)如果在互聯網上進行搜索會導致某些人已經在忙於此,我不會感到驚訝。

Marthein
2013-01-29 15:56:33 UTC
view on stackexchange narkive permalink

您可以將我們的 TiePie工程 Handyscope HS5示波器/任意波形發生器之一連接到USB端口。可下載為Raspberry Pi編譯以同時使用一個或多個示波器的庫。儀器使用自己的定時和存儲器,因此不會造成性能損失。所以是的,Pi對於示波器項目來說足夠強大。

Handyscope HS5

示波器的關鍵規格:2通道,14位,500 MS / s,250 MHz帶寬,20 MS / s,14位連續無間隙流傳輸,每個通道32 MS內存,1 ppm時基精度。

任意波形發生器的關鍵規格:1 µHz至30 MHz波形,240 MS / s ,14位,64 MS內存,-12至12 V輸出(24 Vpp),1 ppm時基精度。

你好。將來,請披露您與所宣傳產品的隸屬關係。謝謝。
拜託我!看價格!看起來不錯的產品。不在我的預算範圍內。
不了解從屬關係披露的必要性。更改了文字以表明我隸屬於TiePie工程。
Piotr Kula
2013-01-29 18:50:26 UTC
view on stackexchange narkive permalink

答案是肯定的。

它足夠強大!但僅適用於某些頻率-正如已經指出的那樣,由於其局限性。

SO! ->您必須問自己要測量什麼?

  • 因為您沒有明確詢問要測量什麼,答案容易被猜測。
  • 所以,讓我向您介紹替代方法和建議。也許您可以提出一個更具體的問題,而不是Raspberry,而不是一般的振盪器主題!

振盪器的價格範圍很簡單,僅需5美元,其他人可以使用到50Ghz +-的價格與一所小房子一樣多! 75,000USD-100,000USD!

我認為Raspberry足以測量亞千兆級頻率,例如433MHz無線信號,低速CPU總線通信,TTS / UART,I2C調試-真的不多。而且較高的頻率將不會真正準確,因為Raspberry在設計上無法運行實時OS。因此,您將需要從操作系統(或如上所述的外部實時設備開始,但是那有什麼意義呢?)

但是,如果您真的想測量信號,那麼您可以購買一個非常好的,公平的價格與Raspberry規格相當的設備。但是已經設計好了,功能齊全,設計確實很成熟,並且證明了它在業餘愛好者環境中很方便。

這裡不需要重新發明輪子。例如,單價低於100美元的DSO Nano。

enter image description here

單價低於200美元的DSO Nano四通道

enter image description here

然後,Raspberry或類似設備無法做!

並花了一筆小錢……

enter image description here

  • 高達110Ghz,具有用於存儲數據的硬盤驅動器,極其精確的仿真和触發器。
  • 測量Buothtooth,WCDMA / EDGE / 3G / 4G,無線A / B / G / N 2.4Ghz / 5Ghz,SATA,AGP / PCI / PCI-Express,原始衛星信號,硬盤磁頭通道,以太網等,等等...
我可以像Rohde&Schwarz那樣使我的RPi LOOK看起來很漂亮,也許在山上,案例mod :-)
大聲笑!那將是眼睛酸痛的景象:)
avra
2013-09-25 12:49:22 UTC
view on stackexchange narkive permalink

您最好的機會是嘗試是否可以在Pi上編譯 sigrok 及其前端 libsigrok ,並且然後購買一些兼容的示波器硬件。這樣,您可以每秒捕獲多達24兆樣本的信號。有了足夠的知識,您就可以根據需要以任何方式自定義軟件,包括無線傳輸到移動設備。

tovis
2015-01-27 21:58:49 UTC
view on stackexchange narkive permalink

有人在談論Sigrok。我認為最接近的方法是使用記錄完整的CY7C68013A和驅動程序EZ-USB FX2LP。在台式機上,它不能與Weezy一起使用,但在Jessy上,可以很好地工作。這是關於24 Msps的已知限制。我在考慮使用攝像頭界面的另一種方法。該接口可以管理2.1兆像素和每秒30幀,這意味著它可以以超過60兆“樣本” /秒的速度將數據傳輸到GPU。聲音比20MHz的SPI或USB有用。

這些是數字接口,因此除非使用高速ADC的輸出驅動它們,否則不會產生示波器。大多數實用的解決方案可以更快地採樣數量級,但不能連續採樣-這更適合常見問題。
James Phillips
2014-01-14 20:01:35 UTC
view on stackexchange narkive permalink

如果您不介意局限於音頻,我會使用便宜的MCP3202 12位雙通道A / D轉換器通過spidev在pi上進行採集,並使用pydatascope來顯示通過TCP套接字通過以太網傳遞的數據。 Pydatascope還可以充當頻譜分析儀! >如果您有任何疑問,請發布後續消息或直接郵寄給我,我們將很樂意為您提供幫助。

您未經許可使用了我擁有版權的圖像。請從您的網站上刪除受版權保護的圖像。
感謝您的回答@James Philips。我從您的答案中刪除了該圖片。它正在等待審查。請注意,我不是添加它的人。您能否提供您的網站地址,其中包含有興趣的人瀏覽的圖片?


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...