System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及計算機領域,尤其涉及一種qspi串口轉接方法、系統及其存儲介質。
技術介紹
1、在太空環境中,存儲器芯片中的數據容易受到宇宙輻射的干擾而發生錯誤翻轉,因此,在航天器的應用中往往需要利用三模冗余技術來對存儲數據進行備份和糾錯。
2、在航空航天應用場景下,傳統的qspi串口主機通過多根片選信號線來控制多塊閃存芯片,但是在讀取多個閃存芯片的過程中并不支持三模冗余傳輸功能,而為了增加三模冗余功能則需要修改不同廠商的qspi串口主機內部的電路設計代碼,進而使得qspi串口主機實現三模冗余功能十分繁瑣;并且,在航空航天應用場景下qspi串口主機往往需要兩套不同的啟動程序,而兩套啟動程序則需要配備兩塊閃存芯片,使得qspi串口主機的數據存儲成本大大提高。
技術實現思路
1、本申請實施例的主要目的在于提出一種qspi串口轉接方法、系統及其存儲介質,通過轉接控制器內部的數據交互總方向,使得qspi串口主機能夠簡易地在讀取閃存數據過程中實現三模冗余傳輸功能,并且在數據交換過程中將閃存存儲地址的分區位設置為一,進而將閃存的存儲地址一份為二,使得qspi串口主機能夠基于同一閃存燒錄兩套不同的啟動程序,降低了qspi串口主機的數據存儲成本。
2、為實現上述目的,本申請實施例的第一方面提出了一種qspi串口轉接方法,應用于串口轉接系統,串口轉接系統包括轉接控制器、指令寄存器、qspi串口主機和多個閃存,轉接控制器分別與指令寄存器、qspi串口主機和閃存通信連接,該qspi串口
3、轉接控制器響應于qspi串口主機發送的串口信號,根據串口信號識別目標指令,以及根據目標指令,確定內部通信接口的數據交互總方向;
4、轉接控制器讀取指令寄存器的第一配置信息,并根據第一配置信息在多個閃存中確定需要數據交互的目標閃存;
5、轉接控制器讀取指令寄存器的第二配置信息,以及根據第二配置信息確定目標閃存中物理存儲地址的目標分區位,并將目標分區位的數值設置為一,以將目標閃存劃分為多個目標存儲分區,目標存儲分區位于目標分區位的兩側;
6、當目標閃存的數量為多個時,轉接控制器根據數據交互總方向,控制多個目標閃存中的目標存儲分區與qspi串口主機以三模冗余的方式同步進行數據轉接。
7、進一步,在一些實施例當中,qspi串口轉接方法還包括:
8、當目標閃存的數量為一個時,轉接控制器根據數據交互總方向,控制目標閃存中的目標存儲分區與qspi串口主機進行數據轉接。
9、進一步,在一些實施例當中,轉接控制器設有時序計數器,響應于qspi串口主機發送的串口信號,根據串口信號識別目標指令,包括:
10、響應于qspi串口主機發送的串口信號,持續讀取并檢測qspi串口主機發送的時鐘信號,以及將時序計數器的時序計數值設置為初始計數值;
11、每當時鐘信號進入下降沿狀態時,將時序計數值自增1,直至時序計數值等于第一預設計數值時,鎖定并識別指令寄存器在當前輪轉的指令碼,得到目標指令,以及將時序計數值重新設置為初始計數值。
12、進一步,在一些實施例當中,響應于qspi串口主機發送的串口信號,根據串口信號識別目標指令,還包括:
13、每當時鐘信號進入上升沿狀態時,將qspi串口主機傳輸的數據保存至指令寄存器。
14、進一步,在一些實施例當中,根據目標指令,確定串口數據轉接過程中的數據交互總方向,包括:
15、根據目標指令,在預設的指令表當中查詢并確定多個待執行的分時轉接任務;
16、獲取第一狀態映射表,并在第一狀態映射表中查詢轉接控制器在執行各個分時轉接任務時對應的工作狀態,得到多個互為異步關系的目標工作狀態;
17、獲取第二狀態映射表,并在第二狀態映射表中查詢轉接控制器在各個目標工作狀態下的數據交互子方向;
18、將各個數據交互子方向按照各個分時轉接任務的分時順序進行組合,得到數據交互總方向。
19、進一步,在一些實施例當中,將目標分區位的數值設置為一,包括:
20、當轉接控制器所處于的目標工作狀態為地址狀態時,持續檢測時序計數器的時序計數值;
21、當計數器的時序計數值等于第二預設計數值,將當前時刻確定為分區時刻,分區時刻為轉接控制器向目標閃存發送數據的比特位地址與目標分區位重疊的時刻;
22、在分區時刻下,向目標閃存發送數值為一的分區數據,以將目標分區位的數值設置為一。
23、進一步,在一些實施例當中,串口轉接系統還包括錯誤標志寄存器,錯誤標志寄存器與轉接控制器通信連接,在控制多個目標閃存中的目標存儲分區與qspi串口主機以三模冗余的方式進行數據轉接的過程中,串口轉接方法還包括以下步驟:
24、當轉接控制器所處于的目標工作狀態為讀取狀態時,分別讀取各個目標閃存的目標存儲分區輸出至轉接控制器的閃存輸出參數;
25、將各個閃存輸出參數進行比特位對齊,并比對各個閃存輸出參數中同一比特位上的數值是否一致;
26、當各個閃存輸出參數中同一比特位上的數值不一致時,則將數值不一致的比特位確定為出錯位,并糾正出錯位的數值,以及向錯誤標志寄存器發送出錯信號,以使錯誤標志寄存器根據出錯信號,在出錯位對應的目標閃存中標記上比對錯誤標志。
27、進一步,在一些實施例當中,出錯信號的類型包括高電平信號類型和低電平信號類型,在向錯誤標志寄存器發送出錯信號之后,串口轉接方法還包括以下步驟:
28、持續檢測出錯位的數值是否已被糾正;
29、當出錯位的數值已被糾正,判斷出錯信號的類型是否為高電平信號類型;
30、當出錯信號的類型為高電平信號類型時,向錯誤標志寄存器發送錯誤清除信號,以使比對錯誤標志被清除。
31、為實現上述目的,本申請實施例的第二方面提出了一種串口轉接系統,包括:
32、轉接控制器、指令寄存器、qspi串口主機、錯誤標志寄存器和多個閃存,轉接控制器分別與指令寄存器、qspi串口主機、閃存和錯誤標志寄存器通信連接;
33、轉接控制器被配置為,響應于qspi串口主機發送的串口信號,根據串口信號識別目標指令,以及根據目標指令,確定數據轉接過程中的數據交互總方向;
34、轉接控制器還被配置為,讀取指令寄存器的第一配置信息,并根據第一配置信息在多個閃存中確定需要數據交互的目標閃存;
35、轉接控制器還被配置為,讀取指令寄存器的第二配置信息,以及根據第二配置信息確定目標閃存中物理存儲地址的目標分區位,并將目標分區位的數值設置為一,以將目標閃存劃分為多個目標存儲分區,目標存儲分區位于目標分區位的兩側;
36、轉接控制器還被配置為,當目標閃存的數量為多個時,根據數據交互總方向,控制多個目標閃存中的目標存儲分區與qspi串口主機以三模冗余的方式進行數據轉接。
<本文檔來自技高網...【技術保護點】
1.一種QSPI串口轉接方法,其特征在于,應用于串口轉接系統,所述串口轉接系統包括轉接控制器、指令寄存器、QSPI串口主機和多個閃存,所述轉接控制器分別與所述指令寄存器、QSPI串口主機和所述閃存通信連接,所述QSPI串口轉接方法包括:
2.根據權利要求1所述的QSPI串口轉接方法,其特征在于,所述QSPI串口轉接方法還包括:
3.根據權利要求1所述的QSPI串口轉接方法,其特征在于,所述轉接控制器設有時序計數器,所述響應于所述QSPI串口主機發送的串口信號,根據所述串口信號識別目標指令,包括:
4.根據權利要求3所述的QSPI串口轉接方法,其特征在于,所述響應于所述QSPI串口主機發送的串口信號,根據所述串口信號識別目標指令,還包括:
5.根據權利要求3所述的QSPI串口轉接方法,其特征在于,所述根據所述目標指令,確定串口數據轉接過程中的數據交互總方向,包括:
6.根據權利要求5所述的串口轉接方法,其特征在于,所述將所述目標分區位的數值設置為一,包括:
7.根據權利要求5所述的串口轉接方法,其特征在于,所述
8.根據權利要求7所述的串口轉接方法,其特征在于,所述出錯信號的類型包括高電平信號類型和低電平信號類型,在所述向所述錯誤標志寄存器發送出錯信號之后,所述串口轉接方法還包括以下步驟:
9.一種串口轉接系統,其特征在于,包括:
10.一種計算機可讀存儲介質,所述存儲介質存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至8任意一項所述的串口轉接方法。
...【技術特征摘要】
1.一種qspi串口轉接方法,其特征在于,應用于串口轉接系統,所述串口轉接系統包括轉接控制器、指令寄存器、qspi串口主機和多個閃存,所述轉接控制器分別與所述指令寄存器、qspi串口主機和所述閃存通信連接,所述qspi串口轉接方法包括:
2.根據權利要求1所述的qspi串口轉接方法,其特征在于,所述qspi串口轉接方法還包括:
3.根據權利要求1所述的qspi串口轉接方法,其特征在于,所述轉接控制器設有時序計數器,所述響應于所述qspi串口主機發送的串口信號,根據所述串口信號識別目標指令,包括:
4.根據權利要求3所述的qspi串口轉接方法,其特征在于,所述響應于所述qspi串口主機發送的串口信號,根據所述串口信號識別目標指令,還包括:
5.根據權利要求3所述的qspi串口轉接方法,其特征在于,所述根據所述目標指令,確定串口數據轉接過程中的數據交互總...
【專利技術屬性】
技術研發人員:請求不公布姓名,譚金銘,何建東,
申請(專利權)人:珠海芯探索微電子有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。