国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于EtherCAT協(xié)議的可視倒車系統(tǒng)

2017-05-19 21:41杜佐勤余慶漢
科技創(chuàng)新與應(yīng)用 2017年14期

杜佐勤+++余慶漢

摘 要:EtherCAT是一種實(shí)時(shí)的工業(yè)以太網(wǎng)技術(shù),使用特殊的以太網(wǎng)類型,過(guò)程數(shù)據(jù)可以在以太網(wǎng)幀內(nèi)直接傳輸。EtherCAT數(shù)據(jù)幀在從站節(jié)點(diǎn)是通過(guò)硬件進(jìn)行處理,只有很小的延時(shí)。文章介紹EtherCAT協(xié)議原理和特點(diǎn),并通過(guò)EtherCAT主站和從站的軟硬件設(shè)計(jì),實(shí)現(xiàn)了倒車影像的采集傳輸和顯示。倒車影像的數(shù)據(jù)量比較大,實(shí)時(shí)性要求很高,通過(guò)EtherCAT網(wǎng)絡(luò)傳輸能夠很好地解決倒車影像的實(shí)時(shí)同步顯示。

關(guān)鍵詞:EtherCAT協(xié)議;IMX6Q;可視倒車;ET1100

1 概述

隨著汽車安全監(jiān)控需求的日益增加,動(dòng)態(tài)圖像信息需要實(shí)現(xiàn)同步實(shí)時(shí)傳輸,傳統(tǒng)的Ethernet、USB等通訊方式已經(jīng)滿足不了需求。EtherCAT是由德國(guó)自動(dòng)化公司BECKHOFF于2003年提出的實(shí)時(shí)工業(yè)以太網(wǎng)技術(shù)[1]。EtherCAT技術(shù)傳輸速度快,延時(shí)很小,一幀EtherCAT幀可以傳輸1400多字節(jié)的數(shù)據(jù),可以滿足大數(shù)據(jù)的實(shí)時(shí)傳輸。

本文章介紹了一種采用實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù),倒車影像采集器作為從站,將高度壓縮的倒車影像數(shù)據(jù)實(shí)時(shí)傳輸?shù)紼therCAT主站進(jìn)行實(shí)時(shí)顯示。整個(gè)設(shè)計(jì)采用主從模式,系統(tǒng)采用飛思卡爾IMX6Q作為EtherCAT主站,采用飛思卡爾IMX6Q+Beckhoff公司的ET1100作為從站。

2 EtherCAT原理和特點(diǎn)

EtherCAT是目前傳輸最快的工業(yè)以太網(wǎng)之一,EtherCAT使用標(biāo)準(zhǔn)的以太網(wǎng)電纜進(jìn)行傳輸。EtherCAT采用主從模式,從站節(jié)點(diǎn)可以連接成總線型、星型等幾乎所有的拓?fù)浣Y(jié)構(gòu)[2]。

EtherCAT節(jié)點(diǎn)的順序和網(wǎng)絡(luò)中的以太網(wǎng)端子的物理順序無(wú)關(guān),節(jié)點(diǎn)間可以通過(guò)組播、廣播和多播的方式實(shí)現(xiàn)通訊。標(biāo)準(zhǔn)的以太網(wǎng)幀可以包含一個(gè)或多個(gè)子報(bào)文,多個(gè)從站節(jié)點(diǎn)可以使用同一EtherCAT幀進(jìn)行通訊。表1是標(biāo)準(zhǔn)的EtherCAT幀結(jié)構(gòu),其中包括目的地址、源地址、幀類型以及報(bào)文數(shù)據(jù)和幀校驗(yàn)。

在EtherCAT系統(tǒng)中,通過(guò)主站發(fā)送數(shù)據(jù)和接收數(shù)據(jù)。數(shù)據(jù)幀由主站發(fā)出,經(jīng)過(guò)第一個(gè)從站時(shí)進(jìn)行解碼,后續(xù)從站不需要再進(jìn)行解碼操作。數(shù)據(jù)幀經(jīng)過(guò)從站節(jié)點(diǎn)時(shí),每個(gè)節(jié)點(diǎn)可以根據(jù)邏輯地址在屬于自己的報(bào)文中進(jìn)行數(shù)據(jù)的讀取和寫入,當(dāng)節(jié)點(diǎn)根據(jù)報(bào)文頭中的命令成功對(duì)數(shù)據(jù)幀進(jìn)行操作后,從站會(huì)將該報(bào)文的WKC寄存器進(jìn)行加1。數(shù)據(jù)幀經(jīng)過(guò)所有從站節(jié)點(diǎn)后由EtherCAT系統(tǒng)中的末端節(jié)點(diǎn)將數(shù)據(jù)幀直接返回主站,主站比較返回報(bào)文中的WKC值進(jìn)行校驗(yàn)數(shù)據(jù)幀的正確性。

3 系統(tǒng)硬件設(shè)計(jì)

EtherCAT從站硬件平臺(tái)由兩個(gè)硬件模塊組成,一個(gè)是基于飛思卡爾IMX6Q的視頻采集模塊,另一個(gè)是EtherCAT實(shí)時(shí)數(shù)據(jù)傳輸模塊(ESC從站從站控制器)。整體設(shè)計(jì)是從站處理器IMX6Q通過(guò)CCD攝像頭從外部采集到高清視頻數(shù)據(jù)進(jìn)行H264壓縮,然后將壓縮后的數(shù)據(jù)寫入EtherCAT實(shí)時(shí)傳輸模塊。EtherCAT實(shí)時(shí)傳輸模塊主要任務(wù)是將壓縮后的視頻數(shù)據(jù)嵌入到EtherCAT幀中進(jìn)行傳輸。

圖像采集是基于IMX6Q的CCD攝像頭,CCD攝像頭通過(guò)TVP5150視頻采集芯片進(jìn)行采集視頻數(shù)據(jù),經(jīng)過(guò)IMX6Q進(jìn)行硬件H264壓縮編碼。圖1為TVP5150芯片接口電路圖,TVP5150芯片通過(guò)I2C總線進(jìn)行初始化配置,數(shù)據(jù)接口連接到IMX6Q的CSI0接口。

通過(guò)CCD采集的視頻數(shù)據(jù)量比較大,進(jìn)行實(shí)時(shí)網(wǎng)絡(luò)傳輸會(huì)產(chǎn)生延遲。H264圖像壓縮比大約為102:1,CCD攝像頭采集一秒為30幀視頻圖像,經(jīng)過(guò)H264壓縮后數(shù)據(jù)量大大減少,加上EtherCAT傳輸速度非???,視頻數(shù)據(jù)可以達(dá)到很好的實(shí)時(shí)傳輸和顯示效果。

ET1100從站控制芯片主要負(fù)責(zé)接收、處理和轉(zhuǎn)發(fā)主站發(fā)送的EtherCAT幀,解析主站發(fā)送的命令并執(zhí)行。ESC芯片通過(guò)內(nèi)部的硬件完成EtherCAT數(shù)據(jù)幀處理和轉(zhuǎn)發(fā),數(shù)據(jù)傳輸過(guò)程產(chǎn)生大約只有10ns的時(shí)間延遲[3]。

ESC從站控制芯片通過(guò)配置E2PROM相應(yīng)寄存器來(lái)實(shí)現(xiàn)數(shù)據(jù)接口模式。從站可以配置成I/O模式、微處理器模式和SPI模式。

I/O模式為簡(jiǎn)單從站控制方式,ESC直接對(duì)I/O端子進(jìn)行控制,可以達(dá)到非常快的刷新速度??刂?00個(gè)輸入輸出數(shù)據(jù)均為8字節(jié)的伺服軸只需要100us[4]。微處理器模式和SPI模式則是復(fù)雜從站控制模式,ESC中的數(shù)據(jù)通過(guò)微處理器進(jìn)行讀寫和處理。

ET1100功能的配置是通過(guò)芯片的配置引腳來(lái)完成,引腳配置就是通過(guò)對(duì)引腳接上上拉或下拉電阻,連接上拉電阻表示配置為1,連接下拉電阻表示配置為0。ET1100芯片上電后會(huì)自動(dòng)將配置引腳的信號(hào)讀取寫入到配置寄存器中,芯片掉電或復(fù)位后仍然可以讀取配置引腳的配置信息。

本設(shè)計(jì)采用ET1100作為MAC控制芯片,接口電路如圖2所示,ET1100與物理層芯片PHY之間的接口通過(guò)MII連接,MII是將不同類型的PHY與相同MAC相連接的通用總線。

EtherCAT主站控制器對(duì)硬件沒(méi)有特別的要求,只需要控制器帶有普通的以太網(wǎng)卡。主站是基于飛思卡爾I.MX6系列處理器,為高清視頻處理提供硬件編解碼。

主站除了CPU外圍基礎(chǔ)的電路之外,只需要擴(kuò)展一個(gè)普通的以太網(wǎng)接口即可以配置成EtherCAT主站。顯示器采用7寸電容屏,分辨率是800*480。

4 系統(tǒng)軟件設(shè)計(jì)

4.1 從站軟件設(shè)計(jì)

EtherCAT從站軟件設(shè)計(jì)主要分為兩部分,分別是CCD攝像頭采集并進(jìn)行H264壓縮和從站控制芯片ET1100的配置。

TVP5150的配置不會(huì)很復(fù)雜,主要是通過(guò)I2C來(lái)進(jìn)行配置,比如色調(diào),對(duì)比度,亮度,飽和度和銳度等等。需要在內(nèi)核源碼中添加一個(gè)支持TVP5150的I2C設(shè)備,TVP5150的I2C地址由PIN11來(lái)決定,上拉為BAH,下拉為B8H。

驅(qū)動(dòng)程序主要是通過(guò)I2C來(lái)對(duì)TVP5150寄存器進(jìn)行設(shè)置,主要是0x03,0x15,0xca,0x04,0x0d等,通過(guò)0x1a和0x1b是設(shè)置輸入通道。

通過(guò)對(duì)TVP5150正確配置后,對(duì)設(shè)備節(jié)點(diǎn)video0進(jìn)行操作,可以獲取視頻原始數(shù)據(jù)。

采用飛思卡爾的IMX6Q處理器,使用libvpu.so和libipu.so硬件編解碼庫(kù)可以對(duì)視頻數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換和H264硬件壓縮。

ET1100芯片的FMMU寄存器配置通過(guò)邏輯映射方式。EtherCAT幀從站報(bào)文最大可以包含1486字節(jié)的數(shù)據(jù),這里傳輸一路視頻的情況下,可以設(shè)置傳輸?shù)臄?shù)據(jù)長(zhǎng)度為1480字節(jié),一路視頻數(shù)據(jù)需要使用一個(gè)SM緩存管理。對(duì)應(yīng)表2的FMMU配置,設(shè)置SM0的起始地址為0x1000,數(shù)據(jù)長(zhǎng)度為1480Byte,主站可以通過(guò)相應(yīng)的邏輯地址對(duì)從站進(jìn)行尋址并訪問(wèn)。

設(shè)置從站報(bào)文頭的起始地址為0x00000000、字節(jié)長(zhǎng)度為1480、命令為L(zhǎng)RD(讀),就可以實(shí)現(xiàn)對(duì)視頻數(shù)據(jù)的讀取。

從站程序流程圖如圖3所示,從站主要任務(wù)是采集視頻數(shù)據(jù),接收主站數(shù)據(jù)幀,根據(jù)主站發(fā)送的命令進(jìn)行數(shù)據(jù)讀寫和執(zhí)行相應(yīng)命令。

4.2 主站軟件設(shè)計(jì)

大多數(shù)EtherCAT主站都是使用第三方提供的軟件協(xié)議棧,如Koenig、Acontis、IGH等。本設(shè)計(jì)采用開(kāi)源的IGH EtherCAT協(xié)議棧來(lái)實(shí)現(xiàn)主站。

IGH EtherCAT Master是基于Linux下的一套開(kāi)源EtherCAT主站協(xié)議軟件,包含網(wǎng)卡驅(qū)動(dòng),主站模塊以及應(yīng)用層使用的支持庫(kù)。

IGH開(kāi)源源碼在1.5版本后提供了一個(gè)EtherCAT通用網(wǎng)卡驅(qū)動(dòng),使用普通網(wǎng)卡就能夠?qū)崿F(xiàn)EtherCAT協(xié)議。為了保證傳輸?shù)膶?shí)時(shí)性,主站模塊插入到內(nèi)核層,實(shí)現(xiàn)對(duì)EtherCAT協(xié)議的解析,任務(wù)調(diào)度以及為應(yīng)用程序提供接口。用戶可以通過(guò)編寫內(nèi)核模塊來(lái)實(shí)現(xiàn)應(yīng)用程序,也可以通過(guò)對(duì)設(shè)備節(jié)點(diǎn)的操作來(lái)實(shí)現(xiàn)應(yīng)用程序。IGH開(kāi)源軟件為L(zhǎng)inux用戶提供了多種命令行工具,可以實(shí)現(xiàn)直接對(duì)EtherCAT從站的訪問(wèn)和設(shè)置??梢圆榭慈鏟DO數(shù)據(jù)、SDO參數(shù)、總線配置以及從站配置參數(shù)等。

主站軟件驅(qū)動(dòng)部分需要將IGH源碼移植到IMX6Q平臺(tái),具體如下:

(1)配置源碼。

(2)編譯源碼并安裝。

(3)復(fù)制通用網(wǎng)卡驅(qū)動(dòng)和主站驅(qū)動(dòng)到output文件夾下。

(4)將output文件夾打包。

(5)將output.tar.bz2下的文件解壓到IMX6Q文件系統(tǒng)相應(yīng)目錄。

(6)復(fù)制ec_master.ko到/lib/modules/內(nèi)核版本號(hào)目錄下。

(7)配置rules,創(chuàng)建設(shè)備號(hào)。

至此,就完成了IGH源碼移植到IMX6Q平臺(tái),接下來(lái)就可以通過(guò)IMX6Q來(lái)實(shí)現(xiàn)EtherCAT通訊。

主站啟動(dòng)EtherCAT協(xié)議時(shí)候需要先根據(jù)主站網(wǎng)卡的MAC地址來(lái)修改主站模塊的MAC地址,然后再啟動(dòng)EtherCAT協(xié)議,并安裝EtherCAT通用網(wǎng)卡驅(qū)動(dòng)。

通過(guò)上面的操作加載了EtherCAT內(nèi)核模塊,就可以通過(guò)設(shè)備節(jié)點(diǎn)EtherCAT0來(lái)操作EtherCAT從站,主站應(yīng)用程序流程圖如圖4。主從站通過(guò)網(wǎng)線連接,在Linux命令行下輸入ethercat pdos命令,可以測(cè)試主從站軟硬件是否正常,還可以獲取到從站控制器的配置,包括幾個(gè)同步管理通道、物理起始地址、控制字ControlRegister包含該通道的傳輸方式和方向、DefaultSize表示該通道的大小、PDO的基本配置。主站應(yīng)用程序中,需要根據(jù)ethercat pdos命令輸出的信息填充相關(guān)數(shù)據(jù)結(jié)構(gòu)體,創(chuàng)建過(guò)程數(shù)據(jù)域后,需要將PDO的相關(guān)信息注冊(cè)到過(guò)程數(shù)據(jù)域中。這樣主站應(yīng)用層就可以使用EC_READ_U32()和EC_WRITE_U32()函數(shù)通過(guò)EtherCAT幀對(duì)從站進(jìn)行讀寫操作。

主站控制器IMX6Q使用的系統(tǒng)是Linux3.0.35+QT4.8.5,主界面在QT上設(shè)計(jì)的,實(shí)現(xiàn)倒車影像的實(shí)時(shí)顯示。

5 結(jié)束語(yǔ)

本設(shè)計(jì)是為了解決汽車上的倒車影像數(shù)據(jù)實(shí)時(shí)傳輸?shù)膯?wèn)題,而提出的一種實(shí)現(xiàn)方案。主要是通過(guò)EtherCAT技術(shù)實(shí)時(shí)傳輸壓縮的倒車影像數(shù)據(jù)。

從站通過(guò)CCD進(jìn)行視頻采集,經(jīng)過(guò)IMX6Q的硬件H264編碼,主從站通過(guò)EtherCAT協(xié)議進(jìn)行視頻數(shù)據(jù)傳輸,主站接收數(shù)據(jù)后通過(guò)IMX6Q硬件解碼并顯示視頻數(shù)據(jù)。

參考文獻(xiàn)

[1]Du H, Li M, Meng J. Study of EtherCAT Network Control Technology in vision Measurement System[C].International Conference on Information System and Computation Intelligence,2011: 322-325.

[2]向乾亮.實(shí)時(shí)以太網(wǎng)EtherCAT系統(tǒng)設(shè)計(jì)及在電力系統(tǒng)中的應(yīng)用[D].北京:華北電力大學(xué),2008.

[3]德國(guó)倍福公司.實(shí)時(shí)以太網(wǎng):I/O層高速以太網(wǎng)[Z].工業(yè)以太網(wǎng)與現(xiàn)場(chǎng)總線.

[4]EtherCAT技術(shù)組.EtherCAT-以太網(wǎng)現(xiàn)場(chǎng)總線[Z].

加查县| 修文县| 青川县| 福贡县| 白沙| 五大连池市| 金昌市| 图木舒克市| 滦平县| 若尔盖县| 江门市| 正宁县| 剑阁县| 石柱| 保定市| 黄大仙区| 独山县| 昔阳县| 吉林市| 泰宁县| 宜城市| 永川市| 天等县| 定结县| 辽宁省| 双城市| 交口县| 永年县| 波密县| 赣州市| 海淀区| 舟曲县| 涿州市| 肇源县| 日喀则市| 灵石县| 抚顺县| 三河市| 横山县| 重庆市| 项城市|