【導讀】ADI的千兆多媒體串行鏈路(GMSL)方案可以對數字視頻和音頻數據進行串行轉換,然后通過一對雙絞線串行傳輸。另外,集成雙向控制通道可以使能單個微處理器(μC)對串行器、解串器和所有連接外設編程。在典型應用中可以省去遠端微處理器及相關器件,如:時鐘源/晶體和低壓電源。此方案不但簡化了遠端設計,而且降低了系統成本、尺寸和功耗。但是,有些情況下,考慮到GMSL之外的特殊需求,系統中仍然在鏈路的兩端駐留了μC。這篇應用筆記描述了如何連接兩個μC,控制GMSL。
ADI的千兆多媒體串行鏈路(GMSL)方案可以對數字視頻和音頻數據進行串行轉換,然后通過一對雙絞線串行傳輸。另外,集成雙向控制通道可以使能單個微處理器(μC)對串行器、解串器和所有連接外設編程。在典型應用中可以省去遠端微處理器及相關器件,如:時鐘源/晶體和低壓電源。此方案不但簡化了遠端設計,而且降低了系統成本、尺寸和功耗。但是,有些情況下,考慮到GMSL之外的特殊需求,系統中仍然在鏈路的兩端駐留了μC。這篇應用筆記描述了如何連接兩個μC,控制GMSL。
使用單μC時,如果μC位于串行器側,通常將串行器/解串器兩端控制方向選擇引腳(CDS)置為低電平;如果μC位于解串器側,則將方向控制選擇置為高電平。然而,如果將串行器的CDS置低、解串器的CDS置高,則每個GMSL芯片都可以同時連接到各自對應的μC(圖1)。
圖 1. 簡單的雙μC應用原理圖,CDS設置如圖所示
內部操作
使用兩個μC時,串行器和解串器的I2C主機都被禁用,而且RX/SDA和TX/SDL由其對應的μC配置為UART接口。由于每個器件都作為本地器件運行,所以不能進入休眠狀態。利用對應的低電平有效PWDN引腳控制每個器件進入低功耗狀態。切記,當從電源關斷狀態喚醒時,所有器件設定都復位到它們的上電初始值。
圖2. 串行器狀態圖(CDS = 低電平
圖3. 解串器狀態圖(CDS = 高電平)
雙μC應用中的沖突問題
圖1所示配置中,每個μC都可以按照GMSL UART協議與 MAX9259 串行器、 MAX9260 解串器或其它μC通信。GMSL不提供防沖突措施,用戶需要自行提供沖突處理措施。
獨立組網
防沖突最簡單的方法是讓每個μC將其附屬的串行器/解串器的FWDCCEN和REVCCEN位置0 (0x04 D[1:0])。這種方案禁用正向和反向控制通道的接收器、發送器,而且有效地將控制網絡分成兩個獨立網絡(圖4)。任何通過串行鏈路的通信首先需要每一側的μC重新使能相應鏈路端的通信。這種設置在"常通"應用中非常有效,其關鍵鏈路特定寄存器的設置不會從初始狀態改變。
圖4. 獨立控制網絡避免了沖突的可能性
軟件沖突處理
在那些兩端串行鏈路間必須通信的應用中,用戶可以通過更高層的協議避免沖突(圖5)。以下例子中,每個μC都會等待ACK幀來判定其指令是否成功。發生沖突時,串行器/解串器不會發出ACK幀。接收ACK幀失敗后,在重新發送指令前,μC會根據它們的器件地址等待一段時間。由于此設計中,微處理器有不同的器件地址,在重試通信時不會出現沖突。
圖5. 軟件處理沖突的示例
單/雙μC應用
某些應用不要求兩個μC始終保持工作。工作時,如果任一端的CDS輸入改變了狀態,相應器件將按照MAX9259數據手冊中介紹的鏈路啟動步驟恢復工作。根據需要,在單μC和雙μC工作中切換,輪流使能GMSL會占用更少資源??梢躁P斷不用的μC以降低功耗,有助于延長電池壽命。
在下面應用中,鏈路的解串器側是一個配置用于遙控電源開/關的顯示面板。板子關斷輸入和單/雙μC控制都連接到MAX9260GPIO0的輸出端(圖6)。一旦上電,GPIO輸出高電平,以保持遠端器件關閉,解串器由于附加的反相器配置為遠端器件。由于MS連接到GPIO,MAX9260在休眠模式下上電,其余所有器件處于低功耗狀態。
為了開啟遙控面板,串行器喚醒MAX9260并建立串行鏈路。然后,串行器端的μC設置GPIO0為低電平,使MS置低、反相器輸出高電平。反相器設置MAX9260為本地器件,并喚醒遠程顯示面板的其它電路。MS必須置為低電平,以保持MAX9260 UART接口的基本模式。
如需關斷遠端面板,則串行器設置GPIO0為高電平來關斷遠端器件并將MAX9260置為遠端器件。然后,在MAX9260內設置SLEEP = 1,使器件進入睡眠模式。
圖6. 單/雙μC遠端顯示舉例
遠程攝像機舉例(串行器)
類似于上述例子,鏈路的串行器側為配置成遠端電源開/關的攝像模組。MAX9259的INT輸出控制板子的關斷輸入和單/雙μC切換(圖7)。在此應用中,INT作為GPO使用,通過設置SETINT(MAX9259的0x0D D7)或解串器的INT輸入對輸出進行控制。一旦上電,INT輸出為低電平,保持遠端器件關斷。反相器輸出連接到CDS,將串行器配置為遠端器件。由于低電平有效AUTOS置為高電平,MAX9259在休眠模式下上電。
如要開啟遠端面板,解串器通過GMSL UART指令喚醒MAX9259。然后,解串器設置MAX9259的INT輸出為高電平,使所有遠端器件上電。反相器輸出將MAX9259置為本地器件,可通過本地μC接收UART指令。
如要關斷遠端面板,解串器設置MAX9259的INT輸出為低電平,關斷遠端器件且將MAX9259設置為遠端器件。然后,解串器在MAX9259內設置SLEEP = 1,使器件進入睡眠狀態。
圖7. 單/雙μC遠端攝像機舉例
其它應用
雙μC應用并不僅僅限于上述示例。對稱、雙向控制面板,隨著實時的CDS和旁路設置(通過MS)可以啟動眾多串行器/解串器和μC配置。設計人員需要更高的控制手段提高系統能力并使系統功耗降至最低,最大限度地利用現有資源。
(來源:亞德諾半導體)
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。
推薦閱讀: