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

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

3天內(nèi)不再提示

基于RP2040的Pico可用作PIO的邏輯分析儀

電子設(shè)計(jì) ? 來(lái)源:電路城 ? 作者:電路城 ? 2021-04-27 15:08 ? 次閱讀

基于RP2040的Pico可用作PIO的邏輯分析儀。擴(kuò)展示例以將結(jié)果導(dǎo)出到sigrock和PulseView。

背景

Raspberry Pi Pico上的新RP2040工藝帶有可編程IO(PIO)模塊。該模塊有許多用途,可以直接直接高速控制板的GPIO。Pico隨附的示例顯示了如何使用PIO捕獲引腳上的輸入作為邏輯分析儀。包含的示例打印出數(shù)據(jù)的簡(jiǎn)單ASCII顯示,并且有趣的是,很難詳細(xì)檢查ASCII打印輸出。

有一個(gè)名為sigrok的開(kāi)源項(xiàng)目可以進(jìn)行信號(hào)分析。(SI gnal神交)。與sigrok一起,有一個(gè)名為PulseView的配套項(xiàng)目,可讓您直觀地檢查信號(hào)數(shù)據(jù)。這兩個(gè)程序使您可以更輕松地分析捕獲的數(shù)據(jù),添加協(xié)議解碼器以查看捕獲的數(shù)據(jù)意味著什么。

該項(xiàng)目旨在擴(kuò)展示例邏輯分析儀程序,以生成可以在PulseView中顯示的數(shù)據(jù),并允許以交互方式配置分析儀。

整體架構(gòu)

迄今為止,該項(xiàng)目背后的想法是在三個(gè)方面:

? 將Pico連接到要測(cè)量的設(shè)備上的引腳

? 使用修改后的示例代碼來(lái)配置邏輯分析儀設(shè)置,并記錄信號(hào)并將其以CSV格式輸出到串行設(shè)備

? 使用PulseView導(dǎo)入CSV文件并顯示數(shù)據(jù)

注意:sigrok內(nèi)置了許多硬件驅(qū)動(dòng)程序,可讀取各種可用的分析儀和示波器。該項(xiàng)目不會(huì)添加新的驅(qū)動(dòng)程序,而只是通過(guò)CSV文件導(dǎo)入數(shù)據(jù)。

代碼

以下內(nèi)容假設(shè)您知道如何構(gòu)建項(xiàng)目并將其安裝在Pico上。如果您不滿意,請(qǐng)參閱隨Pico一起發(fā)布的優(yōu)秀文檔。

Pico隨附的示例代碼用于演示具有DMA傳輸?shù)腜IO程序。為了改進(jìn)此功能以用作邏輯分析儀,進(jìn)行了幾處更改:

? 該程序首先處于交互模式,允許用戶配置設(shè)置,例如要捕獲的引腳數(shù),采樣率,頻率等。初始化后,PIO將布防并等待觸發(fā)信號(hào),然后捕獲數(shù)據(jù)并將其寫(xiě)入以CSV格式轉(zhuǎn)換為串行輸出(通過(guò)USB)??梢栽诤瘮?shù)中找到read_user_input()。

? 創(chuàng)建了一個(gè)新的打印緩沖區(qū)功能,以CSV格式寫(xiě)出數(shù)據(jù)??稍谥姓业絧rint_capture_buf_csv()。

? 內(nèi)置LED設(shè)置為在布防和等待期間保持穩(wěn)定,并在傳輸數(shù)據(jù)時(shí)閃爍。

功能logic_analyser_init()和與原始示例中的功能相同,logic_analyser_arm()負(fù)責(zé)初始化PIO程序并將其武裝為觸發(fā)值。

隨附的GitHub存儲(chǔ)庫(kù)包含代碼。

一個(gè)示例

此示例將顯示我在第二個(gè)Pico上捕獲I2C總線所采取的步驟。第二個(gè)Pico使用GPIO12作為SDA和GPIO13作為SCL連接到BME280傳感器。CircuitPython安裝在Pico上,并通過(guò)I2C連接BME280以連續(xù)打印傳感器值。

頂部的Pico通過(guò)I2C連接到BME280。底部的Pico是邏輯分析儀。

邏輯分析儀Pico加載了代碼。我使用PuTTY連接到邏輯分析儀并對(duì)其進(jìn)行配置。將PuTTY連接到您的Pico所連接的COM端口,波特率為921,600波特。在此示例中,我使用了以下設(shè)置:

? 第一個(gè)引腳:GPIO17(用于SCL,因此GPIO18是SDA)

? 針數(shù):2

? 頻率:1 Mhz

? 樣本數(shù):200,000(大約50kB的RAM

? 在SCL的第一個(gè)低點(diǎn)觸發(fā)

基于RP2040的Pico可用作PIO的邏輯分析儀

分析儀設(shè)置正在配置

然后,我將GPIO13連接到GPIO17,將GPIO12連接到GPIO18并接地。當(dāng)SCL線變低時(shí),Pico將收集200,000個(gè)樣本。在1 Mhz時(shí),這意味著約0.2秒的捕獲時(shí)間。

當(dāng)板載LED呈綠色常亮?xí)r,您將知道Pico已準(zhǔn)備就緒。

為了保存來(lái)自Pico的所有CSV數(shù)據(jù),我使用了一個(gè)名為plink的程序,該程序是PuTTY安裝的一部分。任何可以將串行輸入定向到文件的程序都可以使用。要使用plink,我使用以下命令:

plink -serial \。COM3 -sercfg 921600,8,1,N,N 》 i2c.csv

COM端口應(yīng)設(shè)置為您的Pico連接到的COM端口。一旦運(yùn)行,您就可以開(kāi)始捕獲了。

為了開(kāi)始捕獲,我打開(kāi)了連接到BME的Pico的電源,幾乎立即內(nèi)置的LED開(kāi)始閃爍,表明數(shù)據(jù)正在通過(guò)串行連接寫(xiě)入并由plink保存。發(fā)生這種情況時(shí),我停止了連接到BME280的Pico。

當(dāng)Pico的LED穩(wěn)定亮起時(shí),傳輸已完成,我停止了plink命令。并啟動(dòng)了PulseView。有關(guān)PulseView的所有詳細(xì)信息,請(qǐng)參閱其文檔。

在PulseView中,我選擇導(dǎo)入CSV文件,并且在此示例中,指定了2個(gè)邏輯通道和1000000的采樣率,并關(guān)閉了“從第一行獲取通道名稱(chēng)”。其余的導(dǎo)入設(shè)置保持不變。加載后,您可以為I2C添加協(xié)議解碼器,將SCL分配給輸出0,將SDA分配給輸出1并查看結(jié)果。這就是全部。

基于RP2040的Pico可用作PIO的邏輯分析儀

將輸出加載到PulseView并添加I2C解碼器

原理圖:

責(zé)任編輯:pj

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2545

    文章

    50445

    瀏覽量

    751035
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6808

    瀏覽量

    88743
  • 邏輯分析儀
    +關(guān)注

    關(guān)注

    3

    文章

    214

    瀏覽量

    23124
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    pico-ice:RP2040 plus Lattice iCE40UP5K FPGA 開(kāi)發(fā)板 介紹

    pico-ice是一個(gè)小型、低成本的開(kāi)發(fā)板,帶有Raspberry Pi Pico RP2040微控制器和 Lattice 半導(dǎo)體 iCE40UP5KFPGA 。它帶有獨(dú)立的閃存、低功耗SSRAM
    發(fā)表于 06-28 15:45

    ubuntu上交叉編譯rp2040

    連接到rp2040 ,所以使用另一塊pico作為調(diào)試器,需要給pico調(diào)試器下載固件,也就是picoprobe 地址 https://github.com/Wiz-IO
    發(fā)表于 08-27 08:00

    樹(shù)莓派Pico迷你開(kāi)發(fā)板及所使用的RP2040 MCU芯片有哪些特性

    Raspberry Pi Pico是什么?樹(shù)莓派Pico迷你開(kāi)發(fā)板及所使用的RP2040 MCU芯片有哪些特性?
    發(fā)表于 09-14 06:50

    基于RP2040 arm微控制器制作的定制Arduino

    描述Athduino-RP2040使用新的 Raspberry pi pico 的基于 RP2040 arm 的微控制器制作的定制 ArduinoPCB
    發(fā)表于 08-31 06:03

    使用RP2040設(shè)計(jì)一個(gè)迷你板

    RP2040 Connect、Raspberry Pi Pico、Wio RP2040 等。我將記錄您需要了解的關(guān)于 RP2040 的所有信息,我將在其中介紹它并列出一些可以使用同一
    發(fā)表于 09-02 06:37

    【BPI-Pico-RP2040 開(kāi)發(fā)板】RP2040可編程 IO (PIO) 使用初探

    BPI-Pico-RP2040 開(kāi)發(fā)板所搭載的RP2040微處理器,相對(duì)于其他微處理,最吸引人的一點(diǎn)就是提供了可編程 IO,簡(jiǎn)稱(chēng)PIO。PIO的神奇之處在于,給
    發(fā)表于 03-28 22:14

    【BPI-Pico-RP2040 開(kāi)發(fā)板】rp2040PIO外設(shè)介紹

    最大使用32條指令空間(4個(gè)狀態(tài)機(jī)的程序總和不能超過(guò)32條匯編代碼)。4個(gè)狀態(tài)機(jī)是獨(dú)立運(yùn)行的??偨Y(jié)PIO的巧妙設(shè)計(jì),給rp2040帶來(lái)了更多的特色應(yīng)用,不管是HDMI輸出、邏輯分析儀、
    發(fā)表于 04-04 12:22

    RP2040

    RP2040是一種基于ARM Cortex-M0+核心的微控制器芯片,由Raspberry Pi公司設(shè)計(jì)和生產(chǎn)。它主要用于樹(shù)莓派計(jì)算模塊和樹(shù)莓派相機(jī)模塊V2等產(chǎn)品中,同時(shí)也適用于各種低功耗物聯(lián)網(wǎng)設(shè)備
    發(fā)表于 09-15 09:04

    e絡(luò)盟現(xiàn)貨發(fā)售Arduino Nano RP2040 Connect和Raspberry Pi Pico

    Raspberry Pi Pico是首款采用Raspberry Pi自研RP2040微控制器的開(kāi)發(fā)板。Arduino Nano RP2040 Connect則是首款RP2040連接板,
    發(fā)表于 09-23 14:26 ?3203次閱讀
    e絡(luò)盟現(xiàn)貨發(fā)售Arduino Nano <b class='flag-5'>RP2040</b> Connect和Raspberry Pi <b class='flag-5'>Pico</b>

    基于RP2040板的SUMP/OLS兼容邏輯分析儀固件

    電子發(fā)燒友網(wǎng)站提供《基于RP2040板的SUMP/OLS兼容邏輯分析儀固件.zip》資料免費(fèi)下載
    發(fā)表于 06-13 15:22 ?8次下載
    基于<b class='flag-5'>RP2040</b>板的SUMP/OLS兼容<b class='flag-5'>邏輯</b><b class='flag-5'>分析儀</b>固件

    Arduino Raspberry Pi Pico/RP2040以太網(wǎng):W5100S EVB Pico

    電子發(fā)燒友網(wǎng)站提供《Arduino Raspberry Pi Pico/RP2040以太網(wǎng):W5100S EVB Pico.zip》資料免費(fèi)下載
    發(fā)表于 06-14 14:29 ?1次下載
    Arduino Raspberry Pi <b class='flag-5'>Pico</b>/<b class='flag-5'>RP2040</b>以太網(wǎng):W5100S EVB <b class='flag-5'>Pico</b>

    RP2040 Raspberry Pi Pico遇見(jiàn)LoRa

    電子發(fā)燒友網(wǎng)站提供《RP2040 Raspberry Pi Pico遇見(jiàn)LoRa.zip》資料免費(fèi)下載
    發(fā)表于 06-15 09:25 ?1次下載
    <b class='flag-5'>RP2040</b> Raspberry Pi <b class='flag-5'>Pico</b>遇見(jiàn)LoRa

    9.9元包郵!合宙RP2040開(kāi)發(fā)板,兼容樹(shù)莓派PICO

    Flash 和 Type-C 接口 。 結(jié)合開(kāi)源固件,可實(shí)現(xiàn)100M的邏輯分析儀等功能。 合宙RP2040開(kāi)發(fā)板購(gòu)買(mǎi)鏈接: https://sjfjz
    的頭像 發(fā)表于 08-07 12:05 ?3847次閱讀

    9.9元自制樹(shù)莓派邏輯分析儀?!合宙RP2040開(kāi)發(fā)板輕松DIY

    。 現(xiàn)在,我們使用基于樹(shù)莓派主控芯片的 合宙RP2040開(kāi)發(fā)板 ,就可以低成本快速DIY邏輯分析儀。 ? 9.9元自制100M邏輯分析儀 C
    的頭像 發(fā)表于 08-14 12:10 ?1.4w次閱讀
    9.9元自制樹(shù)莓派<b class='flag-5'>邏輯</b><b class='flag-5'>分析儀</b>?!合宙<b class='flag-5'>RP2040</b>開(kāi)發(fā)板輕松DIY

    合宙RP2040開(kāi)發(fā)板輕松DIY

    使用基于樹(shù)莓派主控芯片的合宙RP2040開(kāi)發(fā)板,就可以低成本快速DIY邏輯分析儀。9.9元自制100M邏輯分析儀CORE-
    的頭像 發(fā)表于 08-15 09:46 ?2161次閱讀
    合宙<b class='flag-5'>RP2040</b>開(kāi)發(fā)板輕松DIY