基于RP2040的Pico可用作PIO的邏輯分析儀。擴展示例以將結果導出到sigrock和PulseView。
背景
Raspberry Pi Pico上的新RP2040工藝帶有可編程IO(PIO)模塊。該模塊有許多用途,可以直接直接高速控制板的GPIO。Pico隨附的示例顯示了如何使用PIO捕獲引腳上的輸入作為邏輯分析儀。包含的示例打印出數據的簡單ASCII顯示,并且有趣的是,很難詳細檢查ASCII打印輸出。
有一個名為sigrok的開源項目可以進行信號分析。(SI gnal神交)。與sigrok一起,有一個名為PulseView的配套項目,可讓您直觀地檢查信號數據。這兩個程序使您可以更輕松地分析捕獲的數據,添加協議解碼器以查看捕獲的數據意味著什么。
該項目旨在擴展示例邏輯分析儀程序,以生成可以在PulseView中顯示的數據,并允許以交互方式配置分析儀。
整體架構
迄今為止,該項目背后的想法是在三個方面:
? 將Pico連接到要測量的設備上的引腳
? 使用修改后的示例代碼來配置邏輯分析儀設置,并記錄信號并將其以CSV格式輸出到串行設備
? 使用PulseView導入CSV文件并顯示數據
注意:sigrok內置了許多硬件驅動程序,可讀取各種可用的分析儀和示波器。該項目不會添加新的驅動程序,而只是通過CSV文件導入數據。
代碼
以下內容假設您知道如何構建項目并將其安裝在Pico上。如果您不滿意,請參閱隨Pico一起發布的優秀文檔。
Pico隨附的示例代碼用于演示具有DMA傳輸的PIO程序。為了改進此功能以用作邏輯分析儀,進行了幾處更改:
? 該程序首先處于交互模式,允許用戶配置設置,例如要捕獲的引腳數,采樣率,頻率等。初始化后,PIO將布防并等待觸發信號,然后捕獲數據并將其寫入以CSV格式轉換為串行輸出(通過USB)??梢栽诤瘮抵姓业絩ead_user_input()。
? 創建了一個新的打印緩沖區功能,以CSV格式寫出數據。可在中找到print_capture_buf_csv()。
? 內置LED設置為在布防和等待期間保持穩定,并在傳輸數據時閃爍。
功能logic_analyser_init()和與原始示例中的功能相同,logic_analyser_arm()負責初始化PIO程序并將其武裝為觸發值。
隨附的GitHub存儲庫包含代碼。
一個示例
此示例將顯示我在第二個Pico上捕獲I2C總線所采取的步驟。第二個Pico使用GPIO12作為SDA和GPIO13作為SCL連接到BME280傳感器。CircuitPython安裝在Pico上,并通過I2C連接BME280以連續打印傳感器值。
頂部的Pico通過I2C連接到BME280。底部的Pico是邏輯分析儀。
邏輯分析儀Pico加載了代碼。我使用PuTTY連接到邏輯分析儀并對其進行配置。將PuTTY連接到您的Pico所連接的COM端口,波特率為921,600波特。在此示例中,我使用了以下設置:
? 第一個引腳:GPIO17(用于SCL,因此GPIO18是SDA)
? 針數:2
? 頻率:1 Mhz
? 樣本數:200,000(大約50kB的RAM)
? 在SCL的第一個低點觸發
分析儀設置正在配置
然后,我將GPIO13連接到GPIO17,將GPIO12連接到GPIO18并接地。當SCL線變低時,Pico將收集200,000個樣本。在1 Mhz時,這意味著約0.2秒的捕獲時間。
當板載LED呈綠色常亮時,您將知道Pico已準備就緒。
為了保存來自Pico的所有CSV數據,我使用了一個名為plink的程序,該程序是PuTTY安裝的一部分。任何可以將串行輸入定向到文件的程序都可以使用。要使用plink,我使用以下命令:
plink -serial \。COM3 -sercfg 921600,8,1,N,N 》 i2c.csv
COM端口應設置為您的Pico連接到的COM端口。一旦運行,您就可以開始捕獲了。
為了開始捕獲,我打開了連接到BME的Pico的電源,幾乎立即內置的LED開始閃爍,表明數據正在通過串行連接寫入并由plink保存。發生這種情況時,我停止了連接到BME280的Pico。
當Pico的LED穩定亮起時,傳輸已完成,我停止了plink命令。并啟動了PulseView。有關PulseView的所有詳細信息,請參閱其文檔。
在PulseView中,我選擇導入CSV文件,并且在此示例中,指定了2個邏輯通道和1000000的采樣率,并關閉了“從第一行獲取通道名稱”。其余的導入設置保持不變。加載后,您可以為I2C添加協議解碼器,將SCL分配給輸出0,將SDA分配給輸出1并查看結果。這就是全部。
將輸出加載到PulseView并添加I2C解碼器
原理圖:
責任編輯:pj
-
傳感器
+關注
關注
2552文章
51294瀏覽量
755199 -
數據
+關注
關注
8文章
7103瀏覽量
89287 -
邏輯分析儀
+關注
關注
3文章
214瀏覽量
23219
發布評論請先 登錄
相關推薦
評論