使用連接埠擴充器輕鬆高效率為 IIoT 端點添增子節點,實現高成本效益

作者:Bill Giovino

資料提供者:DigiKey 北美編輯群

在工業物聯網 (IIoT) 應用,IIoT 端點的功能和彈性不斷提升,除了功能性以外,現場控制區域也從端點的主機微控制器延伸了許多英呎。雖然可以使用 IIoT 端點主機微控制器的一些 I/O 引腳來到達這些延伸的位置,但是距離越長,I/O 線路對電磁干擾 (EMI) 更加敏感,導致可靠度降低。儘管可將另一個微控制器作為 IIoT 端點主機微控制器的子節點,但若只是將資料用於簡單的數位 I/O 訊號,這種作法只會徒增複雜度。

若想要實現更寬廣的控制區域,開發人員可以不必延長 I/O 線路,而是將連接埠擴充器作為 IIoT 端點的子節點,即可實現高成本效益。

本文首先會說明連接埠擴充器的角色,然後介紹 Maxim Integrated 的兩款連接埠擴充器。這些擴充器能利用序列介面輕易連接至主機微控制器,大幅提升了 IIoT 節點的數位 I/O 功能性。在提供更佳功能性的同時,擴充器仍保留傳統的一般用途 I/O (GPIO) 功能性,例如產生脈寬調變 (PWM) 和中斷偵測。

IIoT 網路為何需要連接埠擴充器

在規劃 IIoT 網路時,優先步驟之一是決定端點的數量。凡是需要與設施其餘部分同步自身行為的設備,都會需要至少一個端點。工廠生產線就是很好的範例。為了在正確的時間執行正確的組裝程序,每個工作站都必須與整個生產線的進度保持同步。

但是,工廠生產線中的 IIoT 端點可能不會侷限於一個現場區域,而是透過配線或纜線,將 IIoT 端點的主機微控制器 GPIO 連接埠延伸好幾英呎遠,作法類似以主機微控制器作為中心的星狀配置。在這種星狀配置中,每個點的端接或許足夠複雜,可作為主 IIoT 端點的子節點來運作,不過可能不夠精密,無法靠自己的網路連線,來配置成本身的 IIoT 端點。儘管子節點可設計成以本身的微控制器進行控制,但對簡易的 GPIO 來說,這種作法或許將徒增複雜度和成本。

一個實際的範例是使用 PWM 訊號來控制馬達的 IIoT 端點。如果馬達在數英呎以外,則需要向馬達傳送多個 PWM 訊號,這將導致周圍區域的 EMI 增加。雖然屏蔽式纜線可以用來傳送 PWM 訊號,但卻會增加系統成本,而且無法消除因遠距離相位延遲或串擾造成的誤差。另一種方式則是使用 I2C 或 SPI 此類的串列匯流排,將指令傳送至馬達附近的可編程系統,然後產生 PWM 訊號。這些電子裝置將作為子節點,經過編程後可產生所要求的 PWM 訊號。

在主機微控制器的序列介面上使用連接埠擴充器,可作為子節點的實用解決方案。連接埠擴充器的設定比微控制器更簡單,而且可延伸主機微控制器 GPIO 的範圍。主機微控制器無須佈設八個或更多的 GPIO 線路至子節點,就能透過簡單的 I2C 或 SPI 介面,輕鬆存取子節點處的連接埠擴充器。對連接埠擴充器中的暫存器進行寫入動作,可設定或清除 GPIO,而讀取動作則會返回 GPIO 的狀態,這與在主機微控制器上控制 GPIO 的方式相同。此外,連接埠擴充器也保留微控制器 GPIO 的大多數功能性,包括 PWM 產生和中斷輸入。

一個易於使用的連接埠擴充器範例是 Maxim Integrated 的 MAX7315AUE+T,其有八個 GPIO 和一個 I2C 介面 (圖 1)。

Maxim Integrated 的 MAX7315A 連接埠擴充器示意圖圖 1:Maxim Integrated 的 MAX7315A 連接埠擴充器提供多達八個 GPIO,並能在任何 GPIO 的狀態發生改變時,產生中斷訊號並傳送至主機微控制器。該元件可透過雙線式 I2C 介面進行存取。(圖片來源:Maxim Integrated)

MAX7315A 支援的八個 GPIO,可個別獨立設定成輸入或開汲極輸出。主機微控制器和 MAX7315A 之間透過雙線式 I2C 介面進行通訊,此介面的工作頻率可高達 400 kHz。如圖 1 所示,在 I2C 匯流排上,元件位址由三個位址引腳 AD [0:2] 設定。此元件也能產生中斷訊號並傳送至主機微控制器。

MAX7315A 只需要三個引腳就能輕鬆管理這八個 GPIO,即兩個 I2C 引腳和中斷引腳。只要條件允許 I2C 穩定通訊,此元件的放置點與主機微控制器間的距離可不受限制。視板件佈局和周圍環境的 EMI 而定,當序列脈衝 (SCL) 以 400 kHz 頻率運行時,可靠的距離通常為三英呎,如果 SCL 以 100 kHz 頻率運行,則可達九英呎或更遠。

不過,為確保周圍環境的條件或 EMI 對距離的影響不大,在使用環境中進行測試非常重要。

子節點的中斷偵測

此元件的引腳 13 可支援低態動作中斷輸出,但若不需要中斷功能,可將引腳 13 設定成第九個 GPIO。中斷可設定成在任何輸入引腳切換時變為低位準。如此一來,主機微控制器無須輪詢 MAX7315A,就能察覺子節點的活動。如果啟用中斷功能,任何設定成輸入並啟用中斷功能的 GPIO,即成為中斷輸入。當任何已設定為中斷的 GPIO 狀態發生變更時,引腳 13 即變成低位準,以向主機微控制器發出變更訊號。接著,主機微控制器將讀取 MAX7315A 的狀態,判斷出狀態已變更的 GPIO。

此程序可防止因 GPIO 使用連接埠擴充器,而造成中斷功能出現任何損失,這不僅對 IIoT 極為重要,而且對需要中斷來實現高效率韌體操作的微控制器系統,也是同樣重要。

為避免產生假中斷,在變更 MAX7315A 的設定前,應該先停用中斷功能。

雖然 MAX7315A 使用 2 V 至 3.6 V 的電源供應器就能運作,但 GPIO 能承受 5.5 V 的電壓。因此,GPIO 能與標準的邏輯位準相容,其中包括 2.0 V、3.6 V 及 5.0 V 的數位系統。對於每個設定成開汲極輸出的 GPIO,在邏輯高位準中可提供高達 50 mA 的電流。如果想增加輸出電流,可以將多個輸出連在一起。這使得 MAX7315A 能適用於高電流 LED 指示燈及鍵盤背光。

子節點的 PWM 產生

在無需主機微控制器介入的情況下,MAX7315A 也能產生可編程 PWM 輸出,且將使用內部的 32 kHz 振盪器作為 PWM 波形的時間基準。4 位元主控強度設定可將所有輸出的可用 32 kHz PWM 強度配置為 0 至 15,這與預分頻器類似。每個 GPIO 的每個 PWM 輸出波形可分成 15 個時槽。主控強度設定決定了可用來產生 PWM 的時槽數量。每個 GPIO 都擁有專屬的強度暫存器,可用於設定啟用時槽中的波形工作週期。透過使用個別 GPIO 引腳的輸出波形來舉例說明,則能最容易明瞭這一點 (圖 2)。

Maxim 的 MAX7315A 個別 GPIO 引腳輸出波形圖片圖 2:MAX7315A 有一個可編程 PWM 產生器,靠內部產生的 32 kHz 脈衝運作。此 PWM 的主控強度 = 2,個別 GPIO 的工作週期強度 = 2。(圖片來源:Maxim Integrated)

主控強度設定為 2,因此在 15 個時槽中,僅有槽 1 和槽 2 可用於產生 PWM,槽 3 至槽 15 則處在邏輯位準零。此 GPIO 的個別工作週期強度設定為 2,因此槽 1 和槽 2 中的波形工作週期為 2/16 = 12.5%。

PWM 主控強度的可設定範圍介於 0 至 15,設定值為 15 時,所有 15 個時槽均可使用。主控強度設定為零時,表示已停用所有 GPIO 的 PWM 產生功能,此時會關閉 32 kHz 脈衝以節省電力。

每個個別 GPIO 的 PWM 工作週期強度均可設定為 1 至 16,當強度為 16 時,表示工作週期為 100%,此時會將時槽設定至邏輯高位準。

為了提供更大的彈性,每個 GPIO 都有一個極性位元,可將 PWM 波形反相。圖 2 顯示該 GPIO 的極性位元設定為 1 時的波形。圖 3 中的 PWM 波形所顯示的 GPIO,其主控強度和工作週期強度與圖 2 中相同,不同的是極性位元已清除為 0。

Maxim Integrated 的 MAX7215A 有一個可將波形反相的極性位元圖片圖 3:在 Maxim Integrated 的 MAX7215A 上,每個 PWM GPIO 均有一個可將波形反相的極性位元。此 PWM 的主控強度 = 2,個別工作週期強度 = 2,以及可將波形反相的極性位元 = 0。(圖片來源:Maxim Integrated)

藉著在 PWM 波形產生方面的這種彈性優勢,MAX7315A 可用於 IIoT 端點的子節點,以控制 LED 指示燈的調光、驅動 DC 馬達的功率電晶體,及控制螺線管和致動器。現在,在充滿雜訊的工業環境中,主機微控制器無需佈設八個數位線路以便載送 PWM 波形,只需設定一下 MAX7315A,就可讓此元件獨立運行。

子節點的擴充功能性

對於更複雜的子節點,Maxim Integrated 提供 MAX7301AAX+T 連接埠擴充器,其 GPIO 數高達 28 個。MAX7301AAX 使用標準的四引腳 SPI 介面連接至 IIoT 端點內的主機微控制器 (圖 4)。此元件也支援高態動作中斷功能,作為 P31 的替代功能。MAX7315AAX 經過設定後,可在一個或更多個 GPIO 改變狀態時,產生中斷訊號並送回至主機微控制器。如此一來,只要使用五條控制線路 (四條 SPI 控制線路和一條中斷線路),即能在中斷驅動的系統中,控制子節點的 27 個 GPIO。

Maxim Integrated 的 MAX7301 連接埠擴充器 SPI 介面示意圖圖 4:Maxim Integrated 的 MAX7301 連接埠擴充器有一個 SPI 介面,並可支援多達 28 個可用於輸入或輸出的 GPIO 引腳。引腳 31 支援一個替代功能作為高態動作中斷,只要使用五個控制訊號,即能控制 27 個 GPIO 線路。(圖片來源:Maxim Integrated)

MAX7301AAX 在較廣泛的 2.25 V 至 5.5 V 供電範圍內均可運作,因此可相容於多數的數位邏輯系統。GPIO 經過設定後,無論有無內部上拉電阻,均可當作史密特觸發器輸入。此外,GPIO 經過設定後,也能作為推挽式輸出,流入高達 10 mA 的電流。因此,MAX7301AAX 適合連接至用於控制工業控制器等其他設備的邏輯位準電路,也適合連接至系統監測和警報電路。

結論

在設計人員延伸 IIoT 端點的現場可達距離時,他們會遇到如何控制子節點的挑戰,因為將多個控制線延伸許多英呎的距離,就會產生 EMI、佈局和電路複雜性等問題。在中斷驅動系統中,利用連接埠擴充器來控制子節點,開發人員就能簡化 PC 板佈局及改善穩定性,同時大幅提升 IIoT 端點的功能性。

DigiKey logo

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

關於作者

Image of Bill Giovino

Bill Giovino

Bill Giovino 是電子工程師,擁有美國雪城大學的電機工程學士學位,也是少數從設計工程師跨足現場應用工程師,再到技術行銷領域的成功典範之一。

Bill 過去 25 年來熱衷於向科技和非科技業的對象推廣新技術,包括 STMicroelectronics、Intel 和 Maxim Integrated 等多家企業。Bill 在 STMicroelectronics 任職期間,曾協助領導該公司順利進軍微控制器領域。在 Infineon 任職時,則策劃出該公司首款在美國汽車業大受歡迎的微控制器設計。Bill 目前是他個人公司 CPU Technologies 的行銷顧問,曾協助諸多企業讓表現不佳的產品重獲市場青睞。

Bill 更是採用物聯網的先驅,包括在微控制器中首次納入完整的 TCP/IP 堆疊。Bill 致力於推廣「用教育促成銷售」的理念,也認可在線上推銷產品時有清楚完整文字說明的重要性。他在 LikedIn 熱門的半導體銷售和行銷群組中擔任管理員,也擁有深厚的 B2E 知識。

關於出版者

DigiKey 北美編輯群