過元華,章國寶
(東南大學 自動化學院,江蘇 南京 210096)
目前,國家對高等教育的重視程度不斷提高,對高等院校的科研資金投入不斷增加。各類高校的科研條件得到很大的改善,許多高校都引進或購置了大型的實驗用儀器設備。這些儀器設備往往較為昂貴,且對使用條件要求較高。高等院校及科研院所的實驗室大多采用計算機管理系統進行管理,但此類管理系統一般都只局限于對設備賬目的日常化管理,是一種靜態的管理。而對設備的使用狀態及完好情況、使用設備的計時收費、實驗教學情況監控、實驗室電源系統的控制以及實驗室安全等方面缺乏完整的監控管理系統[1]。因此,設計一種針對高校大型儀器設備的遠程視頻監控系統是很有意義的。通過這一系統,設備管理人員能夠實現對儀器設備的遠程監控和自動化管理。當設備故障時,亦可通過觀看先期存儲的使用狀態錄像來判斷故障原因,減少了維修時間和維修成本。
數字信號處理器(DSP)憑借強大的運算處理能力被廣泛應用在視頻圖像處理等運算密集的場合,而嵌入式微處理器(ARM)以其強大的控制能力廣泛應用于網絡服務等外圍控制的場合。在本系統中,以ARM作為主處理器芯片,完成各種控制和網絡傳輸功能;采用DSP作為從設備單元處理器,完成數據采集和分析處理的工作。ARM單元和DSP單元構成監控系統的雙核架構[2],并通過數據總線將DSP上處理的數據發送給ARM進行傳輸或存儲。
本系統采用芯唐公司的NUC960作為主處理器芯片。NUC960是一款以16/32位ARM926EJ-S為內核的精簡指令集微處理器。該內核提供了8 kb指令高速緩存和8 kb數據高速緩存,并包含一個完整的存儲器管理單元(MMU)。NUC960集成了豐富的片上資源,包括10 M/100 Mb以太網MAC控制器、EBI總線單元和用于外圍設備通信的PCI總線接口等。NUC960提供嵌入式Linux系統所需的虛擬存儲功能,尤其適用于各種要求高性能和低功耗的嵌入式產品中[3]。
同時,本系統采用SPCT6100作為從處理器DSP芯片。SPCT6100是一款高性能多媒體數字信號處理器,主要用于監控系統中的編解碼。它采用H.264視頻編解碼技術,并包含四路視頻輸入、一路音頻輸入和一路音視頻輸出。特別地,SPCT6100包含有兩種接口類型,即PCI(外圍器件接口)和HPI(主機接口)。通過這兩種接口,SPCT6100可以方便地集成到各種嵌入式系統中。
系統的整體框圖如圖1所示。NUC960上運行嵌入式Linux操作系統,實現整個監控系統的協調控制和網絡功能等;SPCT6100通過數字信號處理算法,實現數據的分析、處理和傳輸。為了盡可能多的保留NUC960外圍接口,且考慮到芯片引腳特點,NUC960與SPCT6100之間采用PCI總線進行數據通信。

圖1 系統整體框圖Fig.1 Overall block diagram of system
在本系統中,從外接的CCD攝像頭采集到的視頻模擬量信號經由A/D轉換進入SPCT6100進行數字信號處理。NUC960通過PCI總線讀取經過處理后的數字量信號,并將壓縮的數據通過校園網絡傳送到服務器。當網絡阻塞或服務器故障時,NUC960可以將數據存儲在本地的存儲器芯片上。設備管理人員可以通過Web-server查看設備當前的運行畫面,也可以調取存儲在服務器上的設備早期運行畫面。
考慮到本系統主要面向高校實驗室的儀器設備,為了方便校園信息化管理,NUC960擴展的UART串口可以連接讀卡器,系統可以通過讀取校園卡來記錄使用實驗設備人員的信息。另外,本系統還實現了設備上電檢測的功能,即當實驗設備開始上電運行時,系統才開始處理和存儲視頻信號;當實驗設備關閉時,系統停止處理數據。這樣即可消除大量的冗余數據,節省服務器開銷。
在使用ARM和DSP的嵌入式系統設計中,如何高效方便地實現ARM控制器和DSP之間的數據通信是很重要的一部分[4]。
PCI總線即外圍部件互聯總線,是先進的高性能32/64位地址數據復用局部總線,可同時支持多組外圍設備。PCI局部總線不受制于處理器,為中央處理器及高速外圍設備提供一座橋梁[5]。PCI總線的運行速度快,它采取總線主控的方式來加速執行高吞吐量、高優先級的任務。PCI總線的存取延遲時間極小,它獨特的同步操作功能可以保證處理器能與總線主控同時操作而不必等待后者的完成。另外,PCI總線還具有可擴展性強和支持線性突發傳輸等特點。
很多DSP芯片采用HPI口來與外部總線進行通信,如果要和CPU進行通信,則一般要通過增加PCI總線控制芯片來實現。而SPCT6100內部已經集成了PCI總線接口,通過PCI總線接口能夠對比特流數據進行編碼,并實現與NUC960主處理器單元的無縫對接。SPCT6100的PCI總線上32位地址/數據復用引腳及其他大部分控制引腳與NUC960的相應引腳可以直接相連。
在本系統中,ARM處理器NUC960需要兩種電壓,一種是1.8 V的內核電壓,另一種是3.3 V的I/O電壓;而DSP處理器SPCT6100需要3種電壓,即1.2 V的內核電壓、2.5 V的DDR驅動電壓和3.3 V的I/O電壓。然而,在外圍設備中,許多器件還要求5 V供電,例如USB接口和電流檢測電路等。因此,為了便于電源管理,本系統采用5 V電源輸入。由于輸入電壓和輸出電壓之間的壓差并不接近,如果采用LDO型線性穩壓器作為輸入端電源芯片,則功率消耗較大,并不合適。本系統采用TPS54386作為輸入端電源芯片,經過外接合適的電感和濾波電容能夠同時得到3.3 V和1.8 V兩種電壓。TPS54386是DCDC轉換芯片,其輸出電流可以高達3 A,且工作效率高,工作狀態穩定,能夠適合本系統的要求。另外,可以使用LDO型電源芯片來實現3.3 V到2.5 V和1.8 V到1.2 V的電平轉換。
NUC960內部的程序存儲器和數據存儲器是無法滿足系統運行要求的,為了滿足設計目標的需要,本系統擴展了Flash和SDRAM兩種存儲器。
NOR Flash是Flash的一種,它的寫入和擦除速度較慢,但隨機讀取速度快。NOR Flash帶有SRAM接口,有足夠的地址引腳來尋址,可以很容易地存取其內部的每一個字節[6]。NOR Flash最大的特點是芯片內執行,這樣應用程序可以直接在Flash內運行,不必再把代碼讀到系統RAM中[7]。本系統所用的NOR Flash容量為2 M×16 bits,用來存放系統啟動代碼、操作系統內核和文件系統。由于NUC960自身EBI接口支持擴展Flash,因此電路相對比較簡單。
和Flash不同,SDRAM不具有掉電保持數據的特性,但可讀可寫,且存取數據的速度很快,因此SDRAM在系統中主要用作程序的運行空間、數據及堆棧區[6]。為了充分發揮32位CPU的數據處理能力,本系統采用兩片16位數據寬度的SDRAM并聯構建32位的存儲器系統,其中一片作為高16位,另一片作為低16位,兩片SDRAM均與NUC960的EBI總線連接,可滿足系統相對復雜的運行要求,電路如圖2所示。

圖2 SDRAM與ARM的接口Fig.2 SDRAM’s interface with ARM
本系統使用CCD攝像頭進行視頻信號的采集,CCD攝像頭的成像分辨率較CMOS攝像頭更為清晰。通過CCD采集到的視頻模擬量信號經過BNC(同軸電纜卡環形接口)送入A/D轉換芯片進行處理。
TW9910是一款適用于便攜設備的低功耗視頻解碼芯片,可以將模擬量視頻信號轉換為8位或16位4:2:2YCbCr格式數字量輸出。TW9910還包括檢測和處理VBI信號的電路。在本系統中NUC960通過SPI口讀寫TW9910各個寄存器的值,復位信號可以初始化控制寄存器的值。本系統采用8位數字量輸出的形式,將TW9910的高8位輸出引腳與SPCT6100的其中一路視頻信號總線相連。A/D轉換電路如圖3所示。

圖3 A/D轉換電路Fig.3 A/D circuit
為了減少服務器的存儲開銷,也同時為了減少網絡占用率,本系統特別設計了一種電流檢測電路來實時檢測用電設備的開啟和關閉狀態。
大多數的實驗儀器設備采用220 V交流電源供電,因此,本系統采用5 A/2.5 mA的交流電流互感器作為前端檢測元件,當設備上電運行和停止使用時可以檢測到電流的變化。電流互感器二次側的電流流過負載電阻可以轉換為電壓值,再經過由放大器搭建成的比較器即可產生ARM處理器能夠識別的開關量。如圖4所示,本系統用到了兩個運算放大器:前一個運放用來加強帶載能力,比直接加電阻負載的相位差小,動態范圍大。負載電阻采用變阻器以滿足各類設備的不同額定電流要求。后一個運放用作比較器,正向輸入端輸入的電壓信號與反向輸入端分壓電路電壓值比較并輸出相應的電壓開關量。考慮到輸出端是直接連接到ARM的GPIO口,因此宜采用不高于5 V的單電源供電運算放大器。

圖4 電流檢測電路Fig.4 Current detecting circuit
NUC960的另一大特點就是提供了豐富的外圍設備接口,在本系統中主要用到了網絡通信接口、USB接口和UART串口等。
NUC960內置以太網MAC控制器,該控制器具有相應的DMA控制器,發送和接收FIFO,支持IEEE802.3協議,可以以半雙工或全雙工模式工作在10 M/100 Mb/s的傳輸速度上。本系統采用IP101作為物理接口收發器,向網絡層提供標準的數據接口。它提供了一個硬件中斷用以指示連接狀態、速度狀態和全/半雙工狀態。
同時,NUC960集成了USB2.0主設備控制器和USB2.0從設備控制器,可以支持USB0和USB1兩個設備。其中USB1只能作為主設備,而USB0則可以配置為主設備或者從設備。在本次設計中,NUC960的2個USB2.0接口均配置為主設備。USB0用作預留的USB設備擴展接口,可以方便系統后期軟件開發時掛載U盤使用;USB1則用于與外圍設備SD卡進行通信,當網絡環境不佳或接收不到服務器的應答信息時,系統可以將壓縮的圖像數據存儲到位于本地的SD卡中以作備用,防止數據丟失。
NUC960處理器片上還集成了3個串口,可以支持6至8位的數據傳送,其波特率可通過編程設置,另外也支持奇偶校驗和幀出錯檢查功能。本設計使用了其中兩個串口,串口0用于當系統調試時與計算機連接進行通信;串口1用于與讀卡器進行通信,讀取使用設備者的相關身份信息。
本文提出了一種采用ARM和DSP雙核結構的遠程視頻監控系統設計方案,實現了對高校大型實驗儀器設備的遠程監控,并對視頻畫面進行壓縮、存儲和傳輸。經過實驗測試,本系統實現了對設備運行現場畫面以25幀/秒的頻率進行采集,在網絡環境良好的情況下,用戶可以通過Web-server觀看設備的實時運行畫面;當網絡阻塞時,系統在本地存儲壓縮圖像,每張圖片的存儲間隔最快可以達到1min,設備運行的歷史圖像可以保存30天,基本滿足了高校實驗室的管理要求。為了減少數據存儲量,系統通過電流檢測來選擇是否處理和存儲監控畫面。另外,利用擴展的讀卡器來記錄設備使用者的信息,實現了設備的自動化管理。實驗表明,本系統運行穩定、可靠性較高。考慮到SPCT6100最多能同時輸入4路信號,在今后的優化過程中,亦可以考慮實現多路監控,以便達到系統精簡和成本節約的目的。
[1]張令通,施心陵.基于LonWorks網絡的實驗設備監控管理系統[J].電子測量技術, 2003(4):61-62.ZHANG Ling-tong,SHI Xin-ling.Experiment equipment monitor and management system base on LonWorks network[J].Electronic Measurement Technology, 2003(4):61-62.
[2]鮑華,耿銳,歐明雙.基于ARM和DSP的雙核監控系統的設計與實現[J].電子技術應用,2009(7):45-48.BAO Hua, GENG Rui, OU Ming-shuang.Design and implementation of dual-core surveillance system based on ARM and DSP [J].Application of Electronic Technique,2009(7):45-48.
[3]Nuvoton Technology Corp.NUC960ADN 32-bit ARM926EJS based microcontroller product data sheet[EB/OL].[2009-03-03].http://www.nuvoton.com.
[4]劉妮,王金剛.DSP主機接口與ARM的互連設計 [J].電子測量技術, 2006, 3(29):47-48.LIU Ni,WANG Jin-gang.Design of connection between ARM and DSP through HPI[J].Electronic Measurement Technology, 2006, 3(29):47-48.
[5]洪艷.基于PCI總線的DSP數據處理系統的研究 [D].哈爾濱:哈爾濱工程大學,2004.
[6]孫秋野,孫凱,馮健.ARM嵌入式系統開發典型模塊[M].北京:人民郵電出版社,2007.
[7]李巖,韓勁松,孟曉英,等.基于ARM嵌入式系統接口技術[M].北京:清華大學出版社,2009.