Maxim的千兆位多媒體串行鏈路(GMSL)解決方案可通過(guò)一條雙絞線對(duì)數(shù)字視頻和音頻數(shù)據(jù)進(jìn)行序列化。此外,集成的雙向控制通道使單個(gè)微控制器(μC)可以對(duì)串行器,解串器和所有連接的外圍設(shè)備進(jìn)行編程。對(duì)于典型應(yīng)用,這消除了遠(yuǎn)程側(cè)微控制器及其支持組件,例如時(shí)鐘源/晶體和低壓電源。這不僅簡(jiǎn)化了遠(yuǎn)程設(shè)備的設(shè)計(jì),而且還降低了成本,尺寸和功耗。但是,有時(shí)由于與GMSL不相關(guān)的其他設(shè)計(jì)要求,μC已經(jīng)位于鏈路的兩側(cè)。本應(yīng)用筆記介紹了如何連接兩個(gè)μC來(lái)控制GMSL。
基本雙μC用法
通常,當(dāng)使用單個(gè)μC時(shí),串行器/解串器上的兩個(gè)控制方向選擇(CDS)引腳對(duì)于串行器側(cè)μC都設(shè)置為低電平,對(duì)于反序列化器側(cè)μC設(shè)置為高電平。但是,如果將串行器上的CDS設(shè)置為低電平而將解串器上的CDS設(shè)置為高電平,則每個(gè)GMSL芯片可以同時(shí)連接到各自的μC(圖1)。
簡(jiǎn)化的雙μC應(yīng)用原理圖,顯示了CDS設(shè)置。
內(nèi)部操作
當(dāng)使用兩個(gè)μC時(shí),串行器和解串器的I2C主設(shè)備均被禁用,并且RX / SDA和TX / SDL與相應(yīng)的μC配置為UART接口。由于每個(gè)設(shè)備都作為本地設(shè)備運(yùn)行,因此它們無(wú)法進(jìn)入睡眠模式。使用相應(yīng)的低電平有效PWDN引腳將每個(gè)器件置于低功耗狀態(tài)。請(qǐng)記住,從掉電狀態(tài)返回時(shí),所有設(shè)備設(shè)置均會(huì)重置為其開(kāi)機(jī)值。
雙重μC爭(zhēng)用問(wèn)題
在上面的圖1所示的配置中,每個(gè)μC都可以使用GMSL UART協(xié)議與MAX9259串行器,MAX9260解串器或其他μC進(jìn)行通信。GMSL沒(méi)有提供避免競(jìng)爭(zhēng)的解決方案,用戶將需要提供自己的競(jìng)爭(zhēng)處理方案。
避免爭(zhēng)用的最簡(jiǎn)單解決方案是讓每個(gè)μC都將其連接的串行器/解串器FWDCCEN和REVCCEN位設(shè)置為0(0x04 D [1:0])。這將禁用前向和反向控制通道的接收器和發(fā)送器,并有效地將控制網(wǎng)絡(luò)分為兩個(gè)獨(dú)立的網(wǎng)絡(luò)(圖2)。
分開(kāi)的控制網(wǎng)絡(luò)消除了爭(zhēng)用的可能性。
將來(lái),通過(guò)串行鏈路進(jìn)行的任何控制通信都首先需要雙方的μC在鏈路各自的端部重新啟用通信。此配置在永遠(yuǎn)在線的應(yīng)用程序中最有用,在這些應(yīng)用程序中,特定于鏈接的關(guān)鍵寄存器設(shè)置不會(huì)從初始設(shè)置更改。
軟件爭(zhēng)用處理
在串行鏈路兩端必須進(jìn)行通信的應(yīng)用程序中,用戶始終可以實(shí)施高層協(xié)議來(lái)避免爭(zhēng)用(圖3)。在下面的示例中,每個(gè)μC等待確認(rèn)幀以確定其命令是否成功。
基于軟件的競(jìng)爭(zhēng)處理的示例。
在爭(zhēng)用的情況下,串行器/解串器不發(fā)送確認(rèn)幀。在未收到確認(rèn)幀后,μC將等待一段時(shí)間(取決于其設(shè)備地址),然后重新發(fā)送其命令。由于此設(shè)計(jì)中的微控制器具有不同的設(shè)備地址,因此在重試通信期間不會(huì)發(fā)生競(jìng)爭(zhēng)。
單/雙μC用途
在以下應(yīng)用程序中,鏈接的解串器端是顯示面板,該面板配置為遠(yuǎn)程打開(kāi)/關(guān)閉電源。評(píng)估板的關(guān)斷輸入和單/雙μC控制均連接至MAX9260 GPIO0的輸出(圖4)。上電時(shí),GPIO輸出為高電平,由于添加了反相器,因此可保持遠(yuǎn)程側(cè)設(shè)備關(guān)閉,并且解串器被配置為遠(yuǎn)程側(cè)設(shè)備。由于MS已連接到GPIO,因此MAX9260在睡眠模式下上電,使所有器件處于低功耗狀態(tài)。
雙/單路μC遠(yuǎn)程顯示示例。
為了啟動(dòng)遠(yuǎn)程面板,串行器喚醒MAX9260并建立串行鏈路。然后,串行器側(cè)的μC將GPIO0設(shè)置為低電平,以使MS變?yōu)榈碗娖剑聪嗥鬏敵鲎優(yōu)楦唠娖健?a href="http://m.xsypw.cn/tags/逆變器/" target="_blank">逆變器將MAX9260設(shè)置為本地設(shè)備,并喚醒其余的遠(yuǎn)程顯示面板。MS必須設(shè)置為低電平,以使MAX9260 UART接口保持基本模式。
為了關(guān)閉遠(yuǎn)程面板,串行器將GPIO0設(shè)置為高電平以關(guān)閉遠(yuǎn)程設(shè)備,并將MAX9260設(shè)置為遠(yuǎn)程設(shè)備。然后,在MAX9260中設(shè)置SLEEP = 1以使器件進(jìn)入休眠狀態(tài)。
遠(yuǎn)程攝像機(jī)示例(序列化器)
與上一個(gè)示例類(lèi)似,鏈接的串行器端是配置為遠(yuǎn)程開(kāi)機(jī)/關(guān)機(jī)的攝像機(jī)模塊。MAX9259的INT輸出控制電路板的關(guān)斷輸入和單/雙μC開(kāi)關(guān)(圖5)。對(duì)于此應(yīng)用,INT用作GPO,其輸出由SETINT(MAX9259中的D7為0x0D的D7)或解串器的INT輸入設(shè)置。
雙/單路μC遠(yuǎn)程攝像機(jī)示例。
上電時(shí),INT輸出為低電平,這使遠(yuǎn)端設(shè)備保持關(guān)閉狀態(tài)。連接到CDS的逆變器輸出將串行器配置為遠(yuǎn)程設(shè)備。由于低電平有效AUTO設(shè)置為高電平,因此MAX9259在休眠模式下上電。
為了啟動(dòng)遠(yuǎn)程面板,解串器使用GMSL UART命令喚醒MAX9259。然后,解串器將MAX9259的INT輸出設(shè)置為高電平,以為所有遠(yuǎn)程設(shè)備加電。反相器輸出將MAX9259設(shè)置為本地設(shè)備,現(xiàn)在可以接受本地μC的UART命令。
為了關(guān)閉遠(yuǎn)程面板,解串器將MAX9259 INT輸出設(shè)置為低電平,以關(guān)閉遠(yuǎn)程側(cè)設(shè)備,并將MAX9259設(shè)置為遠(yuǎn)程設(shè)備。然后,解串器在MAX9259中將SLEEP設(shè)置為1,以使器件進(jìn)入休眠狀態(tài)。
其他應(yīng)用程序
雙μC的使用不限于上面顯示的應(yīng)用程序。對(duì)稱(chēng)和雙向控制通道,以及動(dòng)態(tài)CDS和旁路設(shè)置(盡管是MS),可實(shí)現(xiàn)多種串行器/解串器和μC配置。現(xiàn)在,可以為設(shè)計(jì)人員提供更高程度的控制權(quán),以提高其系統(tǒng)的功能,最小化功耗并最大程度地利用可用資源。
編輯:hfy
-
微控制器
+關(guān)注
關(guān)注
48文章
7654瀏覽量
152132 -
串行器
+關(guān)注
關(guān)注
0文章
116瀏覽量
14475 -
GMSL
+關(guān)注
關(guān)注
2文章
30瀏覽量
15717
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論