【正文】
DDR2控制引腳及其功能Pin Type DescriptionDDR_CLKODDR_CLKOO/Z 差分時鐘輸出DDR_CKE O/Z 時鐘使能(高電平有效)DDR_CS O/Z 芯片選擇(低電平有效)DDR_WE O/Z 寫使能(低電平有效)DDR_RAS O/Z 行地址鎖存(低電平有效)DDR_CAS O/Z 列地址鎖存(低電平有效)DDR_DQM[3:0] O/Z 數(shù)據(jù)掩碼(寫數(shù)據(jù)時輸出掩碼信號)21 / 48DDR_DQS[3:0] I/O/Z 數(shù)據(jù)鎖存(高電平有效,寫數(shù)據(jù)時輸出,讀數(shù)據(jù)時輸入)DDR_BS[2:0] O/Z Bank選擇(定義執(zhí)行當前命令的Bank)DDR_A[12:0] O/Z 地址總線DDR_D[31:0] I/O/Z 雙向數(shù)據(jù)線(讀時輸入,寫時輸出)DDR_ZNDDR_ZPO 輸出阻抗控制(設置DDR2輸出阻抗,通過電阻上拉至電源或下拉至地)TMS320DM6446 總共分配 256MByte 的地址空間給 DDR2,它的 DDR2 總線控制器總共有 13 根地址線,另外還有三根 Bank 選擇信號線。選擇芯片需要經過綜合考慮,例如所選 DDR2 芯片最起碼需要有能夠與DM6446 的 DDR2 控制實現(xiàn)引腳間的完全兼容的 16 位字長的數(shù)據(jù)總線接口,經過各方面的評價考慮,Micron 的 MT47H64M16BT 型號的 DDR2 芯片為設計所用,并且采用 2 片(一片作為數(shù)據(jù)總線的低 16 位,一片作為高 16 位)MT47H64M16BT 型號的 DDR2 芯片來實現(xiàn) 32 位字長、256MByte 的 DDR2 設計,此芯片能夠與TMS320DM6446 的地址信號線、控制信號線、數(shù)據(jù)信號線等全部相連,連接示意圖如圖 所示 ????。D D R _ A [ 0 : 1 2 ]D D R _ D [ 1 6 : 3 1 ]D M 6 4 4 6M T 4 7 H 6 4 M 1 6B D D R _ D [ 0 : 1 5 ]B D D R _ A [ 0 : 1 2 ]M T 4 7 H 6 4 M 1 6D D R _ D [ 0 : 1 5 ]B D D R _ A [ 0 : 1 2 ]B D D R _ D [ 1 6 : 3 1 ] DDR2內存連接示意圖作為 DDR 內存技術革新的產物,DDR2 SDRAM 具有由 JEDEC(電子設備工程聯(lián)合委員會)開發(fā)的內存技術標準,即可以在時鐘的上升沿和下降沿同時傳輸數(shù)據(jù),DDR2 的優(yōu)點不止于此,它還具有更低的功耗(采用 電壓邏輯設計),更低的發(fā)熱量和更大的封裝容量。DDR2 DARAM 內的每一個時鐘都具有 4 倍于外部總線的讀/寫數(shù)據(jù)的速度,DDR2 可以支持 400MHz,533MHz,667MHz 的數(shù)據(jù)傳輸率,能夠實現(xiàn)更高的運行頻率與系統(tǒng)帶寬。在保證高速運行的情況下,DDR2 的電路可以準確的鎖存總線上22 / 48的數(shù)據(jù),增加了系統(tǒng)的穩(wěn)定性及可靠性。DDR2 高速的外部存儲器可以完成以下功能:(1)對輸入的視頻圖像數(shù)據(jù)進行存放(2)對視頻處理前端(VPFE)中數(shù)據(jù)的過程存儲進行處理和恢復(3)對視頻編解碼算法執(zhí)行過程中的中間數(shù)據(jù)起緩沖作用(4)對 ARM 和 DSP 兩邊的可執(zhí)行代碼進行存儲。 FLASH 模塊TMS320DM6446 的 HPI、 ATA/CF、EMIFA 和 NAND 接口都復用它的異步EMIFA 口提供的相關的控制信號,另外 TMS320DM6446 處理器還提供 8/16 位的數(shù)據(jù)總線,4 個獨立的片選(獨立配置 NAND 接口)和 14 位的地址總線。NAND Flash 主要用于存儲系統(tǒng)中數(shù)據(jù)和啟動代碼的存儲,TMS320DM6446 的 ARM 內核在 ARM ROM 的支持下從 NAND Flash 的片選 2 啟動。1 . 8 V 至 3 . 3 V電平K 9 K 8 G 0 8 U O C T M S 3 2 0 D M 6 4 4 6E M / [ 0 : 7 ]R / BR EW EC EC L EA L ER E A D / B U S YR E A D _ O EW R I T E _ W EC S 2A 2 ( C L E )A 1 ( A L E )3 . 3 V1 . 8 VE M / [ 0 : 7 ] NAND FLASH的連接示意圖設計選用容量為 64MB 的 K9K1208UOC 芯片作為 NAND Flash。由于多個模塊的共用特性, NAND Flash 的命令鎖存使能信號(CLE)和地址鎖存使能信號(ALE)由 EMIFA 口選用的未復用的地址信號(EMIFA 的 A2 和 A1)來充當,這樣就可以避免系統(tǒng)從 NAND Flash 啟動時 Boot loader 影響到其他模塊。NAND Flash 接口需要的是 的電平標準,而 TMS320DM6446 的 EMIFA 接口是 的電平標準,所以它們之間不能進行直接連接,設計在其之間加了一個 至 的雙向電平轉換芯片使其能夠順利工作,連接圖如圖 所示。23 / 48 音頻模塊音頻模塊可以說是嵌入式視頻系統(tǒng)必須要具備的組件塊,采用由 TI 生產的立體聲編解碼芯片 TLV320AIC33 來完成音頻信號的采集及播放功能,該芯片具有多個輸入和可編程輸出端口,TLV320AIC33 的功耗也比較低,特別適合在嵌入式系統(tǒng)中應用。音頻解碼芯片 TLV320AIC33 輸入端有很多強大的功能,例如數(shù)控立體聲麥克風前置放大、對多路輸入混音處理和自動增益控制,而輸出端不僅具有 4 路普通輸出還有 3 路差分輸出。另外它的數(shù)??刂破鳎―AC)和模數(shù)控制器(ADC)支持8KHz96KHz 的多頻率采樣,AIC33 芯片不止于使用一種電壓,有各種各樣的電壓,包括 到 的模擬電壓, 和 的數(shù)字內核電壓以及 和 的數(shù)字 I/O 電壓。TLV320AIC33 工作在全雙工串行通信模式,它與TMS320DM6446 處理器的連接方式是,與在 DSP 上的音頻端接口(AsP)相連 ????。由于設計之中大多數(shù)模塊都是基于 I2C 總線的,所以本音頻處理模塊的用于寄存器配置的串行總線控制也采用 I2C(支持 100KHz 的標準速率和 400KHz 的高速速率)總線控制并支持 12C 協(xié)議,表 為 ASP 接口的管腳定義。 ASP接口的管腳定義引腳名稱 信號方向 功能描述DR 輸入 接收串行數(shù)據(jù)DX 輸出/高阻 發(fā)送串行數(shù)據(jù)FSR 輸入/輸出/高阻 接收幀同步FSX 輸入/輸出/高阻 發(fā)送幀同步CLKR 輸入/輸出/高阻 接收時鐘CLKX 輸入/輸出/高阻 發(fā)送時鐘當然在音頻模塊中 TMS320DM6446 仍為 I2C 總線的主設備,音頻處理芯片A1C33 是 I2C 的從設備(AIC33 的 12C 地址為 0x1B),視頻處理芯片 AIC33 的MPF0 和 MPF1(通過 10K 電阻上拉)決定從設備的低兩位地址,高五位地址一直定位為 00110b,具體的對應關系如表 所示。 AIC33I2C 從設備地址與MPF0 ,MPF1的對應關系MPF0 MPF1 AIC33設備地址24 / 480 0 00110000 1 00110011 0 00110101 1 0011011 其他模塊 電源管理整個系統(tǒng)所需要的電源有以下四種:(1)外部輸入的系統(tǒng)電壓 5V,此電壓還需要轉換為其他電壓供其他設備用電;(2)TMS320DM6446 處理器的內核電壓 (電流消耗最多為 875mA);(3)外設 I/0 接口電壓和 DDR2 內存電壓 (電流需求最多為 600mA);(4)其他外設電壓 ?????;谝陨系木C合分析考慮,設計中采用了一款效率高達 95%多通道的電源管理芯片 TPS54310(由 TI 官方推薦)。一個線性控制器(LDO)能提供 300mA 電流,輸出電壓也具有可調節(jié)性(),它的這種特性很適合給低功率系統(tǒng)供電 ????。采用 20 引腳 QFN 方式小尺寸封裝的電源管理芯片 TPS54310 和 DM6446 的連接方式如圖 所示:T P S 5 4 3 1 0 ( C o r e )V i nR TS S / E NP HP W R G DP G N DT P S 5 4 3 1 0( 3 . 3 V I / O )V i nR TS S / E NP HP W R G DP G N DT P S 5 4 3 1 0( 1 . 8 V I / O )V i nR TS S / E NP HP W R G DP G N D5 V1 . 2 V3 . 3 V1 . 8 V7 1 . 5 7 1 . 57 1 . 5 TPS54310連接圖 USB 接口USB接口的主要目的是讓前面經過視頻處理器進行壓縮處理后輸出的數(shù)據(jù)流。本系統(tǒng)設計了兩個USB接口(主口和從口),但是主口和從口不能同時工作(TMS320DM6446處理器只設計了一個 USB控制器),所以需要有選擇設備——ID信號。TMS320DM6446 USB控制25 / 48器主要有兩種工作模式,即主模式和從模式,至于USB具體是工作在主模式還是從模式由ID(DM6446芯片獨有設計)4 圖 像 終 端 軟 件 設 計基于 3G 的遠程督導系統(tǒng)作為一個嵌入式系統(tǒng)其軟件的設計包括設備驅動的設計和應用軟件的設計,系統(tǒng)應用涉及到的驅動包括 USB 驅動、攝像頭驅動、編解碼器驅動、FLASH 驅動等,這些驅動程序的編寫涉及到眾多內核知識,而且驅動的編寫比較困難,如果出現(xiàn)錯誤對系統(tǒng)會造成未知的破壞。幸而 Linux 作為一個開源系統(tǒng),不僅內核支持眾多設備驅動,而且許多程序愛好者也提供驅動支持,這樣就避免了編寫驅動的大量繁瑣工作。本節(jié)主要針對應用程序設計做闡述,其中在視頻處理模塊做了視頻采集驅動的設計。 系統(tǒng)整體框架終端圖像采集與處理軟件的設計主要有主線程、控制線程、視頻線程和音頻線程幾個主要模塊。其中視頻線程模塊由于涉及到算法的選擇問題相對比較復雜,也是設計中的核心部分,在后文中做詳細介紹。圖 所示為整體流程圖。26 / 48開始開始清除線程環(huán)境清除線程環(huán)境解析命令行創(chuàng)建 U I解析命令行創(chuàng)建 U I初始化 C o d e c E n g i n e初始化 C o d e c E n g i n e設置線程屬性和優(yōu)先級設置線程屬性和優(yōu)先級語音線程語音線程視頻線程視頻線程控制線程控制線程線程結束同步線程結束同步C l e a r u p , 清空堆棧C l e a r u p , 清空堆棧結束結束否是圖 軟件實現(xiàn)整體流程圖 主線程模塊主線程的主要職責是執(zhí)行必要的初始化任務,解析用戶在命令行所提供的參數(shù),并根據(jù)命令行所提供的參數(shù)值,產生視頻和/或音頻線程,具體的流程圖如圖 所示 ????。首先清除線程環(huán)境是調用 Dmai_clear()函數(shù)完成,再解析命令行的參數(shù),根據(jù)命令行參數(shù)設置現(xiàn)成的環(huán)境變量。Codec Engine 及其 TraceUtil 模塊初始化以便跟蹤登錄。用來同步線程初始化的 Rendezvous 目標打開,然后根據(jù)命令行所傳遞的參數(shù)建立處理線程,最后是調用控制線程的主函數(shù) ctrlThrFxn()轉入控制線程。27 / 48開始清除線程環(huán)境解析命令行并創(chuàng)建 U I創(chuàng)建 R e n d e z v o u s 和P a u s e 模塊初始化 C o d e c E n g i n e設置線程屬性和優(yōu)先級建立視頻線程建立控制線程建立語音線程結束圖 主線程流程圖 圖像線程模塊 圖像采集驅動通過 Linux 操作系統(tǒng)控制硬件設備,必須有相應的驅動程序為視頻設備提供接口。達芬奇處理器 TMS320DM6446 的 Monta Vista Linux 內核為視頻硬件接入提供了專門的視頻驅動接口,視頻輸入驅動 V4L2(Video for Linux Two)。V4L2 驅動程序的開發(fā)流程也就是視頻采集的流程,進行 V4L2 的視頻采集程序開發(fā)過程中常用的控制接口命令標識符有:? VIDIOC_QUERYCAP //取得設備的功能;? VIDIOC_CROPCAP //檢測驅動修剪能力;? VIDIOC_S_STD //設置視頻設備支持的制式 PAL/NTSC;? VIDIOC_QUERYSTD //獲取視頻設備支持的制式;? VIDIOC_S_FMT //設置驅動捕獲的視頻幀格式;? VIDIOC_G_FMT //讀取驅動捕獲的視頻幀格式;? VIDIOC_ENUM_FMT //查詢驅動支持的視頻幀格式;? VIDIOC_TRY_FMT //驗證當前驅動的視頻顯示格式;? VIDIOC_STREAMON //開始視頻采集函數(shù);? VIDIOC_S_CROP //設置圖像尺寸;28 / 48? VIDIOC_QBUF /