用CPLD实现DSP与PLX9054之间的连接
[11-20 16:14:15] 来源:http://www.88dzw.com FPGA 阅读:8429次
文章摘要:HPI口内部有三个寄存器,分别是控制寄存器(HPIC),地址寄存器(HPIA)和数据寄存器(HPID)。这三个寄存器可以直接被主机访问,主机每执行一次对CPU内部存储空间的访问都必须先对控制寄存器和地址寄存器写入相应的值,然后才能对数据寄存器进行读写操作。HPI口的外部接口是由数据总线HD15:0以及一部分用于描述和控制HPI接口的控制信号组成,这些控制信号的具体类型如下: HCNTL[1:0]:控制HPI的操作类型; HHWIL:半字确认输入,“0”,“1”分别表示一次字传输的第一个半字和第二个半字; HR/W:读/写选择; HRDY:就绪状态标志; HINT:中断标志,DSP向主机提出
用CPLD实现DSP与PLX9054之间的连接,标签:fpga是什么,fpga教程,http://www.88dzw.com
HPI口内部有三个寄存器,分别是控制寄存器(HPIC),地址寄存器(HPIA)和数据寄存器(HPID)。这三个寄存器可以直接被主机访问,主机每执行一次对CPU内部存储空间的访问都必须先对控制寄存器和地址寄存器写入相应的值,然后才能对数据寄存器进行读写操作。HPI口的外部接口是由数据总线HD15:0以及一部分用于描述和控制HPI接口的控制信号组成,这些控制信号的具体类型如下:
HCNTL[1:0]:控制HPI的操作类型;
HHWIL:半字确认输入,“0”,“1”分别表示一次字传输的第一个半字和第二个半字;
HR/W:读/写选择;
HRDY:就绪状态标志;
HINT:中断标志,DSP向主机提出中断;
HAS:区别地址/数据复用总线的数据与地址;
HDS1,HDS2,HCS:数据选通输入,三者配合可用于产生一个HPI内部选通信号HSTROBE:
HSTROBE =[NOT(HDS1 XOR HDS2)] OR HCS;
对于一个写HPI口的操作,应首先使能HCS,变化HDS1或HDS2,可使HSTROBE信号产生一个下降沿,HPI口在这个下降沿采样控制信号HCNTL1:0、HHWIL和HR/W,同时在使能HCS的同时扇出HRDY,以使主机进入等待状态,直到HRDY产生下降沿,表明HPID已清空,可以接收新的数据。此时HSTROBE也将产生一个上升沿,并采样HD15:0上的数据并将其送入HPID,以完成第一个半字的写入。对于第二个半字的写入,由于32bit的HPID已经清空,可以直接写入数据,不会出现未准备好的情况,所以HRDY一直保持为低,与第一个字节的写入相同,该操作也在HSTROBE的下降沿采样控制信号,并在HSTROBE的上升沿采样数据总线HD[15:0]的数据并送入HPID,以完成一个32bit的写入操作。
图3
对于读HPI的操作,当HCS有效且在主机不采用地址自增方式从HPID执行读操作时(case1),HPI会向内部地址产生电路送一个读请求,HCS的下降沿可使HRDY变为高电平,直到内部地址产生电路将请求的数据载入HPID,HRDY变为有效状态为止,此时数据线上的数据为读出的数据,而且该数据将保持有效直到HSTROBE上升沿采样数据后10ns左右。由于在第二次读操作开始时,数据已经出现在HPID上了,因此,第二个半字的读操作将不会遇到未准备好的情况;在HPID以地址自增方式进行读操作时,HCS在整个多个字节的传输过程中始终保持有效,一旦完成现在的读操作,下一地址的数据马上被取出。因此,完成现在读操作的第二个半字的传输之后(在HSTROBE的第二个上升沿),将由HSTROBE的下降沿(通过变化HDS1或者HDS2来产生)扇出HRDY信号,以用于指示HPI正忙于数据的预读取。
图3是HPI的读、写时序图,这里HAS一直接高电平。
2 设计实现
该系统中CPLD的功能主要是完成local bus端和HPI端口之间控制信号和数据总线的连接,并保证数据传输的可靠性。通过以上对local bus和HPI读写时序的分析可见,一些关键信号,如HCS、READY、HRDY的时序设计很重要,实际上,整个CPLD设计的主要任务也是围绕这几个信号的设计展开的。
图4
由HCS、HDS1和HDS2共同作用产生的HPI口内部信号HSTROBE的上升沿和下降沿,直接控制着送入HPI端口的数据信号和控制信号,而且HSTROBE变化速率决定了数据传输的速率,由此可见,该信号是一个非常关键的信号。这里HCS信号作为字节传输标志信号,它在一次数据传输的过程中始终保持有效。而在数据传输结束之后,将HCS拉高即可控制HRDY信号,以使其恢复到初始状态,从而为下一次的读写操作做好准备。设计时,可用HDS1或HDS2中的一个固定接至高电平,另一个用来控制HSTROBE以产生上升沿和下降沿。笔者在设计时将HDS1固定接高电平,并由ADS和HRDY信号产生逻辑来控制HDS2信号。当HRDY处于无效状态(即HPI端口未准备就绪)时,HDS2信号不变,不采样任何信号;而当HRDY有效时,HDS2信号同ADS信号保持一致,并在ADS的下降沿采样控制信号,在上升沿采样数据信号。另外,在一次传输开始之前和结束之后,HDS2都要保持为高电平。
- 上一篇:基于FPGA的PCI总线接口设计
《用CPLD实现DSP与PLX9054之间的连接》相关文章
- › 用CPLD实现单片机与ISA总线并行通信
- › 用CPLD实现DSP与PLX9054之间的连接
- › 用CPLD实现单片机读写模块
- 在百度中搜索相关文章:用CPLD实现DSP与PLX9054之间的连接
- 在谷歌中搜索相关文章:用CPLD实现DSP与PLX9054之间的连接
- 在soso中搜索相关文章:用CPLD实现DSP与PLX9054之间的连接
- 在搜狗中搜索相关文章:用CPLD实现DSP与PLX9054之间的连接