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

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

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

如何使用MAX14661多路復(fù)用器設(shè)計(jì)簡(jiǎn)單接口

星星科技指導(dǎo)員 ? 作者:ADI ? 2023-01-08 16:51 ? 次閱讀

始終存在用于連接可編程設(shè)備(如FPGA微控制器)的連接,以便軟件開(kāi)發(fā)可以與硬件一起或之前開(kāi)始。本文解釋了已經(jīng)出現(xiàn)的“擴(kuò)展接口”的非常松散的偽標(biāo)準(zhǔn),其中一些比其他標(biāo)準(zhǔn)更一致,并將討論FPGA的Pmod標(biāo)準(zhǔn)和微控制器的Arduino偽標(biāo)準(zhǔn)。本文解釋了如何使用MAX14661多路復(fù)用器設(shè)計(jì)從一種標(biāo)準(zhǔn)到另一種標(biāo)準(zhǔn)的簡(jiǎn)單接口。

介紹

多年來(lái),標(biāo)準(zhǔn)激增,沒(méi)有多少行業(yè)比電子行業(yè)創(chuàng)造更多。你有沒(méi)有想過(guò)為什么我們對(duì)看似奇數(shù)或儀表的東西有一個(gè)標(biāo)準(zhǔn)?關(guān)于確定航天飛機(jī)固體火箭助推器直徑的標(biāo)準(zhǔn)是否真的起源于馬的背面,爭(zhēng)論激烈。2好奇和有趣,是的,但是,接受總會(huì)有很多標(biāo)準(zhǔn)這一事實(shí)更有成效,因此我們必須找到使它們很好地協(xié)同工作的方法。對(duì)于工程師和制造商來(lái)說(shuō),有一個(gè)特定的領(lǐng)域,標(biāo)準(zhǔn)的不兼容性特別麻煩:原型平臺(tái)。幸運(yùn)的是,有一些方法可以減輕這些不兼容性。讓我們仔細(xì)看看。

開(kāi)發(fā)板擴(kuò)展標(biāo)準(zhǔn)

多年來(lái),組件制造商一直提供開(kāi)發(fā)系統(tǒng),以幫助客戶圍繞其零件設(shè)計(jì)應(yīng)用程序。對(duì)于FPGA和微控制器等可編程設(shè)備,始終存在與其他組件接口的連接,因此軟件開(kāi)發(fā)可以與硬件一起或之前開(kāi)始。隨著時(shí)間的推移,這些“擴(kuò)展接口”的偽標(biāo)準(zhǔn)已經(jīng)出現(xiàn),其中一些比其他標(biāo)準(zhǔn)更一致。賽靈思等 FPGA 供應(yīng)商推動(dòng)了其中一些標(biāo)準(zhǔn),例如 FMC 規(guī)范,使客戶能夠盡可能輕松地遷移到最新平臺(tái)。Xilinx 還使用第三方標(biāo)準(zhǔn)(如 Digilent 開(kāi)發(fā)的 Pmod? 標(biāo)準(zhǔn))將外設(shè)模塊連接到主機(jī)控制器板,并且該接口有多種外設(shè)可供選擇。微控制器制造商的標(biāo)準(zhǔn)化速度較慢,許多制造商使用自己的專有接口。然而,像制造商運(yùn)動(dòng)和Arduino?平臺(tái)的普及這樣的市場(chǎng)力量也正在將它們推向偽標(biāo)準(zhǔn)。

Pmod 非常適合 FPGA

Pmod 接口是將外設(shè)與 FPGA 開(kāi)發(fā)板混合搭配的好方法。它在一個(gè)方便的可手工焊接連接器中提供對(duì)八個(gè)引腳以及電源和接地的訪問(wèn)。FPGA 的靈活性使其八個(gè)信號(hào)引腳幾乎可用于任何用途。雖然這增強(qiáng)了其在FPGA中的實(shí)用性,但也使得該接口難以與外設(shè)分配給特定引腳的微控制器一起使用。為了解決這個(gè)問(wèn)題,Digilent 定義了幾種不同的 Pmod 引腳排列類型,并為特定引腳分配了各種功能(圖 1)。

pYYBAGO6hBGABPgJAAEiF3_ABwg417.png?imgver=1

圖1.Pmod引腳排列類型具有分配給特定引腳的各種功能。

類型定義使得將Pmod接口標(biāo)準(zhǔn)與微控制器板一起使用變得更加容易,但仍然存在挑戰(zhàn)。已棄用的Type 3 UART接口是一個(gè)很好的例子,說(shuō)明在實(shí)現(xiàn)真正通用接口時(shí)遇到的困難,而許多微控制器的引腳復(fù)用功能有限。盡管如此,即使有其局限性,Pmod接口也是原型設(shè)計(jì)或教育工作非常有用的擴(kuò)展端口。

Arduino 偽標(biāo)準(zhǔn)

Arduino偽標(biāo)準(zhǔn)是一種完全不同的野獸;出于不同的原因?yàn)椴煌氖鼙婇_(kāi)發(fā)的不同平臺(tái)。最初的Arduino板只是暴露了簡(jiǎn)單微控制器的引腳,并添加了足夠的支持設(shè)備,使其易于編程,但對(duì)于業(yè)余愛(ài)好者來(lái)說(shuō)仍然是負(fù)擔(dān)得起的。由于其簡(jiǎn)單性,最初的引腳排列由微控制器的功能定義。

隨著平臺(tái)發(fā)展到支持功能更強(qiáng)大的處理器,這個(gè)偽標(biāo)準(zhǔn)被無(wú)數(shù)的引腳復(fù)用組合所分割,可以說(shuō),例外多于規(guī)則。一些問(wèn)題,例如支持不同的I / O電壓和I 的不一致2C 信號(hào),在 UNO 董事會(huì)的第 3 修訂版中得到了處理。然而,任何將Arduino板(或任何Arduino衍生產(chǎn)品)與擴(kuò)展板配對(duì)的人都必須仔細(xì)檢查兼容性。然而,不乏Arduino衍生產(chǎn)品可供選擇(圖2)。即使僅限于Arduino網(wǎng)站上的官方主板,引腳兼容性也遠(yuǎn)非微不足道。通常,每個(gè)Arduino引腳都具有特殊功能,也可以用作通用I/O(GPIO)。

poYBAGO6hBSAOEw7AAl38rkqDvo053.png?imgver=1

圖2.Arduino 封裝板配置在許多衍生產(chǎn)品中,以支持不同的設(shè)計(jì)和應(yīng)用。

與Pmod接口不同,一個(gè)引腳可以提供多種特殊功能,大多數(shù)Arduino引腳通常執(zhí)行一項(xiàng)特殊功能。正如其根源所期望的那樣,Arduino偽規(guī)范更適合微控制器,與Pmod接口不同。因此,這就是為什么在Arduino外形尺寸中找到微控制器板比使用Pmod連接器更容易的主要原因。

pmod 和 Arduino 接口之間的映射

我們有Pmod接口和Arduino偽標(biāo)準(zhǔn),兩者都可以從許多來(lái)源獲得。是否有希望從一個(gè)平臺(tái)獲得外圍設(shè)備與另一個(gè)平臺(tái)的控制器進(jìn)行通信?當(dāng)然,一切皆有可能,但有時(shí)治愈比疾病更糟糕。

如果將Arduino UNO rev 3引腳排列與Pmod規(guī)范進(jìn)行比較,我們看到Arduino板上有22個(gè)信號(hào)引腳,Pmod連接器上只有8個(gè)信號(hào)引腳。從技術(shù)上講,可以序列化所有 22 個(gè)引腳并將它們通過(guò) Pmod 提供的 8 個(gè)引腳,然后在另一側(cè)對(duì)其進(jìn)行反序列化,但這項(xiàng)工作將留給讀者練習(xí)。將 22 個(gè) Arduino 信號(hào)自適應(yīng)映射到 Pmod 規(guī)范中定義的不同類型(參見(jiàn)圖 1)的任務(wù)更易于管理,但仍然不是微不足道的。圖1顯示了五種不同Pmod類型的引腳排列。許多信號(hào)對(duì)電平敏感,并通過(guò)GPIO引腳通過(guò)軟件進(jìn)行控制。但是,一些信號(hào)采用時(shí)間敏感協(xié)議,通過(guò)利用微控制器內(nèi)部的外設(shè),這些協(xié)議更容易使用。因此,挑戰(zhàn)在于將微控制器的所有專用引腳映射到Pmod規(guī)范中指定的引腳。

建議的解決方案:使用串行控制的交叉點(diǎn)開(kāi)關(guān)

解決此映射問(wèn)題的一種方法是在電路板上放置一系列配置跳線。雖然簡(jiǎn)單明了,但這既不是一個(gè)優(yōu)雅也不是用戶友好的解決方案。在Arduino大小的板上適應(yīng)說(shuō)明所需的字體大小將難以辨認(rèn)。許多引腳可以是雙向的,因此簡(jiǎn)單的邏輯門不是信號(hào)路由的選項(xiàng)。模擬開(kāi)關(guān)可以工作,但沒(méi)有足夠的額外引腳來(lái)單獨(dú)控制它們。引腳短缺可以通過(guò) I 解決2C 端口擴(kuò)展器。當(dāng)然,這種策略不會(huì)比跳線更優(yōu)雅,但它是軟件可配置的。

如果沒(méi)有串行控制的16:2多路復(fù)用器MAX14661,這種努力似乎毫無(wú)希望。乍一看,人們可能會(huì)認(rèn)為需要其中四個(gè)設(shè)備來(lái)支持所有不同的Pmod類型。這種方法似乎并不比端口擴(kuò)展器解決方案好多少。這是真的,但是...MAX14661具有特殊功能。它允許任意開(kāi)關(guān)組合同時(shí)處于活動(dòng)狀態(tài),因此可用作 8:8 交叉點(diǎn)開(kāi)關(guān)。

目前為止,一切都好。但不可否認(rèn),8:8 交叉點(diǎn)配置存在限制。它只能同時(shí)傳遞兩個(gè)獨(dú)立的信號(hào),每個(gè)COM_引腳一個(gè),但兩個(gè)同時(shí)信號(hào)有什么用呢?如前所述,大多數(shù)信號(hào)可以由GPIO驅(qū)動(dòng),只有少數(shù)信號(hào)需要內(nèi)部外設(shè)控制器。如果為每個(gè)引腳分配一個(gè) GPIO,則只需通過(guò)多路復(fù)用器路由對(duì)時(shí)間敏感的串行線路。一個(gè)UART和我2C 是每條 2 線總線,因此唯一不適合通過(guò)多路復(fù)用器的串行接口是 SPI。只有一個(gè)接口為 SPI 定義;因此,SPI信號(hào)直接路由到連接器,并用作這些引腳的GPIO連接。當(dāng)時(shí)間敏感功能需要其中一個(gè)引腳時(shí),只需將GPIO設(shè)置為高阻抗輸入即可。

信號(hào)電壓電平如何?最初的Arduino設(shè)計(jì)及其許多后續(xù)產(chǎn)品使用5V信號(hào)電平,但5V信號(hào)不像以前那樣普遍。為了解決這個(gè)問(wèn)題,后來(lái)的Arduino板中添加了一個(gè)IOREF引腳,以指示基于低壓微控制器的衍生產(chǎn)品的信號(hào)電平。Pmod連接器沒(méi)有IOREF引腳,但其絕大多數(shù)模塊支持3.3V信號(hào)。幸運(yùn)的是,像MAX3378E這樣的雙向電平轉(zhuǎn)換器解決了這個(gè)問(wèn)題。只需將 Arduino 信號(hào)連接到由 IOREF 供電的電平轉(zhuǎn)換器的一側(cè),然后將另一側(cè)連接到由 Arduino 板專用 3.3V 電源供電的 Pmod 連接器。MAX14661多路復(fù)用器可承受-5V至+5V的任何信號(hào),并在1.8V至5V之間傳遞任何電源,因此可以位于電平轉(zhuǎn)換器的任一側(cè)。由于多路復(fù)用器的Arduino連接多于Pmod連接,因此將MAX14661放在電平轉(zhuǎn)換器的Arduino側(cè)是有意義的。這樣,Pmod 連接器上只需要兩個(gè) 4 通道設(shè)備(圖 3)。

pYYBAGO6hBaAGlqGAACL2CYQ020877.png?imgver=1

圖3.建議的解決方案的邏輯圖。

評(píng)估此解決方案

該解決方案的關(guān)鍵是每個(gè)通道支持多個(gè)同時(shí)連接。COM_引腳未連接,而是在多路復(fù)用器內(nèi)部用于路由。MAX14661的16個(gè)多路復(fù)用器連接中有8個(gè)專用于Pmod連接器,Pmod連接器還連接到4個(gè)支持SPI的信號(hào)和4個(gè)其他GPIO(圖3)。其他 8 個(gè)多路復(fù)用器連接連接到 2 線串行總線和其他時(shí)間關(guān)鍵信號(hào),如 PWM 或定時(shí)器引腳。要實(shí)現(xiàn) I2例如,C 型只需配置多路復(fù)用器,使能通道 A 上的 SDA 引腳和 Pmod 引腳 4,通道 B 上使能 SCL 引腳和 Pmod 引腳 3。事實(shí)上,甚至可以使Pmod連接器第二排上的引腳3和4訪問(wèn)第二個(gè)6引腳I2C 普莫德。如果 I2C 設(shè)備具有不同的地址,兩個(gè)端口可以保持活動(dòng)狀態(tài)或動(dòng)態(tài)激活,以支持具有相同地址的兩個(gè)設(shè)備。使用跳線根本不可能在具有相同地址的兩個(gè)設(shè)備之間動(dòng)態(tài)切換。但是,使用MAX14661,可以通過(guò)編程方式配置所有指定的Pmod類型,甚至一些非標(biāo)準(zhǔn)類型,只需一個(gè)只有4mm x 4mm的有源器件。

為什么有人會(huì)設(shè)計(jì)一個(gè)非標(biāo)準(zhǔn)的Pmod?其中一個(gè)原因是與微控制器相同的引腳復(fù)用問(wèn)題。例如,MAX14661同時(shí)支持I2C 和 SPI 控制,具體取決于配置引腳的狀態(tài)。MAX14661的外設(shè)模塊配置為與SPI Pmod類型匹配,但時(shí)鐘和數(shù)據(jù)引腳與I不匹配。2由 Digilent Pmod 規(guī)范指定的 C 引腳。適配器卡上的MAX14661可以將SDA和SCL信號(hào)映射到任何Pmod引腳,以支持非標(biāo)準(zhǔn)MAX14661外設(shè)模塊I2C 引腳映射。MAX14661還具有兩個(gè)地址引腳,支持四個(gè)不同的I。2C 設(shè)備地址,這意味著系統(tǒng)可以設(shè)計(jì)為支持同一總線上的多個(gè)設(shè)備。

使用MAX14661多路復(fù)用I時(shí)2C 總線,命令在帶內(nèi)發(fā)送。切換與 I 同步生效2C總線。誠(chéng)然,多路復(fù)用 I 可能具有挑戰(zhàn)性2C總線帶外。如果不小心,您可以在從站將SDA線保持低電平時(shí)斷開(kāi)連接。下次選擇總線的該分支時(shí),它可能會(huì)鎖定。MAX14661始終在I結(jié)束時(shí)轉(zhuǎn)換總線2當(dāng)交換機(jī)另一端的設(shè)備應(yīng)處于空閑狀態(tài)時(shí),C 寫入命令。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)注

    48

    文章

    7455

    瀏覽量

    150856
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21623

    瀏覽量

    601242
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16103

    瀏覽量

    177079
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于如何讓多路復(fù)用器變得簡(jiǎn)單

    多路復(fù)用器(或簡(jiǎn)稱mux)設(shè)計(jì)成信號(hào)鏈很簡(jiǎn)單,對(duì)嗎?畢竟,設(shè)備只需將多個(gè)信號(hào)放入數(shù)據(jù)轉(zhuǎn)換器。 實(shí)際上,復(fù)用器可以各種方式顯著影響信號(hào)鏈的性能。例如,導(dǎo)通電容可能導(dǎo)致通道之間的串?dāng)_。導(dǎo)通電阻的信號(hào)
    的頭像 發(fā)表于 07-10 09:36 ?1.3w次閱讀
    關(guān)于如何讓<b class='flag-5'>多路復(fù)用器</b>變得<b class='flag-5'>簡(jiǎn)單</b>

    AD8185緩沖模擬多路復(fù)用器

    AD8185-EVAL,用于視頻路由和多路復(fù)用系統(tǒng)的三路2:1模擬多路復(fù)用器評(píng)估板。 AD8185評(píng)估板經(jīng)過(guò)精心布局和測(cè)試,以展示器件的指定高速性能
    發(fā)表于 06-17 16:47

    AD8174緩沖模擬多路復(fù)用器

    AD8174-EB,用于視頻路由和多路復(fù)用系統(tǒng)的單路4:1模擬多路復(fù)用器評(píng)估板。 AD8174評(píng)估板經(jīng)過(guò)精心布局和測(cè)試,可演示器件的指定高速性能
    發(fā)表于 06-17 09:58

    你真的了解的模擬多路復(fù)用器和開(kāi)關(guān)的原理和應(yīng)用嗎?

    多路復(fù)用器和開(kāi)關(guān)的原理是什么?如何設(shè)計(jì)出模擬多路復(fù)用器和開(kāi)關(guān)解決方案
    發(fā)表于 03-11 07:46

    電源多路復(fù)用器是什么

    電源復(fù)用器電源多路復(fù)用器(Power MUX)是一組電子開(kāi)關(guān),用于選擇兩個(gè)或更多輸入功率路徑并轉(zhuǎn)換到單個(gè)輸出。目的旨在靈活地在不同類型的輸入電源(桶式插孔,USB電纜,無(wú)線充電)之間進(jìn)行選擇的系統(tǒng)
    發(fā)表于 10-29 09:16

    組合邏輯基礎(chǔ)之多路復(fù)用器設(shè)計(jì)

    1、組合邏輯基礎(chǔ)之多路復(fù)用器設(shè)計(jì)多路復(fù)用器也叫數(shù)據(jù)選擇器,如下圖所示,是根據(jù)選擇信號(hào)Sel的值從多個(gè)數(shù)據(jù)輸入中選擇其中一個(gè)進(jìn)行輸出,是數(shù)字系統(tǒng)中應(yīng)用非常廣泛的一種邏輯電路。如下是一個(gè)典型的四選一多路復(fù)用器
    發(fā)表于 08-04 17:06

    具有8:1多路復(fù)用器的通用輸入/輸出(GPIO)擴(kuò)展功能

    圖1:具有8:1多路復(fù)用器的通用輸入/輸出(GPIO)擴(kuò)展功能幸運(yùn)的是,小尺寸的8:1多路復(fù)用器可提供相對(duì)簡(jiǎn)單的解決方案,如TMUX1308。當(dāng)你想到小尺寸多路復(fù)用器時(shí),可能會(huì)認(rèn)為唯一
    發(fā)表于 11-07 07:07

    模擬開(kāi)關(guān)和多路復(fù)用器的基礎(chǔ)參數(shù)

    作者:現(xiàn)場(chǎng)應(yīng)用工程師 蘇智超 Rock Su 在測(cè)試測(cè)量相關(guān)應(yīng)用中,模擬開(kāi)關(guān)和多路復(fù)用器有著非常廣泛的應(yīng)用,例如運(yùn)放的增益調(diào)節(jié)、ADC分時(shí)采集多路傳感器信號(hào)等等。雖然它的功能很簡(jiǎn)單,但是仍然有很多
    發(fā)表于 11-08 07:02

    復(fù)用器多路復(fù)用

    復(fù)用器多路復(fù)用  多路復(fù)用
    發(fā)表于 01-07 14:27 ?1180次閱讀

    MAX4638,MAX4639低電壓模擬多路復(fù)用器

    MAX4638/MAX4639是單一8:1和4:1雙CMOS模擬多路復(fù)用器/多路分配器(多路復(fù)用器/ demuxes)的。
    發(fā)表于 11-15 11:52 ?8115次閱讀

    MAX4617-MAX4619低電壓、CMOS模擬多路復(fù)用器/開(kāi)關(guān)

    MAX4617/MAX4618/MAX4619是高速,低電壓,CMOS模擬集成電路的配置為8通道多路復(fù)用器MAX4617),兩個(gè)4通道
    發(fā)表于 01-29 15:30 ?6211次閱讀
    <b class='flag-5'>MAX4617-MAX</b>4619低電壓、CMOS模擬<b class='flag-5'>多路復(fù)用器</b>/開(kāi)關(guān)

    cd4052b模擬多路復(fù)用器

    具有邏輯電平轉(zhuǎn)換功能的 CMOS 差動(dòng) 4 通道模擬多路復(fù)用器/多路復(fù)用器
    發(fā)表于 11-30 18:27 ?0次下載

    多路復(fù)用器:并非那么簡(jiǎn)單

    多路復(fù)用器(或簡(jiǎn)稱mux)設(shè)計(jì)成信號(hào)鏈很簡(jiǎn)單,對(duì)嗎?畢竟,設(shè)備只需將多個(gè)信號(hào)放入數(shù)據(jù)轉(zhuǎn)換器。 實(shí)際上,復(fù)用器可以各種方式顯著影響信號(hào)鏈的性能。例如,導(dǎo)通電容可能導(dǎo)致通道之間的串?dāng)_。導(dǎo)通電阻的信號(hào)
    發(fā)表于 04-18 03:35 ?1191次閱讀

    如何改進(jìn)開(kāi)關(guān)/多路復(fù)用器LTspice模型

    如果我的模擬設(shè)計(jì)中包含開(kāi)關(guān)和多路復(fù)用器,那么還能改進(jìn)開(kāi)關(guān)/多路復(fù)用器LTspice模型嗎?
    的頭像 發(fā)表于 03-01 13:34 ?3354次閱讀
    如何改進(jìn)開(kāi)關(guān)/<b class='flag-5'>多路復(fù)用器</b>LTspice模型

    1-of-8 FET 多路復(fù)用器/解復(fù)用器-CBT3251

    1-of-8 FET 多路復(fù)用器/解復(fù)用器-CBT3251
    發(fā)表于 02-16 21:03 ?0次下載
    1-of-8 FET <b class='flag-5'>多路復(fù)用器</b>/解<b class='flag-5'>復(fù)用器</b>-CBT3251