《數據傳輸的方法、擴展裝置、外圍設備及系統》是廣州視源電子科技股份有限公司於2016年2月25日申請的專利,該專利的公布號為CN105786734A,授權公布日為2016年7月20日,發明人是許松清、邱忠英、潘峰。該發明涉及通信技術領域。
《數據傳輸的方法、擴展裝置、外圍設備及系統》公開了一種數據傳輸的方法包括:通過I2C接口接收主控設備傳送的寫入地址信息;所述寫入地址信息包括寫入標識和器件地址;根據所述寫入標識生成接收意圖信息,並將所述接收意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述接收意圖信息準備接收暫存器地址;通過所述I2C接口接收所述主控設備傳送的暫存器地址,並將所述暫存器地址轉發給所述外圍設備,以使所述外圍設備以所接收到的暫存器地址為起始地址準備進行寫入操作或讀出操作。相應地,該發明還公開了另一種數據傳輸方法,以及一種數據傳輸的擴展裝置、外圍設備和系統。採用該發明實施例,能實現I2C通信,並提高數據傳輸效率。
2021年11月,《數據傳輸的方法、擴展裝置、外圍設備及系統》獲得第八屆廣東專利獎銀獎。
(概述圖為《數據傳輸的方法、擴展裝置、外圍設備及系統》摘要附圖)
基本介紹
- 中文名:數據傳輸的方法、擴展裝置、外圍設備及系統
- 申請人:廣州視源電子科技股份有限公司
- 申請日:2016年2月25日
- 申請號:2016101045297
- 公布號:CN105786734A
- 公布日:2016年7月20日
- 發明人:許松清、邱忠英、潘峰
- 地址:廣東省廣州市高新技術產業開發區科學城科珠路192號4樓
- 分類號:G06F13/16(2006.01)I、G06F13/12(2006.01)I
- 代理機構:廣州三環專利代理有限公司
- 代理人:麥小嬋、郝傳鑫
- 類別:發明專利
專利背景,發明內容,專利目的,技術方案,有益效果,附圖說明,權利要求,實施方式,榮譽表彰,
專利背景
I2C(Inter-IntegratedCircuit,兩線式串列匯流排)是由PHILIPS公司開發的兩線式串列匯流排,用於實現主控設備與外圍設備之間的通信,是微電子通信控制領域廣泛採用的一種匯流排標準,是同步通信的一種特殊形式,其中I2C匯流排分為主模式和從模式,主模式初始化匯流排的數據傳輸並產生允許傳輸的時鐘信號,從模式則遵循主模式發起的請求進行數據寫入或讀出。
2016年2月之前的技術中,主控設備與外圍設備需要通過I2C匯流排進行通信時,首先需要確定主控設備是否具有主I2C功能,外圍設備是否具有從I2C功能,當主控設備具有主I2C功能,同時外圍設備也具有從I2C功能時,則主控設備與外圍設備可以通過I2C匯流排進行通信;而當主控設備具有主I2C功能,外圍設備不具有從I2C功能時,則通常採用設定一擴展裝置以非橋接方式與該外圍設備連線,並對外圍設備擴展從I2C功能,具體過程為:主控設備將所需傳輸的數據經擴展裝置進行快取,待主控設備一次通訊結束後,擴展裝置對快取的數據進行處理後傳輸給此外圍設備,從而實現主控設備與外圍設備通過I2C匯流排進行通信的目的。
對於完整一次I2C通訊可參見圖1和圖2,圖1是2016年2月之前的技術提供的I2C通信協定中的I2C只寫時序的時序圖,圖2是已有技術提供的I2C通信協定中的I2C唯讀時序的時序圖,依據圖中的I2C只寫時序和I2C唯讀時序,對於能直接通I2C接口進行I2C通信息的主控設備和外圍設備,I2C通信是按時間順序一個位元組一個位元組地寫入數據或讀出數據,具備從I2C通信功能的外圍設備是可以識別接收到的暫存器地址,然後以該暫存器地址為一個起始地址開始逐個位元組地進行後序的寫入數據或者讀出數據;但是對不具備從I2C功能的外圍設備,無法識別從主控設備接收到的I2C時序里的數據,即無法識別暫存器地址,導致無法將傳送過來的每一位元組數據寫入或讀出,因而,2016年2月之前的技術提供的主控設備與不具備從I2C通信功能的外圍設備之間所進行非橋接式I2C通信方式,雖然能讓該外圍設備識別擴展裝置處理後的數據來實現I2C通信,但由於完整的一次時序通訊,是要經過擴展進行快取並處理後再完整的傳送給外圍設備,所花的時間過長,而且當主控設備與外圍設備之間需要傳輸大量數據時,由於擴展模組的資源有限,從而導致數據傳輸效率降低。
發明內容
專利目的
該發明實施例提出一種數據傳輸的方法、擴展裝置、外圍設備及系統,能實現I2C通信,並提高數據傳輸效率。
技術方案
《數據傳輸的方法、擴展裝置、外圍設備及系統》實施例在一個方面提供一種數據傳輸的方法,包括:通過I2C接口接收主控設備傳送的寫入地址信息;所述寫入地址信息包括寫入標識和器件地址;根據所述寫入標識生成接收意圖信息,並將所述接收意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述接收意圖信息準備接收暫存器地址;通過所述I2C接口接收所述主控設備傳送的暫存器地址,並將所述暫存器地址轉發給所述外圍設備,以使所述外圍設備以所接收到的暫存器地址為起始地址準備進行寫入操作或讀出操作。
在一種實施方式中,所述數據傳輸的方法還包括寫入操作,具體為:以流水線方式,通過所述I2C接口逐個位元組地接收所述主控設備傳送的寫入數據,並逐個位元組地將所述寫入數據轉發給所述外圍設備,以供所述外圍設備從以所接收到的暫存器地址為起始地址開始將所述寫入數據逐個位元組地寫入相應的記憶體中。
進一步地,所述接收意圖信息包括接收信號和第一中斷信號;則,所述將所述接收意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述接收意圖信息準備接收暫存器地址,具體為:將所述接收意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述接收意圖信息中的第一中斷信號回響中斷,對所述接收意圖信息中的接收信號進行識別,並在識別成功時準備接收暫存器地址。
在另一種實施方式中,所述數據傳輸的方法還包括讀出操作,具體為:通過所述I2C接口接收所述主控設備傳送的讀出地址信息;所述讀出地址信息包括讀出標識和所述器件地址;根據所述讀出標識生成讀出意圖信息,並將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據;所述讀出地址為所述暫存器地址;接收所述外圍設備返回的讀出數據,並通過所述I2C接口將返回的讀出數據轉發給所述主控設備。
在又一種實施方式中,所述數據傳輸的方法還包括讀出操作,具體為:通過所述I2C接口接收所述主控設備傳送的讀出地址信息;所述讀出地址信息包括讀出標識和所述器件地址;根據所述讀出標識生成讀出意圖信息,並將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據;所述讀出地址為所述暫存器地址加上所述寫入數據的位元組長度;接收所述外圍設備返回的讀出數據,並通過所述I2C接口將返回的讀出數據轉發給所述主控設備。
進一步地,所述讀出意圖信息還包括讀出信號和第二中斷信號;則所述將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據,具體為:將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息中的第二中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回從讀出地址對應的記憶體中所讀取的讀出數據。
進一步地,所述數據傳輸的方法還包括:當接收到所述外圍設備返回的讀出數據時,再次生成所述讀出意圖信息,並將所述讀出意圖信息傳送給所述外圍設備,以使所述外圍設備根據所述讀出意圖信息中的中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回下一個讀出地址對應的記憶體中所讀取的讀出數據;其中,下一個讀出地址為上一個讀出地址加一。
再進一步地,所述數據傳輸的方法還包括:通過所述I2C接口接收所述主控設備傳送的停止信息;根據所述停止信息生成停止意圖信息;所述停止意圖信息包括停止信號和第三中斷信號;將所述停止意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述停止意圖信息中的第三中斷信號回響中斷,對所述停止意圖信息中的停止信號進行識別,並在識別成功時停止當前操作。
該發明實施例在另一個方面提出一種數據傳輸的方法,包括:接收擴展裝置傳送的接收意圖信息;其中,所述接收意圖信息是由所述擴展裝置根據通過I2C接口從主控設備中所接收到的寫入地址信息的寫入標識生成的,且是由所述擴展裝置根據所述寫入地址信息的器件地址進行定址傳送的;根據所述接收意圖信息準備接收暫存器地址;接收所述擴展裝置轉傳送的暫存器地址,並以所接收到的暫存器地址為起始地址準備進行寫入操作或讀出操作;所述暫存器地址是所述擴展裝置通過所述I2C接口從所述主控設備中接收到的。
在一種實施方式中,所述數據傳輸的方法還包括:以流水線方式,逐個位元組地接收所述擴展裝置轉發的寫入數據,並從以所接收到的暫存器地址為起始地址開始將所述寫入數據逐個位元組寫入相應的記憶體中。進一步地,所述接收意圖信息包括接收信號和第一中斷信號;則,根據所述接收意圖信息準備接收暫存器地址,具體為:根據所述接收意圖信息中的第一中斷信號回響中斷,對所述接收意圖信息中的接收信號進行識別,並在識別成功時準備接收暫存器地址。
在另一種實施方式中,所述數據傳輸的方法還包括:接收所述擴展裝置傳送的讀出意圖信息;其中,所述讀出意圖信息是由所述擴展裝置根據通過所述I2C接口從所述主控設備中所接收到的讀出地址信息中的讀出標識生成的,且是由所述擴展裝置根據所述讀出地址信息中的所述器件地址進行定址傳送的;根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置,以使所述擴展裝置通過所述I2C接口將所述讀出數據轉發給所述主控設備;所述讀出地址為所述暫存器地址。
在又一種實施方式中,所述數據傳輸的方法還包括:接收所述擴展裝置傳送的讀出意圖信息;其中,所述讀出意圖信息是由所述擴展裝置根據通過所述I2C接口從所述主控設備中所接收到的讀出地址信息中的讀出標識生成的,且是由所述擴展裝置根據所述讀出地址信息中的所述器件地址進行定址傳送的;根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置,以使所述擴展裝置通過所述I2C接口將所述讀出數據轉發給所述主控設備;所述讀出地址為所述暫存器地址加上所述寫入數據的位元組長度。進一步地,所述讀出意圖信息還包括讀出信號和第二中斷信號;則所述根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置,具體為:根據所述讀出意圖信息中的第二中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回從讀出地址對應的記憶體中所讀取的讀出數據。
進一步地,所述數據傳輸的方法還包括:再次接收所述擴展裝置傳送所述讀出意圖信息;再次接到的所述讀出意圖信息是由所述擴展裝置在接收到返回的讀出數據時再次生成的;根據所述再次接收到的所述讀出意圖信息中的中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回下一個讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置,以使所述擴展裝置通過所述I2C接口將所述讀出數據轉發給所述主控設備;其中,下一個讀出地址為上一個讀出地址加一。
再進一步地,所述數據傳輸的方法還包括:接收所述擴展裝置傳送的停止意圖信息;所述停止意圖信息是由所述擴展裝置根據通過所述I2C接口從所述主控設備中接收到的停止信息生成的,所述停止意圖信息包括停止信號和第三中斷信號;根據所述停止意圖信息中的第三中斷信號回響中斷,對所述停止意圖信息中的停止信號進行識別,並在識別成功時停止當前操作。
對應於上述第一個方面所提出的數據傳輸的方法,該發明實施例提出一種數據傳輸的擴展裝置,包括:寫入地址接收模組,用於通過I2C接口接收主控設備傳送的寫入地址信息;所述寫入地址信息包括寫入標識和器件地址;接收意圖生成模組,用於根據所述寫入標識生成接收意圖信息,並將所述接收意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述接收意圖信息準備接收暫存器地址;地址轉發模組,用於通過所述I2C接口接收所述主控設備傳送的暫存器地址,並將所述暫存器地址轉發給所述外圍設備,以使所述外圍設備以所接收到的暫存器地址為起始地址準備進行寫入操作或讀出操作。
在一種實施方式中,所述數據傳輸的擴展裝置還包括:寫入數據轉發模組,用於以流水線方式,通過所述I2C接口逐個位元組地接收所述主控設備傳送的寫入數據,並逐個位元組地將所述寫入數據轉發給所述外圍設備,以供所述外圍設備從以所接收到的暫存器地址為起始地址開始將所述寫入數據逐個位元組地寫入相應的記憶體中。
在另一種實施方式中,所述數據傳輸的擴展裝置還包括:第一讀出地址接收模組,用於通過所述I2C接口接收所述主控設備傳送的讀出地址信息;所述讀出地址信息包括讀出標識和所述器件地址;第一讀出意圖生成模組,用於根據所述讀出標識生成讀出意圖信息,並將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據;所述讀出地址為所述暫存器地址加上所述寫入數據的位元組長度。第一讀出數據轉發模組,用於接收所述外圍設備返回的讀出數據,並通過所述I2C接口將返回的讀出數據轉發給所述主控設備。
對應於第二方面所提出的數據傳輸的方法,該發明實施例還提供一種數據傳輸的外圍設備,包括:接收意圖模組,用於接收擴展裝置傳送的接收意圖信息;其中,所述接收意圖信息是由所述擴展裝置根據通過I2C接口從主控設備中所接收到的寫入地址信息的寫入標識生成的,且是由所述擴展裝置根據所述寫入地址信息的器件地址進行定址傳送的;準備接收模組,用於根據所述接收意圖信息準備接收暫存器地址;接收地址模組,用於接收所述擴展裝置轉傳送的暫存器地址,並以所接收到的暫存器地址為起始地址準備進行寫入操作或讀出操作;所述暫存器地址是所述擴展裝置通過所述I2C接口從所述主控設備中接收到的。
在一種實施方式中,所述數據傳輸的外圍設備還包括:寫入模組,用於以流水線方式,逐個位元組地接收所述擴展裝置轉發的寫入數據,並從以所接收到的暫存器地址為起始地址開始將所述寫入數據逐個位元組寫入相應的記憶體中。在另一種實施方式中,所述數據傳輸的外圍設備還包括:第一讀出意圖模組,用於接收所述擴展裝置傳送的讀出意圖信息;其中,所述讀出意圖信息是由所述擴展裝置根據通過所述I2C接口從所述主控設備中所接收到的讀出地址信息中的讀出標識生成的,且是由所述擴展裝置根據所述讀出地址信息中的所述器件地址進行定址傳送的;第一讀出返回模組,用於根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置,以使所述擴展裝置通過所述I2C接口將所述讀出數據轉發給所述主控設備;所述讀出地址為所述暫存器地址加上所述寫入數據的位元組長度。
相應地,該發明實施例還提供一種數據傳輸的系統,所述系統包括主控設備、擴展裝置和至少一個外圍設備;其中,所述擴展裝置為上述的數據傳輸的擴展裝置;所述外圍設備為上述的數據傳輸的外圍設備;所述主控設備通過I2C接口與所述擴展裝置連線;所述擴展裝置與所述外圍設備連線。
有益效果
《數據傳輸的方法、擴展裝置、外圍設備及系統》所述擴展裝置能通過I2C接口接收並識主控設備傳送的寫入地址信息;擴展裝置根據所述寫入地址信息中的寫入標識生成接收意圖信息,並其傳送給所述器件地址對應的外圍設備,所述外圍設備通過識別所述接收意圖信息準備接收暫存器地址;接著,所述擴展裝置通過所述I2C接口接收所述主控設備傳送的暫存器地址,並將所述暫存器地址轉發給所述外圍設備,所述外圍設備將該暫存器地址作為起始地址準備進行寫入操作或讀出操作。對於不具備擴展I2C功能的外圍設備,無法識別主控設備傳送的數據,則該發明提供的擴展裝置通過通知外圍設備其具體的暫存器地址後,後序步驟中該擴展裝置只需要進行即時轉發數據,即可讓外圍設備實現根據該地址就進行寫入操作或讀出操作,實現主控設備與不具體擴展I2C功能的外圍設備的I2C通信,而且擴展裝置不需要在接收到一次完整的時序數據時再打包傳輸給外圍設備,不受限於擴展裝置的記憶體空間,提高數據傳輸效率。
附圖說明
圖1是2016年2月之前的技術提供的I2C通信協定中的I2C只寫時序的時序圖;
圖2是2016年2月之前的技術提供的I2C通信協定中的I2C唯讀時序的時序圖;
圖3是該發明提供的數據傳輸的方法的一個實施例的流程示意圖;
圖4是該發明提供的數據傳輸的方法的另一個實施例的流程示意圖;
圖5是該發明提供的數據傳輸的擴展裝置的一個實施例的結構示意圖;
圖6是該發明提供的數據傳輸的外圍設備的一個實施例的結構示意圖;
圖7是該發明提供的數據傳輸的系統的一個實施例的結構示意圖;
圖8是該發明提供的數據傳輸的方法的只寫操作的通信過程的一個實施例的流程示意圖;
圖9是該發明提供的數據傳輸的方法的唯讀操作的通信過程的一個實施例的流程示意圖。
權利要求
1.一種數據傳輸的方法,其特徵在於,包括:通過I2C接口接收主控設備傳送的寫入地址信息;所述寫入地址信息包括寫入標識和器件地址;根據所述寫入標識生成接收意圖信息,並將所述接收意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述接收意圖信息準備接收暫存器地址;通過所述I2C接口接收所述主控設備傳送的暫存器地址,並將所述暫存器地址轉發給所述外圍設備,以使所述外圍設備以所接收到的暫存器地址為起始地址準備進行寫入操作或讀出操作。
2.如權利要求1所述的數據傳輸的方法,其特徵在於,所述數據傳輸的方法還包括:以流水線方式,通過所述I2C接口逐個位元組地接收所述主控設備傳送的寫入數據,並逐個位元組地將所述寫入數據轉發給所述外圍設備,以供所述外圍設備從以所接收到的暫存器地址為起始地址開始將所述寫入數據逐個位元組地寫入相應的記憶體中。
3.如權利要求1或2所述的數據傳輸的方法,其特徵在於,所述接收意圖信息包括接收信號和第一中斷信號;則,所述將所述接收意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述接收意圖信息準備接收暫存器地址,具體為:將所述接收意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述接收意圖信息中的第一中斷信號回響中斷,對所述接收意圖信息中的接收信號進行識別,並在識別成功時準備接收暫存器地址。
4.如權利要求1所述的數據傳輸的方法,其特徵在於,所述數據傳輸的方法還包括:通過所述I2C接口接收所述主控設備傳送的讀出地址信息;所述讀出地址信息包括讀出標識和所述器件地址;根據所述讀出標識生成讀出意圖信息,並將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據;所述讀出地址為所述暫存器地址;接收所述外圍設備返回的讀出數據,並通過所述I2C接口將返回的讀出數據轉發給所述主控設備。
5.如權利要求2所述的數據傳輸的方法,其特徵在於,所述數據傳輸的方法還包括:通過所述I2C接口接收所述主控設備傳送的讀出地址信息;所述讀出地址信息包括讀出標識和所述器件地址;根據所述讀出標識生成讀出意圖信息,並將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據;所述讀出地址為所述暫存器地址加上所述寫入數據的位元組長度;接收所述外圍設備返回的讀出數據,並通過所述I2C接口將返回的讀出數據轉發給所述主控設備。
6.如權利要求4或5所述的數據傳輸的方法,其特徵在於,所述讀出意圖信息還包括讀出信號和第二中斷信號;則所述將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據,具體為:將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍 設備根據所述讀出意圖信息中的第二中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回從讀出地址對應的記憶體中所讀取的讀出數據。
7.如權利要求6所述的數據傳輸的方法,其特徵在於,所述數據傳輸的方法還包括:當接收到所述外圍設備返回的讀出數據時,再次生成所述讀出意圖信息,並將所述讀出意圖信息傳送給所述外圍設備,以使所述外圍設備根據所述讀出意圖信息中的中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回下一個讀出地址對應的記憶體中所讀取的讀出數據;其中,下一個讀出地址為上一個讀出地址加一。
8.如權利要求1所述的數據傳輸的方法,其特徵在於,所述數據傳輸的方法還包括:通過所述I2C接口接收所述主控設備傳送的停止信息;根據所述停止信息生成停止意圖信息;所述停止意圖信息包括停止信號和第三中斷信號;將所述停止意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述停止意圖信息中的第三中斷信號回響中斷,對所述停止意圖信息中的停止信號進行識別,並在識別成功時停止當前操作。
9.一種數據傳輸的方法,其特徵在於,包括:接收擴展裝置傳送的接收意圖信息;其中,所述接收意圖信息是由所述擴展裝置根據通過I2C接口從主控設備中所接收到的寫入地址信息的寫入標識生成的,且是由所述擴展裝置根據所述寫入地址信息的器件地址進行定址傳送的;根據所述接收意圖信息準備接收暫存器地址;接收所述擴展裝置轉傳送的暫存器地址,並以所接收到的暫存器地址為起 始地址準備進行寫入操作或讀出操作;所述暫存器地址是所述擴展裝置通過所述I2C接口從所述主控設備中接收到的。
10.如權利要求9所述的數據傳輸的方法,其特徵在於,所述數據傳輸的方法還包括:以流水線方式,逐個位元組地接收所述擴展裝置轉發的寫入數據,並從以所接收到的暫存器地址為起始地址開始將所述寫入數據逐個位元組寫入相應的記憶體中。
11.如權利要求9或10所述的數據傳輸的方法,其特徵在於,所述接收意圖信息包括接收信號和第一中斷信號;則,根據所述接收意圖信息準備接收暫存器地址,具體為:根據所述接收意圖信息中的第一中斷信號回響中斷,對所述接收意圖信息中的接收信號進行識別,並在識別成功時準備接收暫存器地址。
12.如權利要求9所述的數據傳輸的方法,其特徵在於,所述數據傳輸的方法還包括:接收所述擴展裝置傳送的讀出意圖信息;其中,所述讀出意圖信息是由所述擴展裝置根據通過所述I2C接口從所述主控設備中所接收到的讀出地址信息中的讀出標識生成的,且是由所述擴展裝置根據所述讀出地址信息中的所述器件地址進行定址傳送的;根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置,以使所述擴展裝置通過所述I2C接口將所述讀出數據轉發給所述主控設備;所述讀出地址為所述暫存器地址。
13.如權利要求10所述的數據傳輸的方法,其特徵在於,所述數據傳輸的方法還包括:接收所述擴展裝置傳送的讀出意圖信息;其中,所述讀出意圖信息是由所述擴展裝置根據通過所述I2C接口從所述主控設備中所接收到的讀出地址信息中的讀出標識生成的,且是由所述擴展裝置根據所述讀出地址信息中的所述器件地址進行定址傳送的;根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置,以使所述擴展裝置通過所述I2C接口將所述讀出數據轉發給所述主控設備;所述讀出地址為所述暫存器地址加上所述寫入數據的位元組長度。
14.如權利要求12或13所述的數據傳輸的方法,其特徵在於,所述讀出意圖信息還包括讀出信號和第二中斷信號;則所述根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置,具體為:根據所述讀出意圖信息中的第二中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回從讀出地址對應的記憶體中所讀取的讀出數據。
15.如權利要求14所述的數據傳輸的方法,其特徵在於,所述數據傳輸的方法還包括:再次接收所述擴展裝置傳送所述讀出意圖信息;再次接到的所述讀出意圖信息是由所述擴展裝置在接收到返回的讀出數據時再次生成的;根據所述再次接收到的所述讀出意圖信息中的中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回下一個讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置,以使所述擴展裝置通過所述I2C接口將所述讀出數據轉發給所述主控設備;其中,下一個讀出地址為上一個讀出地址加一。
16.如權利要求9所述的數據傳輸的方法,其特徵在於,所述數據傳輸的 方法還包括:接收所述擴展裝置傳送的停止意圖信息;所述停止意圖信息是由所述擴展裝置根據通過所述I2C接口從所述主控設備中接收到的停止信息生成的,所述停止意圖信息包括停止信號和第三中斷信號;根據所述停止意圖信息中的第三中斷信號回響中斷,對所述停止意圖信息中的停止信號進行識別,並在識別成功時停止當前操作。
17.一種數據傳輸的擴展裝置,其特徵在於,包括:寫入地址接收模組,用於通過I2C接口接收主控設備傳送的寫入地址信息;所述寫入地址信息包括寫入標識和器件地址;接收意圖生成模組,用於根據所述寫入標識生成接收意圖信息,並將所述接收意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述接收意圖信息準備接收暫存器地址;地址轉發模組,用於通過所述I2C接口接收所述主控設備傳送的暫存器地址,並將所述暫存器地址轉發給所述外圍設備,以使所述外圍設備以所接收到的暫存器地址為起始地址準備進行寫入操作或讀出操作。
18.如權利要求17所述的數據傳輸的擴展裝置,其特徵在於,所述數據傳輸的擴展裝置還包括:寫入數據轉發模組,用於以流水線方式,通過所述I2C接口逐個位元組地接收所述主控設備傳送的寫入數據,並逐個位元組地將所述寫入數據轉發給所述外圍設備,以供所述外圍設備從以所接收到的暫存器地址為起始地址開始將所述寫入數據逐個位元組地寫入相應的記憶體中。
19.如權利要求18所述的數據傳輸的擴展裝置,其特徵在於,所述數據傳輸的擴展裝置還包括:第一讀出地址接收模組,用於通過所述I2C接口接收所述主控設備傳送的 讀出地址信息;所述讀出地址信息包括讀出標識和所述器件地址;第一讀出意圖生成模組,用於根據所述讀出標識生成讀出意圖信息,並將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據;所述讀出地址為所述暫存器地址加上所述寫入數據的位元組長度。第一讀出數據轉發模組,用於接收所述外圍設備返回的讀出數據,並通過所述I2C接口將返回的讀出數據轉發給所述主控設備。
20.一種數據傳輸的外圍設備,其特徵在於,包括:接收意圖模組,用於接收擴展裝置傳送的接收意圖信息;其中,所述接收意圖信息是由所述擴展裝置根據通過I2C接口從主控設備中所接收到的寫入地址信息的寫入標識生成的,且是由所述擴展裝置根據所述寫入地址信息的器件地址進行定址傳送的;準備接收模組,用於根據所述接收意圖信息準備接收暫存器地址;接收地址模組,用於接收所述擴展裝置轉傳送的暫存器地址,並以所接收到的暫存器地址為起始地址準備進行寫入操作或讀出操作;所述暫存器地址是所述擴展裝置通過所述I2C接口從所述主控設備中接收到的。
21.如權利要求20所述的數據傳輸的外圍設備,其特徵在於,所述數據傳輸的外圍設備還包括:寫入模組,用於以流水線方式,逐個位元組地接收所述擴展裝置轉發的寫入數據,並從以所接收到的暫存器地址為起始地址開始將所述寫入數據逐個位元組寫入相應的記憶體中。
22.如權利要求21所述的數據傳輸的外圍設備,其特徵在於,所述數據傳輸的外圍設備還包括:第一讀出意圖模組,用於接收所述擴展裝置傳送的讀出意圖信息;其中, 所述讀出意圖信息是由所述擴展裝置根據通過所述I2C接口從所述主控設備中所接收到的讀出地址信息中的讀出標識生成的,且是由所述擴展裝置根據所述讀出地址信息中的所述器件地址進行定址傳送的;第一讀出返回模組,用於根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置,以使所述擴展裝置通過所述I2C接口將所述讀出數據轉發給所述主控設備;所述讀出地址為所述暫存器地址加上所述寫入數據的位元組長度。
23.一種數據傳輸的系統,其特徵在於,所述系統包括主控設備、擴展裝置和至少一個外圍設備;其中,所述擴展裝置為如權利要求17至24任一項所述的擴展裝置;所述外圍設備為如權利要求25至32任一項所述的外圍設備;所述主控設備通過I2C接口與所述擴展裝置連線;所述擴展裝置與所述外圍設備連線。
實施方式
參見圖3,是該發明提供的數據傳輸的方法的一個實施例的流程示意圖,該方法由擴展裝置執行,而該擴展裝置可以是一個安裝在外圍設備外部的用於擴展從I2C功能的MCU(MicrocontrollerUnit,微控制單元),並通過I2C接口與主控設備連線,該方法包括以下步驟:
S11,通過I2C接口接收主控設備傳送的寫入地址信息;所述寫入地址信息包括寫入標識和器件地址;
S12,根據所述寫入標識生成接收意圖信息,並將所述接收意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述接收意圖信息準備接收暫存器地址;
S13,通過所述I2C接口接收所述主控設備傳送的暫存器地址,並將所述暫存器地址轉發給所述外圍設備,以使所述外圍設備以所接收到的暫存器地址為起始地址準備進行寫入操作或讀出操作。
需要說明的是,如圖1和圖2所述的器件地址deviveaddress和跟隨在器件地址deviveaddress後的寫標誌位W,即為該發明實施例中的寫入地址信息的器件地址和寫入標識,在擴展裝置MCU通過I2C接口接收到主控設備傳送的寫入地址信息時,會生成一個接收意圖信息,如設定I/O口的狀態,並且擴展裝置MCU將其通過I/O口傳送給外圍設備,通知下一個接收到的位元組數據為暫存器地址,外圍設備接收該位元組數據,將其作為接下來進行寫入操作或讀出操作的暫存器地址,即後序步驟中該擴展裝置只需要進行即時轉發數據,就可讓外圍設備實現根據該地址進行寫入操作或讀出操作,實現主控設備與不具體擴展I2C功能的外圍設備的I2C通信,而且擴展裝置不需要在接收到一次完整的時序數據時再打包傳輸給外圍設備,不受限於擴展裝置的記憶體空間,提高數據傳輸效率。
在將暫存器地址轉發給外圍設備後,該發明實施例中後序進行的寫入操作,具體實施步驟如下:以流水線方式,通過所述I2C接口逐個位元組地接收所述主控設備傳送的寫入數據,並逐個位元組地將所述寫入數據轉發給所述外圍設備,以供所述外圍設備從以所接收到的暫存器地址為起始地址開始將所述寫入數據逐個位元組地寫入相應的記憶體中。
在該實施方式中,上述主控設備傳送數據,擴展裝置MCU將接收到的每一字數據轉發給外圍設備,這三者之間進行的I2C通信的寫入操作是按一個位元組一個位元組地將寫入數據寫入記憶體中,該流水線方式的寫入操作在寫入數據傳輸過程效率,節省傳輸時間,可以提高數據寫入的效率,由於該實施例中主控設備與擴展裝置MCU之間是通過I2C接口連線,傳輸線為I2C匯流排,其通訊速率為100kbit/S,則相應地擴展裝置MCU與外轉設備之間進行寫入數據或讀出數據的傳送速率應該大於或等於100kbit/S,確保擴展裝置MCU進行傳輸數據時的每一瞬間只存在1個位元組的數據存在記憶體中,提高傳輸效率。
進一步地,所述接收意圖信息包括接收信號和第一中斷信號;則,所述將所述接收意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述接收意圖信息準備接收暫存器地址,具體為:將所述接收意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述接收意圖信息中的第一中斷信號回響中斷,對所述接收意圖信息中的接收信號進行識別,並在識別成功時準備接收暫存器地址。
在該實施例中,通過設定中斷機制,能使外圍設備快速並實時通過識別擴展設備傳送的意圖信息獲知主控設備的意圖,即接下來要進行I2C通訊的內容和對象,從而能快速地進行寫入操作或讀出操作。上述接收意圖信息所包括接收信號和第一中斷信號在該實施例中配置為:接收信號為SO,第一中斷信號為擴展裝置MCU觸發中斷生成第一中斷信號INT1,該接收信號SO通過擴展裝置MCU的I/O接口傳送到外圍設備的I/O接口,該第一中斷信號INT1通過擴展裝置的I/O接口傳送至外圍設備的外部中斷接口,外圍設備接收到外部中斷信號,即第一中斷信號INT1時,進入中斷服務程式,識別I/O接口的具體狀態,當識別到信號SO時,外圍設備進行準備接收暫存器地址,即通知外圍設備下一個接收到的位元組數據為暫存器地址。在該實施例中,暫存器地址長度為1個位元組。
在將暫存器地址轉發給外圍設備後,該發明實施例中後序進行的讀出操作,具體為:通過所述I2C接口接收所述主控設備傳送的讀出地址信息;所述讀出地址信息包括讀出標識和所述器件地址;根據所述讀出標識生成讀出意圖信息,並將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據;所述讀出地址為所述暫存器地址;接收所述外圍設備返回的讀出數據,並通過所述I2C接口將返回的讀出數據轉發給所述主控設備。
在上述實施例中的寫入操作之後,該發明實施例還會有可能進行讀出操作,該讀出操作與上一個讀出操作的實施步驟基本相同,區別在於讀取地址,該讀出操作的實施步驟具體為:通過所述I2C接口接收所述主控設備傳送的讀出地址信息;所述讀出地址信息包括讀出標識和所述器件地址;根據所述讀出標識生成讀出意圖信息,並將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據;所述讀出地址為所述暫存器地址加上所述寫入數據的位元組長度;接收所述外圍設備返回的讀出數據,並通過所述I2C接口將返回的讀出數據轉發給所述主控設備。
進一步地,所述讀出意圖信息還包括讀出信號和第二中斷信號;則所述將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據,具體為:將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息中的第二中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回從讀出地址對應的記憶體中所讀取的讀出數據。
需要說明的是,上述讀出意圖信息所包括的讀出信號和第二中斷信號在該實施例中配置為:讀出信號為S1,第二中斷信號為擴展裝置MCU觸發中斷生成第二中斷信號INT2,該接收信號S1通過擴展裝置MCU的I/O接口傳送到外圍設備的I/O接口,該第二中斷信號INT2通過擴展裝置的I/O接口傳送至外圍設備的外部中斷接口,外圍設備接收到外部中斷信號,即第二中斷信號INT2時,進入中斷服務程式,識別I/O接口的具體狀態,當識別到信號S1時,外圍設備進行返回從讀出地址對應的記憶體中所讀取的讀出數據,即通知外圍設備進行讀出操作。
進一步地,所述數據傳輸的方法還包括:當接收到所述外圍設備返回的讀出數據時,再次生成所述讀出意圖信息,並將所述讀出意圖信息傳送給所述外圍設備,以使所述外圍設備根據所述讀出意圖信息中的中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回下一個讀出地址對應的記憶體中所讀取的讀出數據;其中,下一個讀出地址為上一個讀出地址加一。
需要說明的是,外圍設備只有在接收到讀出意圖信息中的讀出信號S1,會相應地返回一個位元組的讀出數據,而擴展裝置MCU只要接收到外圍設備返回的一個位元組的讀出數據,就會再次生成讀出意圖信息傳送給外圍設備,如此循環,逐個位元組地將讀出數據傳輸給主控設備,以符合I2C通信協定。
再進一步地,所述數據傳輸的方法還包括:通過所述I2C接口接收所述主控設備傳送的停止信息;根據所述停止信息生成停止意圖信息;所述停止意圖信息包括停止信號和第三中斷信號;將所述停止意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述停止意圖信息中的第三中斷信號回響中斷,對所述停止意圖信息中的停止信號進行識別,並在識別成功時停止當前操作。
需要說明的是,上述停止意圖信息所包括的停止信號和第三中斷信號在該實施例中配置為:停止信號為S2,第三中斷信號為擴展裝置MCU觸發中斷生成第三中斷信號INT3,該停止信號S2通過擴展裝置MCU的I/O接口傳送到外圍設備的I/O接口,該第三中斷信號INT3通過擴展裝置的I/O接口傳送至外圍設備的外部中斷接口,外圍設備接收到外部中斷信號,即第三中斷信號INT3時,進入中斷服務程式,識別I/O接口的具體狀態,當識別到信號S3時,外圍設備停止當前操作,即擴展裝置MCU通知外圍設備停止當前操作,表示完成主控設備與外圍設備的一次完整的I2C通訊。上述實施例中的第一中斷信號INT1、第二中斷信號INT2和第三中斷信號INT3所代表的信號是相同的。
該發明提供了一種數據傳輸的方法,能通過I2C接口接收並識主控設備傳送的寫入地址信息;擴展裝置根據所述寫入地址信息中的寫入標識生成接收意圖信息,並其傳送給所述器件地址對應的外圍設備,所述外圍設備通過識別所述接收意圖信息準備接收暫存器地址;接著,所述擴展裝置通過所述I2C接口接收所述主控設備傳送的暫存器地址,並將所述暫存器地址轉發給所述外圍設備,所述外圍設備將該暫存器地址作為起始地址準備進行寫入操作或讀出操作。對於不具備擴展I2C功能的外圍設備,無法識別主控設備傳送的數據,則該發明提供的擴展裝置通過通知外圍設備其具體的暫存器地址後,後序步驟中該擴展裝置只需要進行即時轉發數據,即可讓外圍設備實現根據該地址就進行寫入操作或讀出操作,實現主控設備與不具體擴展I2C功能的外圍設備的I2C通信,而且擴展裝置不需要在接收到一次完整的時序數據時再打包傳輸給外圍設備,不受限於擴展裝置的記憶體空間,提高數據傳輸效率。
參見圖4,是該發明提供的數據傳輸的方法的另一個實施例的流程示意圖,該方法由設定在外圍設備中的一個裝置執行,所達到的技術效果與上一實施例的相同,在此不再贅述,具體實施步驟如下:
S21,接收擴展裝置傳送的接收意圖信息;其中,所述接收意圖信息是由所述擴展裝置根據通過I2C接口從主控設備中所接收到的寫入地址信息的寫入標識生成的,且是由所述擴展裝置根據所述寫入地址信息的器件地址進行定址傳送的;
S22,根據所述接收意圖信息準備接收暫存器地址;
S23,接收所述擴展裝置轉傳送的暫存器地址,並以所接收到的暫存器地址為起始地址準備進行寫入操作或讀出操作;所述暫存器地址是所述擴展裝置通過所述I2C接口從所述主控設備中接收到的。
在接收到暫存器地址後,該發明實施例中後序進行的寫入操作,具體實施步驟如下:在一種實施方式中,所述數據傳輸的方法還包括:以流水線方式,逐個位元組地接收所述擴展裝置轉發的寫入數據,並從以所接收到的暫存器地址為起始地址開始將所述寫入數據逐個位元組寫入相應的記憶體中。進一步地,所述接收意圖信息包括接收信號和第一中斷信號;則,根據所述接收意圖信息準備接收暫存器地址,具體為:根據所述接收意圖信息中的第一中斷信號回響中斷,對所述接收意圖信息中的接收信號進行識別,並在識別成功時準備接收暫存器地址。
在接收到暫存器地址後,該發明實施例中後序進行的讀出操作,具體實施步驟如下:接收所述擴展裝置傳送的讀出意圖信息;其中,所述讀出意圖信息是由所述擴展裝置根據通過所述I2C接口從所述主控設備中所接收到的讀出地址信息中的讀出標識生成的,且是由所述擴展裝置根據所述讀出地址信息中的所述器件地址進行定址傳送的;根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置,以使所述擴展裝置通過所述I2C接口將所述讀出數據轉發給所述主控設備;所述讀出地址為所述暫存器地址。
在上述實施例中的寫入操作之後,該發明實施例還會有可能進行讀出操作,該讀出操作與上一個讀出操作的實施步驟基本相同,區別在於讀取地址,該讀出操作的實施步驟具體為:接收所述擴展裝置傳送的讀出意圖信息;其中,所述讀出意圖信息是由所述擴展裝置根據通過所述I2C接口從所述主控設備中所接收到的讀出地址信息中的讀出標識生成的,且是由所述擴展裝置根據所述讀出地址信息中的所述器件地址進行定址傳送的;根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置,以使所述擴展裝置通過所述I2C接口將所述讀出數據轉發給所述主控設備;所述讀出地址為所述暫存器地址加上所述寫入數據的位元組長度。
進一步地,所述讀出意圖信息還包括讀出信號和第二中斷信號;則所述根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置,具體為:根據所述讀出意圖信息中的第二中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回從讀出地址對應的記憶體中所讀取的讀出數據。
進一步地,所述數據傳輸的方法還包括:再次接收所述擴展裝置傳送所述讀出意圖信息;再次接到的所述讀出意圖信息是由所述擴展裝置在接收到返回的讀出數據時再次生成的;根據所述再次接收到的所述讀出意圖信息中的中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回下一個讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置,以使所述擴展裝置通過所述I2C接口將所述讀出數據轉發給所述主控設備;其中,下一個讀出地址為上一個讀出地址加一。
再進一步地,所述數據傳輸的方法還包括:接收所述擴展裝置傳送的停止意圖信息;所述停止意圖信息是由所述擴展裝置根據通過所述I2C接口從所述主控設備中接收到的停止信息生成的,所述停止意圖信息包括停止信號和第三中斷信號;根據所述停止意圖信息中的第三中斷信號回響中斷,對所述停止意圖信息中的停止信號進行識別,並在識別成功時停止當前操作。
參見圖5,是該發明提供的數據傳輸的擴展裝置的一個實施例的結構示意圖,該擴展裝置MCU能實施上述第一個實施例所提出的數據傳輸的方法的全部流程,所達到的技術效果與第一個實施例的技術效果一致,在此不再贅述,僅具體描這該擴展裝置MCU的具體結構:寫入地址接收模組101,用於通過I2C接口接收主控設備傳送的寫入地址信息;所述寫入地址信息包括寫入標識和器件地址;接收意圖生成模組102,用於根據所述寫入標識生成接收意圖信息,並將所述接收意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述接收意圖信息準備接收暫存器地址;地址轉發模組103,用於通過所述I2C接口接收所述主控設備傳送的暫存器地址,並將所述暫存器地址轉發給所述外圍設備,以使所述外圍設備以所接收到的暫存器地址為起始地址準備進行寫入操作或讀出操作。
在一種實施方式中,所述數據傳輸的擴展裝置MCU還包括:寫入數據轉發模組104,用於以流水線方式,通過所述I2C接口逐個位元組地接收所述主控設備傳送的寫入數據,並逐個位元組地將所述寫入數據轉發給所述外圍設備,以供所述外圍設備從以所接收到的暫存器地址為起始地址開始將所述寫入數據逐個位元組地寫入相應的記憶體中。
進一步地,所述接收意圖信息包括接收信號和第一中斷信號;所述接收意圖生成模組102,還用於將所述接收意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述接收意圖信息中的第一中斷信號回響中斷,對所述接收意圖信息中的接收信號進行識別,並在識別成功時準備接收暫存器地址。
在另一種實施方式中,所述數據傳輸的擴展裝置MCU還包括:第一讀出地址接收模組105,用於通過所述I2C接口接收所述主控設備傳送的讀出地址信息;所述讀出地址信息包括讀出標識和所述器件地址;第一讀出意圖生成模組106,用於根據所述讀出標識生成讀出意圖信息,並將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據;所述讀出地址為所述暫存器地址;第一讀出數據轉發模組107,用於接收所述外圍設備返回的讀出數據,並通過所述I2C接口將返回的讀出數據轉發給所述主控設備。
在又一種實施方式中,所述數據傳輸的擴展裝置MCU所包括的第一讀出意圖生成模組106,還用於根據所述讀出標識生成讀出意圖信息,並將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據;所述讀出地址為所述暫存器地址加上所述寫入數據的位元組長度。
進一步地,所述讀出意圖信息還包括讀出信號和第二中斷信號;所述第一讀出意圖生成模組106,還用於將所述讀出意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述讀出意圖信息中的第二中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回從讀出地址對應的記憶體中所讀取的讀出數據。
進一步地,所述數據傳輸的擴展裝置MCU還包括:第二讀出意圖生成模組108,用於當接收到所述外圍設備返回的讀出數據時,再次生成所述讀出意圖信息,並將所述讀出意圖信息傳送給所述外圍設備,以使所述外圍設備根據所述讀出意圖信息中的中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回下一個讀出地址對應的記憶體中所讀取的讀出數據;其中,下一個讀出地址為上一個讀出地址加一。
再進一步地,所述數據傳輸的擴展裝置MCU還包括:停止信息接收模組109,用於通過所述I2C接口接收所述主控設備傳送的停止信息;停止意圖生成模組110,用於根據所述停止信息生成停止意圖信息;所述停止意圖信息包括停止信號和第三中斷信號;停止意圖傳送模組111,用於將所述停止意圖信息傳送給所述器件地址對應的外圍設備,以使所述外圍設備根據所述停止意圖信息中的第三中斷信號回響中斷,對所述停止意圖信息中的停止信號進行識別,並在識別成功時停止當前操作。
參見圖6,是該發明提供的數據傳輸的擴展裝置的另一個實施例的結構示意圖,該擴展裝置MCU能實施上述第二個實施例所提出的數據傳輸的方法的全部流程,所達到的技術效果與第二個實施例的技術效果一致,在此不再贅述,僅具體描這該擴展裝置MCU的具體結構:接收意圖模組201,用於接收擴展裝置MCU傳送的接收意圖信息;其中,所述接收意圖信息是由所述擴展裝置MCU根據通過I2C接口從主控設備中所接收到的寫入地址信息的寫入標識生成的,且是由所述擴展裝置MCU根據所述寫入地址信息的器件地址進行定址傳送的;準備接收模組202,用於根據所述接收意圖信息準備接收暫存器地址;接收地址模組203,用於接收所述擴展裝置MCU轉傳送的暫存器地址,並以所接收到的暫存器地址為起始地址準備進行寫入操作或讀出操作;所述暫存器地址是所述擴展裝置MCU通過所述I2C接口從所述主控設備中接收到的。
在一種實施方式中,所述數據傳輸的外圍設備還包括:寫入模組204,用於以流水線方式,逐個位元組地接收所述擴展裝置MCU轉發的寫入數據,並從以所接收到的暫存器地址為起始地址開始將所述寫入數據逐個位元組寫入相應的記憶體中。進一步地,所述接收意圖信息包括接收信號和第一中斷信號;所述準備接收模組202,還用於根據所述接收意圖信息中的第一中斷信號回響中斷,對所述接收意圖信息中的接收信號進行識別,並在識別成功時準備接收暫存器地址
在另一種實施方式中,所述數據傳輸的外圍設備還包括:第一讀出意圖模組205,用於接收所述擴展裝置MCU傳送的讀出意圖信息;其中,所述讀出意圖信息是由所述擴展裝置MCU根據通過所述I2C接口從所述主控設備中所接收到的讀出地址信息中的讀出標識生成的,且是由所述擴展裝置MCU根據所述讀出地址信息中的所述器件地址進行定址傳送的;第一讀出返回模組206,用於根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置MCU,以使所述擴展裝置MCU通過所述I2C接口將所述讀出數據轉發給所述主控設備;所述讀出地址為所述暫存器地址。
在又一種實施方式中,所述數據傳輸的外圍設備的所述第一讀出返回模組206,用於根據所述讀出意圖信息返回從讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置MCU,以使所述擴展裝置MCU通過所述I2C接口將所述讀出數據轉發給所述主控設備;所述讀出地址為所述暫存器地址加上所述寫入數據的位元組長度。
進一步地,所述讀出意圖信息還包括讀出信號和第二中斷信號;所述第一讀出返回模組206,還用於根據所述讀出意圖信息中的第二中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回從讀出地址對應的記憶體中所讀取的讀出數據。
進一步地,所述數據傳輸的外圍設備還包括:第二讀出意圖模組207,用於再次接收所述擴展裝置MCU傳送所述讀出意圖信息;再次接到的所述讀出意圖信息是由所述擴展裝置MCU在接收到返回的讀出數據時再次生成的;第二讀出返回模組208,用於根據所述再次接收到的所述讀出意圖信息中的中斷信號回響中斷,對所述讀出意圖信息中的讀出信號進行識別,並在識別成功時返回下一個讀出地址對應的記憶體中所讀取的讀出數據給所述擴展裝置MCU,以使所述擴展裝置MCU通過所述I2C接口將所述讀出數據轉發給所述主控設備;其中,下一個讀出地址為上一個讀出地址加一。
再進一步地,所述數據傳輸的外圍設備還包括:停止意圖模組209,用於接收所述擴展裝置MCU傳送的停止意圖信息;所述停止意圖信息是由所述擴展裝置MCU根據通過所述I2C接口從所述主控設備中接收到的停止信息生成的,所述停止意圖信息包括停止信號和第三中斷信號;停止回響模組210,用於根據所述停止意圖信息中的第三中斷信號回響中斷,對所述停止意圖信息中的停止信號進行識別,並在識別成功時停止當前操作。
參見圖7,是該發明提供的數據傳輸的系統的一個實施例的結構示意圖,所述系統包括主控設備10、擴展裝置MCU和至少一個外圍設備20;其中,所述擴展裝置MCU為上述實施例所提供的擴展裝置MCU;所述外圍設備20為上述實施例所提供的外圍設備20;所述主控設備10通過I2C接口與所述擴展裝置MCU連線;所述擴展裝置MCU與所述外圍設備20連線。
該發明提供了一種數據傳輸的系統,能實施上述實施例所提供的數據傳輸方法的全部流程,所達到的技術效果一致。
參見圖8,是該發明提供的數據傳輸的方法的只寫操作的通信過程的一個實施例的流程示意圖;下面以該發明提供的數據傳的方法、擴展裝置、外圍設備20和系統,所進行的只寫操作進行詳細的描述:
步驟S31:主控設備10傳送寫入地址信息給擴展裝置MCU;
步驟S321:擴展裝置MCU生成信號SO和第一中斷信號INT1,
步驟S322:擴展裝置MCU傳送信號SO和第一中斷信號INT1給外圍設備20;
步驟S33:外圍設備20回響第一中斷信號INT1,進入中斷服務程式,對I/O接口所接收到的信號進行判斷,識別為信號SO,準備接收暫存器地址;
步驟S341:主控設備10傳送暫存器地址給擴展裝置MCU;
步驟S342:擴展裝置MCU將接收到的暫存器地址傳送給外圍設備20;
步驟S35:以流水線方式操作,主控設備10按時序逐個位元組的寫入數據傳送給擴展裝置MCU,擴展裝置MCU直接將接收到的每一個位元組轉發給外圍設備20,外圍設備20以暫存器地址為起始地址將接收到的每一個位元組的寫入數據寫入相應的記憶體中。
步驟S36:主控設備10傳送停止信息給擴展裝置;
步驟S37:擴展裝置MCU生成信號S2和第三中斷信號INT3,並傳送給外圍設備20;
步驟S38:外圍設備20回響第三中斷信號INT3,進行中斷服務程式,對I/O接口所接收到的信號進行判斷,識別為信號S2,停止當前操作。
參見圖9,是該發明提供的數據傳輸的方法的唯讀操作的通信過程的一個實施例的流程示意圖;下面以該發明提供的數據傳的方法、擴展裝置、外圍設備20和系統,所進行的唯讀操作進行詳細的描述:
步驟S31:主控設備10傳送寫入地址信息給擴展裝置MCU;
步驟S321:擴展裝置MCU生成信號SO和第一中斷信號INT1,
步驟S322:擴展裝置MCU傳送信號SO和第一中斷信號INT1給外圍設備20;
步驟S33:外圍設備20回響第一中斷信號INT1,進入中斷服務程式,對I/O接口所接收到的信號進行判斷,識別為信號SO,準備接收暫存器地址;
步驟S341:主控設備10傳送暫存器地址給擴展裝置MCU;
步驟S342:擴展裝置MCU將接收到的暫存器地址傳送給外圍設備20;
步驟S41:主控設備10傳送讀出地址信息給擴展裝置MCU;
步驟S421:擴展裝置MCU生成信號S2和第二中斷信號INT2,
步驟S422:擴展裝置MCU傳送信號S2和第二中斷信號INT2傳送給外圍設備20;
步驟S43:外圍設備20回響第二中斷信號INT2,進入中斷服務程式,對I/O接口所接收到的信號進行判斷,識別為信號S2,準備接收從讀出地址對應的記憶體中返回一個位元組的讀出數據;所述讀出地址為所述暫存器地址;
步驟S44:擴展裝置MCU每接收到外圍設備20返回的一個位元組的讀出數據,再次生生成信號S2和第二中斷信號INT2,並傳送給外圍設備20,使其再執行步驟S43,但讀出地址為上一個讀出地址加一;
步驟S45:擴展裝置MCU將接收到的每一個讀出數據轉發給主控設備10;
步驟S36:主控設備10傳送停止信息給擴展裝置;
步驟S37:擴展裝置MCU生成信號S1和第三中斷信號INT3,並傳送給外圍設備20;
步驟S38:外圍設備20回響第三中斷信號INT3,進行中斷服務程式,對I/O接口所接收到的信號進行判斷,識別為信號S1,停止當前操作。
該領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過電腦程式來指令相關的硬體來完成,所述的程式可存儲於計算機可讀取存儲介質中,該程式在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光碟、唯讀存儲記憶體(Read-OnlyMemory,ROM)或隨機存儲記憶體(RandomAccessMemory,RAM)等。
榮譽表彰
2021年11月,《數據傳輸的方法、擴展裝置、外圍設備及系統》獲得第八屆廣東專利獎銀獎。