本發(fā)明涉及計(jì)算機(jī)高速數(shù)據(jù)通訊,更具體的涉及基于數(shù)據(jù)幀特征識(shí)別的高速串行接口復(fù)接方法。
背景技術(shù):
1、多路串口數(shù)據(jù)傳輸裝置,是一種可擴(kuò)展多個(gè)串行端口供計(jì)算機(jī)或其他數(shù)據(jù)存儲(chǔ)設(shè)備連接的裝置。目前多串口數(shù)據(jù)傳輸裝置多支持rs232、rs422和rs485串口通訊協(xié)議,這三種接口可通過軟件配置或硬件跳線的方式進(jìn)行切換。目前市面上的多串口數(shù)據(jù)傳輸裝置按照計(jì)算機(jī)側(cè)的接口方式來分,可分為pci、usb、以太網(wǎng)等類型。一般的多串口數(shù)據(jù)傳輸裝置只要安裝上相應(yīng)驅(qū)動(dòng)程序,就可以在電腦的設(shè)備管理器中找到相應(yīng)的com端口,其他應(yīng)用程序可直接通過api函數(shù)或串口通訊控件對(duì)com口進(jìn)行讀寫操作。多串口裝置通常應(yīng)用于工控、軍事、醫(yī)療等行業(yè),除windows系統(tǒng)外,也適用于unix、linux等操作系統(tǒng),是計(jì)算機(jī)通訊系統(tǒng)的重要組成部分。
2、目前,國(guó)內(nèi)外有多家廠商及高校進(jìn)行過多串口通訊裝置及相關(guān)領(lǐng)域研究。在國(guó)內(nèi),西安工程大學(xué)朱耀麟、馬慧銘在2013年設(shè)計(jì)了一種基于fpga的多串口傳輸系統(tǒng),實(shí)現(xiàn)了80路rs-485數(shù)據(jù)的傳輸,該設(shè)計(jì)雖然能進(jìn)行多路串口傳輸,但是根據(jù)其架構(gòu)設(shè)計(jì)的80路數(shù)據(jù)傳輸裝置在100bytes/10ms的全負(fù)荷工作方式下會(huì)以較高頻率出現(xiàn)數(shù)據(jù)幀丟失字節(jié)的情況。
3、moxa公司一直從事多串口傳輸裝置的研發(fā)和生產(chǎn),其生產(chǎn)的產(chǎn)品包括usb接口uport系列、以太網(wǎng)接口的nport系列以及pci接口的系列等。本實(shí)驗(yàn)室一直采購(gòu)moxa公司的多串口數(shù)據(jù)傳輸產(chǎn)品進(jìn)行測(cè)試系統(tǒng)研發(fā),通常將多串口數(shù)據(jù)傳輸裝置安裝在工控機(jī)上后,通過電纜與多個(gè)不斷發(fā)送串口數(shù)據(jù)的信號(hào)源連接。在實(shí)際測(cè)試過程中發(fā)現(xiàn),當(dāng)多路串口低速傳輸數(shù)據(jù)的情況下可以滿足標(biāo)稱的傳輸速率,但若需要加大每個(gè)串口的波特率及幀長(zhǎng)度時(shí),即加大每個(gè)串口的傳輸速度時(shí),接收到的數(shù)據(jù)中會(huì)出現(xiàn)頻發(fā)的字節(jié)丟失現(xiàn)象,盡管此時(shí)加大的程度仍然小于標(biāo)稱速率。例如460800bps波特率下,4路串口同時(shí)傳輸每幀120字節(jié)/10ms以上的數(shù)據(jù)時(shí),數(shù)據(jù)幀不完整;美國(guó)國(guó)家儀器(ni)有限公司是世界領(lǐng)先的測(cè)量?jī)x器生產(chǎn)廠商,其生產(chǎn)的多串口數(shù)據(jù)采集卡,最多可以傳輸16路的串口數(shù)據(jù),每路串口波特率可達(dá)1mbps。通過對(duì)其產(chǎn)品pci8431/8進(jìn)行測(cè)試,發(fā)現(xiàn)在921600bps下,可以保證8路串口160bytes/10ms的傳輸不丟數(shù),但是繼續(xù)增加為后仍然頻發(fā)字節(jié)丟失現(xiàn)象。
4、從以上對(duì)國(guó)內(nèi)外多種設(shè)計(jì)和產(chǎn)品的實(shí)驗(yàn)分析可以看出,現(xiàn)有的多串口數(shù)據(jù)傳輸裝置缺點(diǎn)是多路串口同時(shí)高速傳輸時(shí),數(shù)據(jù)丟失問題嚴(yán)重。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明實(shí)施例提供基于數(shù)據(jù)幀特征識(shí)別的高速串行接口復(fù)接方法,包括:、在fpga中執(zhí)行以下步驟:
2、根據(jù)探測(cè)到的串口數(shù)據(jù)幀的幀頭和幀尾使用數(shù)字鎖相法進(jìn)行頻率和相位調(diào)整,獲得各路串口同頻同相位的數(shù)據(jù)碼流;
3、將采集器電路板上的ocxo恒溫晶振模塊作為時(shí)鐘源,通過可配置的鎖相環(huán)pll的ip核分別產(chǎn)生供各單元邏輯使用的時(shí)鐘基準(zhǔn),獲得系統(tǒng)同步時(shí)序;
4、根據(jù)獲得的各路串口同頻同相位的數(shù)據(jù)碼流和系統(tǒng)同步時(shí)序,以同步有限狀態(tài)機(jī)fsm按幀復(fù)接,將多路并發(fā)的串口數(shù)據(jù)合成為一路高速接口數(shù)據(jù)。
5、進(jìn)一步,在將多路并發(fā)的串口數(shù)據(jù)合成為1路的高速接口數(shù)據(jù)之前,還包括:
6、根據(jù)數(shù)據(jù)幀格式自動(dòng)優(yōu)化并配置查詢方式的參數(shù);
7、根據(jù)配置好的查詢方式的參數(shù)優(yōu)化dma塊傳輸?shù)膮?shù)。
8、進(jìn)一步,查詢方式的參數(shù),包括:
9、查詢的時(shí)間間隔及串口模塊的緩存區(qū)大小。
10、進(jìn)一步,dma塊傳輸?shù)膮?shù),包括:
11、dma塊傳輸?shù)臄?shù)據(jù)包大小和dma中斷頻率。
12、進(jìn)一步,在根據(jù)數(shù)據(jù)幀格式自動(dòng)優(yōu)化并配置查詢方式的參數(shù)之前,還包括以中斷方式探測(cè)各并發(fā)的串口數(shù)據(jù)幀格式,其包括:
13、通過中斷時(shí)間間隔的測(cè)量找出數(shù)據(jù)幀長(zhǎng)度和數(shù)據(jù)幀之間的發(fā)送時(shí)間間隔信息。
14、本發(fā)明還提供一種基于數(shù)據(jù)幀特征識(shí)別的高速串行接口復(fù)接系統(tǒng),其特征在于,包括:
15、數(shù)據(jù)幀獲取模塊,用于探測(cè)多路串口數(shù)據(jù)幀;
16、碼速調(diào)整模塊,用于根據(jù)探測(cè)到的串口數(shù)據(jù)幀的幀頭和幀尾使用數(shù)字鎖相法進(jìn)行頻率和相位調(diào)整,獲得各路串口同頻同相位的數(shù)據(jù)碼流;
17、復(fù)接器定時(shí)模塊,用于將采集器電路板上的ocxo恒溫晶振模塊作為時(shí)鐘源,通過可配置的鎖相環(huán)pll的ip核分別產(chǎn)生供各單元邏輯使用的時(shí)鐘基準(zhǔn),獲得系統(tǒng)同步時(shí)序;
18、復(fù)接控制模塊,用于根據(jù)獲得的各路串口同頻同相位的數(shù)據(jù)碼流和系統(tǒng)同步時(shí)序,以同步有限狀態(tài)機(jī)fsm按幀復(fù)接串口數(shù)據(jù)幀,將多路并發(fā)的串口數(shù)據(jù)合成為一路高速接口數(shù)據(jù)。
19、本發(fā)明實(shí)施例提供基于數(shù)據(jù)幀特征識(shí)別的高速串行接口復(fù)接方法,與現(xiàn)有技術(shù)相比,其有益效果如下:
20、1、本發(fā)明公開了一種在64個(gè)串行接口同時(shí)傳輸數(shù)據(jù),并且每個(gè)串行接口通訊速度可達(dá)到400bytes/10ms時(shí)字節(jié)丟失率為零的64串口高速并行傳輸裝置。
21、2、本發(fā)明公開了了使用探測(cè)到的串口數(shù)據(jù)幀的幀頭和幀尾使用數(shù)字鎖相法進(jìn)行調(diào)整,以使得各路串口數(shù)據(jù)碼流在fpga中保持同頻同相位的穩(wěn)定狀態(tài),這樣的狀態(tài)使得前述的串口數(shù)據(jù)查詢方式更加穩(wěn)定可靠。
22、3、使用采集器電路板上的ocxo恒溫晶振模塊作為時(shí)鐘源引入fpga中,通過可配置的鎖相環(huán)pll的ip核分別產(chǎn)生供各單元邏輯使用的時(shí)鐘基準(zhǔn)以保證整個(gè)系統(tǒng)時(shí)序的同步性。
23、4、采用在fpga中設(shè)計(jì)的專用同步有限狀態(tài)機(jī)fsm以按幀復(fù)接方式實(shí)現(xiàn)復(fù)接控制單元提高了數(shù)據(jù)在滿負(fù)荷傳輸時(shí)的可靠性。
1.基于數(shù)據(jù)幀特征識(shí)別的高速串行接口復(fù)接方法,其特征在于,包括:
2.如權(quán)利要求1所述的基于數(shù)據(jù)幀特征識(shí)別的高速串行接口復(fù)接方法,其特征在于,在所述將多路并發(fā)的串口數(shù)據(jù)合成為一路的高速接口數(shù)據(jù)之前,還包括:
3.如權(quán)利要求2所述的基于數(shù)據(jù)幀特征識(shí)別的高速串行接口復(fù)接方法,其特征在于,所述查詢方式的參數(shù),包括:
4.如權(quán)利要求2所述的基于數(shù)據(jù)幀特征識(shí)別的高速串行接口復(fù)接方法,其特征在于,所述dma塊傳輸?shù)膮?shù),包括:
5.如權(quán)利要求2所述的基于數(shù)據(jù)幀特征識(shí)別的高速串行接口復(fù)接方法,其特征在于,在所述根據(jù)數(shù)據(jù)幀格式自動(dòng)優(yōu)化并配置查詢方式的參數(shù)之前,還包括以中斷方式探測(cè)各并發(fā)的串口數(shù)據(jù)幀格式,其包括:
6.基于數(shù)據(jù)幀特征識(shí)別的高速串行接口復(fù)接系統(tǒng),其特征在于,包括: