非常見問題: 如何運用 IO-Link 收發器管理資料鏈路並簡化選擇微控制器流程
非常見問題: 如何運用 IO-Link 收發器管理資料鏈路並簡化選擇微控制器流程
作者:ADI 數位行銷工程師 Brian Condell、首席工程師 Michael Jackson、及資深首席工程師Konrad Scheuer
問題
IO-Link裝置的微控制器如何克服遵循IO-Link標準時序要求所面臨的挑戰?

答案
由於IO-Link裝置微控制器需同時執行多項任務,因此在可接受的時間窗口內回應請求可能成為一大挑戰,尤其當微控制器執行無法中斷的任務時,這個問題尤為棘手。為解決此類時序挑戰,常見的方法是採用第二顆微控制器來管理IO-Link堆疊,進而維持IO-Link裝置與IO-Link主控端之間更為穩定的回應時間間隔。然而,此方法效率極低,因為其不僅更耗電,還需要更大的電路板,導致感測器外殼尺寸增加。更理想的替代方案,是採用能同時管理資料鏈路層和通訊實體層的收發器。此類收發器能分擔裝置微控制器的任務,進而實現設計體積更小、功能更強大、結構更複雜且成本更低的工業現場儀器。
背景簡介
「想一次做兩件事,結果就是一事無成」——拉丁作家普布里烏斯·西魯斯(Publilius Syrus)對多工的評論或許過於極端,但在某些情況下,多工可能真的會導致任務無法按照原本預期的方式完成、或無法按時完成。隨著工業製程日益複雜,感測器與致動器等現場儀器也不斷演進,具備同時執行多項任務的能力,包括與流程控制器維持定期通訊。然而,這會對裝置微控制器帶來額外負擔,若未妥善管理,流程數據可能遺失,進而導致生產中斷(然而這正是現代工業通訊協定須致力避免的問題)。
IO-Link時序
IO-Link 是一種24V 3線制的工業通訊標準,能在工業裝置與IO-Link主控端之間實現點對點通訊,而IO-Link主控端則與更高層級的製程控制網路進行通訊。
在 IO-Link 應用中,收發器作為實體層介面,連接運行資料鏈結層協定(堆疊)的微控制器與 24 V IO-Link 訊號線。IO-Link 通訊涉及多種類型的傳輸,包括處理資料、狀態值(value status)、裝置資料、以及事件。這些傳輸功能使系統能在發生錯誤時迅速辨識、追蹤並處理出現問題的工業裝置,進而有效縮減停機時間。IO-Link 支援遠端設定,例如,若需調整觸發製程警報的門檻值,可透過 IO-Link 連線傳送更新的門檻設定,無需派遣技術人員親赴廠區進行操作。
IO-Link 主控端連接埠與裝置之間的通訊受多項時序限制,並在稱為 M-sequence 的固定時程內進行。M-sequence 訊息包含由 IO-Link 主控端發送給裝置的指令或請求,以及裝置的回應訊息。圖 2 顯示了 M-sequence 中的時序參數,描述 IO-Link 主控端連接埠與裝置訊息間的通訊。裝置必須在其回應時間tA內回覆主控端,此時間範圍為 1 Tbit 至 10 Tbit(Tbit = bit times)。對於 COM3 資料傳輸速率,tA應介於 4.3 µs 至 43 µs 之間。若回應時間超出此範圍,將導致通訊失敗。
時序失準可能引發的問題
由於 IO-Link 裝置微控制器被設計為能同時執行多項任務,因此要在指定的可接受時間窗口 tA內回應要求可能會面臨挑戰。特別是當執行某些無法被中斷的任務時—此類任務通常稱為不可遮罩中斷(NMI)。如果裝置微控制器未能在指定的時間窗口內做出回應,通訊將中斷,並需要重新啟動。
舉例來說,以超音波距離感測器為例,微控制器預期需要執行的多項任務包括:
- 傳送超音波脈衝
- 從最後一次脈衝提取並處理內部資料,然後計算距離
- 量測週圍環境溫度以對音速數據進行補償校正
- 管理感測器背景任務(像是電源管理)
- 回應 IO-Link循環請求
- 回應 IO-Link 非循環請求
持續處理資料樣本使得微控制器只能留下一點時間來管理資料鏈結層的通訊任務,導致裝置回應時間大幅變化。在極端情況下,甚至無法達成tA的時序要求。
光是採用速度更快、功能更多的微控制器並無法解決NMI造成的時序問題。常見的解決方法是使用第二個微控制器來管理IO-Link堆疊,進而保持裝置與IO-Link主控端之間更穩定的回應時間。然而,此種做法效率極低,因為需要更多電力並且要求更大的電路板,這將導致感測器外殼尺寸增加。
管理資料鏈結
一種優異的替代方案,是採用收發器來管理通訊通道中的資料鏈結與實體層。 MAX22516 IO-Link狀態機(圖3)整合了所有IO-Link裝置收發器常見的功能,其中包括24 V C/Q通訊/品質介面、整合式降壓直流對直流轉換器、以及 5 V 與3.3 V 線性穩壓器。
此款裝置是首個內建全功能狀態機的收發器,能全面管理IO-Link資料通訊的時序。其能自動處理與IO-Link主控端的通訊,處理如組態設定與維護請求等操作,並利用微控制器寫入至暫存器和先入先出 (FIFO) 緩衝區的資料來進行資料傳輸。使用此款收發器的主要優點,是當選擇感測器的微控制器時將能提供更多選項,因為裝置微控制器不必負責管理與IO-Link主控端的通訊任務。
MAX22516負責監視從IO-Link主控端傳來的訊息。一旦接收到完整的索引服務資料單元(ISDU)組態或維護請求,其會自動將ISDU BUSY訊息發送給IO-Link主控端,並通知裝置微控制器通訊已成功完成。此時,微控制器可以根據需求將資料載入ISDU FIFO,這項操作通常需要多個週期來完成,具體取決於時間允許的情況。輸入處理資料(PDIn) 與輸出處理資料 (PDOut) 由收發器利用PDIn 與PDOut FIFOs中的資料來管理,如此,微控制器就能在不受時間限制的情況下將資料寫入PDIn FIFO,並從PDOut FIFO讀取資料。內建緩衝區則可確保FIFO內的資料在處理之前丟流失或被覆寫。
圖4顯示運用這款收發器能大幅縮減裝置回應IO-Link主控端所需的時間,相較於使用單一微控制器的應用,裝置回應時間可縮短超過50%,變異也從12 µs 大幅降至0.25 µs
MAXREFDES281 IO-Link 裝置參考設計(圖5) 搭載MAX22516,可用於驗證不同種類IO-Link感測器的時序效能。
總結
對於微控制器同時管理多項任務的需求,表示有時其難以滿足 IO-Link 資料通訊的時序規範。部分設備製造商權衡之下只好使用第二顆微控制器來管理 IO-Link 堆疊。然而,此種雙微控制器的做法如今已不再是必要之舉,因為 MAX22516 IO-Link 收發器整合了一個狀態機來管理所有 IO-Link 通訊,進而讓主裝置微控制器可得以釋放,以專心執行其他對時序精準性具有更高要求的任務。