有利于實現(xiàn)GU1、多線程、文件管理等高級功能,通過軟硬件重構集成,并將新建映象文件下載到開發(fā)電路板中固化,提高執(zhí)行效率。動態(tài)可重構FPGA在程序運行中動態(tài)完成FPGA的不同配置電路功能,在不同時段執(zhí)行不同的算法,實現(xiàn)了虛擬硬件可重構計算技術??芍貥嬒到y(tǒng)在多媒體處理方面提供強大的運行能力,覆蓋相關功能的接口控制方法,并通過中間件下載方式實現(xiàn)應用支持功能遠程更新。
[0076]本實用新型的具體實施解決方案包括:可重構網(wǎng)絡媒體話機終端系統(tǒng)的嵌入式軟硬件設計、功能開發(fā)和產(chǎn)品集成??紤]到終端應符合功能可配、接口靈活、運行高效、便于控制、性價比合理,以及生產(chǎn)成本、實現(xiàn)的難易程度、市場推廣、產(chǎn)品的升級更新等諸多要求,具體實施確定的終端開發(fā)平臺實現(xiàn)方案為:ARM+FPGA處理器結合Android操作系統(tǒng),包括多個處理單元的模塊化結構開發(fā)環(huán)境配置。
[0077]本實用新型的硬件架構:
[0078]圖4為本實用新型可重構網(wǎng)絡媒體話機終端的硬件結構框圖,按照終端的功能需求定義配置目標可編程器件。它主要包括ARM處理器、FPGA處理器、FLASH存儲器和對外總線接口,主處理器采用ARM9內(nèi)核S3C2410A芯片,從處理器采用TI公司的TMS320C621IDSP芯片。
[0079]1)ARM處理器選用Samsung公司的ARM9內(nèi)核芯片S3C2410A,其主要功能是實現(xiàn)雙處理器接口的FPGA讀取FLASH存儲器中的重構方案,實現(xiàn)在系統(tǒng)配置;
[0080]2)FPGA協(xié)處理器選用TI公司的TMS320C6211DSP芯片,基于非易失性存儲的FPGA,自身帶有PR0M,作為外部總線和ARM控制器之間的雙端口,主要功能是實現(xiàn)雙處理器DSP控制器時序,完成配置方案數(shù)據(jù)的并串轉換并輸出至外部總線;
[0081 ] 3)FLASH存儲器容量為32MX16b,用于處理器的上電引導、存放多種重構配置方案。,F(xiàn)BGA封裝;
[0082]4)外部總線接口,可采用多路驅動接收器,實現(xiàn)和外部通信的接口,分別控制目標多個FPGA的重構配置和反饋重構信息。
[0083]核心處理器S3C2410內(nèi)部集成了 ARM公司ARM920T處理器核的32位微控制器,帶獨立的16KB的指令Cache和16KB數(shù)據(jù)Cache、LCD控制器、RAM控制器、3路URAT、4路DMA、并行I/O口、2路SPI等,主頻最高可達203MHz。負責系統(tǒng)控制管理和數(shù)據(jù)傳輸?shù)热蝿?,通過相應的外設可以實時顯示或相應處理,TMS320C6211處理器外設接口豐富,并進行相關的配置和擴展,增加了 8MB16位的FLASH和16MB32位的SDRAM; ARM處理器選擇通用外部接口 GP1(General purpose I/O)的Port C端口 16根數(shù)據(jù)線與FPGA接口HPI(Host Port Interface)相連接,實現(xiàn)數(shù)據(jù)交換和信息傳輸。ARM在接收到數(shù)據(jù)后,根據(jù)需要做出相應處理;FPGA與DSP協(xié)調(diào)通過中斷的方式定時向ARM單元提出數(shù)據(jù)傳輸申請,經(jīng)響應后將數(shù)據(jù)傳輸給各功能單元,進而傳輸?shù)骄W(wǎng)絡??刂颇K中,外接Flash和SDRAM,加上處理器自帶的內(nèi)存,可充分滿足嵌入式操作系統(tǒng)的移植和數(shù)據(jù)存儲的需求??刂颇K可通過USB口與外設或上位機實現(xiàn)數(shù)據(jù)交換與系統(tǒng)移植,利用專用的JTAG調(diào)試接口實現(xiàn)功能調(diào)試。另外,可以利用GP1外接多種不同的設備,也可以通過自帶的網(wǎng)口連接到網(wǎng)絡或通過增加設置以太網(wǎng)控制器芯片DSP擴展可重構通信處理模塊和網(wǎng)絡適配接口。
[0084]為了提高設計和應用的靈活性,硬件設計上采用核心板加底板的模塊化集成方法,在核心板上集成Samsung公司的ARM9內(nèi)核芯片S3C2410A處理器和TI公司的TMS320C6211DSP芯片處理器?;贏RM946E-S雙核DSP處理器,通過底板擴展外部功能,并將其豐富的外設接口資源引出。外圍電路包括網(wǎng)絡接口、接收電路、發(fā)送電路及與DSP的接口電路,可在底板上擴展出功能模塊接口、功能應用接口、外設接口等,并覆蓋接口控制方法,以實現(xiàn)終端系統(tǒng)內(nèi)外部間的數(shù)據(jù)傳輸和通信。
[0085]本實用新型的軟件架構:針對系統(tǒng)軟件可移植性、可擴展性、靈活性和可維護性的需求,結合終端軟硬件組成和功能特點,終端的軟件架構以開放操作系統(tǒng)為核心,根據(jù)系統(tǒng)硬件結構和系統(tǒng)功能設計加以擴充。選擇Android作為嵌入式操作系統(tǒng),Android是一個相對成熟的商業(yè)性的嵌入式操作系統(tǒng),適合可重構復雜應用,具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良等特點;系統(tǒng)硬件驅動采用ARM+EPGA處理器SDK和DAX設備驅動程序。
[0086]圖5:本實用新型可重構網(wǎng)絡媒體話機終端的軟件結構框圖,基于Android作為嵌入式操作系統(tǒng)軟件架構分為4個層次,即資源層、中間件層、業(yè)務無關程序層和應用層
[0087]I)資源層:包含操作系統(tǒng)和硬件驅動程序。資源層透明地將各種資源提供給中間件層。
[0088]2)中間件層:由一組可重構定義的中間件核心應用與應用服務程序模塊實現(xiàn)。中間件層提供了一個統(tǒng)一的底層資源層抽象視圖,應用程序不直接訪問資源,而是通過中間件層實現(xiàn)對資源的調(diào)用。
[0089]3)業(yè)務無關程序層:包括各種直接運行在操作系統(tǒng)之上,與應用業(yè)務無關的程序,如DHCP、PPPoE接入認證程序等。程序直接運行在OS之上,可以提高運行效率。這些程序在引入新的終端設計時要進行移植,但這些程序通常具有業(yè)務無關性,遵循通用的接口協(xié)議,因此能做到快速移植。
[0090]4)應用層:提供可重構設置的人機交互應用和通信接口處理程序。
[0091]設備驅動采用DAX驅動程序作為管理設備的軟件模塊。DAX驅動模塊由DAX頭文件和DAX函數(shù)組成。DAX_Params作為配置工具設備驅動對象的屬性。每個設備驅動模塊同時還需要一個控制模塊,控制模塊由外部函數(shù)bind、start、stop和unbind等組成,通過DAX_Params參數(shù)結構和配置工具配置控制器。其中,控制器的bind(unbind)函數(shù)負責綁定(解除綁定)設備驅動模塊對設備端口的控制??刂破鞯膕tart函數(shù)負責調(diào)用流S10_get時打開設備端口,也就是打開McBSP的接收和發(fā)送中斷使ISR中斷服務線程正常運行??刂破鞯膕top函數(shù)使停止中斷運行并關中斷。
[0092]可重構網(wǎng)絡媒體話機終端軟件系統(tǒng)應用程序運行于Android操作系統(tǒng)之上,采用層次結構,在生成SDK的基礎上,可進入系統(tǒng)軟件的設計。在這里,軟件的開發(fā)設計與通常的嵌入式系統(tǒng)的開發(fā)設計相類似,唯一不同點在于這時面對的嵌入式系統(tǒng)是自己定制的、裁剪過的,因此,受到硬件的局限性會小些,可使用Java來進行嵌入式程序設計及第三方工具進行程序的編譯連接以及調(diào)試。整個系統(tǒng)除了 A/D、D/A轉換器和控制選擇鍵盤外接外,其余都在一片編程芯片中。由于有ARM-FPGA,因此既可自定義指令,也可通過總線自定義各種接口模塊組件,使整個DSP系統(tǒng)的使用靈活多樣,使底層的硬件對上層軟件透明,增加和替換硬件不用修改高層的軟件,上層軟件修改時不必了解硬件的結構,升級和擴展起來十分方便。
[0093]本實用新型的系統(tǒng)集成:本實用新型可重構網(wǎng)絡媒體話機終端的系統(tǒng)功能結構就是基于上述基本概念及其抽象模型,依據(jù)的目標應用功能的實現(xiàn)邏輯設計的,通過將各個獨立的功能系統(tǒng)進行可重構集成,系統(tǒng)的基本結構包括:可重構控制模塊、可重構通信模塊、通信、音頻、視頻和圖形處理模塊、其它外圍電路、電源和接口模塊等。模塊化的中間件是居于可終端操作系統(tǒng)與應用程序中間的軟件部分,中間件協(xié)議結構由兩部分組成:是信令協(xié)議棧和應用業(yè)務協(xié)議棧。信令協(xié)議棧包括高層信令層、數(shù)據(jù)鏈路層(分成LAC子層和MAC子層)以及物理層。其中高層信令層主要描述了信令結構、安全認證、信令控制和應用、消息格式等;LAC子層提供信令傳輸?shù)目煽啃员WC,包括鑒權、ARQ、功用、分割重裝等;MAC子層完成邏輯信道業(yè)務的復分接以及QoS控制等功能;應用業(yè)務協(xié)議棧包括多媒體視頻/音頻編解碼器、實時傳輸協(xié)議(RTP)、呼叫控制信令協(xié)議、TCP/IP、PPP等。它以應用程序接口 API的形式存在,整個API集合被存儲在終端的存儲設備中。中間件封裝了所有的業(yè)務接口,而只向終端提供一個統(tǒng)一的、規(guī)范化的接口,物理層實現(xiàn)數(shù)據(jù)編解碼和調(diào)制解調(diào)等物理信道的處理。從而簡化了終端的研發(fā)難度,實現(xiàn)了終端從業(yè)務請求、資源調(diào)度和信息傳送的不同的功能實現(xiàn)機制和工作流程的標準化;
[0094]本實用新型可重構網(wǎng)絡媒體話機終端的系統(tǒng)集成框圖見圖6,電路板基于總線結構,采用集成Samsung公司的ARM9內(nèi)核芯片S3C2410A處理器和TI公司的TMS320C6211DSP芯片處理器開發(fā)方案,系統(tǒng)基于嵌入式Android操作系統(tǒng)完成開發(fā)。
[0095]本實用新型的工作流程實現(xiàn):可重構網(wǎng)絡媒體話機終端,以ARM核微處理器作為主控制器,以FPGA芯片處理器作為重構控制器配合主控制器工作,外掛適當?shù)拇鎯捌渌鈬骷?、電路,構成嵌入式硬件系統(tǒng);采用Android操作系統(tǒng),以中間件定義通信、媒體處理功能及應用接口,構成嵌入式軟件系統(tǒng);事先按功能需求設計軟硬件配置方案,存儲在重構控制器內(nèi)部的存儲器中;所述終端上電后,通過重構控制器將優(yōu)化配置方案分時定位到目標可編程器件內(nèi),同時保持其它部分電路功能正常,以提高系統(tǒng)運行效率。所述終端在軟件的驅動下,對FPGA芯片處理器的全部或部分邏輯資源重新進行動態(tài)配置,ARM與FPGA之間的通信通過處理器的外設多通道緩沖串行口(McBSP)實現(xiàn)閉環(huán)測試。簡單的交互處理系統(tǒng)由采集線程和播放線程兩個應用任務組成。每個應用任務分別對應一個輸入S1和一個輸出S1流,通過兩個半雙工通道(一個輸入,一個輸出)來訪問連接到處理器的DSP多通道緩沖串行口。另外,在兩個任務之間的數(shù)據(jù)交換通過DPI設備驅動完成,處理器匹配相應的應用中間件及配置操作提升性能,實現(xiàn)硬件時分復用、最大限度支持終端具備高實用性和可擴展性。
[0096]本實用新型可重構網(wǎng)絡媒體話機終端的工作流程參見見圖7:用戶界面負責訪問交互、控制整個系統(tǒng)的協(xié)同工作以響應用戶的命令,同時負責支持終端業(yè)務應用??芍貥嬐ㄐ拍K負責與具體的網(wǎng)絡或外界設備進行交互,實際完成數(shù)據(jù)的發(fā)送和接收。
[0097]語音通信處理部分由語音編碼模塊和語音