System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及數據通信,特別涉及一種循環冗余校驗電路、方法及介質。
技術介紹
1、循環冗余校驗是數據通信領域中常用的差錯校驗方式,用于檢測數據傳輸過程中是否出現數據損壞或者誤碼。在關鍵接口的數據傳輸中需要保證數據或者指令的正確發送,以低速串口為例,在原協議中并沒有差錯校驗的設計,導致無法使用多個串口幀進行數據發生。
技術實現思路
1、本專利技術旨在至少解決現有技術中存在的技術問題之一。為此,本專利技術提出一種循環冗余校驗電路、方法及介質,能夠實現避免數據接收過程中數據和循環冗余校驗碼相同導致循環冗余校驗過程意外中斷。
2、第一方面,本專利技術實施例提供了一種循環冗余校驗電路,包括:
3、觸發控制模塊,用于接收uart數據,對所述uart數據進行預處理,得到預處理數據;
4、校驗碼生成模塊,與所述觸發控制模塊電連接,用于生成與所述預處理數據對應的校驗碼;
5、校驗模塊,分別與所述觸發控制模塊和所述校驗碼生成模塊電連接,用于對所述校驗碼進行校驗計算,所述校驗模塊設置有緩存單元和比較邏輯單元,所述緩存單元的輸入端與所述校驗碼生成模塊電連接,所述緩存單元的第一輸出端與觸發控制模塊電連接,所述緩存單元的第二輸出端與所述比較邏輯單元電連接,所述緩存單元用于根據所述校驗碼生成模塊輸出寄存器返回值至所述觸發控制模塊,所述比較邏輯單元的第一輸入端與所述緩存單元的第二輸出端相連接,所述比較邏輯單元的第二輸入端與所述觸發控制模塊相連接
6、在本
7、時鐘輸入單元,所述時鐘輸入單元根據預設的波特率預設值接收時鐘分頻和串行數據;
8、第一數據處理電路,與所述時鐘輸入單元電連接,用于接對所述串行數據進行并行處理;
9、反轉電路,與所述數據處理電路電連接,用于將并行處理后的所述串行數據進行大小端反轉;
10、第一異或邏輯電路,與所述反轉電路電連接,用于根據寄存器值對所述串行數據進行異或運算,得到預處理數據。
11、在本專利技術的一些實施例中,所述校驗碼生成模塊設置有多個順次連接的校驗碼生成單元,所述校驗碼生成單元包括移位邏輯電路、第二異或邏輯電路和第二數據處理電路,所述移位邏輯電路的輸入端與所述觸發控制模塊電連接,所述移位邏輯電路的第一輸出端和第二輸出端均與所述第二數據處理電路相連接,所述移位邏輯電路的第三輸出端與所述第二異或邏輯電路的輸入端相連接,所述第二異或邏輯電路的輸出端與所述第二數據處理電路相連接,當所述校驗碼生成單元為多個所述校驗碼生成單元中的首位時,所述移位邏輯電路用于接收所述預處理數據,所述第二數據處理電路用于生成有效標志,根據所述生成標志確定所述預處理數據的最高位,形成循環數據,當所述校驗碼生成單元為中間所述校驗碼生成單元時,所述移位邏輯電路用于接收所述循環數據,當所述校驗碼生成單元為末尾所述校驗碼生成單元時,所述第二數據處理電路用于生成校驗碼。
12、在本專利技術的一些實施例中,所述校驗模塊包括多級緩存單元、比較邏輯單元和與邏輯電路,所述多級緩存單元的輸入端與所述校驗碼生成模塊相連接,所述多級緩存單元的第一輸出端輸出寄存返回值至所述觸發控制模塊,所述多級緩存單元的第二輸出端與所述比較邏輯單元的輸入端相連接,所述比較邏輯單元的輸出端與所述與邏輯電路相連接。
13、在本專利技術的一些實施例中,所述多級緩存單元設置有第一緩存電路、第二緩存電路和第三緩存電路,所述比較邏輯單元設置有第一比較邏輯電路和第二比較邏輯電路,所述第一緩存電路的輸入端與所述校驗碼生成模塊相連接,所述第一緩存電路的第一輸出端與所述觸發控制模塊相連接,所述第一緩存電路的第二輸出端與所述第二緩存電路的輸入端相連接,所述第二緩存電路的第一輸出端與所述第三緩存電路的輸入端相連接,所述第二緩存電路的第二輸出端與所述第一比較邏輯電路的第一輸入端相連接,所述第一比較邏輯電路的第二輸入端和所述第二比較邏輯電路的第一輸入端均與所述觸發控制模塊相連接,所述第三緩存電路的輸出端與所述第二比較邏輯電路的第二輸入端相連接,所述第一比較邏輯電路和所述第二比較邏輯電路的輸出端均與所述與邏輯電路相連接。
14、第二方面,本專利技術實施例提供了一種循環冗余校驗方法,包括:
15、觸發控制模塊接收uart數據,對所述uart數據進行預處理,得到預處理數據;
16、校驗碼生成模塊獲取所述預處理數據的有效標志,所述預處理數據根據所述有效標志確定所述預處理數據的極值,得到冗余校驗碼計算結果;
17、存儲當前所述冗余校驗碼計算結果,獲取第一時鐘周期、第二時鐘周期和第三時鐘周期,所述校驗模塊根據所述第一時鐘周期、所述第二時鐘周期和所述第三時鐘周期得到有效數據的比較結果;
18、根據所述比較結果對所有緩存寄存器進行清空。
19、在本專利技術的一些實施例中,所述預處理數據根據所述有效標志確定所述預處理數據的極值,得到冗余校驗碼計算結果,包括:
20、當所述極值為1時,所述極值左移一位與校驗碼生成模塊進行異或處理;
21、當所述極值為0時,所述極值左移一位保存為第二級數據,所述極值循環計算八次,得到第八級數據,所述第八級數據為所述冗余校驗碼計算結果。
22、在本專利技術的一些實施例中,所述校驗模塊根據所述第一時鐘周期、所述第二時鐘周期和所述第三時鐘周期得到有效數據的比較結果,包括:
23、第一緩存寄存器存儲當前所述冗余校驗碼計算結果和所述第一時鐘周期;
24、第二緩存寄存器存儲第一時鐘周期中所述第一緩存寄存器內容和當前所述第二緩存寄存器內容高位與當前所述第二緩存寄存器在所述第二時鐘周期中接收到的第一有效數據的第一比較結果;
25、第三緩存寄存器存儲所述第二時鐘周期中所述第一緩存寄存器內容、所述第二時鐘周期中所述第二緩存寄存器內容高位與所述第二時鐘周期數據接收步驟中,接收到的所述第一有效數據的比較結果和當前所述第三緩存寄存器內容低位,在所述第三時鐘周期中接收到的第二有效數據的第二比較結果發送至所述觸發控制模塊。
26、在本專利技術的一些實施例中,所述在所述第三時鐘周期中接收到的第二有效數據的比較結果發送至所述觸發控制模塊后,所述方法還包括:
27、在所述第三緩存寄存器接收所述第二有效數據時,將所述第一緩存器中的所述冗余校驗碼計算結果發送至所述觸發控制模塊,進行下一幀的連續運算;
28、所述觸發控制模塊根據預設的結束標志或輸入超時標志,輸出所述第二比較結果;
29、輸出所述第二比較結果后,對所述第一緩存寄存器、所述第二緩存寄存器和所述第三緩存寄存器中進行清空。
30、第三方面,本專利技術實施例提供了一種計算機可讀存儲介質,存儲有計算機可執行指令,所述計算機可執行指令用于執行如上述第二方面所述的循環冗余校驗方法。
31、根據本專利技術實施例的循環冗余校驗電路,至少具有如下本文檔來自技高網...
【技術保護點】
1.一種循環冗余校驗電路,其特征在于,包括:
2.根據權利要求1所述的循環冗余校驗電路,其特征在于,所述觸發控制模塊包括:
3.根據權利要求1所述的循環冗余校驗電路,其特征在于,所述校驗碼生成模塊設置有多個順次連接的校驗碼生成單元,所述校驗碼生成單元包括移位邏輯電路、第二異或邏輯電路和第二數據處理電路,所述移位邏輯電路的輸入端與所述觸發控制模塊電連接,所述移位邏輯電路的第一輸出端和第二輸出端均與所述第二數據處理電路相連接,所述移位邏輯電路的第三輸出端與所述第二異或邏輯電路的輸入端相連接,所述第二異或邏輯電路的輸出端與所述第二數據處理電路相連接,當所述校驗碼生成單元為多個所述校驗碼生成單元中的首位時,所述移位邏輯電路用于接收所述預處理數據,所述第二數據處理電路用于生成有效標志,根據所述生成標志確定所述預處理數據的最高位,形成循環數據,當所述校驗碼生成單元為中間所述校驗碼生成單元時,所述移位邏輯電路用于接收所述循環數據,當所述校驗碼生成單元為末尾所述校驗碼生成單元時,所述第二數據處理電路用于生成校驗碼。
4.根據權利要求1所述的循環冗余校驗電路,其
5.根據權利要求4所述的循環冗余校驗電路,其特征在于,所述多級緩存單元設置有第一緩存電路、第二緩存電路和第三緩存電路,所述比較邏輯單元設置有第一比較邏輯電路和第二比較邏輯電路,所述第一緩存電路的輸入端與所述校驗碼生成模塊相連接,所述第一緩存電路的第一輸出端與所述觸發控制模塊相連接,所述第一緩存電路的第二輸出端與所述第二緩存電路的輸入端相連接,所述第二緩存電路的第一輸出端與所述第三緩存電路的輸入端相連接,所述第二緩存電路的第二輸出端與所述第一比較邏輯電路的第一輸入端相連接,所述第一比較邏輯電路的第二輸入端和所述第二比較邏輯電路的第一輸入端均與所述觸發控制模塊相連接,所述第三緩存電路的輸出端與所述第二比較邏輯電路的第二輸入端相連接,所述第一比較邏輯電路和所述第二比較邏輯電路的輸出端均與所述與邏輯電路相連接。
6.一種循環冗余校驗方法,其特征在于,包括:
7.根據權利要求6所述的循環冗余校驗方法,其特征在于,所述預處理數據根據所述有效標志確定所述預處理數據的極值,得到冗余校驗碼計算結果,包括:
8.根據權利要求6所述的循環冗余校驗方法,其特征在于,所述校驗模塊根據所述第一時鐘周期、所述第二時鐘周期和所述第三時鐘周期得到有效數據的比較結果,包括:
9.根據權利要求8所述的循環冗余校驗方法,其特征在于,所述在所述第三時鐘周期中接收到的第二有效數據的比較結果發送至所述觸發控制模塊后,所述方法還包括:
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有計算機可執行指令,所述計算機可執行指令用于使計算機執行如權利要求6至9任一項所述的基于UART的循環冗余校驗方法。
...【技術特征摘要】
1.一種循環冗余校驗電路,其特征在于,包括:
2.根據權利要求1所述的循環冗余校驗電路,其特征在于,所述觸發控制模塊包括:
3.根據權利要求1所述的循環冗余校驗電路,其特征在于,所述校驗碼生成模塊設置有多個順次連接的校驗碼生成單元,所述校驗碼生成單元包括移位邏輯電路、第二異或邏輯電路和第二數據處理電路,所述移位邏輯電路的輸入端與所述觸發控制模塊電連接,所述移位邏輯電路的第一輸出端和第二輸出端均與所述第二數據處理電路相連接,所述移位邏輯電路的第三輸出端與所述第二異或邏輯電路的輸入端相連接,所述第二異或邏輯電路的輸出端與所述第二數據處理電路相連接,當所述校驗碼生成單元為多個所述校驗碼生成單元中的首位時,所述移位邏輯電路用于接收所述預處理數據,所述第二數據處理電路用于生成有效標志,根據所述生成標志確定所述預處理數據的最高位,形成循環數據,當所述校驗碼生成單元為中間所述校驗碼生成單元時,所述移位邏輯電路用于接收所述循環數據,當所述校驗碼生成單元為末尾所述校驗碼生成單元時,所述第二數據處理電路用于生成校驗碼。
4.根據權利要求1所述的循環冗余校驗電路,其特征在于,所述校驗模塊包括多級緩存單元、比較邏輯單元和與邏輯電路,所述多級緩存單元的輸入端與所述校驗碼生成模塊相連接,所述多級緩存單元的第一輸出端輸出寄存返回值至所述觸發控制模塊,所述多級緩存單元的第二輸出端與所述比較邏輯單元的輸入端相連接,所述比較邏輯單元的輸出端與所述與邏輯電路相連接。
5.根據權利要求4所述的循環冗余校驗電路,其特征在于,所述多級緩存單元設置有第...
【專利技術屬性】
技術研發人員:陳俊宇,韓俊,張俊文,黃仕林,梁漢亮,陳潤浩,
申請(專利權)人:珠海航宇微科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。