始終存在用于連接可編程設備(如FPGA和微控制器)的連接,以便軟件開發可以與硬件一起或之前開始。本文解釋了已經出現的“擴展接口”的非常松散的偽標準,其中一些比其他標準更一致,并將討論FPGA的Pmod標準和微控制器的Arduino偽標準。本文解釋了如何使用MAX14661多路復用器設計從一種標準到另一種標準的簡單接口。
介紹
多年來,標準激增,沒有多少行業比電子行業創造更多。你有沒有想過為什么我們對看似奇數或儀表的東西有一個標準?關于確定航天飛機固體火箭助推器直徑的標準是否真的起源于馬的背面,爭論激烈。2好奇和有趣,是的,但是,接受總會有很多標準這一事實更有成效,因此我們必須找到使它們很好地協同工作的方法。對于工程師和制造商來說,有一個特定的領域,標準的不兼容性特別麻煩:原型平臺。幸運的是,有一些方法可以減輕這些不兼容性。讓我們仔細看看。
開發板擴展標準
多年來,組件制造商一直提供開發系統,以幫助客戶圍繞其零件設計應用程序。對于FPGA和微控制器等可編程設備,始終存在與其他組件接口的連接,因此軟件開發可以與硬件一起或之前開始。隨著時間的推移,這些“擴展接口”的偽標準已經出現,其中一些比其他標準更一致。賽靈思等 FPGA 供應商推動了其中一些標準,例如 FMC 規范,使客戶能夠盡可能輕松地遷移到最新平臺。Xilinx 還使用第三方標準(如 Digilent 開發的 Pmod? 標準)將外設模塊連接到主機控制器板,并且該接口有多種外設可供選擇。微控制器制造商的標準化速度較慢,許多制造商使用自己的專有接口。然而,像制造商運動和Arduino?平臺的普及這樣的市場力量也正在將它們推向偽標準。
Pmod 非常適合 FPGA
Pmod 接口是將外設與 FPGA 開發板混合搭配的好方法。它在一個方便的可手工焊接連接器中提供對八個引腳以及電源和接地的訪問。FPGA 的靈活性使其八個信號引腳幾乎可用于任何用途。雖然這增強了其在FPGA中的實用性,但也使得該接口難以與外設分配給特定引腳的微控制器一起使用。為了解決這個問題,Digilent 定義了幾種不同的 Pmod 引腳排列類型,并為特定引腳分配了各種功能(圖 1)。
圖1.Pmod引腳排列類型具有分配給特定引腳的各種功能。
類型定義使得將Pmod接口標準與微控制器板一起使用變得更加容易,但仍然存在挑戰。已棄用的Type 3 UART接口是一個很好的例子,說明在實現真正通用接口時遇到的困難,而許多微控制器的引腳復用功能有限。盡管如此,即使有其局限性,Pmod接口也是原型設計或教育工作非常有用的擴展端口。
Arduino 偽標準
Arduino偽標準是一種完全不同的野獸;出于不同的原因為不同的受眾開發的不同平臺。最初的Arduino板只是暴露了簡單微控制器的引腳,并添加了足夠的支持設備,使其易于編程,但對于業余愛好者來說仍然是負擔得起的。由于其簡單性,最初的引腳排列由微控制器的功能定義。
隨著平臺發展到支持功能更強大的處理器,這個偽標準被無數的引腳復用組合所分割,可以說,例外多于規則。一些問題,例如支持不同的I / O電壓和I 的不一致2C 信號,在 UNO 董事會的第 3 修訂版中得到了處理。然而,任何將Arduino板(或任何Arduino衍生產品)與擴展板配對的人都必須仔細檢查兼容性。然而,不乏Arduino衍生產品可供選擇(圖2)。即使僅限于Arduino網站上的官方主板,引腳兼容性也遠非微不足道。通常,每個Arduino引腳都具有特殊功能,也可以用作通用I/O(GPIO)。
圖2.Arduino 封裝板配置在許多衍生產品中,以支持不同的設計和應用。
與Pmod接口不同,一個引腳可以提供多種特殊功能,大多數Arduino引腳通常執行一項特殊功能。正如其根源所期望的那樣,Arduino偽規范更適合微控制器,與Pmod接口不同。因此,這就是為什么在Arduino外形尺寸中找到微控制器板比使用Pmod連接器更容易的主要原因。
pmod 和 Arduino 接口之間的映射
我們有Pmod接口和Arduino偽標準,兩者都可以從許多來源獲得。是否有希望從一個平臺獲得外圍設備與另一個平臺的控制器進行通信?當然,一切皆有可能,但有時治愈比疾病更糟糕。
如果將Arduino UNO rev 3引腳排列與Pmod規范進行比較,我們看到Arduino板上有22個信號引腳,Pmod連接器上只有8個信號引腳。從技術上講,可以序列化所有 22 個引腳并將它們通過 Pmod 提供的 8 個引腳,然后在另一側對其進行反序列化,但這項工作將留給讀者練習。將 22 個 Arduino 信號自適應映射到 Pmod 規范中定義的不同類型(參見圖 1)的任務更易于管理,但仍然不是微不足道的。圖1顯示了五種不同Pmod類型的引腳排列。許多信號對電平敏感,并通過GPIO引腳通過軟件進行控制。但是,一些信號采用時間敏感協議,通過利用微控制器內部的外設,這些協議更容易使用。因此,挑戰在于將微控制器的所有專用引腳映射到Pmod規范中指定的引腳。
建議的解決方案:使用串行控制的交叉點開關
解決此映射問題的一種方法是在電路板上放置一系列配置跳線。雖然簡單明了,但這既不是一個優雅也不是用戶友好的解決方案。在Arduino大小的板上適應說明所需的字體大小將難以辨認。許多引腳可以是雙向的,因此簡單的邏輯門不是信號路由的選項。模擬開關可以工作,但沒有足夠的額外引腳來單獨控制它們。引腳短缺可以通過 I 解決2C 端口擴展器。當然,這種策略不會比跳線更優雅,但它是軟件可配置的。
如果沒有串行控制的16:2多路復用器MAX14661,這種努力似乎毫無希望。乍一看,人們可能會認為需要其中四個設備來支持所有不同的Pmod類型。這種方法似乎并不比端口擴展器解決方案好多少。這是真的,但是...MAX14661具有特殊功能。它允許任意開關組合同時處于活動狀態,因此可用作 8:8 交叉點開關。
目前為止,一切都好。但不可否認,8:8 交叉點配置存在限制。它只能同時傳遞兩個獨立的信號,每個COM_引腳一個,但兩個同時信號有什么用呢?如前所述,大多數信號可以由GPIO驅動,只有少數信號需要內部外設控制器。如果為每個引腳分配一個 GPIO,則只需通過多路復用器路由對時間敏感的串行線路。一個UART和我2C 是每條 2 線總線,因此唯一不適合通過多路復用器的串行接口是 SPI。只有一個接口為 SPI 定義;因此,SPI信號直接路由到連接器,并用作這些引腳的GPIO連接。當時間敏感功能需要其中一個引腳時,只需將GPIO設置為高阻抗輸入即可。
信號電壓電平如何?最初的Arduino設計及其許多后續產品使用5V信號電平,但5V信號不像以前那樣普遍。為了解決這個問題,后來的Arduino板中添加了一個IOREF引腳,以指示基于低壓微控制器的衍生產品的信號電平。Pmod連接器沒有IOREF引腳,但其絕大多數模塊支持3.3V信號。幸運的是,像MAX3378E這樣的雙向電平轉換器解決了這個問題。只需將 Arduino 信號連接到由 IOREF 供電的電平轉換器的一側,然后將另一側連接到由 Arduino 板專用 3.3V 電源供電的 Pmod 連接器。MAX14661多路復用器可承受-5V至+5V的任何信號,并在1.8V至5V之間傳遞任何電源,因此可以位于電平轉換器的任一側。由于多路復用器的Arduino連接多于Pmod連接,因此將MAX14661放在電平轉換器的Arduino側是有意義的。這樣,Pmod 連接器上只需要兩個 4 通道設備(圖 3)。
圖3.建議的解決方案的邏輯圖。
評估此解決方案
該解決方案的關鍵是每個通道支持多個同時連接。COM_引腳未連接,而是在多路復用器內部用于路由。MAX14661的16個多路復用器連接中有8個專用于Pmod連接器,Pmod連接器還連接到4個支持SPI的信號和4個其他GPIO(圖3)。其他 8 個多路復用器連接連接到 2 線串行總線和其他時間關鍵信號,如 PWM 或定時器引腳。要實現 I2例如,C 型只需配置多路復用器,使能通道 A 上的 SDA 引腳和 Pmod 引腳 4,通道 B 上使能 SCL 引腳和 Pmod 引腳 3。事實上,甚至可以使Pmod連接器第二排上的引腳3和4訪問第二個6引腳I2C 普莫德。如果 I2C 設備具有不同的地址,兩個端口可以保持活動狀態或動態激活,以支持具有相同地址的兩個設備。使用跳線根本不可能在具有相同地址的兩個設備之間動態切換。但是,使用MAX14661,可以通過編程方式配置所有指定的Pmod類型,甚至一些非標準類型,只需一個只有4mm x 4mm的有源器件。
為什么有人會設計一個非標準的Pmod?其中一個原因是與微控制器相同的引腳復用問題。例如,MAX14661同時支持I2C 和 SPI 控制,具體取決于配置引腳的狀態。MAX14661的外設模塊配置為與SPI Pmod類型匹配,但時鐘和數據引腳與I不匹配。2由 Digilent Pmod 規范指定的 C 引腳。適配器卡上的MAX14661可以將SDA和SCL信號映射到任何Pmod引腳,以支持非標準MAX14661外設模塊I2C 引腳映射。MAX14661還具有兩個地址引腳,支持四個不同的I。2C 設備地址,這意味著系統可以設計為支持同一總線上的多個設備。
使用MAX14661多路復用I時2C 總線,命令在帶內發送。切換與 I 同步生效2C總線。誠然,多路復用 I 可能具有挑戰性2C總線帶外。如果不小心,您可以在從站將SDA線保持低電平時斷開連接。下次選擇總線的該分支時,它可能會鎖定。MAX14661始終在I結束時轉換總線2當交換機另一端的設備應處于空閑狀態時,C 寫入命令。
審核編輯:郭婷
-
微控制器
+關注
關注
48文章
7552瀏覽量
151423 -
FPGA
+關注
關注
1629文章
21736瀏覽量
603387 -
控制器
+關注
關注
112文章
16361瀏覽量
178051
發布評論請先 登錄
相關推薦
評論