微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 视频监控系统中ARM与DSP的HPI接口设计

视频监控系统中ARM与DSP的HPI接口设计

时间:04-28 来源:微计算机信息 点击:

11

HPID读/写操作

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_这几个信号端口就能实现。

图1 HPI32的读/写时序图

3.2硬件设计

在本设计方案中,S3C44B0X和DM642都是32位的处理器,且DM642有HPI32模式。为了充分利用资源,发挥其优势,采用32位模式设计接口。硬件电路如图2所示。

图2 硬件接口方块电路图

各引脚连接说明如下:

①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); // 读取数据

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].微计算机信息. 2006.22.127-129

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top