使用IO-Link收發(fā)器管理數(shù)據(jù)鏈路如何簡化微控制器選擇
“一次做兩件事等于一無所成”—雖然拉丁文作家普布里烏斯·西魯斯對多任務處理的看法可能有些極端,但有時候,多任務處理可能會導致任務無法按最初預期的方式完成,或無法按時完成。隨著工業(yè)過程日益復雜化,傳感器和執(zhí)行器等現(xiàn)場儀器 已發(fā)展為同時執(zhí)行多項不同的任務,包括與過程控制器保持定期通信。這給從站微控制器帶來了額外的開銷,必須妥善管理從站微控制器,否則過程數(shù)據(jù)可能會丟失,從而導致生產(chǎn)停機,現(xiàn)代工業(yè)通信協(xié)議應減少這種情況的發(fā)生。IO-Link時序
本文引用地址:http://m.butianyuan.cn/article/202501/466076.htmIO-Link是24 V、3線工業(yè)通信標準,支持工業(yè)從站和IO-Link主站之間的點對點通信,進而與更高級別的過程控制網(wǎng)絡進行通信。
圖1. IO-Link主站/從站通信接口。
在IO-Link應用中,收發(fā)器充當運行數(shù)據(jù)鏈路層協(xié)議(堆棧)的微控制器和24 V IO-Link信號線路之間的物理層接口。IO-Link通信涉及多種類型的傳輸,包括過程數(shù)據(jù)、值狀態(tài)、從站數(shù)據(jù)和事件。這樣一來,如果發(fā)生錯誤,便能快速識別、跟蹤和處理工業(yè)從站,幫助減少停機時間。IO-Link支持遠程配置;例如,如果需要調整觸發(fā)過程警報的閾值,可以通過IO-Link連接將更新的閾值發(fā)送到從站,以此方式進行調整,無需技術人員前往現(xiàn)場操作。
IO-Link主站端口和從站之間的通信受到多個時序的限制,并按照名為M序列時間的固定時間表進行。M序列消息包括從IO-Link主站發(fā)送到從站的命令或請求,以及來自從站的回復消息。圖2所示為M序列中的時序參數(shù),其中包括IO-Link主站端口和從站消息之間的消息。從站必須在從站響應時間 tA內響應主站,該時間范圍為1 Tbit至10 Tbit(Tbit = 位時間)。對于COM3波特率, tA 應介于4.3 μs和43 μs之間。如果響應時間超出此范圍,則會發(fā)生通信故障。
圖2. IO-Link通信中的M序列時序。如果未能準時
IO-link從站微控制器需要同時執(zhí)行多項任務,因此可能難以在為 tA指定的可接受時間窗口內響應請求。在執(zhí)行微控制器不能中斷的任務時尤其如此,此類型任務通常被稱為不可屏蔽中斷(NMI)。如果從站微控制器在指定時間窗口內未做出響應,則通信中斷,必須重新啟動。
例如,對于超聲波測距傳感器,微控制器需要執(zhí)行的一些任務包括:
發(fā)送超聲波突發(fā)脈沖
處理上一次突發(fā)脈沖中的固有線路,然后計算距離
測量環(huán)境溫度以補償聲速
管理傳感器后臺任務(例如電源管理)
回復IO-Link周期性請求
回復IO-Link非周期性請求
由于要連續(xù)處理數(shù)據(jù)樣本,微控制器幾乎沒有時間管理數(shù)據(jù)鏈路層通信任務,這導致從站響應時間顯著變化。在極端情況下,還可能無法滿足 tA的時序要求。
僅使用速度更快、功能更多的微控制器無法解決NMI引起的時序問題。解決此時序問題的一個典型解決方案是使用第二個微控制器來管理IO-Link堆棧,從而在IO-Link從站和IO-Link主站之間保持更穩(wěn)定的響應時間間隔。然而,該方法的效率極低,因為其功耗更高且需要更大的PCB,因此需要更大的傳感器外殼。
管理數(shù)據(jù)鏈路
一個更好的替代方案是使用收發(fā)器來管理通信路徑中的數(shù)據(jù)鏈 路和物理層。MAX22516 IO-Link狀態(tài)機(圖3)集成了IO-Link從站收發(fā)器中常見的所有功能,包括24 V C/Q、集成降壓型DC-DC轉換器以及5 V和3.3 V線性穩(wěn)壓器。
圖3. 帶收發(fā)器和集成DC-DC轉換器的MAX22516 IO-Link狀態(tài)機
該設備是第一個包含全功能狀態(tài)機的收發(fā)器,可全面管理IO-Link數(shù)據(jù)通信的時序。它能夠自動處理與IO-Link主站的通信,以處理配置和維護請求等,并能夠使用微控制器寫入寄存器和FIFO的數(shù)據(jù)來處理數(shù)據(jù)傳輸。使用該收發(fā)器的一個主要好處是,在為傳感器選擇微控制器時,它提供了更多的選擇,因為從站微控制器不需要管理與IO-Link主站通信的任務。
MAX22516監(jiān)控來自IO-Link主站的傳入消息。收到完整的索引服務數(shù)據(jù)單元(ISDU)配置或維護請求后,該收發(fā)器自動向IO-Link主站發(fā)送ISDU BUSY消息,并通知從站微控制器通信已成功完成。如果時間允許,微控制器可將按需數(shù)據(jù)加載到ISDU FIFO中,這項任務通常需要多個周期才能完成。收發(fā)器使用輸入過程數(shù)據(jù)(PDIn)和輸出過程數(shù)據(jù)(PDOut) FIFO中的數(shù)據(jù)來管理PDIn和PDOut,允許微控制器將數(shù)據(jù)寫入PDIn FIFO并從PDOut FIFO讀取,不受任何時間限制。集成緩沖區(qū)確保FIFO中的數(shù)據(jù)在處理前不會丟失或被覆蓋。
圖4展示了與使用單一微控制器的應用相比,使用該收發(fā)器如何顯著減少從站響應IO-Link主站所需的時間。從站響應時間縮短超過50%,同時變化幅度也從12 μs大幅降至0.25 μs。
圖4. 比較使用單一微控制器(左)和MAX22516(右)管理IO-Link通信的應用的響應時間。
MAXREFDES281 IO-Link從站參考設計(圖5)采用MAX22516,可用于驗 證不同類型IO-Link傳感器的時序性能。
圖5. MAXREFDES281 IO-Link從站參考設計。結論
微控制器需要同時管理多項任務,這意味著它們有時難以滿足IO-Link數(shù)據(jù)通信的時序規(guī)范。一些設備制造商使用第二個微控制器來管理IO-Link堆棧,但該方法令人難以接受?,F(xiàn)在不再需要該雙微控制器方法,因為MAX22516 IO-Link收發(fā)器集成了一個可以管理所有IO-Link通信的狀態(tài)機,讓主要從站微控制器能夠執(zhí)行其他時間關鍵型任務。
評論