亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于fpga的幀解析方法及裝置制造方法

文檔序號(hào):7821444閱讀:449來(lái)源:國(guó)知局
一種基于fpga的幀解析方法及裝置制造方法
【專利摘要】本發(fā)明涉及一種幀解析方法,特別涉及一種基于FPGA(Field-ProgrammableGateArray,即現(xiàn)場(chǎng)可編程門陣列)的幀解析方法及裝置,其利用FIFO存儲(chǔ)器來(lái)緩存接收到的數(shù)據(jù),將接收到的數(shù)據(jù)寫入到FIFO存儲(chǔ)器中,其利用一個(gè)FPGA模擬串口和雙口RAM節(jié)省芯片數(shù)量、提高性能、降低成本、增強(qiáng)了穩(wěn)定性,本發(fā)明可以應(yīng)用在計(jì)算機(jī)領(lǐng)域,降低功耗、節(jié)省了芯片數(shù)量提高性能為管理板PCB布局布線提供方便。
【專利說(shuō)明】—種基于FPGA的巾貞解析方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種巾貞解析方法,特別涉及一種基于FPGA (Field — ProgrammableGate Array,即現(xiàn)場(chǎng)可編程門陣列)的幀解析方法及裝置,其適用于對(duì)FPGA內(nèi)模擬了串口后接收的串口數(shù)據(jù)的幀解析或者FPGA讀取的雙口 RAM (Random-Access Memory隨機(jī)存取存儲(chǔ)器)的數(shù)據(jù)的幀解析,適用于FPGA內(nèi)一切需要做幀解析的數(shù)據(jù)。

【背景技術(shù)】
[0002]現(xiàn)有技術(shù)下,在幀解析項(xiàng)目中,需要把從FPGA模擬串口接收的數(shù)據(jù)寫入到雙口RAM中,然后通過(guò)雙口 RAM另一端把數(shù)據(jù)送給CPU或者是將CPU送給雙口 RAM的數(shù)據(jù)通過(guò)另一個(gè)串口發(fā)送出去。
[0003]目前的方法是利用的是5個(gè)單片機(jī)來(lái)實(shí)現(xiàn)此功能,其不但需要使用大量芯片,而且傳輸性能低,穩(wěn)定性也較差。
[0004]FIFO (First In First Out)存儲(chǔ)器,簡(jiǎn)單說(shuō)就是指先進(jìn)先出存儲(chǔ)器,是系統(tǒng)的緩沖環(huán)節(jié)。


【發(fā)明內(nèi)容】

[0005]為了解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明提供了一種基于FPGA的幀解析方法及裝置,其利用寄存器來(lái)緩存接收到的數(shù)據(jù),將接收到的數(shù)據(jù)寫入到FIFO存儲(chǔ)器中,利用一個(gè)FPGA模擬串口和雙口 RAM節(jié)省芯片數(shù)量、提高性能、降低成本、增強(qiáng)了穩(wěn)定性。
[0006]本發(fā)明所采用的技術(shù)方案如下:
一種基于FPGA的幀解析方法,是利用FIFO存儲(chǔ)器來(lái)緩存接收到的數(shù)據(jù),將接收到的數(shù)據(jù)寫入到FIFO存儲(chǔ)器中,對(duì)接收到的數(shù)據(jù)向FIFO存儲(chǔ)器寫入前需要進(jìn)行幀頭和幀尾的判斷:
當(dāng)檢測(cè)數(shù)據(jù)檢測(cè)為幀頭時(shí),將FIFO存儲(chǔ)器內(nèi)的數(shù)據(jù)清除,開(kāi)始向FIFO存儲(chǔ)器寫入數(shù)據(jù);
當(dāng)檢測(cè)數(shù)據(jù)檢測(cè)為幀尾時(shí),若幀尾數(shù)據(jù)正確則此幀接收完畢,若幀尾檢測(cè)不正確則將FIFO存儲(chǔ)器數(shù)據(jù)清除等待下一次幀頭檢測(cè)。
[0007]幀解析方法是先將接收到的數(shù)據(jù)的前3個(gè)字節(jié)緩存起來(lái):2個(gè)字節(jié)的幀頭,I個(gè)字節(jié)的數(shù)據(jù)格式;只有當(dāng)判斷的緩存字節(jié)前兩個(gè)為幀頭時(shí),才開(kāi)啟向FIFO存儲(chǔ)器寫入數(shù)據(jù)的使能信號(hào),第3個(gè)字節(jié)為幀數(shù)據(jù)長(zhǎng)度的判別標(biāo)志。因?yàn)榍?個(gè)字節(jié)緩存起來(lái),這樣的話再向FIFO寫入一幀數(shù)據(jù)時(shí)使能FIFO寫入信號(hào)就缺少了 3個(gè)有效的使能信號(hào),所以在此專利中當(dāng)幀發(fā)送完畢時(shí)模擬了 3個(gè)FIFO寫有效使能信號(hào)。
[0008]一種基于FPGA的幀解析裝置,包括雙口 RAM,所述的雙口 RAM兩側(cè)分別通過(guò)FIFO存儲(chǔ)器連接FPGA的模擬串口(RS232),從FPGA的模擬串口接收的數(shù)據(jù)通過(guò)FIFO存儲(chǔ)器緩存后寫入到雙口 RAM中,然后通過(guò)雙口 RAM另一端把數(shù)據(jù)送給CPU。
[0009]FIFO存儲(chǔ)器包括數(shù)據(jù)緩存模塊、拋幀模塊、幀接收標(biāo)志產(chǎn)生模塊、幀數(shù)據(jù)寫入FIFO使能信號(hào)產(chǎn)生模塊、產(chǎn)生額外FIFO寫使能信號(hào)的狀態(tài)模塊和寫入FIFO的幀數(shù)據(jù)模塊,其中,數(shù)據(jù)緩存模塊是以時(shí)鐘觸發(fā),當(dāng)串口接收完數(shù)據(jù)發(fā)送一個(gè)rx_data_valid信號(hào)觸發(fā)緩存數(shù)據(jù);拋巾貞模塊是當(dāng)檢到緩存數(shù)據(jù)寄存器rx_datal_0和rx_data_in_0為巾貞頭時(shí)復(fù)位FIFO存儲(chǔ)器,把以前的數(shù)據(jù)拋掉,數(shù)據(jù)格式確定后檢測(cè)幀尾不正確時(shí)復(fù)位FIFO存儲(chǔ)器;幀接收標(biāo)志產(chǎn)生模塊是當(dāng)檢測(cè)到幀頭和幀格式數(shù)據(jù)時(shí)產(chǎn)生幀接收標(biāo)志和幀接收數(shù)據(jù)長(zhǎng)度;中貞數(shù)據(jù)寫入FIFO使能信號(hào)產(chǎn)生模塊根據(jù)rx_data_valid和rx_end_state產(chǎn)生接收使能信號(hào);額外FIFO寫使能信號(hào)產(chǎn)生模塊是當(dāng)rx_cnt大于巾貞長(zhǎng)度_ 3后rx_end_state開(kāi)始自加一;寫入FIFO的幀數(shù)據(jù)模塊是將第三個(gè)緩存寄存器的值寫入FIFO存儲(chǔ)器,然后根據(jù)rx_end_state的狀態(tài)來(lái)把緩存缺少的3個(gè)數(shù)據(jù)補(bǔ)入到FIFO存儲(chǔ)器中。
[0010]本發(fā)明提供的技術(shù)方案帶來(lái)的有益效果是:
本發(fā)明的一種基于FPGA的幀解析方法及裝置是利用FIFO存儲(chǔ)器來(lái)緩存接收到的數(shù)據(jù),將接收到的數(shù)據(jù)寫入到FIFO存儲(chǔ)器中,其利用一個(gè)FPGA模擬串口和雙口 RAM節(jié)省芯片數(shù)量、提高性能、降低成本、增強(qiáng)了穩(wěn)定性,本發(fā)明可以應(yīng)用在計(jì)算機(jī)領(lǐng)域,降低功耗、節(jié)省了芯片數(shù)量提高性能為管理板PCB布局布線提供方便。

【專利附圖】

【附圖說(shuō)明】
[0011]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0012]圖1為本發(fā)明的一種基于FPGA的幀解析方法及裝置的裝置框圖。
[0013]圖2為本發(fā)明的一種基于FPGA的幀解析方法及裝置的幀解析模塊框圖。

【具體實(shí)施方式】
[0014]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0015]實(shí)施例一
一種基于FPGA的幀解析方法,是利用FIFO存儲(chǔ)器來(lái)緩存接收到的數(shù)據(jù),將接收到的數(shù)據(jù)寫入到FIFO存儲(chǔ)器中,對(duì)接收到的數(shù)據(jù)向FIFO存儲(chǔ)器寫入前需要進(jìn)行幀頭和幀尾的判斷:
當(dāng)檢測(cè)數(shù)據(jù)檢測(cè)為幀頭時(shí),將FIFO存儲(chǔ)器內(nèi)的數(shù)據(jù)清除,開(kāi)始向FIFO存儲(chǔ)器寫入數(shù)據(jù);
當(dāng)檢測(cè)數(shù)據(jù)檢測(cè)為幀尾時(shí),若幀尾數(shù)據(jù)正確則此幀接收完畢,若幀尾檢測(cè)不正確則將FIFO存儲(chǔ)器數(shù)據(jù)清除等待下一次幀頭檢測(cè)。
[0016]如附圖2所示,系統(tǒng)上電后,通過(guò)串口 RS232發(fā)送一個(gè)幀數(shù)據(jù):幀數(shù)據(jù)定義為幀頭為0xed、0x90,數(shù)據(jù)格式定義為0x00的64字節(jié)長(zhǎng)度的幀,幀尾定義為0x90、0xed,幀數(shù)據(jù)為
Oxaa0
[0017]在系統(tǒng)內(nèi)部將串口模塊、FIFO存儲(chǔ)器、雙口 RAM模塊鏈接起來(lái),一端串口接收發(fā)送的長(zhǎng)度為64字節(jié)的帶有幀頭和幀尾的數(shù)據(jù),經(jīng)過(guò)幀解析模塊解析后送到FIFO存儲(chǔ)器內(nèi),控制雙口 RAM模塊讀取FIFO存儲(chǔ)器數(shù)據(jù)后通過(guò)雙口 RAM另一端送給另一端FIFO存儲(chǔ)器,通過(guò)另一個(gè)串口把數(shù)據(jù)發(fā)送出去。
[0018]本實(shí)施例的幀解析方法是先將接收到的數(shù)據(jù)的前3個(gè)字節(jié)緩存起來(lái):2個(gè)字節(jié)的幀頭,I個(gè)字節(jié)的數(shù)據(jù)格式;只有當(dāng)判斷的緩存字節(jié)前兩個(gè)為幀頭時(shí),才開(kāi)啟向FIFO存儲(chǔ)器寫入數(shù)據(jù)的使能信號(hào),第3個(gè)字節(jié)為幀數(shù)據(jù)長(zhǎng)度的判別標(biāo)志。因?yàn)榍?個(gè)字節(jié)緩存起來(lái),這樣的話再向FIFO寫入一幀數(shù)據(jù)時(shí)使能FIFO寫入信號(hào)就缺少了 3個(gè)有效的使能信號(hào),所以在此專利中當(dāng)幀發(fā)送完畢時(shí)模擬了 3個(gè)FIFO寫有效使能信號(hào)。
[0019]實(shí)施例二:
如附圖1所示,一種基于FPGA的幀解析裝置,包括雙口 RAM,所述的雙口 RAM兩側(cè)分別通過(guò)FIFO存儲(chǔ)器連接FPGA的模擬串口(RS232),從FPGA的模擬串口接收的數(shù)據(jù)通過(guò)FIFO存儲(chǔ)器緩存后寫入到雙口 RAM中,然后通過(guò)雙口 RAM另一端把數(shù)據(jù)送給CPU。
[0020]數(shù)據(jù)緩存模塊是以時(shí)鐘觸發(fā),當(dāng)串口接收完數(shù)據(jù)發(fā)送一個(gè)rX_data_valid信號(hào)觸發(fā)緩存數(shù)據(jù);拋巾貞模塊是當(dāng)檢到緩存數(shù)據(jù)寄存器rx_datal_0和rx_data_in_0為巾貞頭時(shí)復(fù)位FIF0,把以前的數(shù)據(jù)拋掉,數(shù)據(jù)格式確定后檢測(cè)幀尾不正確時(shí)復(fù)位FIFO ;幀接收標(biāo)志產(chǎn)生模塊是當(dāng)檢測(cè)到幀頭和幀格式數(shù)據(jù)時(shí)產(chǎn)生幀接收標(biāo)志和幀接收數(shù)據(jù)長(zhǎng)度;幀數(shù)據(jù)寫入FIFO使能信號(hào)產(chǎn)生模塊根據(jù)rx_data_valid和rx_end_state【2:0】產(chǎn)生接收使能信號(hào);額外FIFO寫使能信號(hào)產(chǎn)生模塊是當(dāng)rx_cnt大于(巾貞長(zhǎng)度-3)后rx_end_state開(kāi)始自加一;寫入FIFO的幀數(shù)據(jù)模塊是將第三個(gè)緩存寄存器的值寫入FIF0,然后根據(jù)rx_end_State的狀態(tài)來(lái)把緩存缺少的3個(gè)數(shù)據(jù)補(bǔ)入到FIFO中。當(dāng)rx_cnt大于幀長(zhǎng)度減去三的數(shù)后,就不會(huì)有rx_data_valid信號(hào)產(chǎn)生,這時(shí)根據(jù)rx_end_state狀態(tài)來(lái)產(chǎn)生3個(gè)FIFO寫使能信號(hào)以補(bǔ)充由于利用緩存而缺少的三個(gè)FIFO寫使能信號(hào)。
[0021 ] 以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于FPGA的幀解析方法,是利用FIFO存儲(chǔ)器來(lái)緩存接收到的數(shù)據(jù),將接收到的數(shù)據(jù)寫入到FIFO存儲(chǔ)器中,對(duì)接收到的數(shù)據(jù)向FIFO存儲(chǔ)器寫入前需要進(jìn)行幀頭和幀尾的判斷: 當(dāng)檢測(cè)數(shù)據(jù)檢測(cè)為幀頭時(shí),將FIFO存儲(chǔ)器內(nèi)的數(shù)據(jù)清除,開(kāi)始向FIFO存儲(chǔ)器寫入數(shù)據(jù); 當(dāng)檢測(cè)數(shù)據(jù)檢測(cè)為幀尾時(shí),若幀尾數(shù)據(jù)正確則此幀接收完畢,若幀尾檢測(cè)不正確則將FIFO存儲(chǔ)器數(shù)據(jù)清除等待下一次幀頭檢測(cè)。
2.根據(jù)權(quán)利要求1所述的一種基于FPGA的幀解析方法,其特征在于,所述的幀解析方法是先將接收到的數(shù)據(jù)的前3個(gè)字節(jié)緩存起來(lái):2個(gè)字節(jié)的幀頭,I個(gè)字節(jié)的數(shù)據(jù)格式;只有當(dāng)判斷的緩存字節(jié)前兩個(gè)為幀頭時(shí),才開(kāi)啟向FIFO存儲(chǔ)器寫入數(shù)據(jù)的使能信號(hào),第3個(gè)字節(jié)為幀數(shù)據(jù)長(zhǎng)度的判別標(biāo)志。
3.一種基于FPGA的幀解析裝置,包括雙口 RAM,所述的雙口 RAM兩側(cè)分別通過(guò)FIFO存儲(chǔ)器連接FPGA的模擬串口(RS232),從FPGA的模擬串口接收的數(shù)據(jù)通過(guò)FIFO存儲(chǔ)器緩存后寫入到雙口 RAM中,然后通過(guò)雙口 RAM另一端把數(shù)據(jù)送給CPU。
4.根據(jù)權(quán)利要求3所述的一種基于FPGA的幀解析裝置,其特征在于,所述的FIFO存儲(chǔ)器包括數(shù)據(jù)緩存模塊、拋幀模塊、幀接收標(biāo)志產(chǎn)生模塊、幀數(shù)據(jù)寫入FIFO使能信號(hào)產(chǎn)生模塊、產(chǎn)生額外FIFO寫使能信號(hào)的狀態(tài)模塊和寫入FIFO的幀數(shù)據(jù)模塊,其中,數(shù)據(jù)緩存模塊是以時(shí)鐘觸發(fā),當(dāng)串口接收完數(shù)據(jù)發(fā)送一個(gè)rx_data_valid信號(hào)觸發(fā)緩存數(shù)據(jù);拋幀模塊是當(dāng)檢到緩存數(shù)據(jù)寄存器rx_datal_0和rx_data_in_0為幀頭時(shí)復(fù)位FIFO存儲(chǔ)器,把以前的數(shù)據(jù)拋掉,數(shù)據(jù)格式確定后檢測(cè)幀尾不正確時(shí)復(fù)位FIFO存儲(chǔ)器;幀接收標(biāo)志產(chǎn)生模塊是當(dāng)檢測(cè)到幀頭和幀格式數(shù)據(jù)時(shí)產(chǎn)生幀接收標(biāo)志和幀接收數(shù)據(jù)長(zhǎng)度;幀數(shù)據(jù)寫入FIFO使能信號(hào)產(chǎn)生模塊根據(jù)rx_data_valid和rx_end_state產(chǎn)生接收使能信號(hào);額外FIFO寫使能信號(hào)產(chǎn)生模塊是當(dāng)rx_cnt大于巾貞長(zhǎng)度-3后rx_end_state開(kāi)始自加一;寫入FIFO的中貞數(shù)據(jù)模塊是將第三個(gè)緩存寄存器的值寫入FIFO存儲(chǔ)器,然后根據(jù)rx_end_State的狀態(tài)來(lái)把緩存缺少的3個(gè)數(shù)據(jù)補(bǔ)入到FIFO存儲(chǔ)器中。
【文檔編號(hào)】H04L1/00GK104468039SQ201410711387
【公開(kāi)日】2015年3月25日 申請(qǐng)日期:2014年12月1日 優(yōu)先權(quán)日:2014年12月1日
【發(fā)明者】張孝飛, 梁智豪, 劉強(qiáng) 申請(qǐng)人:浪潮集團(tuán)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1