劉嘉軒,錢步仁,劉艷東,鄒冬月,付思哲
(1.中國石油大學(xué)(北京)信息科學(xué)與工程學(xué)院,北京 102249;2.北京富力天創(chuàng)科技有限公司,北京 100085)
信息技術(shù)的發(fā)展越來越快,人們對顯示設(shè)備性能的追求日益提高,一種高傳輸速率、高安全性、兼顧實(shí)時性與可靠性的數(shù)據(jù)傳輸總線是當(dāng)前視頻圖像處理的迫切需要和發(fā)展趨勢。以VXI、PCI、PCIe 為代表的總線設(shè)備被廣泛應(yīng)用到測試測量領(lǐng)域,但PCI、PCIe 等總線接口需要計算機(jī)進(jìn)行插卡,設(shè)備不夠靈活。4G-VAC 總線技術(shù)基于高速串行視頻傳輸標(biāo)準(zhǔn),采用具有高速串行收發(fā)器的Lattice 公司的ECP3 系列FPGA 實(shí)現(xiàn),外圍電路包括HDMI 信號接收、發(fā)送芯片和光纖收發(fā)器,具有傳輸速度快、抗干擾能力強(qiáng)、可靠性高、實(shí)時性好、拓?fù)浣Y(jié)構(gòu)靈活等優(yōu)點(diǎn)。在大型場館展覽、交通指揮調(diào)度、公共安全管理、能源資源監(jiān)控、廣播電視通信、航行模擬訓(xùn)練等領(lǐng)域具有廣泛的應(yīng)用前景和深厚的市場潛力。由于FPGA 運(yùn)行速度快、運(yùn)算能力強(qiáng),還具有管腳豐富、高集成度、可移植性、可擴(kuò)展性、通用性和靈活性的優(yōu)點(diǎn),可以達(dá)到數(shù)據(jù)實(shí)時采集與顯示的效果,在設(shè)計和實(shí)現(xiàn)視頻處理系統(tǒng)上更加出眾。
4G-VAC 總線可以進(jìn)行雙向多節(jié)點(diǎn)串行數(shù)字通信,相較于傳統(tǒng)的現(xiàn)場總線,其具有高度私有化、保密性高、安全性好的優(yōu)點(diǎn)。4G-VAC 總線是雙向收發(fā)的串行總線,其中4G 表示傳輸速度,V 表示Video(視頻),A 表示Audio(音頻),C 表示Control(控制),即4G-VAC 總線可以實(shí)現(xiàn)音視頻信息的高速傳輸。
4G-VAC 總線結(jié)構(gòu)如圖1 所示,整體結(jié)構(gòu)包括數(shù)據(jù)信號、中央處理單元FPGA 和光纖線,其中FPGA 包括數(shù)據(jù)選擇器MUX 和并串轉(zhuǎn)換模塊。視頻信息、音頻信息、串口信息、鼠標(biāo)鍵盤信息和紅外信息在發(fā)送端經(jīng)過多路信息疊加模塊、并串轉(zhuǎn)換模塊處理,通過光纖線連接接收端,在接收端使用串并轉(zhuǎn)換模塊和多路信息解嵌模塊進(jìn)行處理。經(jīng)實(shí)驗(yàn)設(shè)計驗(yàn)證,4G-VAC 總線可以實(shí)現(xiàn)視頻信息的雙向收發(fā)和其他信息的單向傳輸。
圖1 4G-VAC 總線結(jié)構(gòu)圖
將4G-VAC 總線應(yīng)用到基于FPGA 的收發(fā)器設(shè)計上,進(jìn)行進(jìn)一步的研究與應(yīng)用。在基于FPGA 的4GVAC 總線收發(fā)器設(shè)計中,發(fā)送端由型號Lattice LFE3-70EA-8FN672C 的FPGA 作 為 主芯片,由HDMI 輸入 芯片、音頻A/D 轉(zhuǎn)換電路、串口模塊、鼠標(biāo)鍵盤模塊、紅外模塊和光纖發(fā)送模塊構(gòu)成外圍硬件電路。接收端由型號為Lattice LFE3-70EA-8FN672C 的FPGA 作為主芯片,由視頻輸出模塊、音頻D/A 轉(zhuǎn)換電路、串口模塊、鼠標(biāo)鍵盤模塊、紅外模塊和光纖接收模塊構(gòu)成外圍硬件電路,發(fā)送端和接收端通過光纖線連接。
在視頻信息傳輸功能中,發(fā)送端接收外部的HDMI信號,通過HDMI 解碼芯片,產(chǎn)生Y[9:0]、C[9:0]、HS、VS、DE、CLK 信號,其中Y[9:0]、C[9:0]代表20 位的數(shù)據(jù)信號,HS、VS、DE 代表視頻傳輸協(xié)議中的行場同步和有效信號,CLK 是時鐘信號。將上述信號交給FIFO 進(jìn)行緩存處理,Y[9:0]、C[9:0]、HS、VS、DE 匹配BT1120 協(xié)議,時鐘信號CLK 經(jīng)過鎖相環(huán)PLL 處理,產(chǎn)生參考時鐘refclk 并作用 于IP 核,IP 核 產(chǎn) 生的時鐘tx_half_clk 是最終進(jìn)行數(shù)據(jù)處理的時鐘,這樣做的目的是讓時鐘更加穩(wěn)定。經(jīng)過BT1120 協(xié)議匹配后剩余的視頻數(shù)據(jù)信號Y[9:0]、C[9:0]和時鐘信號tx_half_clk,再交由IP 核進(jìn)行處理,將處理后的信號通過光纖輸出。接收端通過光纖模塊接收到前端處理信號,經(jīng)由IP 核處理檢測視頻傳輸標(biāo)志位EAV、SAV,交由DDR 進(jìn)行緩存處理,產(chǎn)生Y、C、HS、VS、DE 信號,傳輸至HDMI 編碼芯片,即可輸出HDMI 信號。在上述過程中,傳輸?shù)囊曨l分辨率為1 080P@60 Hz,所用的時鐘頻率為148.5 MHz,IP 核包括PCS 和SDI_PHY。視頻傳輸結(jié)構(gòu)圖如圖2 所示。
圖2 視頻傳輸結(jié)構(gòu)圖
視頻傳輸區(qū)域包括有效區(qū)和消隱區(qū),以分辨率1 080P@60 Hz 為例,全部像素點(diǎn)為2 200×1 125,有效像素點(diǎn)為1 920×1 080,1 s 傳輸60 幀數(shù)據(jù)。在1 幀畫面中,1 920×1 080 是有效區(qū),負(fù)責(zé)傳輸視頻圖像信號,其余不傳輸視頻圖像的區(qū)域稱為消隱區(qū);消隱區(qū)可以傳輸音頻信號、串口信息、鼠標(biāo)鍵盤信息、紅外信息等多種信息。本文設(shè)計音頻IIS 格式接收模塊,可以將串行的音頻信號轉(zhuǎn)換為24 bit 并行音頻信號提供給后端嵌入模塊。IIS 音頻信號包括3.072 MHz 串行時鐘信號SCLK、48 kHz 幀時鐘信號LRCLK、串行數(shù)據(jù)信號SDATA 和12.288 MHz 主時鐘信號MCLK。將24 bit 音頻信號嵌入視頻流C 通道的消隱區(qū),經(jīng)由4G-VAC 總線處理,發(fā)送端選擇0 通道,通過Verilog 語言編程控制,將tx_half_clk_ch0 作為驅(qū)動時鐘,把上述信號嵌入視頻流并 輸 出ch0_data_out,ch0_data_out 通 過sdi_phy 輸 出rxdata,經(jīng)由FPGA 處理,再轉(zhuǎn)換為串行信號經(jīng)過光纖傳輸給接收端。接收端同理,選擇1 通道進(jìn)行信號解嵌,將rx_half_clk_ch1 作為驅(qū)動時鐘,數(shù)據(jù)流經(jīng)由pcs_sdi、sdi_phy 輸出phy_pd_out1,同時鎖定sdi_lock1,即可解嵌出IIS 音頻信號,可以通過音箱進(jìn)行演示。音頻傳輸結(jié)構(gòu)圖如圖3 所示。
圖3 音頻傳輸結(jié)構(gòu)圖
串口數(shù)據(jù)由起始位、8 位數(shù)據(jù)位、校驗(yàn)位和停止位組成。開始發(fā)送數(shù)據(jù)時,傳輸線路由高電平變?yōu)榈碗娖?,開始傳輸8 bit的有效數(shù)據(jù)位;然后是奇偶校驗(yàn)位和停止位。串口信息是單比特信息,按照串口規(guī)范的約定,先傳字節(jié)的最低位,然后傳次低位,最后傳字節(jié)的最高位。將發(fā)送端和接收端連接好后,設(shè)置波特率為57 600 b/s,發(fā)送端計算機(jī)通過串口數(shù)據(jù)窗口發(fā)送英文字母、數(shù)字、漢字等數(shù)據(jù),經(jīng)由FPGA、4G-VAC 總線和外圍電路聯(lián)合處理串口命令,將1 bit 串口命令轉(zhuǎn)換為8 bit 信息嵌入視頻流;接收端通過串口數(shù)據(jù)窗口收到相應(yīng)的英文字母、數(shù)字和漢字信息,實(shí)現(xiàn)一路串口數(shù)據(jù)收發(fā)。實(shí)驗(yàn)過程中,將串口信息嵌入第24,26行,成功實(shí)現(xiàn)串口信息的收發(fā)。
鼠標(biāo)鍵盤信息是USB 信號,操作人員使用鼠標(biāo)或鍵盤時,通過9350 芯片把鼠標(biāo)、鍵盤的信息轉(zhuǎn)換成串口的信息,再將1 bit 串口命令轉(zhuǎn)換為8 bit 信息嵌入視頻流,經(jīng)過FPGA、4G-VAC 總線和外圍電路聯(lián)合處理,得到加載鼠標(biāo)鍵盤信息的視頻流。將視頻流通過光纖模塊傳輸?shù)浇邮斩瞬⒔馇妒髽?biāo)鍵盤信息,經(jīng)過串并轉(zhuǎn)換和MUX 處理,變成1 bit 數(shù)據(jù)流發(fā)送給9350 芯片進(jìn)行處理,即可通過此信息控制主機(jī)端計算機(jī)。實(shí)驗(yàn)時選擇在第20,22 行嵌入鼠標(biāo)鍵盤數(shù)據(jù),同樣也要在接收端第20,22 行解嵌鼠標(biāo)鍵盤數(shù)據(jù)。
本文設(shè)計了支持NEC 協(xié)議的紅外接收模塊,發(fā)送端接收到數(shù)據(jù)進(jìn)行解調(diào),按NEC 協(xié)議解碼,嵌入視頻流第28 行后發(fā)送。接收端在視頻流第28 行解嵌出紅外信號,按NEC 協(xié)議進(jìn)行編碼、調(diào)制后得到紅外數(shù)據(jù)。串口、鍵鼠、紅外信息傳輸結(jié)構(gòu)圖如圖4 所示。
圖4 串口、鍵鼠、紅外信息傳輸結(jié)構(gòu)圖
如圖5 所示,NEC 紅外傳輸協(xié)議通過控制脈沖寬度實(shí)現(xiàn)信息位傳送,每個脈沖高電平的寬度為560 μs,通過38 kHz 的負(fù)載波發(fā)送出去。NEC 紅外傳輸協(xié)議規(guī)定了兩種碼元格式,分別是碼元0 和碼元1。碼元0 由560 μs 的高電平和560 μs 的低電平構(gòu)成,總傳輸時間為1.125 ms。碼元1 由560 μs 的高電平和1 680 μs 的低電平構(gòu)成,總傳輸時間為2.25 ms。將編碼數(shù)據(jù)放到一定頻率的載波上面,即使用數(shù)據(jù)調(diào)制載波,形成一串脈沖信號。最終通過高低電平的變化,產(chǎn)生一串脈沖信號,通過示波器觀察調(diào)制后信號,有載波波形的部分即為原始信號高電平的部分。
圖5 紅外信息傳輸協(xié)議NEC 的編碼方式和調(diào)制方式
在實(shí)驗(yàn)過程中,嘗試了按下一個鍵和長按一個鍵兩種控制方式。在遙控器上按下一個鍵時,發(fā)送的消息由9 ms 的高電平引導(dǎo)脈沖、4.5 ms 的低電平、8 位設(shè)備地址、8 位設(shè)備地址反碼、8 位命令、8 位命令反碼、560 μs高電平脈沖構(gòu)成,1 個消息幀長度為67.5 ms。長按1 個鍵時,發(fā)出重復(fù)代碼,在消息結(jié)束脈沖發(fā)射40 ms 之后,重復(fù)代碼將繼續(xù)以108 ms 間隔發(fā)送,直到按鍵最終被釋放。重復(fù)代碼由9 ms 高電平引導(dǎo)脈沖、2.25 ms 低電平脈沖、560 μs 高電平脈沖組成。兩種方式都可以實(shí)現(xiàn)紅外信息的傳輸。
視頻數(shù)據(jù)輸入后檢測到HS、VS、DE、CLK 信號,便開始進(jìn)行行、場方向計數(shù)并存儲像素點(diǎn)信息,經(jīng)4GVAC 總線處理后通過光纖線輸出。在接收端,通過光纖線輸入光纖信號進(jìn)行PCS 串并轉(zhuǎn)換,產(chǎn)生時鐘信號,檢測到LOCK、EAV、SAV 標(biāo)志后,使用DDR3 對視頻流信息進(jìn)行幀緩存,根據(jù)像素點(diǎn)解析Y,C 數(shù)據(jù)并輸出。系統(tǒng)軟件設(shè)計流程見圖6,串口信息時序圖見圖7。同理,音頻信息、串口信息、鼠標(biāo)鍵盤信息、紅外信息嵌入到視頻流中的黑場,跟隨視頻流一起傳輸,經(jīng)過4G-VAC 總線處理,在接收端解嵌出來,實(shí)現(xiàn)視頻信息的雙向收發(fā)和其他信息的單向傳輸。
圖6 系統(tǒng)軟件設(shè)計流程
圖7 串口信息時序圖
基于FPGA 的4G-VAC 總線收發(fā)器實(shí)現(xiàn)了視頻信息的雙向收發(fā)和音頻信息、串口信息、鼠標(biāo)鍵盤信息、紅外信息的單向傳輸,在實(shí)現(xiàn)多功能信息傳輸?shù)耐瑫r保證速度快、低時延。4G-VAC 總線基于獨(dú)立協(xié)議,具備安全性強(qiáng)、同步性好、私密性高的優(yōu)點(diǎn),非常適用于大型油田、國防軍工等領(lǐng)域。4G-VAC 總線還可以擴(kuò)展功能,加入網(wǎng)絡(luò)信息和OSD菜單功能,應(yīng)用于光纖KVM 坐席協(xié)作管控系統(tǒng),實(shí)現(xiàn)信息共享和應(yīng)急指揮功能。采用FPGA 進(jìn)行數(shù)字邏輯電路設(shè)計的嵌入式電子系統(tǒng)具有設(shè)計靈活、易于維護(hù)、研制周期短、集成度高的優(yōu)點(diǎn),非常適合應(yīng)用于廣播電視技術(shù)、視頻圖像處理領(lǐng)域,在軍事裝備、智能家居、智慧城市等領(lǐng)域也有廣泛的應(yīng)用前景。