精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

視頻監控系統中ARM與DSP的HPI接口設計

責任編輯:企業網

2010-08-06 11:40:10

來源:企業網D1Net

原創

隨著網絡技術、圖像處理技術及嵌入式技術日趨成熟,視頻監控技術得到廣泛的應用。銀行、工廠、政府、學校等部門,都設置有監控系統。尤其是在國際上一系列恐怖事件后,人們更感到...

隨著網絡技術、圖像處理技術及嵌入式技術日趨成熟,視頻監控技術得到廣泛的應用。銀行、工廠、政府、學校等部門,都設置有監控系統。尤其是在國際上一系列恐怖事件后,人們更感到監控系統的重要。而且要求視頻監控設備有高清晰的視頻效果的同時,還能對現場進行實時控制。所以,此類設備不但要有更高的數據處理能力和處理精度,還要有強大的系統控制、管理能力以及高速的網絡數據傳輸速率。

目前,市面上主流的視頻監控設備,大致可以分成兩類,一是基于通用微處理器,二是基于數字信號處理器DSP。兩種芯片在功能上有各自的特點,通用芯片適用于系統控制、管理和信息通訊等,DSP芯片則更適合執行復雜的數字計算、音視頻數據處理等。若兩種芯片協同工作,就能一定程度上克服各自的不足,更好的發揮他們的優勢。基于這個考慮,本文提出了一個通用微處理器(ARM)與DSP的接口設計方案,以實現兩者的實時通信。

2 系統概述

2.1 ARM7 S3C44B0X的特點

S3C44B0X是SAMSUNG公司推出的一款16/32位的RISC(Reduced Instruction Set Computer)構架的處理器,它采用的是ARM7TDMI內核,最高工作頻率可以達到66MHz。這是一款高性能、低功耗的微處理器,內部集成了豐富的資源,包括:8KB的Cache、RAM、LCD控制器、DMA、UART和IIC總線接口等。主要用于GPS定位系統、無線通信、手持設備、監控系統和車載裝置的開發。

S3C44B0X的存儲系統支持256MB的空間,劃分成各32MB的8部分。系統存儲器分配為BANK0~BANK7。可以分別用作外部存儲器和LCD、USB等外設的連接。其中,Bank0接FLASH,用于存放系統BIOS。Bank1接FLASH硬盤,用作系統硬盤,構建文件系統。Bank2接USB口,Bank3接LCD模塊,Bank6接SDRAM,Bank4、Bank5、Bank7保留。

2.2 DSP TMS20DM642的特點

TMS320DM642(簡稱DM642)是TMS320C6000系列中性能最好的一款定點DSP,基于美國德州儀器公司開發的Veloci TI第二代高性能超長指令字VLIW(Very Long Instruction Word)構架而設計,芯片采用兩級緩存的結構,能夠支持一系列功能強大的外設。DM642擁有大量片上資源:64-bit 外部存儲器接口、加強型DMA控制器、16/32位HPI接口、IIC總線、GPIO、多媒體卡控制器、USB、多通道音頻接口、10/100Mbs以太網、管理數據輸入輸出模塊等,是一款性能優越的多媒體處理器,是設計數字音視頻處理系統的首選。

2.3主機接口HPI介紹

HPI(Host-Post InteRFace)接口是DSP與主機相連接的一個并行通信口,是構建主從式系統,實現主機與從機通信的重要接口。主機通過HPI可以訪問DSP內全部的存儲空間及地址空間映射的外設,進而控制DSP,實現數據交換。DM642的HPI接口有HPI16和HPI32兩種工作方式,在HPI16的方式下,高16位數據端口HD[31:16]還可又用于PCI接口通信。

DM642的HPI接口信號線有:32條主機數據總線,在非復用模式下,數據總線只傳輸數據信號,而在復用模式下,還可用于地址信號的傳輸;HR/W_(_表示負邏輯有效)是HPI接口的讀/寫信號使能;HCS_、HDS1_、HDS2_是片選信號,三者在DSP的內部,經過一個邏輯門,作為數據的讀/寫控制邏輯;HRDY_是就緒信號,當輸出為低電平,表示接口忙,反之,表示可以對接口進行操作;通過控制HRDY_,可以實現主機與DSP的握手通信;HINT_為DSP對主機的中斷請求輸出;HHWL用于在16位模式下識別高低半字;HAS_是地址選通信號;HCNTL0/1是HPI接口的功能選擇位.

    

HPI寄存器共占用了256KB的內存空間,對應的16進制地址范圍是:0X01880000~0X018BFFFF。其中,HPIC的起始地址為0X01880000,HPIA寫的起始地址0X01880004,HPIA讀的起始地址為0X01880008,其他地址空間保留。在CPU對HPI進行讀寫操作時,必須正確的設置HPI寄存器。

3 接口設計

3.1 HPI接口讀/寫時序

讀/寫時序是實現計算機操作的重要一點,如果操作時序不相符,就會導致讀/寫數據出錯,甚至是操作失敗。所以,滿足操作時序是實現計算機操作的先決條件之一。DM642的HPI接口操作時間為1.3ns~12ns或大約5個CPU時鐘脈沖。S3C44B0X的最高時鐘頻率可達66MHz(約為15.2ns),由此可知DM642的HPI與S3C44B0X在讀/寫時序上的滿足要求,接口通信可以實現。DM642的HPI32讀/寫時序如圖1,設計接口時,必須遵守該時序。由時序圖可知,控制HPI的讀/寫時序,通過控制HCNTL、HR/W_ 、HSTROBE_、HCS_以及HRDY_這幾個信號端口就能實現。
             

3.2硬件設計

在本設計方案中,S3C44B0X和DM642都是32位的處理器,且DM642有HPI32模式。為了充分利用資源,發揮其優勢,采用32位模式設計接口。return(data);  }

unsigned long hpi_write_data (unsigned long addr)

{ unsigned long data;

set_addr(addr);  // 設置起始地址

write_data(BASE_ADDR+HPID_WR);  }  // 寫入數據

4 結語

在主從式視頻監控系統中,通過HPI接口的設計,實現了S3C44B0X與DM642的高速通信。S3C44B0X運行的HPI讀/寫程序,通過設置相應的中斷控制信號和對HPIC、HPIA、HPID三個寄存器的操作,實現對DM642內存空間的訪問,并且可以控制映射到內存空間的數據采集終端及其他外設,從而實現了雙核間的數據交換。由此證明,在S3C44B0X與DM642構建的主從式系統中,利用HPI設計的接口電路可以準確、實時的實現兩個芯片間的數據通信。 

本文作者創新點:采用HPI32(32位)方式設計主從式系統的通信接口,與HPI16(16位)和HPI8(8位)相比,速度更快,雙核的協同工作性能更優。

參 考 文 獻

[1]SAMSUNG.S3C44B0X USER`S MANUAL[Z]. http://www.samsung.com

[2]TEXAS INSTRUMENTS.TMS320DM642 USER`S MANUAL[Z]. http://www.ti.com

[3]李巖,榮盤祥編著.基于S3C44B0X嵌入式uCLinux系統原理及應用[M].北京:清華大學出版社.2005

[4]汪春梅,孫洪波編著.TMS320C5000 DSP系統設計與開發實例[M].北京:電子工業出版社.2004

[5]徐錚,劉方.ARM S3C4510B與DSP C5416的接口設計[J].儀器儀表用戶. 2005.6.93-94

[6]楊健,張慧慧,于東琴等,一種HPI技術在雙機系統通信中的應用[J].微計算機信息.


  各引腳連接說明如下:

①HD[31:0]與CPU的數據線D[31:0]相連。在HPI接口的復用模式,32條數據線HD[31:0]除了傳輸數據外,還需傳輸地址信號。

②片選信號HCS_接nGCS4。HPI接口映射到保留的系統存儲器BANK4,主機通過操作BANK4就能控制HPI。

③因S3C44B0X沒有HR/W_信號,所以用A1代替,與之相連。A2、A3接HCNTL0/1,用作接口功能選擇。nOE和nWBE分別接HDS1_和HDS2_作為HPI的讀/寫控制信號輸入。

④nEWAIT接HRDY_。由于DM642的HRDY_與nEWAIT的有效邏輯電平相反,所以要通過一個非門連接。EINT1接HINT_,用來DSP向主機發中斷請求。

⑤HPI32方式下,HHWL和地址選通信號HAS_無需使用,固定接上拉電阻(高電平)。

3.3 軟件設計

主機通過HPI接口訪問DSP內部RAM,通過控制寄存器HPIC、地址寄存器HPIA、數據寄存器HPID實現RAM的讀/寫。ARM主機與DSP從機的通信就是對這幾個寄存器的操作。在編寫接口驅動時,HPI接口是被看作接到主機RAM的外設,由硬件設計可知,它被映射到BANK4的存儲空間(對應的存儲器地址是0X08000000~0X0A000000)。

結合時序分析和硬件的設計,可以編寫接口驅動。驅動主要包括兩部分:首先是HPI寄存器初始化,然后是HPI接口的讀/寫代碼。以下是HPI接口驅動的部分代碼。

/* 地址及數據初始化 */

#define BASE_ADDR    0X08000000   // 定義基地址

/* HPIC、HPIA、HPID讀寫地址的偏移量 */

#define HPIC_WR             0X00

#define HPID_A_WR            0X04

#define HPIA_WR                0X0C

#define HPIC_R                   0X10

#define HPID_A_R               0X14

#define HPIA_R                   0X1C

/* HPI讀、寫代碼 */

unsigned long hpi_read_data (unsigned long addr)

{ unsigned long data;

data=read_data(BASE_ADDR+HPID_R);  // 讀取數據

 

熱文推薦

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 玉龙| 怀柔区| 阜新| 灵川县| 克什克腾旗| 凤台县| 巴青县| 柏乡县| 阿城市| 古丈县| 乌拉特前旗| 乌兰察布市| 二连浩特市| 台北市| 宁海县| 贵阳市| 鹤壁市| 积石山| 赣州市| 梧州市| 通州市| 新宁县| 湘乡市| 育儿| 定州市| 南宫市| 正宁县| 六枝特区| 弥勒县| 神农架林区| 广元市| 黎川县| 岢岚县| 延安市| 含山县| 攀枝花市| 镇原县| 体育| 东乌| 庆阳市| 仲巴县|