CN104050133B - 一种基于fpga实现dsp与pc借助pcie总线进行通信的通信装置与通信方法 - Google Patents

一种基于fpga实现dsp与pc借助pcie总线进行通信的通信装置与通信方法 Download PDF

Info

Publication number
CN104050133B
CN104050133B CN201410267837.2A CN201410267837A CN104050133B CN 104050133 B CN104050133 B CN 104050133B CN 201410267837 A CN201410267837 A CN 201410267837A CN 104050133 B CN104050133 B CN 104050133B
Authority
CN
China
Prior art keywords
dsp
interrupt
signal input
pcie
fpga
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410267837.2A
Other languages
English (en)
Other versions
CN104050133A (zh
Inventor
王强
王彬彬
鲁恩萌
尹钊
刘义鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology Institute of artificial intelligence Co.,Ltd.
Original Assignee
Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201410267837.2A priority Critical patent/CN104050133B/zh
Publication of CN104050133A publication Critical patent/CN104050133A/zh
Application granted granted Critical
Publication of CN104050133B publication Critical patent/CN104050133B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Bus Control (AREA)

Abstract

一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置与通信方法,属于通信技术领域。本发明是为了解决现有嵌入式DSP板卡与PC之间实现通过PCIE总线通信缺乏灵活性的问题。本发明所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置与通信方法,将DSP与PC通信所涉及的DSP接口逻辑、共享存储器接口逻辑和PCIE接口逻辑整合到了FPGA中,利用FPGA实现DSP与PC间PCIE通信接口以及其他逻辑功能模块等的整合的方法,使通信更加灵活,且结构简单、集成度高,易于修改以匹配不同需求,从而增加系统的灵活性。本发明适用于DSP与PC之间的通信。

Description

一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装 置与通信方法
技术领域
本发明属于通信技术领域。
背景技术
PCI Express是新一代的总线接口,一种用于取代PCI总线和ISA总线的多通道通用I/O互联技术,被称为第三代I/O总线技术。目前嵌入式DSP板卡通过PCIE总线与PC进行通信主要有三种方式:
1、借助专用的PCIE接口芯片;
2、借助DSP芯片自带的PCIE接口;
3、采用FPGA实现PCIE接口;
然而,借助专用的PCIE接口芯片进行通信时,会存在增加电路设计复杂度的问题;借助DSP芯片自带的PCIE接口存在DSP对接口进行通信时,会产生控制复杂的问题,而现有的采用FPGA实现PCIE接口的方案,又会存在模块化不足的问题。
发明内容
本发明是为了解决现有嵌入式DSP板卡与PC之间实现通过PCIE总线通信缺乏灵活性的问题,现提供一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置与通信方法。
一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置,它包括:FPGA;
DSP的DSP逻辑信号输出端连接FPGA的DSP逻辑信号输入端,DSP的DSP逻辑信号输入输出端连接FPGA的DSP逻辑信号输入输出端,FPGA的PCIE总线信号输入输出端连接PC的信号输入输出端;
所述FPGA包括:DSP接口逻辑模块、共享存储器接口逻辑模块和PCIE接口逻辑模块;
DSP接口逻辑模块的DSP逻辑信号输入端作为FPGA的DSP逻辑信号输入端,DSP接口逻辑模块的DSP逻辑信号输入输出端作为FPGA的DSP逻辑信号输入输出端,PCIE接口逻辑模块的PCIE逻辑信号输入输出端作为FPGA的PCIE总线信号输入输出端;
DSP接口逻辑模块的中断信号输出端连接共享存储器接口逻辑模块的一个中断信号输入端,DSP接口逻辑模块的存储信号输入输出端连接共享存储器接口逻辑模块的一个存储信号输入输出端,DSP接口逻辑模块的中断触发信号输入端连接共享存储器接口逻辑模块的一个中断触发信号输出端;
共享存储器接口逻辑模块的另一个中断触发信号输出端连接PCIE接口逻辑模块的中断触发信号输入端,共享存储器接口逻辑模块的另一个存储信号输入输出端连接PCIE接口逻辑模块的存储信号输入输出端,共享存储器接口逻辑模块的另一个中断信号输入端连接PCIE接口逻辑模块的中断信号输出端;
DSP接口逻辑模块包括:DSP存储器映射逻辑模块和DSP中断管理逻辑模块;
DSP存储器映射逻辑模块的DSP逻辑信号输入端作为DSP接口逻辑模块的DSP逻辑信号输入端,DSP存储器映射逻辑模块的中断信号输出端作为DSP接口逻辑模块的中断信号输出端,DSP存储器映射逻辑模块的存储信号输入输出端作为DSP接口逻辑模块的存储信号输入输出端;
DSP中断管理逻辑模块的DSP逻辑信号输入输出端作为DSP接口逻辑模块的DSP逻辑信号输入输出端,DSP中断管理逻辑模块的中断触发信号输入端作为DSP接口逻辑模块的中断触发信号输入端;
共享存储器接口逻辑模块包括:DSP中断产生逻辑模块、双端口存储器和PC中断产生逻辑模块;
DSP中断产生逻辑模块的中断信号输入端作为共享存储器接口逻辑模块的一个中断信号输入端,DSP中断产生逻辑模块的中断触发信号输出端作为共享存储器接口逻辑模块的另一个中断触发信号输出端;
双端口存储器的一个存储信号输入输出端作为共享存储器接口逻辑模块的一个存储信号输入输出端,双端口存储器的另一个存储信号输入输出端作为共享存储器接口逻辑模块的另一个存储信号输入输出端;
PC中断产生逻辑模块的中断触发信号输出端作为共享存储器接口逻辑模块的一个中断触发信号输出端,PC中断产生逻辑模块的中断信号输入端作为共享存储器接口逻辑模块的另一个中断信号输入端;
PCIE接口逻辑模块包括:PCIE中断转换逻辑模块、PCIE存储器映射逻辑模块和PCIE协议IP核模块;
PCIE中断转换逻辑模块的中断触发信号输入端作为PCIE接口逻辑模块的中断触发信号输入端,PCIE中断转换逻辑模块的存储信号输入输出端作为PCIE接口逻辑模块的存储信号输入输出端,PCIE中断转换逻辑模块的中断信号输出端作为PCIE接口逻辑模块的中断信号输出端;PCIE协议IP核模块的PCIE总线信号输入输出端作为PCIE接口逻辑模块的PCIE总线信号输入输出端;
PCIE中断转换逻辑模块的信号输入输出端连接PCIE存储器映射逻辑模块的一个信号输入输出端,PCIE存储器映射逻辑模块的另一个信号输入输出端连接PCIE协议IP核模块的另一个信号输入输出端。
一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信方法,该方法是基于下述装置实现的,所述装置包括:FPGA;
DSP的信号输入输出端连接FPGA的外部存储器信号输入输出端,FPGA的PCIE总线信号输入输出端连接PC的信号输入输出端;
所述方法包括:PC向DSP发起通信的方法和DSP向PC发起通信的方法:
所述PC向DSP发起通信的方法包括以下步骤:
PC将含有待发送数据和中断信号的数据包发送给FPGA,FPGA采集该数据包,获得待发送数据和中断信号的写地址;
FPGA根据中断信号的写地址产生上升沿中断触发信号,然后根据该上升沿中断触发信号产生中断信号,FPGA将该中断信号发送至DSP;
DSP采集该中断信号后进入中断服务程序,并向FPGA发送读信号;
FPGA采集该读信号并读取待发送数据,然后将读取信号发送至DSP;
DSP采集该读取信号,获得待发送数据;
所述DSP向PC发起通信的方法包括以下步骤:
DSP将含有待发送数据和中断信号的数据包发送给FPGA,FPGA采集该数据包,获得待发送数据和中断信号的写地址;
FPGA根据中断信号的写地址产生上升沿中断触发信号,然后根据该上升沿中断触发信号产生中断声明消息包,FPGA将该中断声明消息包发送至PC;
PC采集该中断声明消息包后进入中断服务程序,并向FPGA发送取消中断信号,
FPGA采集取消中断信号,根据该取消中断信号产生中断解除消息包,并将该中断解除消息包发送至PC;
PC采集该中断解除消息包解除中断,并向FPGA发送读信号;
FPGA采集该读信号并读取待发送数据,然后将读取信号发送至PC;
PC采集该读取信号,获得待发送数据。
本发明所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置与通信方法,将DSP与PC通信所涉及的DSP接口逻辑、共享存储器接口逻辑和PCIE接口逻辑整合到了FPGA中,利用FPGA实现DSP与PC间PCIE通信接口以及其他逻辑功能模块等的整合的方法,使通信更加灵活,控制更加集中,也使FPGA内部逻辑更加模块化,结构简单、集成度高,易于修改以匹配不同需求,从而增加系统的灵活性。本发明所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置与通信方法,适用于DSP与PC之间的通信。
附图说明
图1为本发明所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置的结构示意图。
具体实施方式
具体实施方式一:参照图1具体说明本实施方式,本实施方式所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置,它包括:FPGA2;
DSP1的DSP逻辑信号输出端连接FPGA2的DSP逻辑信号输入端,DSP1的DSP逻辑信号输入输出端连接FPGA2的DSP逻辑信号输入输出端,FPGA2的PCIE总线信号输入输出端连接PC3的信号输入输出端;
所述FPGA2包括:DSP接口逻辑模块2-1、共享存储器接口逻辑模块2-2和PCIE接口逻辑模块2-3;
DSP接口逻辑模块2-1的DSP逻辑信号输入端作为FPGA2的DSP逻辑信号输入端,DSP接口逻辑模块2-1的DSP逻辑信号输入输出端作为FPGA2的DSP逻辑信号输入输出端,PCIE接口逻辑模块2-3的PCIE逻辑信号输入输出端作为FPGA2的PCIE总线信号输入输出端;
DSP接口逻辑模块2-1的中断信号输出端连接共享存储器接口逻辑模块2-2的一个中断信号输入端,DSP接口逻辑模块2-1的存储信号输入输出端连接共享存储器接口逻辑模块2-2的一个存储信号输入输出端,DSP接口逻辑模块2-1的中断触发信号输入端连接共享存储器接口逻辑模块2-2的一个中断触发信号输出端;
共享存储器接口逻辑模块2-2的另一个中断触发信号输出端连接PCIE接口逻辑模块2-3的中断触发信号输入端,共享存储器接口逻辑模块2-2的另一个存储信号输入输出端连接PCIE接口逻辑模块2-3的存储信号输入输出端,共享存储器接口逻辑模块2-2的另一个中断信号输入端连接PCIE接口逻辑模块2-3的中断信号输出端;
DSP接口逻辑模块2-1包括:DSP存储器映射逻辑模块2-11和DSP中断管理逻辑模块2-12;
DSP存储器映射逻辑模块2-11的DSP逻辑信号输入端作为DSP接口逻辑模块2-1的DSP逻辑信号输入端,DSP存储器映射逻辑模块2-11的中断信号输出端作为DSP接口逻辑模块2-1的中断信号输出端,DSP存储器映射逻辑模块2-11的存储信号输入输出端作为DSP接口逻辑模块2-1的存储信号输入输出端;
DSP中断管理逻辑模块2-12的DSP逻辑信号输入输出端作为DSP接口逻辑模块2-1的DSP逻辑信号输入输出端,DSP中断管理逻辑模块2-12的中断触发信号输入端作为DSP接口逻辑模块2-1的中断触发信号输入端;
共享存储器接口逻辑模块2-2包括:DSP中断产生逻辑模块2-22、双端口存储器2-23和PC中断产生逻辑模块2-24;
DSP中断产生逻辑模块2-22的中断信号输入端作为共享存储器接口逻辑模块2-2的一个中断信号输入端,DSP中断产生逻辑模块2-22的中断触发信号输出端作为共享存储器接口逻辑模块2-2的另一个中断触发信号输出端;
双端口存储器2-23的一个存储信号输入输出端作为共享存储器接口逻辑模块2-2的一个存储信号输入输出端,双端口存储器2-23的另一个存储信号输入输出端作为共享存储器接口逻辑模块2-2的另一个存储信号输入输出端;
PC中断产生逻辑模块2-24的中断触发信号输出端作为共享存储器接口逻辑模块2-2的一个中断触发信号输出端,PC中断产生逻辑模块2-24的中断信号输入端作为共享存储器接口逻辑模块2-2的另一个中断信号输入端;
PCIE接口逻辑模块2-3包括:PCIE中断转换逻辑模块2-31、PCIE存储器映射逻辑模块2-32和PCIE协议IP核模块2-33;
PCIE中断转换逻辑模块2-31的中断触发信号输入端作为PCIE接口逻辑模块2-3的中断触发信号输入端,PCIE中断转换逻辑模块2-31的存储信号输入输出端作为PCIE接口逻辑模块2-3的存储信号输入输出端,PCIE中断转换逻辑模块2-31的中断信号输出端作为PCIE接口逻辑模块2-3的中断信号输出端;PCIE协议IP核模块2-33的PCIE总线信号输入输出端作为PCIE接口逻辑模块2-3的PCIE总线信号输入输出端;
PCIE中断转换逻辑模块2-31的信号输入输出端连接PCIE存储器映射逻辑模块2-32的一个信号输入输出端,PCIE存储器映射逻辑模块2-32的另一个信号输入输出端连接PCIE协议IP核模块2-33的另一个信号输入输出端。
本实施方式所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置,其结构能够通过硬件连接实现,也能够通过硬件中嵌入的软件实现。所述DSP存储器映射逻辑模块2-11包括以下软件实现的单元:控制DSP1向FPGA2内部不同外设地址空间进行访问的控制单元;将DSP逻辑信号转换为片内局部总线信号的信号转换单元;
所述DSP中断管理逻辑模块2-12包括以下软件实现的单元:对FPGA2内部外设中断信号进行屏蔽和优先级判定的单元;产生DSP逻辑中断信号的单元;提供寄存器组来实现DSP1对其控制的单元;
所述DSP中断产生逻辑模块2-22包括以下软件实现的单元:监测PC3向DSP1发出的中断产生请求的监测单元;产生DSP中断信号的单元;
所述双端口存储器2-23作为PC3与DSP1之间通信的共享存储空间,其大小是根据实际需要定制的;
所述PC中断产生逻辑模块2-24包括以下软件实现的单元:监测DSP1向PC3发出的中断产生请求的监测单元;产生PC中断信号的单元;
所述PCIE中断转换逻辑模块2-31包括以下软件实现的单元:监测PC中断信号,从而产生PCIE中断声明消息包的单元;监测PC对DSP中断使能寄存器禁用操作,从而产生PCIE中断解除消息包的单元;
PCIE存储器映射逻辑模块2-32包括以下软件实现的单元:将TLP包转换为片内局部总线存储器读写信号的单元;
PCIE协议IP核模块2-33包括以下软件实现的单元:将PCIE高速串行信号转换为TLP包的单元。
以DSP1向PC3发送信号的原理,对本发明的原理进行说明:
DSP1将含有待发送数据和中断信号的数据包发送至FPGA2,DSP存储器映射逻辑模块2-11采集该数据包,并根据数据包中的写地址将待发送数据发送至双端口存储器2-23中;将中断信号发送至DSP中断产生逻辑模块2-22,DSP中断产生逻辑模块2-22根据该中断信号产生上升沿中断触发信号,并将该上升沿中断触发信号发送至PCIE中断转换逻辑模块2-31;PCIE中断转换逻辑模块2-31监测到该上升沿中断触发信号,然后产生控制信号,并将该控制信号通过PCIE存储器映射逻辑模块2-32发送至PCIE协议IP核模块2-33;PCIE协议IP核模块2-33根据该控制信号产生PCIE中断声明消息包,并将该PCIE中断声明消息包发送至PC3中,触发PCIE总线中断;PC3进入中断服务程序,然后发送取消PCIE总线中断信号至FPGA2,PCIE协议IP核模块2-33采集该取消PCIE总线中断信号,并对该取消PCIE总线中断信号进行解析后通过PCIE存储器映射逻辑模块2-32发送至PCIE中断转换逻辑模块2-31中,PCIE中断转换逻辑模块2-31产生控制信号发送至PCIE协议IP核模块2-33,PCIE协议IP核模块2-33根据该控制信号产生PCIE中断解除消息包并发送至PC3中触发PCIE总线解除中断;PC3将读取信号发送至FPGA2,读取双端口存储器2-23中的待发送数据,PCIE接口逻辑模块2-3将读取到的待发送数据发送至PC3。
本实施方式中,当DSP1作为通信的发起方时,则PC3作为通信的接收方;当PC3作为通信的发起方时,则DSP1作为通信的接收方;DSP1与PC3不直接通过PCIE总线相连,而是将DSP接口逻辑2-1、共享存储器接口逻辑2-2和PCIE接口逻辑2-3整合到了FPGA2中,采用FPGA2实现了DSP1与PC3之间通信,系统控制集中、结构简单、集成度高,易于修改以匹配不同需求,且采用FPGA2实现的共享存储器,其大小灵活可调。
具体实施方式二:本实施方式是对具体实施方式一所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置作进一步说明,本实施方式中,所述共享存储器接口逻辑模块2-2还包括:DSP端口模块2-21和PC端口模块2-25;
DSP端口模块2-21的中断信号输入端作为共享存储器接口逻辑模块2-2的一个中断信号输入端,DSP端口模块2-21的一个存储信号输入输出端作为共享存储器接口逻辑模块2-2的一个存储信号输入输出端,DSP端口模块2-21的中断触发信号输出端作为共享存储器接口逻辑模块2-2的一个中断触发信号输出端;
PC端口模块2-25的中断信号输出端作为共享存储器接口逻辑模块2-2的另一个中断触发信号输出端,PC端口模块2-25的一个存储信号输入输出端作为共享存储器接口逻辑模块2-2的另一个存储信号输入输出端,PC端口模块2-25的中断信号输入端作为共享存储器接口逻辑模块2-2的另一个中断信号输入端;
DSP端口模块2-21的中断信号输出端连接DSP中断产生逻辑模块2-22的中断信号输入端,DSP端口模块2-21的另一个存储信号输入输出端连接双端口存储器2-23的一个存储信号输入输出端,DSP端口模块2-21的中断触发信号输入端连接PC中断产生逻辑模块2-24的中断触发信号输出端;
PC端口模块2-25的中断信号输出端连接PC中断产生逻辑模块2-24的中断触发信号输入端,PC端口模块2-25的另一个存储信号输入输出端连接双端口存储器2-23的另一个存储信号输入输出端,PC端口模块2-25的中断触发信号输入端连接DSP中断产生逻辑模块2-22的中断触发信号输出端。
具体实施方式三:本实施方式是对具体实施方式二所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置作进一步说明,本实施方式中,DSP1的信号输入输出端与FPGA2的外部存储器信号输入输出端之间通过EMIF接口连接。
EMIF接口为外部存储器连接接口。
具体实施方式四:本实施方式是对具体实施方式二所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置作进一步说明,本实施方式中,FPGA2的PCIE总线信号输入输出端与PC3的信号输入输出端之间通过PCIE总线连接。
本实施方式中,FPGA2的PCIE总线信号输入输出端与PC3的信号输入输出端之间通过PCIE总线连接,该种方式通常为电路板插接形式。
具体实施方式五:本实施方式是对具体实施方式二所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置作进一步说明,本实施方式中,DSP接口逻辑模块2-1的片内局部总线信号输入输出端与共享存储器接口逻辑模块2-2的一个片内局部总线信号输入输出端之间通过片内局部总线连接。
具体实施方式六:本实施方式是对具体实施方式二所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置作进一步说明,本实施方式中,共享存储器接口逻辑模块2-2的另一个片内局部总线信号输入输出端与PCIE接口逻辑模块2-3的另一个PCIE逻辑信号输入输出端之间通过片内局部总线连接。
具体实施方式五和六中,片内局部总线包括存储器读写信号和中断信号。
具体实施方式七:本实施方式所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信方法,该方法是基于下述装置实现的,所述装置包括:FPGA2;
DSP1的信号输入输出端连接FPGA2的外部存储器信号输入输出端,FPGA2的PCIE总线信号输入输出端连接PC3的信号输入输出端;
所述方法包括:PC3向DSP1发起通信的方法和DSP1向PC3发起通信的方法:
所述PC3向DSP1发起通信的方法包括以下步骤:
PC3将含有待发送数据和中断信号的数据包发送给FPGA2,FPGA2采集该数据包,获得待发送数据和中断信号的写地址;
FPGA2根据中断信号的写地址产生上升沿中断触发信号,然后根据该上升沿中断触发信号产生中断信号,FPGA2将该中断信号发送至DSP1;
DSP1采集该中断信号后进入中断服务程序,并向FPGA2发送读信号;
FPGA2采集该读信号并读取待发送数据,然后将读取信号发送至DSP1;
DSP1采集该读取信号,获得待发送数据;
所述DSP1向PC3发起通信的方法包括以下步骤:
DSP1将含有待发送数据和中断信号的数据包发送给FPGA2,FPGA2采集该数据包,获得待发送数据和中断信号的写地址;
FPGA2根据中断信号的写地址产生上升沿中断触发信号,然后根据该上升沿中断触发信号产生中断声明消息包,FPGA2将该中断声明消息包发送至PC3;
PC3采集该中断声明消息包后进入中断服务程序,并向FPGA2发送取消中断信号,
FPGA2采集取消中断信号,根据该取消中断信号产生中断解除消息包,并将该中断解除消息包发送至PC3;
PC3采集该中断解除消息包解除中断,并向FPGA2发送读信号;
FPGA2采集该读信号并读取待发送数据,然后将读取信号发送至PC3;
PC3采集该读取信号,获得待发送数据。
通过以下实施例具体说明本发明所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信方法:
实施例一:本实施例演示PC向DSP发起通信的具体实现方法:
PC首先检查PC中断状态寄存器,确定DSP已使能PC可以对其产生中断。然后标识PC中断状态寄存器为特定中断类型,若有PC向DSP发送的数据,则写入数据至共享存储空间数据区。完成后通过写PC中断状态寄存器产生中断触发信号,尝试向DSP发起中断。
PC的上述操作通过PCIE总线反映至FPGA内部的PCIE接口逻辑。PCIE协议IP核解析PCIE总线的各个TLP包,并通过PCIE存储器映射逻辑转换为对存储器的写信号。由于不涉及对PCIE总线中断信号的控制,PCIE中断转换逻辑并未做任何处理。最终,PC的上述操作被转换为标准的片内局部总线写信号,接入共享存储器接口逻辑的PC端口。
在共享存储器接口逻辑内部,PC端口对地址空间的写操作直接作用于双端口存储器的PC端。同时,PC端口中断监听逻辑监测到对PC中断状态寄存器地址的写操作,触发DSP中断产生计数器计满16个PCIE总线时钟周期。DSP端口的中断信号在DSP中断产生计数器的前8个时钟周期为低电平,后8时钟周期为高电平,从而产生上升沿。DSP端口的中断信号最终通过共享存储器接口逻辑的DSP端口传出至DSP接口逻辑。
DSP接口逻辑接收到共享存储器接口逻辑传出的DSP端口的中断信号,送入DSP中断管理逻辑。在DSP接口逻辑挂接了多个能够产生中断的从外设时,DSP中断管理逻辑还会对各路中断信号进行屏蔽、优先级判定等操作。最终,传入的中断信号转换为符合DSP外部存储器连接接口标准的中断信号。
与FPGA借助DSP外部存储器连接接口互联的DSP监测到相应的中断,进入中断服务程序。在DSP接口逻辑挂接了多个能够产生中断的从外设时,DSP还需通过访问DSP中断管理逻辑寄存器组来获知产生中断的为PC外设。DSP首先改写PC中断状态寄存器禁止PC继续产生新的中断,然后检查PC中断状态寄存器以获取特定的中断类型。若类型标识表明有PC向DSP发送的数据,则还需读取共享存储空间数据区以获取数据。最后,在DSP完成中断服务后还需改写PC中断状态寄存器,以使能PC继续向DSP产生新的中断。
实施例二:本实施例演示DSP向PC发起通信的具体实现方法:
DSP首先检查DSP中断使能寄存器,确定PC已使能DSP可以对其产生中断。然后标识DSP中断状态寄存器为特定中断类型,若有DSP向PC发送的数据,则写入数据至共享存储空间数据区。完成后通过写DSP中断状态寄存器产生中断触发信号,尝试向PC发起中断。
DSP的上述操作通过DSP外部存储器连接接口反映至FPGA内部的DSP接口逻辑。DSP存储器映射逻辑解析DSP对其地址空间的写操作。在DSP接口逻辑挂接了多个可被访问的外设时,DSP存储器映射逻辑判定DSP所要访问的外设,并使能相应外设的总线写操作。最终,DSP的上述操作被转换为标准的片内局部总线写信号,接入共享存储器接口逻辑的DSP端口。
在共享存储器接口逻辑内部,DSP端口对地址空间的写操作直接作用于双端口存储器的DSP端。同时,DSP端口中断监听逻辑监测到对DSP中断状态寄存器地址的写操作,触发PC中断产生计数器计满16个EMIF总线时钟周期。PC端口的中断信号在PC中断产生计数器的前8个时钟周期为低电平,后8时钟周期为高电平,从而产生上升沿。PC端口的中断信号最终通过共享存储器接口逻辑的PC端口传出至PCIE接口逻辑。
PCIE接口逻辑接收到共享存储器接口逻辑传出的PC端口的中断信号,送入PCIE中断转换逻辑。PCIE中断转换逻辑监测到传入的中断信号的上升沿,触发PCIE中断消息控制状态机进行跳转,产生控制信号作用至PCIE协议IP核,使其产生PCIE中断声明消息包。PCIE中断声明消息包通过PCIE总线由FPGA传输至PC,触发PCIE总线产生中断。
PC监测到PCIE中断,进入中断服务程序。PC首先改写DSP中断使能寄存器禁止DSP继续产生新的中断。然后检查DSP中断状态寄存器以获取特定的中断类型。若类型标识表明有DSP向PC发送的数据,则还需读取共享存储空间数据区以获取数据。与PC向DSP发起通信不同,在PC禁用DSP中断使能寄存器的同时,还会触发FPGA内部PCIE中断转换逻辑的PCIE中断消息控制状态机进行跳转,产生控制信号作用至PCIE协议IP核,使其产生PCIE中断解除消息包。PCIE中断解除消息包通过PCIE总线由FPGA传输至PC,触发PCIE总线解除中断。最后,在PC完成中断服务后还需改写DSP中断使能寄存器,以使能DSP继续向PC产生新的中断。

Claims (7)

1.一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置,其特征在于,它包括:FPGA(2);
DSP(1)的DSP逻辑信号输出端连接FPGA(2)的DSP逻辑信号输入端,DSP(1)的DSP逻辑信号输入输出端连接FPGA(2)的DSP逻辑信号输入输出端,FPGA(2)的PCIE总线信号输入输出端连接PC(3)的信号输入输出端;
所述FPGA(2)包括:DSP接口逻辑模块(2-1)、共享存储器接口逻辑模块(2-2)和PCIE接口逻辑模块(2-3);
DSP接口逻辑模块(2-1)的DSP逻辑信号输入端作为FPGA(2)的DSP逻辑信号输入端,DSP接口逻辑模块(2-1)的DSP逻辑信号输入输出端作为FPGA(2)的DSP逻辑信号输入输出端,PCIE接口逻辑模块(2-3)的PCIE逻辑信号输入输出端作为FPGA(2)的PCIE总线信号输入输出端;
DSP接口逻辑模块(2-1)的中断信号输出端连接共享存储器接口逻辑模块(2-2)的一个中断信号输入端,DSP接口逻辑模块(2-1)的存储信号输入输出端连接共享存储器接口逻辑模块(2-2)的一个存储信号输入输出端,DSP接口逻辑模块(2-1)的中断触发信号输入端连接共享存储器接口逻辑模块(2-2)的一个中断触发信号输出端;
共享存储器接口逻辑模块(2-2)的另一个中断触发信号输出端连接PCIE接口逻辑模块(2-3)的中断触发信号输入端,共享存储器接口逻辑模块(2-2)的另一个存储信号输入输出端连接PCIE接口逻辑模块(2-3)的存储信号输入输出端,共享存储器接口逻辑模块(2-2)的另一个中断信号输入端连接PCIE接口逻辑模块(2-3)的中断信号输出端;
DSP接口逻辑模块(2-1)包括:DSP存储器映射逻辑模块(2-11)和DSP中断管理逻辑模块(2-12);
DSP存储器映射逻辑模块(2-11)的DSP逻辑信号输入端作为DSP接口逻辑模块(2-1)的DSP逻辑信号输入端,DSP存储器映射逻辑模块(2-11)的中断信号输出端作为DSP接口逻辑模块(2-1)的中断信号输出端,DSP存储器映射逻辑模块(2-11)的存储信号输入输出端作为DSP接口逻辑模块(2-1)的存储信号输入输出端;
DSP中断管理逻辑模块(2-12)的DSP逻辑信号输入输出端作为DSP接口逻辑模块(2-1)的DSP逻辑信号输入输出端,DSP中断管理逻辑模块(2-12)的中断触发信号输入端作为DSP接口逻辑模块(2-1)的中断触发信号输入端;
共享存储器接口逻辑模块(2-2)包括:DSP中断产生逻辑模块(2-22)、双端口存储器(2-23)和PC中断产生逻辑模块(2-24);
DSP中断产生逻辑模块(2-22)的中断信号输入端作为共享存储器接口逻辑模块(2-2)的一个中断信号输入端,DSP中断产生逻辑模块(2-22)的中断触发信号输出端作为共享存储器接口逻辑模块(2-2)的另一个中断触发信号输出端;
双端口存储器(2-23)的一个存储信号输入输出端作为共享存储器接口逻辑模块(2-2)的一个存储信号输入输出端,双端口存储器(2-23)的另一个存储信号输入输出端作为共享存储器接口逻辑模块(2-2)的另一个存储信号输入输出端;
PC中断产生逻辑模块(2-24)的中断触发信号输出端作为共享存储器接口逻辑模块(2-2)的一个中断触发信号输出端,PC中断产生逻辑模块(2-24)的中断信号输入端作为共享存储器接口逻辑模块(2-2)的另一个中断信号输入端;
PCIE接口逻辑模块(2-3)包括:PCIE中断转换逻辑模块(2-31)、PCIE存储器映射逻辑模块(2-32)和PCIE协议IP核模块(2-33);
PCIE中断转换逻辑模块(2-31)的中断触发信号输入端作为PCIE接口逻辑模块(2-3)的中断触发信号输入端,PCIE中断转换逻辑模块(2-31)的存储信号输入输出端作为PCIE接口逻辑模块(2-3)的存储信号输入输出端,PCIE中断转换逻辑模块(2-31)的中断信号输出端作为PCIE接口逻辑模块(2-3)的中断信号输出端;PCIE协议IP核模块(2-33)的PCIE总线信号输入输出端作为PCIE接口逻辑模块(2-3)的PCIE总线信号输入输出端;
PCIE中断转换逻辑模块(2-31)的信号输入输出端连接PCIE存储器映射逻辑模块(2-32)的一个信号输入输出端,PCIE存储器映射逻辑模块(2-32)的另一个信号输入输出端连接PCIE协议IP核模块(2-33)的另一个信号输入输出端。
2.根据权利要求1所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置,其特征在于,所述共享存储器接口逻辑模块(2-2)还包括:DSP端口模块(2-21)和PC端口模块(2-25);
DSP端口模块(2-21)的中断信号输入端作为共享存储器接口逻辑模块(2-2)的一个中断信号输入端,DSP端口模块(2-21)的一个存储信号输入输出端作为共享存储器接口逻辑模块(2-2)的一个存储信号输入输出端,DSP端口模块(2-21)的中断触发信号输出端作为共享存储器接口逻辑模块(2-2)的一个中断触发信号输出端;
PC端口模块(2-25)的中断信号输出端作为共享存储器接口逻辑模块(2-2)的另一个中断触发信号输出端,PC端口模块(2-25)的一个存储信号输入输出端作为共享存储器接口逻辑模块(2-2)的另一个存储信号输入输出端,PC端口模块(2-25)的中断信号输入端作为共享存储器接口逻辑模块(2-2)的另一个中断信号输入端;
DSP端口模块(2-21)的中断信号输出端连接DSP中断产生逻辑模块(2-22)的中断信号输入端,DSP端口模块(2-21)的另一个存储信号输入输出端连接双端口存储器(2-23)的一个存储信号输入输出端,DSP端口模块(2-21)的中断触发信号输入端连接PC中断产生逻辑模块(2-24)的中断触发信号输出端;
PC端口模块(2-25)的中断信号输出端连接PC中断产生逻辑模块(2-24)的中断触发信号输入端,PC端口模块(2-25)的另一个存储信号输入输出端连接双端口存储器(2-23)的另一个存储信号输入输出端,PC端口模块(2-25)的中断触发信号输入端连接DSP中断产生逻辑模块(2-22)的中断触发信号输出端。
3.根据权利要求2所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置,其特征在于,DSP(1)的信号输入输出端与FPGA(2)的外部存储器信号输入输出端之间通过EMIF接口连接。
4.根据权利要求2所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置,其特征在于,FPGA(2)的PCIE总线信号输入输出端与PC(3)的信号输入输出端之间通过PCIE总线连接。
5.根据权利要求2所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置,其特征在于,DSP接口逻辑模块(2-1)的片内局部总线信号输入输出端与共享存储器接口逻辑模块(2-2)的一个片内局部总线信号输入输出端之间通过片内局部总线连接。
6.根据权利要求2所述的一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信装置,其特征在于,共享存储器接口逻辑模块(2-2)的另一个片内局部总线信号输入输出端与PCIE接口逻辑模块(2-3)的另一个PCIE逻辑信号输入输出端之间通过片内局部总线连接。
7.一种基于FPGA实现DSP与PC借助PCIE总线进行通信的通信方法,其特征在于,该方法是基于下述装置实现的,所述装置包括:FPGA(2);
DSP(1)的信号输入输出端连接FPGA(2)的外部存储器信号输入输出端,FPGA(2)的PCIE总线信号输入输出端连接PC(3)的信号输入输出端;
所述方法包括:PC(3)向DSP(1)发起通信的方法和DSP(1)向PC(3)发起通信的方法:
所述PC(3)向DSP(1)发起通信的方法包括以下步骤:
PC(3)将含有待发送数据和中断信号的数据包发送给FPGA(2),FPGA(2)采集该数据包,获得待发送数据和中断信号的写地址;
FPGA(2)根据中断信号的写地址产生上升沿中断触发信号,然后根据该上升沿中断触发信号产生中断信号,FPGA(2)将该中断信号发送至DSP(1);
DSP(1)采集该中断信号后进入中断服务程序,并向FPGA(2)发送读信号;
FPGA(2)采集该读信号并读取待发送数据,然后将读取信号发送至DSP(1);
DSP(1)采集该读取信号,获得待发送数据;
所述DSP(1)向PC(3)发起通信的方法包括以下步骤:
DSP(1)将含有待发送数据和中断信号的数据包发送给FPGA(2),FPGA(2)采集该数据包,获得待发送数据和中断信号的写地址;
FPGA(2)根据中断信号的写地址产生上升沿中断触发信号,然后根据该上升沿中断触发信号产生中断声明消息包,FPGA(2)将该中断声明消息包发送至PC(3);
PC(3)采集该中断声明消息包后进入中断服务程序,并向FPGA(2)发送取消中断信号,
FPGA(2)采集取消中断信号,根据该取消中断信号产生中断解除消息包,并将该中断解除消息包发送至PC(3);
PC(3)采集该中断解除消息包解除中断,并向FPGA(2)发送读信号;
FPGA(2)采集该读信号并读取待发送数据,然后将读取信号发送至PC(3);
PC(3)采集该读取信号,获得待发送数据。
CN201410267837.2A 2014-06-16 2014-06-16 一种基于fpga实现dsp与pc借助pcie总线进行通信的通信装置与通信方法 Active CN104050133B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410267837.2A CN104050133B (zh) 2014-06-16 2014-06-16 一种基于fpga实现dsp与pc借助pcie总线进行通信的通信装置与通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410267837.2A CN104050133B (zh) 2014-06-16 2014-06-16 一种基于fpga实现dsp与pc借助pcie总线进行通信的通信装置与通信方法

Publications (2)

Publication Number Publication Date
CN104050133A CN104050133A (zh) 2014-09-17
CN104050133B true CN104050133B (zh) 2017-04-26

Family

ID=51502998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410267837.2A Active CN104050133B (zh) 2014-06-16 2014-06-16 一种基于fpga实现dsp与pc借助pcie总线进行通信的通信装置与通信方法

Country Status (1)

Country Link
CN (1) CN104050133B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104918004B (zh) * 2015-04-08 2018-08-24 江西率恩实业有限公司 基于fpga和dsp芯片的pci通信监控系统
CN105356821B (zh) * 2015-11-19 2018-04-17 珠海格力电器股份有限公司 空调伺服驱动器的工作方法及伺服驱动器
CN107590092A (zh) * 2017-10-23 2018-01-16 济南浪潮高新科技投资发展有限公司 一种基于fpga的pcie转emc桥
CN109857029B (zh) * 2019-02-20 2021-01-29 珠海格力电器股份有限公司 双处理器控制系统工作方法、磁悬浮轴承监控系统及其工作方法、压缩机及空调
CN110069372B (zh) * 2019-04-19 2022-07-08 苏州浪潮智能科技有限公司 一种代替xdp进行sbr测试的方法与系统
CN112014726B (zh) * 2020-08-05 2023-09-05 广东省新一代通信与网络创新研究院 Dsp芯片测试装置及方法
CN112671625B (zh) * 2020-12-21 2022-06-10 苏州盛科通信股份有限公司 一种网络芯片流水线处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141971A (zh) * 2011-01-13 2011-08-03 哈尔滨工业大学 具有大容量存储功能的1553b硬件定时通讯模块
US8200879B1 (en) * 2004-06-29 2012-06-12 National Semiconductor Corporation Memory interface including an efficient variable-width bus
CN202533935U (zh) * 2012-03-22 2012-11-14 杭州海莱电子科技有限公司 一种PCIe多功能设备和硬件加速算法集成装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8200879B1 (en) * 2004-06-29 2012-06-12 National Semiconductor Corporation Memory interface including an efficient variable-width bus
CN102141971A (zh) * 2011-01-13 2011-08-03 哈尔滨工业大学 具有大容量存储功能的1553b硬件定时通讯模块
CN202533935U (zh) * 2012-03-22 2012-11-14 杭州海莱电子科技有限公司 一种PCIe多功能设备和硬件加速算法集成装置

Also Published As

Publication number Publication date
CN104050133A (zh) 2014-09-17

Similar Documents

Publication Publication Date Title
CN104050133B (zh) 一种基于fpga实现dsp与pc借助pcie总线进行通信的通信装置与通信方法
CN104915303B (zh) 基于PXIe总线的高速数字I/O系统
CN104021102B (zh) 基于状态机和片内总线的cpci串口板及其工作方法
CN102495920B (zh) 一种FPGA用基于PCIe的集成化逻辑分析模块
CN101571842B (zh) 一种用于arinc429通讯的pci板卡装置
CN110471872B (zh) 一种基于zynq芯片实现m-lvds总线数据交互系统和方法
CN102420877B (zh) 一种多模式高速智能异步串口通信模块及实现方法
CN109165178B (zh) 一种基于RapidIO的弹上系统SoC芯片间高速通信方法
CN106951388A (zh) 一种基于PCIe的DMA数据传输方法及系统
CN101599004B (zh) 基于fpga的sata控制器
CN109710548A (zh) 一种dma控制数据传输方法、系统及设备
CN105573951B (zh) 一种针对数据流传输的ahb总线接口系统
CN110865958B (zh) 一种基于lrm的综合交换管理模块的设计方法
CN103092175B (zh) I2c主设备与从设备之间串行时钟线scl控制的方法及装置
CN107111572B (zh) 用于避免死锁的方法和电路
CN104714918B (zh) 主机环境下高速fc总线数据接收及缓冲方法
CN108132897A (zh) 一种基于zynq平台软核的srio控制器
CN103577294B (zh) 用于互连跟踪的方法和装置
KR101679333B1 (ko) 트랜잭션 계층 패킷의 싱글 엔드형 통신을 위한 방법, 장치 및 시스템
CN203590251U (zh) 基于串行RapidIO总线的FlexRay控制系统
CN106469127B (zh) 一种数据访问装置及方法
CN104714907B (zh) 一种pci总线转换为isa和apb总线设计方法
CN103136163B (zh) 可配置实现fc-ae-asm和fc-av协议的协议处理器芯片
CN103744811A (zh) 一种串行数据传输系统及方法
CN105892359A (zh) 一种多dsp并行处理系统及其处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wang Qiang

Inventor after: Wang Binbin

Inventor after: Lu Enmeng

Inventor after: Yin Zhao

Inventor after: Liu Yipeng

Inventor before: Wang Binbin

Inventor before: Lu Enmeng

Inventor before: Wang Qiang

Inventor before: Du Ling

Inventor before: Liao Xiaohai

Inventor before: Yin Mengzheng

Inventor before: Hong Xuehuan

Inventor before: Liu Yipeng

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210409

Address after: Room 206-10, building 16, 1616 Chuangxin Road, Songbei District, Harbin City, Heilongjiang Province

Patentee after: Harbin jizuo technology partnership (L.P.)

Patentee after: Harbin Institute of Technology Asset Management Co.,Ltd.

Address before: 150001 No. 92 West straight street, Nangang District, Heilongjiang, Harbin

Patentee before: HARBIN INSTITUTE OF TECHNOLOGY

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210615

Address after: Room 206-12, building 16, 1616 Chuangxin Road, Songbei District, Harbin City, Heilongjiang Province

Patentee after: Harbin Institute of Technology Institute of artificial intelligence Co.,Ltd.

Address before: Room 206-10, building 16, 1616 Chuangxin Road, Songbei District, Harbin City, Heilongjiang Province

Patentee before: Harbin jizuo technology partnership (L.P.)

Patentee before: Harbin Institute of Technology Asset Management Co.,Ltd.