新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 視頻監(jiān)控系統(tǒng) ARM與DSP的HPI接口設(shè)計(jì)

視頻監(jiān)控系統(tǒng) ARM與DSP的HPI接口設(shè)計(jì)

作者: 時(shí)間:2017-06-04 來(lái)源:網(wǎng)絡(luò) 收藏

  隨著網(wǎng)絡(luò)技術(shù)、圖像處理技術(shù)及嵌入式技術(shù)日趨成熟,技術(shù)得到廣泛的應(yīng)用。銀行、工廠、政府、學(xué)校等部門(mén),都設(shè)置有監(jiān)控系統(tǒng)。尤其是在國(guó)際上一系列恐怖事件后,人們更感到監(jiān)控系統(tǒng)的重要。而且要求設(shè)備有高清晰的視頻效果的同時(shí),還能對(duì)現(xiàn)場(chǎng)進(jìn)行實(shí)時(shí)控制。所以,此類(lèi)設(shè)備不但要有更高的數(shù)據(jù)處理能力和處理精度,還要有強(qiáng)大的系統(tǒng)控制、管理能力以及高速的網(wǎng)絡(luò)數(shù)據(jù)傳輸速率。

  目前,市面上主流的設(shè)備,大致可以分成兩類(lèi),一是基于通用微處理器,二是基于數(shù)字信號(hào)處理器。兩種芯片在功能上有各自的特點(diǎn),通用芯片適用于系統(tǒng)控制、管理和信息通訊等,芯片則更適合執(zhí)行復(fù)雜的數(shù)字計(jì)算、音視頻數(shù)據(jù)處理等。若兩種芯片協(xié)同工作,就能一定程度上克服各自的不足,更好的發(fā)揮他們的優(yōu)勢(shì)?;谶@個(gè)考慮,本文提出了一個(gè)通用微處理器()與的接口設(shè)計(jì)方案,以實(shí)現(xiàn)兩者的實(shí)時(shí)通信。

  2 系統(tǒng)概述

  2.1 7 S3C44B0X的特點(diǎn)
  
  S3C44B0X是SAMSUNG公司推出的一款16/32位的RISC(Reduced Instruction Set Computer)構(gòu)架的處理器,它采用的是7TDMI內(nèi)核,最高工作頻率可以達(dá)到66MHz。這是一款高性能、低功耗的微處理器,內(nèi)部集成了豐富的資源,包括:8KB的Cache、RAM、LCD控制器、DMA、UART和IIC總線接口等。主要用于GPS定位系統(tǒng)、無(wú)線通信、手持設(shè)備、監(jiān)控系統(tǒng)和車(chē)載裝置的開(kāi)發(fā)。

  S3C44B0X的存儲(chǔ)系統(tǒng)支持256MB的空間,劃分成各32MB的8部分。系統(tǒng)存儲(chǔ)器分配為BANK0~BANK7??梢苑謩e用作外部存儲(chǔ)器和LCD、USB等外設(shè)的連接。其中,Bank0接FLASH,用于存放系統(tǒng)BIOS。Bank1接FLASH硬盤(pán),用作系統(tǒng)硬盤(pán),構(gòu)建文件系統(tǒng)。Bank2接USB口,Bank3接LCD模塊,Bank6接SDRAM,Bank4、Bank5、Bank7保留。

  2.2 DSP TMS20DM642的特點(diǎn)

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

  2.3主機(jī)接口HPI介紹

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

  DM642的HPI接口信號(hào)線有:32條主機(jī)數(shù)據(jù)總線,在非復(fù)用模式下,數(shù)據(jù)總線只傳輸數(shù)據(jù)信號(hào),而在復(fù)用模式下,還可用于地址信號(hào)的傳輸;HR/W_(_表示負(fù)邏輯有效)是HPI接口的讀/寫(xiě)信號(hào)使能;HCS_、HDS1_、HDS2_是片選信號(hào),三者在DSP的內(nèi)部,經(jīng)過(guò)一個(gè)邏輯門(mén),作為數(shù)據(jù)的讀/寫(xiě)控制邏輯;HRDY_是就緒信號(hào),當(dāng)輸出為低電平,表示接口忙,反之,表示可以對(duì)接口進(jìn)行操作;通過(guò)控制HRDY_,可以實(shí)現(xiàn)主機(jī)與DSP的握手通信;HINT_為DSP對(duì)主機(jī)的中斷請(qǐng)求輸出;HHWL用于在16位模式下識(shí)別高低半字;HAS_是地址選通信號(hào);HCNTL0/1是HPI接口的功能選擇位,HCNTL0/1的功能描述如表1。


表1 HCNTL0/1功能描述


  HPI寄存器共占用了256KB的內(nèi)存空間,對(duì)應(yīng)的16進(jìn)制地址范圍是:0X01880000~0X018BFFFF。其中,HPIC的起始地址為0X01880000,HPIA寫(xiě)的起始地址0X01880004,HPIA讀的起始地址為0X01880008,其他地址空間保留。在CPU對(duì)HPI進(jìn)行讀寫(xiě)操作時(shí),必須正確的設(shè)置HPI寄存器。

  3 接口設(shè)計(jì)

  3.1 HPI接口讀/寫(xiě)時(shí)序

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



圖1 HPI32的讀/寫(xiě)時(shí)序圖


  3.2硬件設(shè)計(jì)

  在本設(shè)計(jì)方案中,S3C44B0X和DM642都是32位的處理器,且DM642有HPI32模式。為了充分利用資源,發(fā)揮其優(yōu)勢(shì),采用32位模式設(shè)計(jì)接口。硬件電路如圖2所示。



圖2 硬件接口方塊電路圖


  各引腳連接說(shuō)明如下:

  HD[31:0]與CPU的數(shù)據(jù)線D[31:0]相連。在HPI接口的復(fù)用模式,32條數(shù)據(jù)線HD[31:0]除了傳輸數(shù)據(jù)外,還需傳輸?shù)刂沸盘?hào)。

  片選信號(hào)HCS_接nGCS4。HPI接口映射到保留的系統(tǒng)存儲(chǔ)器BANK4,主機(jī)通過(guò)操作BANK4就能制HPI。

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

  nEWAIT接HRDY_。由于DM642的HRDY_與nEWAIT的有效邏輯電平相反,所以要通過(guò)一個(gè)非門(mén)連接。EINT1接HINT_,用來(lái)DSP向主機(jī)發(fā)中斷請(qǐng)求。

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

  3.3 軟件設(shè)計(jì)

  主機(jī)通過(guò)HPI接口訪問(wèn)DSP內(nèi)部RAM,通過(guò)控制寄存器HPIC、地址寄存器HPIA、數(shù)據(jù)寄存器HPID實(shí)現(xiàn)RAM的讀/寫(xiě)。ARM主機(jī)與DSP從機(jī)的通信就是對(duì)這幾個(gè)寄存器的操作。在編寫(xiě)接口驅(qū)動(dòng)時(shí),HPI接口是被看作接到主機(jī)RAM的外設(shè),由硬件設(shè)計(jì)可知,它被映射到BANK4的存儲(chǔ)空間(對(duì)應(yīng)的存儲(chǔ)器地址是0X08000000~0X0A000000)。

  結(jié)合時(shí)序分析和硬件的設(shè)計(jì),可以編寫(xiě)接口驅(qū)動(dòng)。驅(qū)動(dòng)主要包括兩部分:首先是HPI寄存器初始化,然后是HPI接口的讀/寫(xiě)代碼。以下是HPI接口驅(qū)動(dòng)的部分代碼。

  /* 地址及數(shù)據(jù)初始化 */

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

  /* HPIC、HPIA、HPID讀寫(xiě)地址的偏移量 */

  #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讀、寫(xiě)代碼 */

  unsigned long hpi_read_data (unsigned long addr)

  { unsigned long data;

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

  return(data); }

  unsigned long hpi_write_data (unsigned long addr)

  { unsigned long data;

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

  write_data(BASE_ADDR+HPID_WR); } // 寫(xiě)入數(shù)據(jù)



更多相關(guān): 視頻監(jiān)控系統(tǒng) 視頻 視頻監(jiān)控 投影行業(yè)新聞 投影機(jī)

本文引用地址:http://m.butianyuan.cn/article/201706/348517.htm


關(guān)鍵詞: DSP ARM 視頻監(jiān)控

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉