任貴珊,孫海洲,王素珍,王懷銘
(青島大學 電子信息學院,山東 青島 266071)
隨著大尺寸屏顯示技術的發展,超高清的圖像顯示技術逐漸走向成熟。為了驅動不同的顯示屏,需要不同接口格式的視頻處理主板[1-4],這樣在實際測試中,需要不斷地更換顯示屏,不利于大規模生產測試[5-6]。為了對超高清音、視頻處理主板進行測試,需要一種能同時輸出音、視頻的高清多媒體接 口(High Definition Multimedia Interface,HDMI)格式的信號測試源。在音視頻測試源中,如何保持音、視頻信號的同步是關鍵技術。較多參考文獻采用嵌入式方法實現音視頻的同步。文獻[7]設計嵌入式Linux系統下的音頻驅動程序,該驅動程序采用多通道DMA傳輸以及乒乓緩沖區的傳輸模式,支持音頻的播放和錄音功能。文獻[8]采用音頻嵌入技術,從高清串行HD-SDI碼流中提取出音頻數據,做分析檢測后再插入視頻數據中,達到聲、畫同步的效果。在硬件方面,通常組合現場可編程邏輯門陣列(Field Programmable Gate Array,FPGA)、數字信號處理(Digital Signal Process,DSP)和單片機CPU芯片來實現。文獻[9]和文獻[10]使用FPGA芯片設計了音視頻采樣及傳輸系統,對HDMI接口的音視頻數據傳輸的關鍵模塊進行了仿真驗證。
本文采用Artix-7系列FPGA芯片,將低碼率的音頻信號插入到超高清視頻數據碼流中,設計并實現了超高清HDMI接口的音頻測試信號源系統。首先,根據超高清HDMI接口信號的視、音頻采樣頻率比例關系,應用直接頻率合成(Direct Digital Synthesizer,DDS)技術[11-13],產生對應不同采樣頻率的并行音頻信號;然后將并行的音頻信號串轉化,整合到視頻信號中,送到接口信號轉換芯片,輸出超高清HDMI接口的音頻測試信號。該信號源在一片FPGA上實現,節省了專用的音頻信號產生及處理芯片,提高了系統的集成度,減小了測試裝備的體積,方便音視頻設備生產廠家進行測試。
HDMI(High-Definition Multimedia Interface)是傳輸不壓縮的全數字高清音、視頻信號接口,為消費類電子行業接口標準。HDMI接口在行正程、場正程的時間段傳輸視頻數據,在圖像的消隱時間段傳輸數字音頻、控制和同步信號數據。在HDMI接口信號中,為了保持視、音頻信號的同步,傳輸像素頻率和數字音頻采樣頻率應保持特定的比例關系。設單位時間傳輸像素頻率為fpixel,音頻信號的采樣頻率為fs,則兩個頻率之間關系值CTS為:

式中:M、N為正整數。
從公式可以推測,只要滿足在TN時間段內,像素個數CTS值是整數,則能保持視、音頻信號同步。信號源系統中,處理音、視頻同步關系的電路結構如圖1所示。

圖1 音視頻同步關系電路結構
用兩個寄存器存儲M和N數值,將音頻的采樣頻率送到倍頻電路中,成為M×fs信號,再送到分頻電路中,將M×fs信號N分頻后,得到周期為的信號;然后送到TN周期時間計數器,計數周期內視頻像素點的個數,得到CTS值。將N值和CTS值插入到音頻信息中,與音頻采樣信號打包,成為信號源的音頻數據。音頻信號的采樣頻率fs、倍數M及M×fs值如表1所示。

表1 不同采樣頻率對應的M×fs值
從表1可見,如果音頻信號采樣頻率為32 kHz,M值為128,M×fs就是4.096 MHz。表2是M為128 倍的不同音頻采樣頻率N和CTS值。對超高清像素頻率為594 MHz的視頻信號而言,音頻采樣頻率為32 kHz、M為128,保證視頻、音頻同步的N值和CTS值為:N為5 824時,CTS值為843 750;N為3 072時,CTS值為445 500。誤差為0.001。

表2 M為128的不同音頻采樣頻率N值和CTS值
信號源的音頻信號采用I2S(inter-IC sound bus) 格式,其信號時序如圖3所示。
WS高電平或低電平時間段分別對應左、右聲道的音頻數據。BCLK是串行音頻數據的位時鐘信號,BCLK信號的下降沿對應WS信號的跳變沿。在WS信號的跳變沿(上升沿或下降沿)后的第二個周期開始傳輸串行的一個采樣點數據SDATA。數據SDATA由高位向低位依次傳輸,數據高MSB和低LSB的bit位置如圖3所示。為了保證視、音頻信號同步,需要一個基準時鐘信號MCLK(M×fs),同步視頻時鐘信號、位時鐘BCLK及采樣WS信號。與超高清2 160×3 840@60相匹配的音頻信號為:如果音頻信號的采樣頻率為fs=32 kHz,采樣點的位數為n個bit,則fWS=32 kHz,fMCLK=8.192 MHz,fBCLK=2×n×fWS=1.024 MHz。

圖3 I2S通信時序
系統使用的FPGA器件為Xilinx公司ARTIX-7系列的芯片XC7A100T-2FGG484I,其內部時鐘信號精度高、鎖定能力強,使其具有高速的數據采集、傳輸、數字圖像處理等能力。使用VIVADO軟件開發工具,用verilog硬件描述語言實現系統設計。信號源系統的組成如圖4所示,由系統時鐘、并行數字音頻信號發生器、并行音頻轉串行、超高清彩條視頻信號發生器、HDMI接口信號形成等模塊組成。系統時鐘部分為各模塊工作提供基準時鐘,并行數字音頻信號發生器輸出的信號送給并行音頻轉串行模塊,成為串行I2S格式音頻信號。串行音頻信號和超高清彩條視頻信號同步送到HDMI接口信號形成模塊,輸出超高清HDMI接口音頻測試 信號。

圖4 超高清HDMI接口音頻測試信號源的組成結構
將200 MHz的晶振差分信號送到FPGA時鐘管理系統IP核,產生像素時鐘fpixel、音頻采樣fs、基準時鐘MCLK、位時鐘BCLK等信號。其中,音頻采樣頻率fs與并行數字音頻信號發生器的工作時鐘頻率faudio_clk相同。
利用DDS技術在FPGA內部產生并行數字音頻信號,其結構如圖5所示。

圖5 直接數字頻率合成器(DDS)基本結構框圖
頻率控制字決定輸出音頻信號的頻率。將八選一輸出的頻率控制字送給相位累加器,進行以頻率控制字為步長的相位累加運算,運算結果存放在相位寄存器。相位寄存器的輸出作為數據存儲器(ROM)的地址,在地址時鐘信號作用下,讀出ROM中的音頻數據。不同采樣頻率信號通過四選一模塊輸出,采樣ROM中的數據,成為并行音頻信號。輸出信號頻率為:

式中:wordF為為頻率控制字,faudio_clk為DDS的工作頻率,A為相位累加器的位寬,取16 bit;數據存儲器(ROM)的字數設計為2 048個,位寬為16 bit。
為了滿足生產中對不同頻率音頻信號的測試需求,信號源要輸出不同頻率的音頻信號。通過設定不同的頻率控制字,調節輸出信號的頻率。系統輸出音頻信號的頻率范圍是0.5~4 kHz,步長為 0.5 kHz。同時,為了滿足超高清視頻、音頻信號同步關系,采樣頻率可選擇,分別為32 kHz、44.1 kHz、 48 kHz、96 kHz等。
圖6是FPGA內部產生的并行音頻測試信號的實時仿真圖,左右聲道并行音頻數據分別存放到寄存器left_data_shift[15∶0]和right_data_shift[15∶0]中。由圖6可見,所設計的并行數字音頻信號發生器能夠正確輸出單音頻的正弦波信號。

圖6 產生的并行音頻測試信號實時仿真圖
DDS產生的并行音頻信號轉換為串行音頻數據的流程如圖7所示。在WS信號的上升沿到來時,將左右聲道DDS輸出的16 bit并行音頻數據分別存入兩個16位寄存器left_data_shift和right-data_shift中。

圖7 并行音頻信號轉串行數據流程
在信號WS為1,同時在位同步BCLK信號的下降沿到來時,在BCLK時鐘作用下,寄存器left_data_shift內的16位數據逐個向高位移位,低位補零;同時將高位取出,移到sdata_d1寄存器中。經過16個位時鐘BCLK后,并行音頻數據轉換為串行I2S格式的數據,從寄存器sdata_d1串出。比如left_data_shift內存16位1011_1110_0001_1011音頻數據,經過一個BCLK信號下降沿后,left_data_shift寄存器的值變為0111_1100_0011_0110,高位1存入寄存器sdata_d1中,依次經過15個BCLK位時鐘的周期之后,寄存器left_data_shift的值變為1000_0000_0000_0000,高位依次從寄存器sdata_d1串出,第16個BCLK后,left_data_shift的值變為0000_0000_0000_0000。同理,在WS為0時,右通道DDS并行數據,經過16個BCLK后,轉換成串行音頻數據。最后將sdata_d1的串行數據延時一個位時鐘,得到的串行數據sdata為標準I2S協議音頻信號。左右聲道的數據在時間上以時分復用的形式交替出現。
將串行音頻信號和超高清并行視頻信號轉換為HDMI接口信號通過iTE6615芯片實現。iTE6615芯 片 支持3 840×2 160@60 Hz、4 096× 2 160@60 Hz、5 120×2 160@60 Hz分辨率的超高清并行視頻信號輸入,將串行I2S格式的音頻信號在行逆程及場逆程插入到并行視頻信號中,轉換為超高清HDMI接口信號。如圖4所示,從FPGA器件輸出像素頻率為594 MHz的并行超高清視頻信號輸入到iTE6615的視頻端口,將串行音頻數據送到iTE6615的音頻端口,在iTE6615芯片內部根據像素時鐘頻率、音頻采樣頻率WS、基準時鐘MCLK頻率值計算出N值和CTS值,進行編碼處理,輸出HDMI視音頻接口信號。
系統使用的VIVADO開發工具可以實時觀察芯片內部硬件電路布局及資源利用情況。圖8是本信號源在芯片XC7A100T-2FGG484I內部消耗的邏輯資源分布情況(包括超高清彩條視頻信號發生器)。從圖8可見,存儲單元BRAM使用資源最多,達到96%,占用了47%的IO口資源;緩沖單元BUFG占用22%,查找表LUT占用18%,時鐘管理資源MMCM占用17%。信號源系統在芯片XC7A100T-2FGG484I內部過程總耗電是0.356 W。其中,動態耗電0.255 W,靜態耗?電0.101 W,系統能夠正常穩定地工作。
將信號源輸出的HDMI接口的視音頻信號送到超高清電視機主板,對信號進行解碼處理,分離出視、音頻信號。分離出的視頻信號送到顯示器上,顯示超高清彩條信號和16階灰度信號;分離出I2S格式的音頻信號送到音頻功放電路,對串行數字音頻信號進行數模轉換,然后對模擬音頻信號放大,送到揚聲器上,試聽不同頻率的音頻信號。
將信號源輸出的HDMI接口信號送到5G采樣特性的示波器測試,得到圖9、圖10的結果。圖9是HDMI接口的兩場信號,場頻為60 Hz;圖10是HDMI接口的兩行信號,行頻為131.7 kHz。

圖9 超高清HDMI接口的兩場信號

圖10 超高清HDMI接口的兩行信號
圖11是超高電視機主板分離出超高清2 160P的視頻測試信號。用示波器測試電視機主板分離出的I2S格式音頻信號,得到圖12。從圖12可見,串行數據呈現出周期性,反映出單音頻正弦波采樣值串行化的結果。用示波器測量功率放大后的信號,得到圖13、圖14,測出頻率為0.5 kHz和1 kHz的模擬單音頻信號。結果顯示,信號源系統正確輸出單音頻信號,滿足測試需求。

圖11 超高清2 160P視頻測試信號

圖12 串行I2S格式音頻信號

圖13 輸出單音頻模擬信號

圖14 輸出1kHz的模擬單音頻信號
在一片Artix-7系列XC7A100T芯片上,利用DDS直接頻率合成方法產生測試用的并行音頻信號,將并行音頻信號按照HDMI接口的音頻傳輸協議轉換成不同碼流的串行信號,與并行視頻信號同步送到HDMI接口形成模塊,設計實現了超高清音視頻信號源系統。該系統省去了專用音頻信號產生及處理芯片,提高了系統的集成度。信號源兼容超高清、高清、標清視頻信號。在同一主頻時鐘信號作用下,在FPGA內部產生不同碼流的數字音頻信號,與高清及超高清視頻信號相匹配,達到了音、視頻的同步。由于FPGA具有反復編程的優點,信號源可根據實際需要進行編程調整,以適應不同的測試環境。本信號源已經在相關車間測試,參數滿足生產測試需求。