本發(fā)明涉及數(shù)據(jù)采集領(lǐng)域,尤其涉及一種千兆以太網(wǎng)傳輸?shù)亩嗤ǖ缊D像數(shù)據(jù)循環(huán)采集系統(tǒng)及采集方法。
背景技術(shù):
數(shù)據(jù)采集系統(tǒng)廣泛的應(yīng)用于航空航天,通訊,雷達(dá),電子測(cè)量,工業(yè)等各個(gè)領(lǐng)域,而多通道數(shù)據(jù)采集系統(tǒng)日益發(fā)展成為一種趨勢(shì)。
傳統(tǒng)多路數(shù)據(jù)采集并傳輸?shù)缴衔粰C(jī)只關(guān)注前端數(shù)據(jù)采集的參數(shù),例如高速,高精度,而多路數(shù)據(jù)進(jìn)入處理器后,如何確保多路數(shù)據(jù)緩存,數(shù)據(jù)處理和傳輸正確性研究很少。
目前很多工業(yè)現(xiàn)場(chǎng)很多采集系統(tǒng)都是通過rs-232或者rs-422/rs-485總線與上位機(jī)pc機(jī)進(jìn)行通訊,很難保證數(shù)據(jù)傳輸?shù)恼_性,穩(wěn)定性,大容數(shù)據(jù)傳輸和遠(yuǎn)距離通信。而采用光纖進(jìn)行數(shù)據(jù)傳輸,又增加了系統(tǒng)設(shè)計(jì)的復(fù)雜性和研發(fā)成本。
例如中國(guó)專利,公告號(hào)為cn102930713a,公開了一種“光纖以太網(wǎng)通信的多通道數(shù)據(jù)同步采集系統(tǒng)”,其通過光纖以太網(wǎng)模塊將數(shù)據(jù)發(fā)送到上位機(jī)生成cvs格式進(jìn)行保存,后續(xù)再進(jìn)行分析。這種通過光纖傳輸?shù)拇嬖谥毕荩瑢?duì)于一些圖像數(shù)據(jù)要求實(shí)時(shí)傳輸和顯示,采用光纖傳輸數(shù)據(jù)需要保存和后處理,這樣畫面會(huì)有一定的延時(shí),又增加了設(shè)計(jì)的難度和成本。
技術(shù)實(shí)現(xiàn)要素:
為了解決背景技術(shù)中的問題,,本發(fā)明提供了一種制造成本低,并且能夠避免數(shù)據(jù)傳輸出現(xiàn)錯(cuò)誤和延遲問題的千兆以太網(wǎng)的多通道數(shù)據(jù)循環(huán)采集系統(tǒng)及采集方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
采用同步rs422總線+fpga+千兆以太網(wǎng)的硬件平臺(tái),通過rs422總線接收?qǐng)D像數(shù)據(jù),同時(shí)采用fpga可以利用其并行性利用其豐富的資源來增加其吞吐量,相比單純的提高速度來提高吞吐量具有更低的功耗并且也降低了系統(tǒng)的不穩(wěn)定性,使得出錯(cuò)的可能性大大降低;另一方面,如果在傳輸數(shù)據(jù)時(shí)對(duì)數(shù)據(jù)進(jìn)行了壓縮,則系統(tǒng)所能傳輸?shù)臄?shù)據(jù)量將大幅提高,用系統(tǒng)復(fù)雜度換取大的數(shù)據(jù)吞吐量在數(shù)據(jù)量巨大的情況下是有效的。因此,采用基于fpga的千兆以太網(wǎng)數(shù)據(jù)傳輸系統(tǒng)對(duì)高速相機(jī)的海量數(shù)據(jù)進(jìn)行傳輸是一個(gè)比較好的選擇。利用千兆以太網(wǎng)吞吐量大、配置靈活的特點(diǎn)對(duì)圖像數(shù)據(jù)進(jìn)行實(shí)時(shí)傳輸。
千兆以太網(wǎng)的多通道數(shù)據(jù)循環(huán)采集系統(tǒng),包括n路數(shù)據(jù)源以及數(shù)據(jù)處理單元、千兆以太網(wǎng)網(wǎng)口以及上位機(jī);
所述n路數(shù)據(jù)源為n臺(tái)用于采集圖像數(shù)據(jù)的相機(jī);
所述數(shù)據(jù)處理單元包括fpga芯片、n路信號(hào)輸入接口、n個(gè)網(wǎng)絡(luò)功能模塊、多通道控制模塊以及網(wǎng)絡(luò)發(fā)送模塊;n≥1;
n路信號(hào)輸入接口、n個(gè)網(wǎng)絡(luò)功能模塊、多通道控制模塊以及網(wǎng)絡(luò)發(fā)送模塊全部集成在fpga芯片上;
n路信號(hào)輸入接口、n個(gè)網(wǎng)絡(luò)功能模塊以及n路數(shù)據(jù)源一一對(duì)應(yīng);
每一路數(shù)據(jù)源通過信號(hào)輸入接口將圖像數(shù)據(jù)發(fā)送至其對(duì)應(yīng)的網(wǎng)絡(luò)功能模塊中;網(wǎng)絡(luò)功能模塊用于將圖像數(shù)據(jù)進(jìn)行緩存并且合成符合udp協(xié)議的廣播數(shù)據(jù)包;
多通道控制模塊通過握手通訊機(jī)制實(shí)現(xiàn)多通道控制模塊循環(huán)對(duì)每一個(gè)網(wǎng)絡(luò)功能模塊進(jìn)行響應(yīng),并且將每一路網(wǎng)絡(luò)功能模塊中的圖像數(shù)據(jù)依次發(fā)送給網(wǎng)絡(luò)發(fā)送模塊;
網(wǎng)絡(luò)發(fā)送模塊通過千兆以太網(wǎng)網(wǎng)口與上位機(jī)通訊。
上述網(wǎng)絡(luò)功能模塊設(shè)置有fifo緩存區(qū);所述廣播數(shù)據(jù)包包括mac地址,ip地址和udp網(wǎng)絡(luò)幀頭和crc校驗(yàn)碼。
上述廣播數(shù)據(jù)包還包括每一個(gè)數(shù)據(jù)源的通道標(biāo)記號(hào)和每一包數(shù)據(jù)的網(wǎng)絡(luò)包計(jì)數(shù)。
上述信號(hào)輸入接口為rs422接口或rs485接口或lvds接口或usb接口。
根據(jù)對(duì)本發(fā)明采集系統(tǒng)的介紹,現(xiàn)對(duì)本發(fā)明的采集方法進(jìn)行闡述:
一種千兆以太網(wǎng)的多通道數(shù)據(jù)循環(huán)采集系統(tǒng),包括以下步驟:
1)n路數(shù)據(jù)源分別通過信號(hào)輸入接口向網(wǎng)絡(luò)功能模塊發(fā)送數(shù)據(jù)圖像;
2)每一個(gè)網(wǎng)絡(luò)功能模塊將每一個(gè)數(shù)據(jù)源提供的圖像數(shù)據(jù)存入fifo緩存區(qū)等待調(diào)度;同時(shí),每一個(gè)網(wǎng)絡(luò)功能模塊對(duì)每一個(gè)數(shù)據(jù)源提供的圖像數(shù)據(jù)添加mac地址,ip地址和udp網(wǎng)絡(luò)幀頭和crc校驗(yàn)碼合成一個(gè)符合udp協(xié)議的廣播數(shù)據(jù)包;
3)每一個(gè)網(wǎng)絡(luò)功能模塊通過提前預(yù)設(shè)的fifo緩存區(qū)的緩存閾值,判斷是否向多通道控制模塊發(fā)送數(shù)據(jù)傳輸請(qǐng)求信號(hào);
若只有一個(gè)網(wǎng)絡(luò)模塊達(dá)到閾值要求,則網(wǎng)絡(luò)功能模塊向多通道控制模塊發(fā)送數(shù)據(jù)傳輸請(qǐng)求信號(hào),進(jìn)行步驟4);
若未達(dá)到閾值要求,則網(wǎng)絡(luò)功能模塊繼續(xù)接收?qǐng)D像數(shù)據(jù);
4)多通道控制模塊進(jìn)行循環(huán)響應(yīng)應(yīng)答,當(dāng)循環(huán)到發(fā)出數(shù)據(jù)傳輸請(qǐng)求信號(hào)的網(wǎng)絡(luò)模塊時(shí),實(shí)現(xiàn)握手通訊,多通道控制模塊將該路圖像數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)發(fā)送模塊;
5)網(wǎng)絡(luò)發(fā)送模塊將該路圖像數(shù)據(jù)通過千兆以太網(wǎng)網(wǎng)口發(fā)送給上位機(jī)。
本發(fā)明的有益效果是:
本發(fā)明通過fpga靈活的配置和強(qiáng)大的并行處理功能循環(huán)采集多通道控制模塊,采用分時(shí)循環(huán)握手通訊機(jī)制循環(huán)采集每一路數(shù)據(jù),不僅較現(xiàn)有的采集系統(tǒng)制造成本大大降低(本發(fā)明采用千兆以太網(wǎng)作為傳輸介質(zhì)較現(xiàn)有技術(shù)采用光纖作為傳輸介質(zhì),在成本上每米價(jià)格降低了80%),并且還能防止多路數(shù)據(jù)之間的沖突和通道數(shù)錯(cuò)亂,采用udp網(wǎng)絡(luò)傳輸協(xié)議,通過千兆以太網(wǎng)實(shí)時(shí)將大容量數(shù)據(jù)高速準(zhǔn)確的傳輸?shù)缴衔粰C(jī)。
附圖說明
圖1為本發(fā)明采集系統(tǒng)的框圖;
圖2為網(wǎng)絡(luò)功能模塊的框圖
圖3為兩個(gè)網(wǎng)絡(luò)功能模塊與多通道控制模塊握手通訊示意圖。
具體實(shí)施方式
參見圖1,千兆以太網(wǎng)的多通道數(shù)據(jù)采集系統(tǒng)由n路數(shù)據(jù)源以及數(shù)據(jù)處理單元,千兆以太網(wǎng)網(wǎng)口和上位機(jī)組成。當(dāng)n路數(shù)據(jù)源同時(shí)進(jìn)入數(shù)據(jù)處理單元,數(shù)據(jù)處理單元接收每一路圖像數(shù)據(jù)進(jìn)行數(shù)據(jù)緩存和等待調(diào)度,最后再通過千兆以太網(wǎng)口發(fā)送給上位機(jī)顯示每一路圖像數(shù)據(jù)。
參見圖2,數(shù)據(jù)處理單元包括fpga芯片、n路信號(hào)輸入接口(本示例中采用的是rs422接口,也可采用rs485接口或lvds接口或usb接口)、n個(gè)網(wǎng)絡(luò)功能模塊、多通道控制模塊以及網(wǎng)絡(luò)發(fā)送模塊;n≥1;
數(shù)據(jù)處理單元主要通過fpga芯片實(shí)現(xiàn),網(wǎng)絡(luò)功能模塊主要通過fifo緩存區(qū)將每一路圖像數(shù)據(jù)進(jìn)行緩存,并且通過對(duì)每一通道數(shù)據(jù)添加mac地址,ip地址和udp網(wǎng)絡(luò)幀頭和crc校驗(yàn)碼,目的是合成符合udp協(xié)議的廣播數(shù)據(jù)包,便于數(shù)據(jù)采集系統(tǒng)通過千兆以太網(wǎng)口發(fā)送給上位機(jī)接收?qǐng)D像數(shù)據(jù)。并且對(duì)每一通道數(shù)據(jù)添加通道標(biāo)記號(hào)和每一通道網(wǎng)絡(luò)包計(jì)數(shù),這樣便于數(shù)據(jù)發(fā)送到上位機(jī)檢查每一通道數(shù)據(jù)是否存在丟數(shù)據(jù)現(xiàn)象。
多通道控制模塊通過握手通訊機(jī)制實(shí)現(xiàn)多通道控制模塊循環(huán)對(duì)每一個(gè)網(wǎng)絡(luò)功能模塊進(jìn)行響應(yīng),并且將每一路網(wǎng)絡(luò)功能模塊中的圖像數(shù)據(jù)依次發(fā)送給網(wǎng)絡(luò)發(fā)送模塊;
網(wǎng)絡(luò)發(fā)送模塊通過千兆以太網(wǎng)網(wǎng)口與上位機(jī)通訊。
該系統(tǒng)的采集方法具體步驟是:
步驟1)n路數(shù)據(jù)源分別通過rs422接口向網(wǎng)絡(luò)功能模塊發(fā)送數(shù)據(jù)圖像;
步驟2)每一個(gè)網(wǎng)絡(luò)功能模塊將每一個(gè)數(shù)據(jù)源提供的圖像數(shù)據(jù)存入fifo緩存區(qū)等待調(diào)度;同時(shí),每一個(gè)網(wǎng)絡(luò)功能模塊對(duì)每一個(gè)數(shù)據(jù)源提供的圖像數(shù)據(jù)添加mac地址,ip地址和udp網(wǎng)絡(luò)幀頭和crc校驗(yàn)碼合成一個(gè)符合udp協(xié)議的廣播數(shù)據(jù)包;
步驟3)每一個(gè)網(wǎng)絡(luò)功能模塊通過提前預(yù)設(shè)的fifo緩存區(qū)的緩存閾值,判斷是否向多通道控制模塊發(fā)送數(shù)據(jù)傳輸請(qǐng)求信號(hào);
若只有一個(gè)網(wǎng)絡(luò)模塊達(dá)到閾值要求,則網(wǎng)絡(luò)功能模塊向多通道控制模塊發(fā)送數(shù)據(jù)傳輸請(qǐng)求信號(hào),進(jìn)行步驟4);
若未達(dá)到閾值要求,則網(wǎng)絡(luò)功能模塊繼續(xù)接收?qǐng)D像數(shù)據(jù);
步驟4)多通道控制模塊進(jìn)行循環(huán)響應(yīng)應(yīng)答,當(dāng)循環(huán)到發(fā)出數(shù)據(jù)傳輸請(qǐng)求信號(hào)的網(wǎng)絡(luò)模塊時(shí),實(shí)現(xiàn)握手通訊,多通道控制模塊將該路圖像數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)發(fā)送模塊;
步驟5)網(wǎng)絡(luò)發(fā)送模塊將該路圖像數(shù)據(jù)通過千兆以太網(wǎng)網(wǎng)口發(fā)送給上位機(jī)。
多通道控制模塊參見圖3,以通道1和通道2相機(jī)圖像數(shù)據(jù)和多通道控制模塊進(jìn)行通訊為例,當(dāng)通道1圖像數(shù)據(jù)進(jìn)入fifo緩存,達(dá)到fifo設(shè)定閾值后,會(huì)向多通道控制模塊發(fā)送一個(gè)高電平數(shù)據(jù)請(qǐng)求信號(hào)ch1_tx_image_busy_o,當(dāng)多通道控制模塊響應(yīng)通道1發(fā)送的數(shù)據(jù)請(qǐng)求信號(hào)后,會(huì)將ch1_tx_image_busy_o信號(hào)拉低,并且會(huì)回復(fù)通道1一個(gè)拉低數(shù)據(jù)響應(yīng)信號(hào)ch1_tx_busy_i,這樣在數(shù)據(jù)發(fā)送端(網(wǎng)絡(luò)功能模塊)和數(shù)據(jù)接收端(多通道控制模塊)實(shí)現(xiàn)了一次數(shù)據(jù)通訊握手機(jī)制,然后通道1將fifo緩存的數(shù)據(jù)發(fā)送給多通道控制模塊,實(shí)現(xiàn)通道1數(shù)據(jù)選通和發(fā)送。
假如在多通道控制模塊和通道1進(jìn)行數(shù)據(jù)通訊握手的時(shí)候,此刻通道2的圖像數(shù)據(jù)fifo緩存也達(dá)到閾值,向多通道控制模塊發(fā)送數(shù)據(jù)發(fā)送請(qǐng)求信號(hào)ch2_tx_image_busy_o,但是多通道控制模塊并沒有循環(huán)到響應(yīng)通道2處,也就沒有接收到的響應(yīng)通道2的數(shù)據(jù)發(fā)送請(qǐng)求,通道2響應(yīng)信號(hào)ch2_tx_busy_i信號(hào)持續(xù)拉高,未被響應(yīng),所以通道2數(shù)據(jù)發(fā)送請(qǐng)求信號(hào)ch2_tx_image_busy_o一直拉高,等待多通道控制模塊的響應(yīng)。只有當(dāng)通道1數(shù)據(jù)發(fā)送完成以后,多通道控制模塊采響應(yīng)通道2數(shù)據(jù)發(fā)送請(qǐng)求信號(hào)。這樣有效的循環(huán)調(diào)度每一路相機(jī)緩存的數(shù)據(jù),防止每一路相機(jī)數(shù)據(jù)沖突,保證每一路數(shù)據(jù)傳輸可靠,正確。