微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一种DSP与PCI总线的接口设计

一种DSP与PCI总线的接口设计

时间:08-25 来源:互联网 点击:

所示。

PIC9054局部总线侧的信号功能如下所述。

LHOLD:总线请求信号,由PCI9054驱动,高电平有效,有效时表明其正在使用本地总线。

LHOLDA:总线请求应答,由LOCAL端设备驱动,在LHOLD有效后一个周期有效,直至LHOLD无效后才无效,以向PCI9054表明LOCAL端未占用总线。

ADS:地址阈门信号,低电平有效,表明一个总线访问周期的开始,第一个时钟有效,持续一个LCLK,此后地址线有效。

USERo:用户输出信号,由PCI9054驱动,引入CPLD,作为DSP的外部中断请求。

USERi:用户输入信号,由外部设备驱动,PCI9054可查询到外部设备发出的信号。

LW/R:读写信号,由PCI9054驱动。

READY:从模式下为输入信号,当一个访问周期结束时,LOCAL端的设备要向PCI9054发出READY信号,表明完成本次访问,可开始下一轮访问。

4.2 系统工作方式

由于本系统采用RAM缓冲方式,因此PCI9054和DSP间只需握手信号即可。通过DSP的外部中断IRQ和标志引脚FLAG,以及PCI9054的用户输入/输出USERi/USERo相互配合实现握手,可实现基本的单字节读写,如果需要更复杂的功能,可以加上控制字来实现。地址映射是双口RAM的数据宽度为16位,PCI9054地址的LA1-LA14分别接RAM的ADD0-ADD13,PCI映射空间的偏移地址为0-7FFEH,偶地址有效。LA15引入CPLD后可作为双口RAM的片选信号。

建立通讯的过程是PCI9054发送LHOLD信号,CPLD返回LHOLDA信号;PCI9054发出ADS信号,表示一次读写操作开始,此时CPLD锁存读写信号LW/R,并转换为RAM的R/W或OE信号;CPLD给PCI9054发送READY无效信号,使其保持等待状态。

信号握手的实现过程是:

PCI9054向RAM写数据→PCI9054通过USER0发出握手请求到CPLD→CPLD向DSP的IRQ发出中断信号→DSP响应中断→DSP读RAM数据。DSP向RAM写数据→DSP通过FLAG发出握手请求到CPLD→CPLD向PCI9054的USERi发出中断信号→PCI9054查询到中断→PCI9054或RAM数据。时序如图3所示。

CPLD的程序如下:

Library IEEE;

Use IEEE.STD_LOGIC_1164.all;

Use IEEE.STD_LOGIC_unsigned.all;

Use IEEE.std_logic_arith.all;

ENTITY PCI IS

PORT(

ADS:IN STD_LOGIC;

LCLK:IN STD_LOGI

C;

LWR:IN STD_LOGIC;

LHOLD:IN STD_LOGIC;

LHOLDA:OUT STD_LOGIC;

READY:OUT STD_LOGIC;

OE:OUT STD_LOGIC;

RW:OUT STD_LOGIC);

END PCI;

ARCHITECTURE PCI_arch OF PCI IS

SIGNAL signal_0:STD_LOGIC;

BEGIN

PROCESS(LCLK)

BEGIN

IF LCLK'EVENT AND LCLK='1'THEN

IF LHOLD='1'THEN

IF ADS='0'THEN

Signal_0='1';

ELSIF ADS='1'THEN

Signal_0='0';

END IF;

END IF;

END IF;

IF LCLK'EVENT AND LCLK='1'THEN

IF LHOLD='1'THEN

IF LWR='0'THEN

OE='0';

RW='1';

ELSIF LWR='1'THEN

OE='1';

RW='0';

END IF;

END IF;    END IF;

IF LCLK'EVENT AND LCLK='0'THEN

IF LHOLD='1'THEN

IF signal_0='1'THEN

READY='0';

ELSIF signal_0='0'THEN

READY='1';

END IF;

END IF;

END IF;

END PROCESS;

PROCESS(LCLK,LHOLD)

BEGIN

IF LCLK'EVENT AND LCLK='0'THEN

IF LHOLD='1'THEN

LHOLDA='1';

ELSIF LHOLD='0'THEN

LHOLDA='0';

END IF;

END IF;

END PROCESS;

END PCI_arch;

5 结束语

本文介绍的DSP与PCI总线的接 接方案灵活简单,减小了布板的复杂度,简化了PCI总线要求的时序,缩短了开发周期。采用该方案设计的数据处理系统工作稳定,已应用在低频信号检测领域中。

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

网站地图

Top