中文字幕无码日韩视频无码三区

在can網絡中自動選擇波特率的系統和方法

文檔序號:10598344閱(yue)讀:624來源:國知局
在can網絡中自動選擇波特率的系統和方法
【專利摘要】依據各個方面和實施例,提供了設備。該設備包括存儲器、耦合控制器局域網絡(CAN)總線的CAN控制器、耦合到存儲器和CAN控制器的至少一個處理器。該至少一個處理器被配置成將CAN控制器設定到第一波特率,確定第二波特率,并響應于確定第二波特率而經由CAN總線發送波特率改變請求,其中,波特率改變請求至少包括第二波特率的識別符。
【專利說明】
在CAN網絡中自動選擇波特率的系統和方法
[0001 ] 背景
技術領域
[0002]本技術領域一般涉及基于微處理器的設備之間的通信,并更具體地涉及為經由總線耦合的設備自動地選擇傳送波特率的系統和方法。
[0003]背景論述
[0004]控制器局域網絡(CAN)通信是一種在基于微處理器的設備之間進行通信的方法。通常,設備包括CAN控制器,其通信地耦合到CAN總線。一般以固定波特率與其他設備進行通信。較低的波特率能夠以最小誤差進行長距離通信,但這是以速率為代價的。如果存在CAN總線信道質量的退化,則較高的波特率容易發生數據錯誤。這些數據錯誤可增加成幀錯誤,造成CAN總線上較少的總吞吐量。
[0005]概述
[0006]根據一些實施例,提供了一種設備。該設備包括存儲器、耦合到CAN總線的控制器局域網絡(CAN)控制器、耦合到存儲器和CAN控制器的至少一個處理器。至少一個處理器被配置成將CAN控制器設定到第一波特率,確定第二波特率,并響應于確定第二波特率而經由CAN總線發送波特率改變請求,其中,波特率改變請求至少包括第二波特率的識別符。
[0007]在一個實施例中,至少一個處理器還配置成確定超時已到期,響應于確定超時已到期而經由CAN總線發送波特率確認請求,并將CAN控制器設定到第二波特率。
[0008]在一個實施例中,至少一個處理器還配置成從耦合到CAN總線的至少一個設備接收數據幀,響應于接收數據幀,基于CAN控制器的錯誤計數而確定CAN總線不支持第二波特率,確定較低波特率,其中,較低波特率小于第二波特率,并經由CAN總線發送波特率改變請求,其中,波特率改變請求至少包括較低波特率的識別符。
[0009]在一個實施例中,至少一個處理器還配置成從耦合到CAN總線的至少一個設備接收數據幀,響應于接收數據幀,基于CAN控制器的錯誤計數而確定CAN總線支持第二波特率,確定較高波特率,其中較高波特率大于第二波特率,并經由CAN總線發送波特率改變請求,其中,波特率改變請求至少包括較高波特率的識別符。
[0010]在一個實施例中,至少一個處理器還配置成從耦合到CAN總線的至少一個設備接收數據幀,響應于接收數據幀而確定耦合到CAN總線的CAN設備不支持第二波特率,并在第一波特率下運行CAN控制器。
[0011]在一個實施例中,至少一個處理器還配置成確定第一超時已發生,并基于第一超時而切換到客戶端模式。
[0012]在一個實施例中,至少一個處理器還配置成經由CAN總線發送至少一個測試數據幀,其中,所述至少一個測試數據幀包括使得CAN總線以高頻率進行信號通信的字節模式。
[0013]在一個實施例中,至少一個處理器還配置成從耦合到CAN總線的設備接收波特率改變請求,其中波特率改變請求包括新波特率的至少一個識別符,確定CAN控制器是否支持新波特率,并且如果CAN控制器不支持新波特率,則經由CAN總線發送否定應答。
[0014]根據另一實施例,提供了一種使用計算機選擇波特率的計算機實施的方法。計算機包括存儲器、耦合到控制器局域網絡(CAN)總線的CAN控制器、以及耦合到CAN控制器和存儲器的至少一個處理器。所述方法包括以下動作:將CAN控制器設定到第一波特率,確定第二波特率,并響應于確定第二波特率而經由CAN總線發送波特率改變請求,其中,波特率改變請求至少包括第二波特率的識別符。
[0015]所述方法還可包括以下動作:確定超時已到期,響應于確定超時已到期而經由CAN總線發送波特率確認請求,并將CAN控制器設定到第二波特率。
[0016]所述方法還可包括以下動作:從耦合到CAN總線的至少一個設備接收數據幀,響應于接收數據幀,基于CAN控制器的錯誤計數而確定CAN總線不支持第二波特率,確定較低波特率,較低波特率小于第二波特率,并經由CAN總線發送波特率改變請求,其中,波特率改變請求至少包括較低波特率的識別符。
[0017]所述方法還可包括以下動作:從耦合到CAN總線的至少一個設備接收數據幀,響應于接收數據幀,基于CAN控制器的錯誤計數而確定CAN總線支持第二波特率,確定較高波特率,較高波特率大于第二波特率,并經由CAN總線發送波特率改變請求,其中,波特率改變請求至少包括較高波特率的識別符。
[0018]所述方法還可包括以下動作:從耦合到CAN總線的至少一個設備接收數據幀,響應于接收數據幀而確定耦合到CAN總線的CAN設備不支持第二波特率,并在第一波特率下運行CAN控制器。
[0019]在一個實施例中,所述方法還可包括以下動作:確定第一超時已發生,并基于第一超時而切換到客戶端模式。在這個實施例中,所述方法還可包括以下動作:經由CAN總線發送至少一個測試數據幀,其中,所述至少一個測試數據幀包括使得CAN總線以高頻率進行信號通信的字節模式。
[0020]在這個實施例中,所述方法還可包括以下動作:經由CAN總線接收波特率改變請求,其中波特率改變請求包括新波特率的至少一個識別符,確定CAN控制器是否支持新波特率,并且如果CAN控制器不支持新波特率,則經由CAN總線發送否定應答。
[0021]根據另一實施例,提供了非暫時性的計算機可讀介質,其具有在其上存儲的、為耦合到控制器局域網絡(CAN)總線的設備選擇波特率的指令序列。所述指令使得至少一個處理器將CAN控制器設定到第一波特率,確定第二波特率,并響應于確定第二波特率而經由CAN總線發送波特率改變請求,其中,波特率改變請求至少包括第二波特率的識別符。
[0022]在一個實施例中,所述指令序列包括使得至少一個處理器執行以下動作的指令:確定超時已到期,響應于確定超時已到期而經由CAN總線發送波特率確認請求,并將CAN控制器設定到第二波特率。
[0023]在一個實施例中,所述指令序列包括使得至少一個處理器執行以下動作的指令:從耦合到CAN總線的至少一個設備接收數據幀,響應于接收數據幀,基于CAN控制器的錯誤計數而確定CAN總線不支持第二波特率,確定較低波特率,其中,較低波特率小于第二波特率,并經由CAN總線發送波特率改變請求,其中,波特率改變請求至少包括較低波特率的識別符O
[0024]在一個實施例中,所述指令序列包括使得至少一個處理器執行以下動作的指令:從耦合到CAN總線的至少一個設備接收數據幀,響應于接收數據幀,基于CAN控制器的錯誤計數而確定CAN總線支持第二波特率,確定較高波特率,其中,較高波特率大于第二波特率,并經由CAN總線發送波特率改變請求,其中,波特率改變請求至少包括較高波特率的識別符。
[0025]下面詳細地討論其它的方面、示例和這些示例性方面和示例的優點。此外,要理解的是前面的信息和下面詳細的描述都僅是各個方面和示例的說明性示例,且意在提供用于理解所要求保護的方面和示例的性質和特征的綜述或框架。本文所公開的任何示例都可以任何與本文所公開的目標、目的和需求中的至少一個相一致的方式與任何其它示例相結合,以及提到“示例”、“一些示例”、“供選擇的示例”、“各種示例”、“一個示例”、“至少一個示例”、“此示例和其它示例”等并不一定是相互排斥的,而是旨在表明結合該示例所描述的特定的特征、結構或特性可以被包括在至少一個示例中。本文這些術語的出現不一定都指相同的示例。
[0026]附圖簡述
[0027]下面參照附圖討論了至少一個示例的各個方面,附圖并沒有按比例繪制。附圖被包括以提供各個方面和示例的說明和進一步理解,并被合并于本說明書中且構成本說明書的一部分,但并不用來作為任何特定示例的限制的定義。附圖連同說明書的其他部分用于解釋所描述和所要求保護的方面和示例的原理和操作。在附圖中,在各個圖中示出的每個相同的或者幾乎相同的組件用相似的數字來標示。出于清楚的目的,并非每個組件都可在每個圖中被標記出。在附圖中:
[0028]圖1是示出波特率自動選擇系統的一個示例的框圖;
[0029]圖2是示出執行本文所公開的過程和功能的計算機系統的示例的框圖;
[0030]圖3是根據一些方面和實施例,示出設備控制過程的一個示例的流程圖;
[0031]圖4是根據一些方面和實施例,示出自動波特率過程的一個示例的流程圖;
[0032]圖5是根據一些方面和實施例,示出數據傳輸過程的一個示例的流程圖;
[0033]圖6是根據一些方面和實施例,示出驗證連接過程的一個示例的流程圖;
[0034]圖7是根據一些方面和實施例,示出總線管理器業務過程的一個示例的流程圖;并且
[0035]圖8是根據一些方面和實施例,示出總線客戶端業務過程的一個示例的流程圖。
[0036]詳細描述
[0037]本文所討論的方法和裝置的示例在應用上并不限于以下說明書中所闡述或附圖中所示出的組件的結構和布置的細節。方法和裝置能夠在其它示例中實現且能夠以各種方式被實施或被執行。本文提供的具體實施的示例僅用于說明性目的并不旨在限制。特別地,結合任何一個或者多個示例論述的動作、組件、元素以及特征不旨在排除任何其他的示例中的類似作用。
[0038]另外,本文所用的措辭和術語也是出于說明的目的,不應視為具有限制性。對本文中以單數形式引用的系統和方法的示例、組件、元件或動作的任何引用還可以包含包括復數的示例,以及對本文的任何示例、組件、元件或動作的以復數形式的任何引用還可以包含僅包括單數的示例。以單數形式或者復數形式的引用不旨在限制目前公開的系統或者方法、它們的組件、動作或者元素。本文使用“包括”、“包含”、“具有”、“含有”和“涉及”及其變型旨在包括其后列舉的項目和其等價物以及額外的項目。“或”的引用可解釋為包括一切的,使得使用“或”所描述的任何術語可以指示單個、多于一個以及全部所描述的項中的任何一種。
[0039]如以上論述,設備通常以固定通信速率經由CAN總線進行通信。通過低速波特率可使通信距離最大化;然而,低速波特率可造成設備之間的慢響應時間。相反地,如果存在CAN總線信道質量的退化(例如,信號反射),則高速波特率(例如,IMbps)可造成成幀錯誤。在此公開的一些方面和實施例包括自動調整耦合到CAN總線的設備的波特率的系統和方法。
[0040]波特率自動選擇系統
[0041]在此公開的各種示例在一個或多個計算機系統上實現波特率自動選擇系統。圖1示出波特率自動選擇系統100的一個示例。如所顯示的,波特率自動選擇系統100包括設備104、設備106、設備108和設備110。如所不出的,設備104、106、108和110中的每個設備分別包括CAN控制器114、116、118和120,其被配置為用于經由CAN總線122的通信的“總線管理器”或“總線客戶端”。在至少一個實施例中,只有一個耦合到CAN總線122的設備在給定的時間運行為總線管理器。在這個實施例中,如果設備確定不存在總線管理器,則設備可動態地從運行為總線客戶端切換到運行為總線管理器。因此,設備104、106、108和110中的任意一個可運行為總線管理器或總線客戶端。
[0042]在一個實施例中,設備104、106、108和110中的每一個都通過使用計算機系統(如下面參考圖2進一步論述的計算機系統200)來實施。在其它實施例中,設備104、106、108和110包括計算資源,但主要充當設備而非計算機系統。例如,在這些實施例中,設備104、106、108和110可以是不間斷電源、電力設備(例如,變壓器、智能電池、以及配電單元)、傳感器、
執tx器等。
[0043]CAN總線122可包括基于微處理器的設備通過其可發送和接收信息的任何通信網絡。例如,CAN總線122可以是在相同設備的兩個元件之間的物理數據總線。在其他的示例中,CAN總線122可以是配置成根據ISOl 1898-1:2003促進在兩個或更多個設備之間的CAN信號通信的任何物理層(例如,串行、以太網等)。
[0044]如所顯示的,設備104包括經由軟件過程以總線管理器模式配置的CAN控制器114。在這個模式中,設備104可經由計算機實施的過程(諸如在圖3-8中描述的過程)連接并控制CAN控制器114,以便管理波特率選擇。在一個實施例中,在確定沒有CAN總線122的其他設備正運行為總線管理器的基礎上,設備104可將其自身配置為總線管理器。
[0045]一旦設備開始運行為總線管理器,則該設備可周期性地執行總線管理功能。在一個實施例中,設備104可經由CAN總線122周期性地發出保活消息,以便向耦合到CAN總線122的其他設備(例如,設備106、108和110)指示存在總線管理器。在其他實施例中,總線管理器連續地監控CAN總線122的通信質量,并且據此調節波特率。
[0046]在各個實施例中,在設備(例如,設備104、106、108和110)的啟動期間,所述設備進入“只收聽”模式,以確定設備應作為哪種角色(例如,總線管理器或總線客戶端)。在一個實施例中,如果在預定時間段(例如,I秒)之后沒有經由CAN總線122接收到通信,則設備將運行為總線管理器。在其他實施例中,如果在CAN總線122上已存在總線管理器,則設備將運行為總線客戶端。在這些實施例中,只收聽模式持續,直到由設備識別出波特率為止。只收聽模式可減少由CAN總線122上的設備引入的成幀錯誤的可能性。在至少一個實施例中,設備將其自身初始配置為可能的最低波特率(例如,62.5Kb)。在其他實施例中,設備將其自身初始配置在可能的最高波特率。在所有這些實施例中,設備可基于檢測成幀錯誤而確定波特率錯配。如果檢測到錯配,設備可遞升或遞減至鄰近的波特率。一旦接收到有效數據幀以及因此的有效波特率設定,則設備可繼續以有效波特率運行,直到從總線管理器接收到波特率切換指令(BUAD_RATE_SWITCH)。
[0047]在一個實施例中,被配置作為總線客戶端的設備在CAN總線122上周期性地發送測試數據幀,測試數據幀包括所有數據幀字段中的、產生最大脈沖或最大頻率的預定義字節模式。例如,具有OxAA測試模式的數據幀可由設備經由CAN總線122發送。在一個實施例中,總線管理器接收具有測試模式的數據幀并確定CAN總線通信質量。例如,總線管理器可接收具有錯誤的測試幀(例如,不同于OxAA的字節)。這些錯誤可以是CAN總線122的退化的結果。在這個例子中,總線管理器可啟動波特率的變化,以避免進一步的成幀錯誤。
[0048]計算機系統
[0049]如上文關于圖1所討論的,本文所描述的各個方面和功能可以被實施為在一個或者多個計算機系統中執行的專用硬件或者軟件組件。有很多當前處于使用中的計算機系統的示例。這些示例其中包括:網絡設備、個人計算機、工作站、大型機、網絡客戶端、服務器、媒體服務器、應用服務器、數據庫服務器和web服務器等等。計算機系統的其它示例可以包括移動計算設備,諸如蜂窩電話、個人數字助理、平板電腦和筆記本電腦,以及網絡設備(例如負載平衡器、路由器和交換機)。此外,各方面可以位于單個計算機系統上,或者可以分布在連接到一個或者多個通信網絡的多個計算機系統中。
[0050]例如,各個方面和功能可以被分布在一個或多個計算機系統中,一個或多個計算機系統被配置為提供服務給一個或多個客戶端計算機,或作為分布式系統的一部分執行整體任務。此外,各個方面可以被在客戶端-服務器或多層系統(包括分布在執行各種功能的一個或多個服務器系統中的組件)上執行。因此,示例不限于在任何特定的系統或者一組系統上執行。此外,可以以軟件、硬件或者固件、或者它們的任何組合來實施各方面和各功能。因此,通過使用各種硬件配置和軟件配置可以在方法、動作、系統、系統元件和組件內實施各個方面、過程和功能,并且示例不限于任何特定的分布式結構、網絡或通信協議。
[0051]參考圖2,其示出了在其中實施了各個方面和功能的分布式計算機系統200的功能示意圖。如圖所示,分布式計算機系統200包括交換信息的一個或多個計算機系統。更為具體地,分布式計算機系統200包括計算機系統202、204和206。如圖所示,計算機系統202、204和206由通信網絡208互連,并且可以通過通信網絡508交換數據。網絡208可以包含計算機系統可以通過其交換數據的任何通信網絡。為使用網絡208交換數據,計算機系統202、204和206和網絡208可以使用各種方法、協議和標準,包括除其它外的RS-485、RS 422、光纖信道、令牌環網、以太網、無線以太網、藍牙、IP、IPV6、TCP/IP、UDP、DTN、HTTP、FTP、SNMP、SMS、MMS、SS7、JSON、SOAP、CORBA、REST和Web服務。為了確保數據傳輸是安全的,計算機系統202、204和206可以使用多種安全措施經由網絡208發送數據,這些安全措施包括例如,TSUSSL或VPN。雖然分布式計算機系統200示出了三個聯網的計算機系統,但是分布式計算機系統200不受此限制并且可以包含使用任何介質和通信協議聯網的任何數量的計算機系統和計算設備。
[0052]圖2示出了包括計算機系統202、204和206的分布式計算機系統200的特定示例。如圖2中示出的,計算機系統202包含處理器210、存儲器212、總線214、接口 216和數據儲存器218。為了實現本文所公開的方面、功能、和過程中的至少一些,處理器210實施一系列指令,一系列指令產生操縱的數據。處理器210可以是任何類型的處理器、多處理器、控制器或微控制器。一些示例性的處理器包括商業上可用的處理器,例如,Stellaris ARM Cortex_M3、Intel Xeon N ItaniumNCore NCeleronNPentiumNAMD Opteron、Sun UltraSPARC、IBM Power5+和IBM大型機芯片。處理器210通過總線214連接到包含一個或多個存儲器設備212的其他系統組件。
[0053]存儲器212在計算機系統202的操作期間存儲程序和數據。因此,存儲器212可以為如動態隨機存取存儲器(DRAM)或者靜態存儲器(SRAM)的相對高性能易失性隨機存取存儲器。然而,存儲器212可以包含用于存儲數據的任何設備,例如磁盤驅動器或者其他非易失性儲存設備。各個示例可以將存儲器212組織成特定的(并且在某些情況下)獨有的結構來執行本文所公開的功能。這些數據結構可以被定尺寸以及被組織以存儲關于特定數據和數據類型的值。
[0054]通過例如總線214的互連元件將計算機系統202的組件耦合起來。總線214可包括一個或多個物理總線(例如,集成在同一個機器內的組件之間的總線),但也可包括系統元件之間的任何通信耦合,其包括專門的或標準的計算總線技術,如IDE,SCSI,PCI和無線帶寬技術。因此,總線214使得例如數據和指令的通信在計算機系統202的系統組件之間進行交換。
[0055]計算機系統202還包含一個或者多個接口設備216(例如輸入設備、輸出設備、以及輸入設備/輸出設備的組合)。接口設備可以接收輸入或提供輸出。更特別地,輸出設備可以提供用于外部呈現的信息。輸入設備可以從外部源接收信息。接口設備的例子包含鍵盤、鼠標設備、軌跡球、麥克風、觸摸屏、打印設備、顯示屏、揚聲器、網絡接口卡,等等。接口設備支持計算機系統202與例如用戶和其他系統的外部實體交換信息和通信。
[0056]數據儲存器218包含計算機可讀和可寫的、非易失的(非暫時性的)數據儲存介質,其存儲定義由處理器210執行的程序或其他對象的指令。數據儲存器218還可以包含記錄在介質上或者介質中的、并且由處理器210在程序執行期間處理的信息。更具體地,信息可以被存儲在一個或多個數據結構中,其具體被配置為節約存儲空間或提高數據交換性能。指令可以被永久存儲為編碼的信號,并且該指令可以引起處理器210執行本文所描述的功能中的任意一個。例如,該介質可以是光盤、磁盤、或閃存、及其它。在操作中,處理器210或者某些其他的控制器使數據從非易失性記錄介質讀取到如存儲器212的另一個存儲器中,與數據儲存器218中包含的儲存介質相比,另一個存儲器允許處理器210更快訪問信息。存儲器可以位于數據儲存器218中或者存儲器212中,然而,處理器210操作存儲器中的數據,并且然后在處理完成之后,將數據復制到與數據儲存器218相關聯的儲存介質。各種各樣的組件可以管理在儲存介質和其他存儲器元件之間的數據移動,并且各示例不局限于特定的數據管理組件。此外,各示例不限于特定的存儲器系統或者數據儲存系統。
[0057]雖然計算機系統202通過示例的方式示出為在其上可以實踐各個方面和各種功能的一種類型的計算機系統,但是各個方面和各種功能不限于在如圖2中示出的計算機系統202上實施。各個方面和各種功能可以在具有不同于圖2中所示的架構或者組件的架構或者組件的一個或者多個計算機上實踐。例如,計算機系統202可以包含經專門編程的專用硬件,如定制成執行本文所公開的特定操作的專用集成電路(ASIC)。然而另一個示例可以使用利用摩托羅拉PowerPC處理器運行MAC OS系統X的幾個通用計算設備以及運行專有硬件和操作系統的幾個專用計算設備的網格來執行同樣的功能。
[0058]計算機系統202可以是包含操作系統的計算機系統,該操作系統管理包含在計算機系統202中的硬件元件的至少一部分。在某些示例中,諸如處理器210的處理器或者控制器執行操作系統。可以被執行的特定操作系統的示例包括可從Micrium公司獲得的MicroC/0S-11、可從微軟公司獲得的基于Windows的操作系統,例如Windows NT、Windows 2000(WindowsME)、Windows XP、Windows Vista或Windows 7操作系統、可從蘋果電腦公司獲得的MAC OS系統X操作系統、許多基于Linux的操作系統分版本中的一個,例如,可從紅帽公司獲得的企業Linux操作系統;可從Sun微系統公司獲得的Solaris操作系統、或可從各種源獲得的UNIX操作系統。可以使用許多其他的操作系統,并且各示例不限于任何特定的操作系統。
[0059]處理器210和操作系統一起定義了計算機平臺,為該計算機平臺寫入以高級編程語言形式的應用程序。這些組件應用可以是可執行的中間字節碼或者解釋代碼,其使用例如TCP/IP的通信協議通過例如因特網的通信網絡進行傳輸。類似地,各方面可以使用如.如1311^11了311^、拓¥3工++)(^、或者0#((:-31^印)的面向對象的編程語言來實施。也可以使用其他的面向對象的編程語言。可選地,可以使用功能性、腳本或邏輯編程語言。
[0060]另外,各個方面和功能可以在非編程環境中實現,例如,以HTML、XML或其它格式創建的文檔,當在瀏覽器程序的窗口中被查看時呈現圖形用戶界面的各方面或執行其它功能。此外,可以將各個示例實施為編程的或非編程的元件或它們的任何組合。例如,可以使用HTML來實現網頁,而可以以C++編寫從網頁內調用的數據對象。因此,示例不局限于特定的編程語言并且可以使用任何合適的編程語言。因此,本文所公開的功能組件可以包括被配置成用來執行本文所述的功能的各種各樣的元件,例如專用硬件、可執行代碼、數據結構或對象。
[0061]在某些示例中,本文所公開的組件可以讀取影響被組件執行的功能的參數。這些參數可以被物理存儲在任何形式的合適的、包含易失性存儲器(例如RAM)或者非易失性存儲器(例如磁硬盤驅動器)的存儲器中。另外,參數可以被邏輯存儲在適當的數據結構(例如通過用戶模式應用定義的數據庫或者文件)中,或者被邏輯存儲在共享數據結構(例如通過操作系統定義的應用注冊表)中。此外,某些示例提供了系統和用戶接口兩者,其允許外部實體修改參數并且從而配置組件的行為。
[0062]自動波特率選擇過程
[0063]圖3示出設備控制過程300的一個示例。過程300開始于動作302。
[0064]在動作304中,設備(例如,圖1中的設備104、106、108和110)啟動并被初始化。在一個實施例中,初始化包括確定CAN控制器有效。在動作306中,設備通信地耦合到CAN總線(諸如圖1中的CAN總線122)。在一個實施例中,設備通過將CAN絕緣繼電器閉合來通信地耦合到CAN總線。如上面參考圖1所論述的,設備初始可運行于“只收聽”模式,以避免在CAN總線上引入成幀錯誤。
[0065]在動作308中,執行了自動波特率過程,諸如下面參考圖4所論述的自動波特率過程400。在一個實施例中,自動波特率過程可遞增地調節設備的波特率,直至波特率被協商。在動作310中,如果設備不能確定有效波特率,則過程可返回至動作308。如果設備確定有效波特率,則過程繼續到動作312。
[0066]在動作312中,設備確定設備將運行為總線管理器還是運行為總線客戶端。如果設備運行為總線管理器,則過程繼續到動作322。如果設備沒有運行為總線管理器,則過程繼續到動作314。
[0067]在動作314中,設備經由CAN總線發送公共設備請求(PUBLISH_DEVICE)。在動作316中,設備確定在預定時間段到期之前,保活數據幀是否已被接收。在一個實施例中,設備可被配置成等待隨機時間段(例如,在2500ms-5000ms之間)。在這個實施例中,每個等待隨機時間段的設備可確保兩個設備不會同時切換到運行為總線管理器。如果從總線管理器接收到保活數據幀之前隨機時間段已到期,則過程繼續到動作318。如果在隨機時間段到期之前,從總線管理器接收到保活數據幀,則過程繼續到動作320。在動作318中,設備可將IsBusManager狀態標志設定為I,然后過程返回到動作312。在動作320中,過程可執行總線客戶端業務(諸如圖8中的總線客戶端業務過程800),然后返回到動作312。
[0068]在至少一個實施例中,在IsBusManager狀態標志設定為I的情況下,過程返回到動作312。例如,在動作316中,在設備從總線管理器接收到保活數據幀之前,隨機時間段可能已到期。在這一示例中,在動作318中,過程將IsBusManager狀態標志設定為I。在IsBusManager狀態標志等于I的情況下,設備運行為總線管理器。
[0069]在動作322中,監視計時器被檢測,以確定總線管理器業務是否已空閑了多于一個預定時間段。在一個實施例中,如果總線管理器業務已遇到了例外,或者沒有恰當地執行,則監視計時器確定總線管理器業務不再活動,并采取適當的動作。如果監視計時器已期滿,則過程繼續到動作324。如果監視計時器尚未期滿,則過程繼續到動作326。
[0070]在動作324中,過程將IsBusManager狀態標志設定為O,然后過程返回到動作312。在IsBusManager狀態標志設定為O的情況下,設備運行為總線客戶端。
[0071]在動作326中,監視計時器被重置,然后過程繼續到動作328。在動作328中,過程執行總線管理器業務過程(諸如圖7中的總線管理器業務過程700),然后過程返回到動作312。
[0072]自動波特率過程
[0073]如上面參照圖3所論述的,設備可被配置為執行自動波特率過程。圖4中示出了自動波特率過程400的一個示例。過程400開始于動作402。
[0074]在動作404中,設備進入“只收聽”模式。在一個實施例中,設備通過禁用CAN控制器的收發器輸出驅動器而進入只收聽模式。在只接聽模式中,設備將經由CAN總線接收數據,但將不會發送數據(例如,為了避免引入成幀錯誤)。
[0075]在動作406中,設備選擇可能的最低波特率(例如,62.5Kbps)。同樣在動作406中,設備將IsBusManager狀態標志設定為I。在動作408中,設備在CAN總線(諸如,圖1中的CAN總線122)上收聽從其他設備(例如,圖1中的設備104、106、108和110)發送的數據。在動作410中,如果接收到數據,那么另一設備在總線(例如,總線管理器)上,則過程繼續到動作412。如果沒有接收到數據,那么在CAN總線上可能沒有另外的設備,或者沒有運行為總線管理器的設備,則過程繼續到動作434。
[0076]在動作412中,設備將IsBusManager狀態標志設定為O。在動作414中,如果檢測到成幀錯誤,那么可能有波特率錯配。如果檢測到成幀錯誤,則過程繼續到動作416。如果沒有檢測到成幀錯誤,則過程繼續到動作430。在動作430中,設備可執行驗證連接過程,諸如,下面進一步論述的圖6中的驗證連接過程600。如果驗證連接過程成功,則過程繼續到動作432,并且以返回成功代碼終止。如果驗證連接過程失敗,則過程繼續到動作432,并且以返回失敗代碼終止。成功代碼和失敗代碼可由(諸如圖3中的過程300的動作310中的)過程利用,以確定用于設備的有效波特率是否已被確定。
[0077]在動作416中,設備可重置CAN控制器。在動作418中,設備可確定是否已超出了預定數量的重試。例如,設備可在切換到不同波特率之前,多次(例如,3次)嘗試驗證波特率是否有效。如果重試的次數已超出,則過程繼續到動作420。如果重試的次數尚未超出,則過程繼續到動作430。
[0078]在動作420中,設備確定是否已嘗試了所有的波特率。如果已嘗試了所有的波特率,則過程繼續到動作424。如果尚未嘗試所有的波特率,則過程繼續到動作422。
[0079]在動作422中,選擇了鄰近的波特率,然后過程返回到動作408。在動作424中,如果經由CAN總線協商有效波特率的重試的次數(例如,3次)超出了預定的重試計數,則過程在動作426退出,并返回失敗代碼。這個失敗代碼可由諸如圖3中的過程300的動作310中的過程利用,以確定用于設備的有效波特率尚未被設定。如果重試的次數尚未超出預定的重試計數,則過程返回到動作406。
[0080]返回到動作410,如果未能經由CAN總線接收到數據,則過程繼續到動作434。在動作434中,設備確定計時器是否已到期,或確定ForceNegotiat1狀態標志是否被設定為I。在一個實施例中,如果在計時器到期之后沒有接收到數據,則設備可確定沒有其它設備通信地耦合到CAN總線。在這個實施例中,過程繼續到動作436。如果計時器沒有到期并且ForceNegotiat1標記沒有設定為I,則過程返回到動作408。
[0081 ] 在動作436中,設備檢查IsBusManager狀態標志或ForceNegotiat1狀態標志是否被設定為I。如果任意一個狀態標志被設定為I,則過程繼續到動作442。如果沒有狀態標志被設定為I,則過程繼續到動作438。
[0082]在動作438中,如果重試計數超出了預定值(例如3),則過程繼續到動作440。如果重試計數沒有超出預定值,貝lJ過程返回到動作408。在動作440中,ForceNegotiat1標志被設定為I,然后過程返回到動作408。
[0083]在動作442中,ForceNegotiat1狀態標志被清除(例如,設定為O),重試計數器被清零,并且計時器被重置。在動作444中,過程執行數據傳輸過程,諸如,下面論述的圖5中的數據傳輸過程500。在一個實施例中,數據傳輸過程發送保活數據幀,并確定在CAN總線上的其他設備是否確認了保活數據幀。在數據傳輸過程結束之后,設備切換返回到只收聽模式并返回到動作408。
[0084]數據傳輸過程
[0085]如以上參考圖4所論述的,設備可執行數據傳輸過程以發送保活數據幀。圖5示出了數據傳輸過程500的一個示例。過程500開始于動作502。
[0086]在動作504中,設備啟用其CAN控制器的發送器。在動作506中,設備經由CAN總線發送保活數據幀。在動作508中,設備確定是否從通信地到耦合CAN總線(諸如,圖1中的CAN總線122)的一個或多個設備(例如,設備104、106、108和110)接收到肯定應答。如果沒有接收到肯定應答,則過程繼續到動作510。如果接收到肯定應答,則過程繼續到動作514。
[0087]在動作510中,設備檢查幀等待計時器(frame wait timer)。如果幀等待計時器尚未超出預定時間段(例如,100ms),則過程返回到動作508。如果幀等待計數器已到期超過了預定時間段,則過程在動作512退出并返回失敗代碼。
[0088]在動作514中,IsBusManager狀態標志被設定為I。在動作516中,設備禁用CAN控制器的發送器(例如,只收聽模式)。在動作518中,過程退出并返回成功代碼。
[0089]驗證連接過程
[0090]如以上參考圖4所論述的,設備可執行驗證連接過程,以通過發送或接收測試數據幀(例如,在所有數據幀字段中的測試數據模式OxAA)來驗證所協商的波特率。圖6示出了驗證連接過程600的一個示例。過程600開始于動作602。
[0091]在動作602中,過程確定設備是運行為總線管理器還是總線客戶端。如果設備運行為總線管理器(例如,IsBusManager= I),則過程繼續到動作604。如果設備運行為總線客戶端(例如,IsBusManager = O),則過程繼續到動作616。
[0092]在動作604中,設備收聽經由CAN總線接收的數據幀。在動作606中,檢查接收超時,以確定在動作604中接收到數據幀之前預定時間段是否已到期。如果接收超時已到期,則過程繼續到動作608 ο如果接收超時尚未到期,則過程繼續到動作610。
[0093]在動作608中,過程執行自動波特率過程,諸如,以上論述的圖4中的自動波特率過程400。在動作614,過程結束。
[0094]在動作610中,如果設備未接收到數據幀,則過程返回到動作604,并繼續收聽數據幀,直至接收超時期滿。如果設備已接收到數據幀,則過程繼續到動作612。如果設備未接收到數據幀,則過程繼續到動作604。
[0095]在動作612中,在動作610中接收的數據幀被驗證。在一個實施例中,驗證可包括檢查測試數據模式(例如,OxAA)。在這個實施例中,如果數據幀不具有測試模式(因為成幀錯誤),那么設備可確定已發生了 CAN總線的退化。在動作614,過程結束。
[0096]返回到動作602,如果設備確定其運行在總線客戶端模式(例如,IsBusManager =O),那么過程繼續到動作616。在動作616中,設備可發送包括測試數據模式的多個數據幀。例如,具有OxAA數據模式的數據幀可由設備經由CAN總線發送。在動作618中,設備檢查以便獲悉是否所有數據幀均已被通信地耦合到CAN總線(例如,總線管理器)的另一設備確認。如果對所有數據幀均已確認,則過程在動作614終止。如果已對不到所有的數據幀確認,則過程繼續到動作620。
[0097]在動作620,檢查等待超時,以確定在接收到所有肯定應答之前預定時間段是否已到期。如果等待超時尚未到期,則過程繼續到動作622。如果等待超時已到期,則過程繼續到動作608。
[0098]在動作622中,過程繼續,以等待對在動作616發送的數據幀的肯定應答。在等待對數據幀的肯定應答之后,過程返回到動作618。
[0099]在動作608中,過程執行自動波特率過程,諸如,以上論述的圖4中的自動波特率過程400。在動作614,過程結束。
[0100]總線管理器業務過程
[0101]如以上參考圖3所論述的,如果設備當前運行為總線管理器,則設備可執行總線管理器業務。圖7示出了總線管理器業務700的一個示例。過程700開始于動作702。
[0102]在動作702中,設備檢查CAN總線(諸如,圖1中的CAN總線122)是否已空閑了預定時間段(例如,125ms)。如果CAN總線已空閑了預定時間段,則過程繼續到動作704。如果CAN總線尚未空閑了預定時間段,則過程繼續到動作708。
[0103]在動作704中,設備經由CAN總線發送保活數據幀。過程在動作706終止。
[0104]在動作708中,過程可執行CAN總線檢查。如果設備確定最新的CAN總線檢查最近被執行(例如,不到I秒之前),則過程在動作706終止。如果設備確定最新的CAN總線檢查最近沒有被執行,則過程繼續到動作710。
[0105]在動作710中,設備確定CAN總線是否是可訪問的,并確定CAN總線的質量。在一個實施例中,設備可確定CAN總線的狀態。例如,設備的CAN控制器可以處于BUS_PASSIVE(只收聽)模式或BUSJFF(禁用)模式。如果設備確定CAN總線不是活動的,則過程繼續到動作712和隨后的動作716,以重置CAN控制器并選擇更低的波特率。在至少一個實施例中,設備也可在動作710中確定CAN總線質量。在這個實施例中,設備可查詢設備的CAN控制器以獲得接收/發送錯誤計數。如果錯誤計數超出了預定數量(例如,96),則過程繼續到動作712。如果錯誤計數沒有超出預定數量(例如,CAN總線的質量優良),則過程繼續到動作714。
[0106]在動作712中,設備重置其CAN控制器并對所有計數器(包括錯誤計數)清零。在動作716中,可選擇更低的波特率,然后過程繼續到動作720。
[0107]在動作714中,如果設備當前的波特率是所支持的最大波特率,那么過程在動作706結束。如果設備當前的波特率不是所支持的最大波特率,那么過程繼續到動作718。在動作718中,設備選擇第二高的波特率,然后過程繼續到動作720。
[0108]在動作720中,設備經由CAN總線發送波特率切換請求(BAUD_RATE_SWITCH),波特率切換請求包括在動作716或動作718中所選擇的新的波特率的識別符。
[0109]在動作722中,設備從耦合到CAN總線的設備(例如,圖1中的設備104、106、108和110)收聽否定應答(例如,CANCEL_SWITCH、PUBLISH_DEVICE)。在動作724中,如果沒有接收到否定應答,則設備繼續到動作726。如果接收到否定應答,則設備可放棄切換波特率的嘗試。在一個實施例中,當設備不能支持新的波特率時,設備接收取消切換響應(CANCEL,SWITCH)。在另一個實施例中,設備接收公共設備請求(PUBLISH_DEVICE),公共設備請求指示新設備已被添加到CAN總線和/或設備正在協商針對CAN總線的波特率,這樣,應延遲切換到新波特率,直至新設備上線。如果接收到否定應答響應,則設備放棄切換波特率的嘗試,并且過程在動作706結束。
[0110]在動作726中,設備為了響應波特率切換請求(BAUD_RATE_SWTICH)而等待預定量的時間(例如,5秒)。如果預定量時間未到期,則過程返回到動作722并繼續收聽響應。如果預定量的時間已到期,則過程繼續到動作728。在動作728中,設備發送波特率切換確認請求(BAUD_RATE_SWITCH_CONFIRM)。在一個實施例中,接收波特率切換確認請求的設備將把其CAN控制器的波特率設定到新的波特率。在動作730中,設備把其CAN控制器重置并初始化為在動作716或動作718中識別的新的波特率。在動作732中,設備執行驗證連接過程,諸如,以上論述的圖6中的驗證連接過程600,然后過程在動作706結束。
[0111]總線客戶端業務過程
[0112]如以上參考圖3所論述的,如果設備當前運行為總線客戶端,則設備可執行總線客戶端業務過程。圖8示出了總線客戶端業務過程800的一個示例。過程800開始于動作802。
[0113]在動作802中,設備從總線管理器經由CAN總線(諸如,圖1中的CAN總線122)收聽請求(例如,BAUD_RATE_SWITCH、BAUD_RATE_SWITCH_CONFIRM,等等)。
[0114]在動作804中,如果接收到波特率切換確認請求,則過程繼續到動作806。如果沒有接收到波特率切換確認請求,則過程繼續到動作818。
[0115]在動作806中,設備檢查SwitchFlag狀態標志。如果SwitchFlag狀態標志是I,則過程繼續到動作810。如果SwitchFlag狀態標志是零(例如,由于與新的波特率不兼容),則過程繼續到動作812。
[0116]在動作810中,如在下面將進一步論述的,設備設定此前在動作818中接收的波特率切換請求中識別的新的波特率。在動作816,過程結束。
[0117]在動作812中,設備重置其CAN控制器。在動作814中,過程執行自動波特率過程,諸如,以上論述的圖4中的自動波特率過程400。在動作816,過程結束。
[0118]返回到動作804,如果所接收的請求不是波特率切換確認請求,則過程繼續到動作818。在動作818中,如果所接收的請求是波特率切換請求,則過程繼續到動作820。如果所接收的請求不是波特率切換,則過程繼續到動作824。
[0119]在動作820中,如果設備的CAN控制器支持在波特率切換請求中所識別的新的波特率,過程繼續到動作820并將SwitchFlag狀態標志設定為I。如果設備的CAN控制器不支持新的波特率,則過程將SwitchFlag狀態標志設定為O。在動作816,過程結束。
[0120]在動作824中,設備查詢其CAN控制器以獲得發送/接收錯誤計數。如果錯誤計數低于預定數量(例如,96),則過程在動作816終止。如果錯誤計數高于預定數量,則過程繼續到動作826。在動作826中,設備檢查其CAN控制器是否處于BUSJFF模式或ERR0R_PASSIVE模式。在CAN控制器處于BUSJFF或ERR0R_PASSIVE的情況下,設備采取校正行動(例如,將其CAN控制器設定為BUS_ACTIVE),然后過程繼續到動作828。如果CAN控制器不處于BUS_0FF模式或ERR0R_PASSIVE模式,則過程繼續到動作832。在動作828中,設備重置其CAN控制器。在動作830中,過程執行自動波特率過程,諸如,以上論述的圖4中的自動波特率過程400。
[0121]在動作832中,設備經由CAN總線發送數據幀,該數據幀指示BUS質量低。在一個實施例中,設備(例如,圖1中的設備104、106、108和110)作為總線管理器接收該數據幀,并據此調節波特率。在動作816,過程結束。
[0122]過程300到過程800中的每一個描述了在特定實施例中的一個特定的動作序列。在這些過程中包括的動作可以通過、或者使用一個或多個計算機系統或如本文所討論的經專門配置的設備(例如,不間斷電源、傳感器等)來執行。一些動作是可選的,且同樣地,可以根據一個或多個實施例而被省略掉。另外,可以改變動作的次序,或者可以增加其他動作而不背離本文描述的實施例的范圍。而且,如上所述,在至少一個實施例中,在特定的、被專門配置的機器,即根據本文所公開的示例和實施例配置的自動波特率選擇系統上實施各個動作。
[0123]本文公開的實施例可結合不同的通信技術和協議來使用。例如,一些實施例使用工業協議(諸如,MODBUS、通用工業協議、和BAC網,以及其他協議)進行通信。
[0124]至此已經描述了至少一個示例的若干方面,應當理解,對于本領域技術人員來說容易想到各種變形、修改和改進。例如,本文公開的示例還可以在其他背景中使用。旨在將這些變形、修改和改進作為本公開的一部分,并在旨在落在本文介紹的示例的范圍內。因此,前文的描述和附圖僅僅是示例性的。
【主權項】
1.一種設備,包括: 存儲器; 控制器局域網絡(CAN)控制器,其耦合到CAN總線; 至少一個處理器,其耦合至所述存儲器和所述CAN控制器,所述至少一個處理器被配置成: 將所述CAN控制器設定到第一波特率; 確定第二波特率;以及 響應于確定所述第二波特率而經由所述CAN總線發送波特率改變請求,其中,所述波特率改變請求至少包括所述第二波特率的識別符。2.根據權利要求1所述的設備,其中所述至少一個處理器還被配置為: 確定超時已到期; 響應于確定所述超時已到期而經由所述CAN總線發送波特率確認請求;以及 將所述CAN控制器設定到所述第二波特率。3.根據權利要求2所述的設備,其中,所述至少一個處理器還被配置為: 從耦合到所述CAN總線的至少一個設備接收數據幀; 響應于接收到所述數據幀,基于所述CAN控制器的錯誤計數確定所述CAN總線不支持所述第二波特率; 確定較低波特率,其中,所述較低波特率小于所述第二波特率;以及經由所述CAN總線發送波特率改變請求,其中,所述波特率改變請求至少包括所述較低波特率的識別符。4.根據權利要求2所述的設備,其中,所述至少一個處理器還被配置為: 從耦合到所述CAN總線的至少一個設備接收數據幀; 響應于接收到所述數據幀,基于所述CAN控制器的錯誤計數確定所述CAN總線支持所述第二波特率; 確定較高波特率,其中,所述較高波特率大于所述第二波特率;以及經由所述CAN總線發送波特率改變請求,其中,所述波特率改變請求至少包括所述較高波特率的識別符。5.根據權利要求2所述的設備,其中,所述至少一個處理器還被配置為: 從耦合到所述CAN總線的至少一個設備接收數據幀; 響應于接收到所述數據幀,確定耦合到所述CAN總線的CAN設備不支持所述第二波特率;以及 在所述第一波特率下運行所述CAN控制器。6.根據權利要求1所述的設備,其中,所述至少一個處理器還被配置為: 確定第一超時已發生;以及 基于所述第一超時,切換到客戶端模式。7.根據權利要求6所述的設備,其中,所述至少一個處理器還配置成經由所述CAN總線發送至少一個測試數據幀,其中,所述至少一個測試數據幀包括使得所述CAN總線以高頻率進行信號通信的字節模式。8.根據權利要求6所述的設備,其中,所述至少一個處理器還被配置為: 從耦合到所述CAN總線的設備接收波特率改變請求,其中,所述波特率改變請求包括新的波特率的至少一個識別符; 確定所述新的波特率是否受所述CAN控制器支持;以及 如果所述新的波特率不受所述CAN控制器支持,則經由所述CAN總線發送否定應答。9.一種使用計算機選擇波特率的計算機實施的方法,所述計算機包括存儲器、親合到控制器局域網絡(CAN)總線的CAN控制器、以及耦合到所述CAN控制器和所述存儲器的至少一個處理器,所述方法包括: 將所述CAN控制器設定到第一波特率; 確定第二波特率;以及 響應于確定所述第二波特率而經由所述CAN總線發送波特率改變請求,其中,所述波特率改變請求至少包括所述第二波特率的識別符。10.根據權利要求9所述的方法,還包括: 確定超時已到期; 響應于確定所述超時已到期而經由所述CAN總線發送波特率確認請求;以及 將所述CAN控制器設定到所述第二波特率。11.根據權利要求10所述的方法,還包括: 從耦合到所述CAN總線的至少一個設備接收數據幀; 響應于接收到所述數據幀,基于所述CAN控制器的錯誤計數確定所述CAN總線不支持所述第二波特率; 確定較低波特率,所述較低波特率小于所述第二波特率;以及 經由所述CAN總線發送波特率改變請求,其中,所述波特率改變請求至少包括所述較低波特率的識別符。12.根據權利要求10所述的方法,還包括: 從耦合到所述CAN總線的至少一個設備接收數據幀; 響應于接收到所述數據幀,基于所述CAN控制器的錯誤計數確定所述CAN總線支持所述第二波特率; 確定較高波特率,所述較高波特率大于所述第二波特率;以及 經由所述CAN總線發送波特率改變請求,其中,所述波特率改變請求至少包括所述較高波特率的識別符。13.根據權利要求10所述的方法,還包括: 從耦合到所述CAN總線的至少一個設備接收數據幀; 響應于接收到所述數據幀而確定耦合到所述CAN總線的CAN設備不支持所述第二波特率;以及 在所述第一波特率下運行所述CAN控制器。14.根據權利要求9所述的方法,還包括: 確定第一超時已發生;以及 基于所述第一超時,切換到客戶端模式。15.根據權利要求14所述的方法,還包括經由所述CAN總線發送至少一個測試數據幀,其中,所述至少一個測試數據幀包括使得所述CAN總線以高頻率進行信號通信的字節模式。16.根據權利要求14所述的方法,還包括: 經由所述CAN總線接收波特率改變請求,其中,所述波特率改變請求包括新的波特率的至少一個識別符; 確定所述新的波特率是否受所述CAN控制器支持;以及 如果所述新的波特率不受所述CAN控制器支持,則經由所述CAN總線發送否定應答。17.—種非暫時性的計算機可讀介質,其具有在其上存儲的、為耦合到控制器局域網絡(CAN)總線的設備選擇波特率的指令序列,所述指令使得至少一個處理器: 將CAN控制器設定到第一波特率; 確定第二波特率;以及 響應于確定所述第二波特率而經由所述CAN總線發送波特率改變請求,其中,所述波特率改變請求至少包括所述第二波特率的識別符。18.根據權利要求17所述的非暫時性計算機可讀介質,其中所述指令序列包括使得所述至少一個處理器執行以下動作的指令: 確定超時已到期; 響應于確定所述超時已到期而經由所述CAN總線發送波特率確認請求;以及 將所述CAN控制器設定到所述第二波特率。19.根據權利要求18所述的非暫時性計算機可讀介質,其中所述指令序列包括使得所述至少一個處理器執行以下動作的指令: 從耦合到所述CAN總線的至少一個設備接收數據幀; 響應于接收到所述數據幀,基于所述CAN控制器的錯誤計數確定所述CAN總線不支持所述第二波特率; 確定較低波特率,其中,所述較低波特率小于所述第二波特率;以及 經由所述CAN總線發送波特率改變請求,其中,所述波特率改變請求至少包括所述較低波特率的識別符。20.根據權利要求18所述的非暫時性計算機可讀介質,其中所述指令序列包括使得所述至少一個處理器執行以下動作的指令: 從耦合到所述CAN總線的至少一個設備接收數據幀; 響應于接收到所述數據幀,基于所述CAN控制器的錯誤計數確定所述CAN總線支持所述第二波特率; 確定較高波特率,其中,所述較高波特率大于所述第二波特率;以及 經由所述CAN總線發送波特率改變請求,其中,所述波特率改變請求至少包括所述較高波特率的識別符。
【文檔編號】G06F5/06GK105960629SQ201380082004
【公開日】2016年9月21日
【申請日】2013年12月30日
【發明人】比賓·安德魯斯
【申請人】施耐德電氣It公司
網友詢(xun)問(wen)留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1