历史上的今天
返回首页

历史上的今天

今天是:2026年02月03日(星期二)

正在发生

2023年02月03日 | 通用微处理器(ARM)与DSP的接口设计方案

2023-02-03 来源:elecfans

  1 引言

  目前,市面上主流的视频监控设备,大致可以分成两类,一是基于通用微处理器,二是基于数字信号处理器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接口的功能选择位,HCNTL0/1的功能描述如表1。

  

 

  表1 HCNTL0/1功能描述

  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设计的接口电路可以准确、实时的实现两个芯片间的数据通信。


推荐阅读

史海拾趣

骏晔科技(DreamLNK)公司的发展小趣事

随着公司业务的不断发展和市场规模的扩大,骏晔科技开始积极布局全球市场。公司通过与全球数十家半导体企业建立战略合作关系,拓展海外市场。同时,公司还积极参加国际电子展会和论坛,与全球同行交流合作,共同推动电子行业的发展。通过这些努力,骏晔科技在国际市场上逐渐崭露头角,成为了备受关注的行业新星。

DIPTRONICS MANUFACTURING INC公司的发展小趣事

圜达实业于1985年在台湾新北市创立,创始人凭借对电子开关行业的深刻理解和前瞻视野,决定专注于研发制造各类程序开关、触动开关等产品。公司初创时期面临资金短缺、市场竞争激烈等挑战,但创始人凭借坚定的信念和不懈的努力,逐步在市场上站稳脚跟。

Ecera Comtek Corp公司的发展小趣事

在竞争激烈的电子行业中,Ecera Comtek Corp公司意识到只有不断创新才能在市场中立足。于是,公司加大了研发投入,引进了一批高端技术人才。经过长时间的研发,Ecera Comtek Corp公司成功研发出了一种新型的信号处理技术,大大提高了无线通信设备的传输速度和稳定性。这一技术突破迅速引起了市场的关注,Ecera Comtek Corp公司的产品在市场上受到了热烈的欢迎,公司的销售额也实现了快速增长。

GSI Technology公司的发展小趣事

面对电子行业日益激烈的市场竞争和快速变化的市场需求,GSI Technology不断调整战略方向,积极应对挑战。公司加大在研发方面的投入,不断优化产品结构和生产工艺,提高产品质量和竞争力。同时,GSI还积极推动企业转型升级,向更加智能化、绿色化的方向发展。通过一系列的努力,GSI成功克服了行业内的诸多挑战,保持了持续稳定的发展态势。

GC Electronics公司的发展小趣事
电路中的连接不良、短路或断路等问题,也可能导致报警电路误报。
佰宏(BHFUSE)公司的发展小趣事

随着电子产品的不断升级和电路防护需求的提高,佰宏团队不断进行技术研发和产品创新。他们成功开发出了多种严苛环境下的客制化PPTC自恢复保险丝,满足了高精密高标准的电路防护需求。这一技术突破不仅提升了产品的竞争力,也为公司赢得了更多的市场份额。

问答坊 | AI 解惑

大家在采集数据时都用哪种滤波方法呢?

大家都讨论一下,在采集数据中(如AD,GPS数据)都使用了哪种滤波方法呢?…

查看全部问答>

大家觉得驱动程序哪个更难编?

是WINCE的驱动程序难,还是linux的驱动编起来更难一些呢?…

查看全部问答>

【得瑟】感谢党、感谢国家、感谢eeworld、感谢琳姐

第一时间拿到Linux内核修炼之道,哇哈哈~~~~~~~~~得瑟一把   第一时间上传高清PP跟大家分享(PS。琳姐手机很强大,自带人工智能变焦;P )   后面抽时间把读书笔记再拿出来得瑟     闲话不多说了,直接上图啦   ...…

查看全部问答>

请都一个在WinCE5.0下DLL加载的问题,也许很简单,在这里确认一下。。。

对SDHC驱动应该是搞不懂它了,现在闪出一个想法,TQ2440BSP是支持SDHC的,可以从天嵌科技官网下载到,但BSP是5.0版本的,而我的BSP是4.2的,但是我看了一下硬件连接图,二者完全一样,所以我在想,如果在把TQ2440 BSP下的SDHC驱动的DLL文件直接放到 ...…

查看全部问答>

调试传感器时的数据传输问题,modbus rtu协议

本人小白,机械专业本科,最近在做毕业设计。调试传感器时出现问题,传感器为激光位移传感器,采用modbus rtu协议。 我将传感器接到电脑上,下载了串口调试助手进行调试。但发送命令后无数据返回。说明书上命令格式如下 ◎ ◎ ◎ ◎ 设置采样频率 ...…

查看全部问答>

HM62256实验资料 串口通讯部分解决了 剩下的是读写ram的问题

这是 HM62256的实验资料 串口通讯部分解决了 可是对存储器的读写部分还没解决 有谁能帮帮忙…

查看全部问答>

听,灯泡在对话

    在物联网世界中,每台家用电器都可通过IP地址进行监视和控制——灯也不例外。试想一下,如果每个灯泡也都有自己的IP地址,那将会怎样呢?     你可以用你的Ipad、智能手机、或是电视遥控器来随意开关灯泡、调试 ...…

查看全部问答>

我的STM32F103是否坏了?

教学机器人上的。原本通过USB写文件进去(当U盘用)一切正常。   后来写得多了发现文件有时写不上,提示I/O错误,或者写上了但文件大小为零,这情况持续几天后终于完全没反应了。   现在情况是上电后电源指示灯亮,但触摸屏全黑无反 ...…

查看全部问答>

isd语音 按键模式求教

我刚刚开始学习语音模块,isd1700系列中有按键模式,觉得按键模式比spi模式简单一些,手册上说按下REC后可以录音,放音为PLAY,两种触发方式:低电平和下降沿。可不可以这样认为我把VCC和GND连接好后,使REC变低后,便开始录音,按下PLAY后开始 ...…

查看全部问答>