[發明專利]一種面向智能物聯的異步串行大數據可靠傳輸方法有效
| 申請號: | 201711428071.1 | 申請日: | 2017-12-26 |
| 公開(公告)號: | CN108170629B | 公開(公告)日: | 2019-01-25 |
| 發明(設計)人: | 陶飛;鄒孝付;李建國 | 申請(專利權)人: | 北京航空航天大學;北京神州飛航科技有限責任公司 |
| 主分類號: | G06F13/42 | 分類號: | G06F13/42;G06F17/50 |
| 代理公司: | 北京科迪生專利代理有限責任公司 11251 | 代理人: | 楊學明;顧煒 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 異步串行 時鐘周期 數據接收管腳 異步串行數據 可靠傳輸 驅動數據 數據接收 大數據 發送管 主時鐘 物聯 時鐘產生模塊 數據發送管腳 輸出低電平 下降沿檢測 有效性檢測 智能 多點采樣 發送模塊 接收模塊 數據格式 字節數據 高電平 開始位 停止位 分頻 濾波 收發 發送 驅動 輸出 | ||
1.一種面向智能物聯的異步串行大數據可靠傳輸方法,該方法利用VHDL語言設計并在FPGA上實現,該方法收發的數據格式為8位數據位,1位開始位和1位停止位,其特征在于:包括以下步驟:
步驟一:異步串行時鐘產生模塊,將FPGA主時鐘分頻得到異步串行時鐘,該異步串行時鐘是異步串行數據收發的驅動時鐘,具體實現如下:
①設FPGA主時鐘為GCLK,設異步串行波特率為Band_rate,則FPGA主時鐘分頻系數Division_coefficient=GCLK/(Band_rate×32);
②設FPGA主時鐘分頻變量為Division_variable,其初值為0,設異步串行時鐘為Serial_clk,在FPGA主時鐘的驅動下,Division_variable在每個時鐘周期內都加1;
③當Division_variable等于Division_coefficient時,Division_variable清零,同時Serial_clk取反;
④在GCLK的驅動下,Division_variable繼續在每個時鐘周期內都加1,重復③;
步驟二:異步串行數據接收模塊,該模塊實現FPGA異步串行數據接收管腳的同步、濾波,異步串行數據接收有效性檢測和異步串行數據接收,具體實現如下:
①設FPGA異步串行數據接收管腳為rx,在GCLK的驅動下,將rx賦值給變量rx_temp_0,然后將變量rx_temp_0賦值給變量rx_temp_1,這樣就實現了rx與GCLK和Serial_clk的同步以及rx的濾波;
②在GCLK的驅動下,檢測rx_temp_0和rx_temp_1的電平,當rx_temp_0為低電平,并且rx_temp_1為高電平時表明rx產生下降沿,此時變量rcv_start為高電平,否則rcv_start為低電平;當rcv_start為高電平時,變量rcv_start_true為高電平;當沒有檢測到rx產生下降沿時,返回①;
③在Serial_clk的驅動下,當檢測到rcv_start_true為高電平,即表示rx產生下降沿信號,可以接收數據;
④在Serial_clk的驅動下,對rx連續采樣16次,并判斷每一次的電平值,當任意一次的采樣值是高電平時,說明該次異步串行數據接收無效,隨后將rcv_start_true復位為低電平,并返回①,否則rcv_start_true保持不變;
⑤在Serial_clk的驅動下,當該次異步串行數據接收有效后,對rx連續采樣128次,其中每16次為一組,即采樣8組;同時設變量rx_bit_low和rx_bit_high;
⑥在Serial_clk的驅動下,將rx_bit_low和rx_bit_high分別賦值0,對于每一組的16次采樣,當采樣到高電平時rx_bit_high加1,否則rx_bit_low加1,在該組的第16次采樣完成后判斷rx_bit_high和rx_bit_low的大小,當rx_bit_high大于rx_bit_low時,變量bit_0為1,否則為0;
⑦重復⑥接著判斷下一組的16次采樣;
⑧當全部8組采樣完畢后,得到8個變量值,分別為bit_0、bit_1、bit_2、bit_3、bit_4、bit_5、bit_6、bit_7,設變量rx_data為異步串行接收到的數據,則rx_data=bit_7×128+bit_6×64+bit_×32+bit_4×16+bit_3×8+bit_2×4+bit_1×2+bit_0×1;
⑨在Serial_clk的驅動下,當完成rx_data的計算后,對rx進行采樣,當采樣了16次后,將rcv_start_true復位為低電平,返回①;
步驟三:異步串行數據發送模塊,具體實現如下:
①設FPGA異步串行數據發送管腳為tx,在Serial_clk的驅動下,將tx復位為低電平,并持續16個時鐘周期;
②在Serial_clk的驅動下,將待發送的1字節數據按照從低到高的bit順序依次賦值給tx,并分別持續16個時鐘周期;
③在Serial_clk的驅動下,將tx設置為高電平,并持續16個時鐘周期,返回①;
該面向智能物聯的異步串行大數據可靠傳輸方法設計的異步串行數據接收管腳的同步、濾波,異步串行數據接收有效性檢測和異步串行數據多點采樣收發能夠極大的保證數據傳輸的可靠性。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學;北京神州飛航科技有限責任公司,未經北京航空航天大學;北京神州飛航科技有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711428071.1/1.html,轉載請聲明來源鉆瓜專利網。





