久久久久久久麻豆,中日韩av在线,麻豆av在线免费,中文字幕二区三区,欧美日韩视频一区二区,亚洲欧美日韩在线一区,国产无毒不卡

ARM/DSP雙核系統(tǒng)的通信接口設計


嵌入式系統(tǒng)的核心是嵌入式微處理器和嵌入式操作系統(tǒng)。早期的嵌入式系統(tǒng)硬件核心是各種類型的8位和16位單片機;而近年來32位處理器以其高性能、低價格,得到了廣泛的應用。近年來,又出現(xiàn)了另一類數(shù)據(jù)密集處理型芯片dsp。dsp由于其特殊的結構、專門的硬件乘法器和特殊的指令,使其能快速地實現(xiàn)各種數(shù)字信號處理及滿足各種高實時性要求。隨著現(xiàn)代嵌入式系統(tǒng)的復雜度越來越高,操作系統(tǒng)已成為嵌入式系統(tǒng)不可缺少的部分。免費的嵌入式操作系統(tǒng),如linux等,隨著自身不斷的改善,得到了飛速的發(fā)展。linux是一個免費的、強大的、可信賴的、具有可伸縮性與擴充性的操作系統(tǒng)。linux實現(xiàn)了許多現(xiàn)代化操作系統(tǒng)的理論,并且支持完整的硬件驅動程序、網(wǎng)絡通信協(xié)議與多處理器的架構,其源碼的公開更有利于操作系統(tǒng)嵌入式應用。

  基于上述分析,筆者開發(fā)了基于arm和dsp芯片的雙核嵌入式系統(tǒng)。系統(tǒng)充分利用了arm和dsp的各自特點,既可以使用arm和dsp芯片進行協(xié)同開發(fā),也可以利用arm或dsp進行獨立開發(fā)。操作系統(tǒng)選用了linux,以利于充分發(fā)揮系統(tǒng)的效能。

1 系統(tǒng)的總體設計

  由于arm芯片的控制性能較強,在嵌入式系統(tǒng)中arm主要用于控制和少量的數(shù)據(jù)處理。這樣,一方面要求cpu要低功耗和有足夠的時鐘頻率來運行操作系統(tǒng),以滿足便攜式的要求;另一方面也要求其有足夠種類的接口,以利于性能的擴展?;谝陨峡紤],在開發(fā)平臺中選用hy7202作為cpu。

  dsp作為數(shù)據(jù)運算部分,可以充分發(fā)揮其對數(shù)字信號處理的獨特優(yōu)勢。ti公司的c54xx系列16位定點dsp以其高性價比普遍應用于各類通信、便攜式應用當中??紤]到對數(shù)字視頻和數(shù)字圖像等大數(shù)據(jù)吞吐量應用場合的處理要求,選用ti公司的tms320c5416芯片。其時鐘頻率最高可達到206 mhz,系統(tǒng)總體框圖如圖1所示。

    
              圖1系統(tǒng)整體硬件結構框圖

   系統(tǒng)軟件平臺結構如圖2所示,軟件平臺分arm部分和dsp部分,以及arm和dsp的接口軟件設計部分。arm部分以hynix公司patch的arm linux version 2.4.18為操作系統(tǒng),并在此基礎之上移植linux標準庫glibc、libjpg、libpng、imlib、libwww、libflash及漢字庫。圖形界面以microwindows 0.9及其控件庫flnx提供嵌入式圖形界面平臺。系統(tǒng)平臺具有強大的網(wǎng)絡通信功能,通過平臺webserver、ftp、telnet、inetd等網(wǎng)絡工具和應用程序能方便地開發(fā)基于internet的網(wǎng)絡終端、遠程控制、遠程數(shù)據(jù)采集、遠程數(shù)據(jù)處理產(chǎn)品。在應用程序層上,系統(tǒng)平臺集成窗口管理程序,全中文化網(wǎng)絡瀏覽器(支持html、xml),flash播放器(支持flash4、flash5、flash6),文本編輯器,游戲等用于pda開發(fā),機頂盒上網(wǎng)解決方案,以及可用于嵌入式數(shù)據(jù)采集、處理的虛擬示波器等。

     
               圖2系統(tǒng)軟件的總體結構

  dsp部分通過提供完整的hpi驅動程序(dsp部分)及通信協(xié)議,通過增加相應數(shù)據(jù)處理程控制算法程序,利用hpi并行接口與主機arm通信進行數(shù)據(jù)交換,可用于各種實時處理,控制領域。

  此外,dsp和arm可以各自作為獨立的系統(tǒng)使用,它們均有完整的子系統(tǒng)軟件。子系統(tǒng)之間聯(lián)系的核心是dsp器件本身帶有的hpi接口。

2 arm和dsp的通信接口設計

(1) dsp的hpi口介紹

  hpi是tms320c54x等芯片提供的一種并行端口,專門用于dsp和外部主機并行通信。hpi接口有標準hpi接口和增強型hpi接口。對于c5416和c5420dsp器件,它們的主機接口為增強型主機接口。標準hpi接口是一個8位總線接口,通過2個8位字節(jié)組合在一起形成1個16字。增強型hpi接口分8位和16位兩種。8位增強型主機接口和標準hpi接口操作時序一樣,主要區(qū)別在于標準型只能訪問2 kb專用ram,而增強型可以訪問dsp的整個ram區(qū)。16位增強型hpi接口采用16位總線,只要一個主機操作就能完成訪問操作。

(2) hpi硬件連線

  hms30c7202與tms320c5416接口電路如圖3所示。系統(tǒng)將hpi接口所有控制寄存器、地址寄存器、數(shù)據(jù)寄存器統(tǒng)一編址,映射到hms30c7202物理地址0x0c000000開始的i/o內(nèi)存空間。

      
              圖3dsp和主機雙向通信

  利用地址線ra\[3:0\]產(chǎn)生hpi訪問所需的控制信號。a0與a1決定訪問寄存器類型。a2決定訪問的是第一個字節(jié)還是第二個字節(jié):a2=0時,表示寫入的數(shù)據(jù)為第一個字節(jié);a2=1時,表示寫入的數(shù)據(jù)為第二個字節(jié)。在hpi-8中所有地址線和控制線是在hds1和hds2的下降沿采樣,而不是由hr/w決定,因此hr/w通過地址線a3表示當前操作是讀還是寫,而數(shù)據(jù)鎖存信號由nrcs3和nrw0相與后共同產(chǎn)生。kscan[2]設置為hms30c7202的porta中斷輸入腳,dsp通過中斷方式與linux底層hpi驅動程序通信。

3 arm和dsp的通信接口驅動程序設計

  linux是unix操作系統(tǒng)的一種變種。在linux下編寫驅動程序的原理和思想完全類似于其他的unix系統(tǒng),但它和dos或window環(huán)境下的驅動程序有很大的區(qū)別。linux驅動程序可以編譯進內(nèi)核,也可以模塊形式動態(tài)地加入和卸載。linux的這種特點可根據(jù)目標系統(tǒng)裁減內(nèi)核,更適合于嵌入式系統(tǒng)。

(1) linux驅動程序基本原理

  在linux中所有設備分為字符設備、塊設備和網(wǎng)絡設備三種,所有設備都看成普通文件,因此可以通過用操縱普通文件相同的系統(tǒng)調用來打開、關閉、讀取和寫入設備。系統(tǒng)中每個設備都用一種設備特殊文件來表示。

  在linux中,設備驅動程序是一組相關函數(shù)的集合。它包含設備服務子程序和中斷處理程序,每個設備服務子程序只處理一種設備或者緊密相關的設備。其目的就是從與設備無關的軟件中接受抽象的命令并執(zhí)行。當執(zhí)行一條請求時,具體操作是根據(jù)控制器驅動程序提供的接口,并利用中斷機制去調用中斷服務子程序配合設備來完成這個請求。設備程序利用結構file_operations與文件系統(tǒng)聯(lián)系起來。在linux下驅動程序裝載如圖4所示。
     
                圖4模塊連接到內(nèi)核示意

(2) hpi驅動程序

  hpi接口可用i/o端口方式,也可以用i/o存取方式。系統(tǒng)平臺采用i/o存取方式,將hpi訪問控制寄存器、數(shù)據(jù)寄存器、地址寄存器,映射到內(nèi)存物理地址為0x0c000000開始的空間,通過訪問存儲器指令對hpi進行操作。hpi具體物理地址定義如下:
#definehpi_base0x0c000000//hpi基地址
#define hpd_read_lowhpi_base+0x0012
//讀數(shù)據(jù)寄存器第一字節(jié)

#define hpa_write_highhpi_base+0x000c
//寫地址寄存器第二字節(jié)

  在linux下,類似windows,程序不能直接訪問物理地址。設備驅動程序是內(nèi)核的一部分,它像內(nèi)核中其他代碼一樣運行在內(nèi)核模式,驅動程序如果出錯就會使系統(tǒng)受到嚴重破壞,因此需要將物理地址映射到內(nèi)核空間。在linux下通過virtul_address=(u32)ioremap(hpi_base,hpi_length)實現(xiàn)。驅動程序主要結構如下:
struct file_operations hpi_fops={
owner:this_module,
read: hpi_read,
write: hpi_write,
poll : hpi_poll,
open: hpi_open,
release: hpi_release,
};

  hpi通信協(xié)議采用幀結構,由于增強型hpi接口允許訪問dsp內(nèi)部ram所有空間,系統(tǒng)通信在dsp內(nèi)部分配2 k字(16位)作為幀緩沖區(qū),讀寫各1 k字,協(xié)議采用一位滑動窗口協(xié)議。幀格式如表1所列。
     

結語

  本文介紹了使用arm和dsp雙cpu構成的雙核嵌入式系統(tǒng)的硬件平臺,以及源代碼開放的linux作為嵌入式系統(tǒng)中操作系統(tǒng)的方法,給出了系統(tǒng)設計的總體框圖,詳細介紹了arm和dsp通信接口的設計。這一設計方法可以適用于大多數(shù)現(xiàn)代嵌入式系統(tǒng)的設計,有一定的實用價值。

                  參考文獻
1 http://www.kernel.org
2 www.linuxdevices.com
3 http://kernelnewbies.org/documents/kdoc
4 michacl k.johnson erik w.troan. linux編程權威指南. 龍華喬,胡以逕譯. 北京:中國電力出版社,2001
5 徐盛,胡劍凌. 數(shù)字信號處理器開發(fā)實踐. 上海:上海交通大學出版社,2003
6 胡劍凌,徐盛. 數(shù)字信號處理系統(tǒng)的應用和設計. 上海:上海交通大學出版社,2003
function imgzoom(id)//重新設置圖片大小 防止撐破表格{var w = $(id).width;var m = 550;if(w < m){return;}else{var h = $(id).height;$(id).height = parseint(h*m/w);$(id).width = m;}}window.onload = function(){var imgs = $("content").getelementsbytagname("img");var i=0;for(;i
編輯:

COPYRIGHT(C) 2011 廈門永宏亞得機電科技有限公司版權所有(閩ICP備05025945號) ALL RIGHTS RESERVED?

電話: 0592-5190891 傳真: 0592-5190720 E-Mail: E-mail:yade8895@163.com
地址: 廈門市海滄區(qū)興港六里17號2607室 郵編:361009 聯(lián)系人:翟先生