基于fpga的dsp中断扩展逻辑系统及中断扩展方法

文档序号:6550181阅读:206来源:国知局
基于fpga的dsp中断扩展逻辑系统及中断扩展方法
【专利摘要】基于FPGA的DSP中断扩展逻辑系统及中断扩展方法,涉及嵌入式【技术领域】。它是为了解决采用FPGA扩展DSP外设时不能挂接多个扩展外设的问题。基于FPGA实现的DSP中断扩展逻辑可以有效地解决通过FPGA扩展DSP外设时多个扩展外设共享1个DSP中断源的问题。根据扩展外设的多少可以方便地修改中断扩展逻辑进行匹配,各个扩展外设的中断优先级判决规则也可方便地修改以适应具体需求。本发明适用于嵌入式【技术领域】。
【专利说明】基于FPGA的DSP中断扩展逻辑系统及中断扩展方法
【技术领域】
[0001 ] 本发明涉及嵌入式【技术领域】。
【背景技术】
[0002]目前很多的嵌入式系统均采用DSP+FPGA的架构,尽管DSP处理器已经可以在器件中提供了适当的外设组合,但在设计中还是经常需要实现定制外设,而与DSP处理器相配合的FPGA可以实现新外设的扩展,提供外设升级所需要的灵活性。由于一般情况下DSP的外部中断源比较有限,对于FPGA实现的扩展外设,在作为从设备向DSP发起中断的时候,若每个扩展外设都占用一个单独的DSP外部中断源,则往往不能够满足实际需求。因此,需要一种更有效地利用DSP外部中断源的方法,以尽可能地支持挂接更多扩展外设,且最好这种方法简单易行,便于在FPGA中实现。

【发明内容】

[0003]本发明是为了解决采用FPGA扩展DSP外设时不能挂接多个扩展外设的问题,从而提供了一种基于FPGA的DSP中断扩展逻辑系统及中断扩展方法。
[0004]基于FPGA的DSP中断扩展逻辑系统,它包括DSPl和FPGA2,DSPl和FPGA2之间通过外部存储器连接接口连接;
[0005]FPGA2包括DSP接口逻辑模块2_1和η个扩展外设2_2,η为正整数,每个扩展外设2-2均通过一个存储总线和一个中断信号与DSP接口逻辑模块2-1进行数据交互;
[0006]DSP接口逻辑模块2-1包括地址空间访问逻辑模块2-11和中断扩展逻辑模块2-12 ;
[0007]地址空间访问逻辑模块2-11用于分配各个扩展外设2-2的地址空间并管理DSPl对各个扩展外设2-2地址空间的读写访问操作,中断扩展逻辑模块2-12用于管理η个扩展外设2-2向DSPl发起中断信号。
[0008]基于FPGA的DSP中断扩展方法,用于在输入的中断信号触发时对中断请求进行寄存,将寄存的中断请求状态送往中断优先判决逻辑模块2-122进行处理,接收中断清除寄存器逻辑模块2-124的控制,对中断请求状态寄存值进行清除的步骤;
[0009]用于实现多路中断信号优先级的判决,接收中断信号悬挂逻辑模块2-121寄存的中断请求状态,以及经中断屏蔽寄存器逻辑模块2-123输出的中断屏蔽信号进行屏蔽,以及进行优先级判决后,得到胜出中断信号,送往中断状态寄存器逻辑模块2-125的步骤;
[0010]用于对各路输入中断进行屏蔽的控制,以及将各路输入中断进行屏蔽的控制信号,送往中断优先级判决逻辑模块2-122的步骤;
[0011]用于各路输入中断进行清除,将各路输入中断进行清除的控制信号,送往中断状态寄存器逻辑模块2-125和中断信号悬挂逻辑模块2-121的步骤;
[0012]用于根据优先级判优胜出的中断信号更新中断状态,接收中断优先级判决逻辑模块2-122输出的胜出中断信号,并提供给中断寄存器访问控制逻辑模块2-128进行读取;以及产生控制信号,控制中断信号产生逻辑模块2-127产生中断触发信号;在中断清除寄存器逻辑模块2-124的中断清除信号控制下,中断状态寄存器逻辑模块2-125清除当前的中断状态的步骤;
[0013]用于控制中断产生与处理的过程,中断状态寄存器逻辑模块2-125进入有效的中断状态时,用于判断DSPl能够是否接收中断信号,判断结果为是,则中断状态寄存器逻辑模块2-125控制中断信号产生逻辑模块2-127向DSPl产生中断;判断结果为否,则控制中断状态寄存器逻辑模块2-125进行等待,直至DSPl通过中断寄存器访问控制逻辑模块2-128告知前一次的中断已经处理完成的步骤;
[0014]用于产生有效的中断信号触发,将有效的中断信号触发DSPl进入中断处理过程的步骤;
[0015]用于为中断扩展逻辑模块2-12提供一个可供DSPl访问的寄存器空间,使DSPl设置各路中断的屏蔽状态,在进入中断处理过程后获取及清除中断状态,DSPl在完成中断处理过程后对中断寄存器访问控制逻辑模块2-128的写操作还会产生信号,以及中断处理状态控制逻辑模块2-126DSP1继续接收中断的步骤。
[0016]本发明的有益效果是:基于FPGA实现的DSP中断扩展逻辑可以有效地解决通过FPGA扩展DSP外设时多个扩展外设共享I个DSP中断源的问题。根据扩展外设的多少可以方便地修改中断扩展逻辑进行匹配,各个扩展外设的中断优先级判决规则也可方便地修改以适应具体需求。
【专利附图】

【附图说明】
[0017]图1为基于FPGA的DSP中断扩展逻辑系统的整体结构图;
[0018]图2为DSP接口逻辑2-1的内部结构图;
[0019]图3为中断扩展逻辑2-12的内部结构图。
【具体实施方式】
[0020]【具体实施方式】一:下面结合图1和图2说明本实施方式,本实施方式所述的基于FPGA的DSP中断扩展逻辑系统,它包括DSPl和FPGA2,DSP1和FPGA2之间通过外部存储器连接接口连接;
[0021]FPGA2包括DSP接口逻辑模块2_1和η个扩展外设2_2,η为正整数,每个扩展外设2-2均通过一个存储总线和一个中断信号与DSP接口逻辑模块2-1进行数据交互;
[0022]DSP接口逻辑模块2-1包括地址空间访问逻辑模块2-11和中断扩展逻辑模块2-12 ;
[0023]地址空间访问逻辑模块2-11用于分配各个扩展外设2-2的地址空间并管理DSPl对各个扩展外设2-2地址空间的读写访问操作,中断扩展逻辑模块2-12用于管理η个扩展外设2-2向DSPl发起中断信号。
[0024]【具体实施方式】二:下面结合图3说明本实施方式,本实施方式对具体实施一所述的基于FPGA的DSP中断扩展逻辑系统作进一步限定,本实施方式中,中断扩展逻辑模块2-12包括中断信号悬挂逻辑模块2-121、中断优先级判决逻辑模块2-122、中断屏蔽寄存器逻辑模块2-123、中断清除寄存器逻辑模块2-124、中断状态寄存器逻辑模块2-125、中断处理状态控制逻辑模块2-126、中断信号产生逻辑模块2-127和中断寄存器访问控制逻辑模块 2-128 ;
[0025]中断信号悬挂逻辑模块2-121用于实现对各路输入中断信号的悬挂,用于在输入的中断信号触发时对中断请求进行寄存,还用于将寄存的中断请求状态送往中断优先判决逻辑模块2-122进行处理,接收中断清除寄存器逻辑模块2-124的控制,对中断请求状态寄存值进行清除;
[0026]中断优先级判决逻辑模块2-122用于实现多路中断信号优先级的判决,接收中断信号悬挂逻辑模块2-121寄存的中断请求状态,还用于经中断屏蔽寄存器逻辑模块2-123输出的中断屏蔽信号进行屏蔽,还用于进行优先级判决后,得到胜出中断信号,送往中断状态寄存器逻辑模块2-125 ;
[0027]中断屏蔽寄存器逻辑模块2-123用于对各路输入中断进行屏蔽的控制,还用于将各路输入中断进行屏蔽的控制信号,送往中断优先级判决逻辑模块2-122 ;
[0028]中断清除寄存器逻辑模块2-124用于各路输入中断进行清除,将各路输入中断进行清除的控制信号,送往中断状态寄存器逻辑模块2-125和中断信号悬挂逻辑模块2-121 ;
[0029]中断状态寄存器逻辑模块2-125用于根据优先级判优胜出的中断信号更新中断状态,用于接收中断优先级判决逻辑模块2-122输出的胜出中断信号,还用于提供给中断寄存器访问控制逻辑模块2-128进行读取;还用于产生控制信号,控制中断信号产生逻辑模块2-127产生中断触发信号;还用于在中断清除寄存器逻辑模块2-124的中断清除信号控制下,中断状态寄存器逻辑模块2-125清除当前的中断状态;
[0030]中断处理状态控制逻辑模块2-126用于控制中断产生与处理的过程,中断状态寄存器逻辑模块2-125进入有效的中断状态时,用于判断DSPl能够是否接收中断信号,判断结果为是,则中断状态寄存器逻辑模块2-125控制中断信号产生逻辑模块2-127向DSPl产生中断;判断结果为否,则控制中断状态寄存器逻辑模块2-125进行等待,直至DSPl通过中断寄存器访问控制逻辑模块2-128告知前一次的中断已经处理完成;
[0031]中断信号产生逻辑模块2-127用于产生有效的中断信号触发,将有效的中断信号触发DSPl进入中断处理过程;
[0032]中断寄存器访问控制逻辑模块2-128用于为中断扩展逻辑模块2-12提供一个可供DSPl访问的寄存器空间,使DSPl设置各路中断的屏蔽状态,还用于在进入中断处理过程后获取及清除中断状态,DSPl在完成中断处理过程后对中断寄存器访问控制逻辑模块2-128的写操作还会产生信号,还用于中断处理状态控制逻辑模块2-126DSP1继续接收中断。
[0033]【具体实施方式】三:本实施方式所述的基于FPGA的DSP中断扩展逻辑系统,本实施方式中,η = 3。
[0034]【具体实施方式】四:本实施方式所述的基于FPGA的DSP中断扩展方法,本实施方式中,该方法通过以下步骤实现:
[0035]用于在输入的中断信号触发时对中断请求进行寄存,将寄存的中断请求状态送往中断优先判决逻辑模块2-122进行处理,接收中断清除寄存器逻辑模块2-124的控制,对中断请求状态寄存值进行清除的步骤;
[0036]用于实现多路中断信号优先级的判决,接收中断信号悬挂逻辑模块2-121寄存的中断请求状态,以及经中断屏蔽寄存器逻辑模块2-123输出的中断屏蔽信号进行屏蔽,以及进行优先级判决后,得到胜出中断信号,送往中断状态寄存器逻辑模块2-125的步骤;
[0037]用于对各路输入中断进行屏蔽的控制,以及将各路输入中断进行屏蔽的控制信号,送往中断优先级判决逻辑模块2-122的步骤;
[0038]用于各路输入中断进行清除,将各路输入中断进行清除的控制信号,送往中断状态寄存器逻辑模块2-125和中断信号悬挂逻辑模块2-121的步骤;
[0039]用于根据优先级判优胜出的中断信号更新中断状态,接收中断优先级判决逻辑模块2-122输出的胜出中断信号,并提供给中断寄存器访问控制逻辑模块2-128进行读取;以及产生控制信号,控制中断信号产生逻辑模块2-127产生中断触发信号;在中断清除寄存器逻辑模块2-124的中断清除信号控制下,中断状态寄存器逻辑模块2-125清除当前的中断状态的步骤;
[0040]用于控制中断产生与处理的过程,中断状态寄存器逻辑模块2-125进入有效的中断状态时,用于判断DSPl能够是否接收中断信号,判断结果为是,则中断状态寄存器逻辑模块2-125控制中断信号产生逻辑模块2-127向DSPl产生中断;判断结果为否,则控制中断状态寄存器逻辑模块2-125进行等待,直至DSPl通过中断寄存器访问控制逻辑模块2-128告知前一次的中断已经处理完成的步骤;
[0041]用于产生有效的中断信号触发,将有效的中断信号触发DSPl进入中断处理过程的步骤;
[0042]用于为中断扩展逻辑模块2-12提供一个可供DSPl访问的寄存器空间,使DSPl设置各路中断的屏蔽状态,在进入中断处理过程后获取及清除中断状态,DSPl在完成中断处理过程后对中断寄存器访问控制逻辑模块2-128的写操作还会产生信号,以及中断处理状态控制逻辑模块2-126DSP1继续接收中断的步骤。
[0043]扩展外设2-2向DSPl发起一次中断包括以下步骤:
[0044]步骤一、扩展外设2-2尝试向DSP发起中断信号;
[0045]步骤二、中断信号悬挂逻辑2-121检测到有效的中断请求信号,对中断请求进行寄存;
[0046]步骤三、中断请求信号在优先级判别中胜出,被传递给中断状态寄存器逻辑2-125 ;
[0047]步骤四、中断处理状态控制逻辑2-126判断DSPl可以接受中断信号,允许中断状态寄存器逻辑2-125接收中断信号;
[0048]步骤五、中断状态寄存器逻辑2-125产生信号控制中断信号产生逻辑2-127产生中断触发信号,通过DSPl的中断源使DSPl进入中断处理过程;
[0049]步骤六、中断处理状态控制逻辑2-126判断DSPl不可以继续接受中断信号,禁止中断状态寄存器逻辑2-125接收新的中断信号;
[0050]步骤七、DSPl进入中断处理过程后,读取中断状态寄存器的信号数据,获知触发中断的扩展外设2-2的数据信号;
[0051]步骤八、DSPl进行与扩展外设2-2中断相关的事务处理,并通过写入中断清除寄存器清除本次中断;
[0052]步骤九、中断清除寄存器逻辑2-124发起信号清除中断信号悬挂逻辑2-121所寄存的中断请求信号,并清除中断状态寄存器的中断状态;
[0053]步骤十、中断处理状态控制逻辑2-126判断DSPl可以接受中断信号,允许中断状态寄存器逻辑2-125对中断状态进行更新,开始新的中断触发过程。
[0054]工作原理:待发起中断请求的扩展外设2-2需首先检查其地址空间的中断使能寄存器,确定DSPl已使能该扩展外设2-2可以对其产生中断。然后,通过写中断产生寄存器产生中断请求信号,尝试向DSPl发起中断。
[0055]此处假定扩展外设12-21、扩展外设22-22和扩展外设32_23是三个被允许向DSPl发起中断的扩展外设2-2,并且假定扩展外设12-21和扩展外设22-22先发起中断请求,扩展外设32-23后发起中断请求。同时,还假定扩展外设12-21、扩展外设22-22和扩展外设32-23的中断请求均未被DSPl屏蔽。
[0056]扩展外设12-21和扩展外设22-22的中断请求信号先传递至中断扩展逻辑2_12。中断信号悬挂逻辑2-121检测到有效的中断请求信号,对中断请求进行寄存。经寄存的扩展外设12-21和扩展外设22-22的中断请求状态被送往中断优先判决逻辑。由于扩展外设12-21和扩展外设22-22请求均未被DSPl屏蔽,二者均参与优先级判别。假定扩展外设12-21在判决中胜出,则扩展外设12-21的中断请求信号被传递给中断状态寄存器逻辑2-125。此时中断处理状态控制逻辑2-126判断DSPl此时可以接受中断,因此允许中断状态寄存器逻辑2-125接受胜出的扩展外设12-21的中断信号。中断状态寄存器逻辑2-125在接受胜出的扩展外设12-21的中断信号后,产生信号控制中断信号产生逻辑2-127产生中断触发信号,通过DSPl的特定中断源使DSPl进入中断处理过程。与此同时,中断处理状态控制逻辑2-126判断DSPl此时不可以接受新的中断,不再允许中断状态寄存器逻辑2-125对中断状态进行更新。假定扩展外设32-23此时发起中断请求,则扩展外设32-23的中断请求信号可以顺利进入中断优先级判决逻辑2-122,但此时的胜出中断信号已无法再影响中断状态寄存器逻辑2-125。
[0057]DSPl进入中断处理过程后,首先访问中断扩展逻辑2-12的地址空间,读取中断状态寄存器。中断寄存器访问控制逻辑2-128将中断状态寄存器逻辑2-125提供的中断状态返回,DSPl获知触发中断的是扩展外设12-21。随后DSPl访问扩展外设12-21的地址空间,禁用其中断使能寄存器,防止扩展外设12-21继续向DSPl产生中断请求信号。在完成上述步骤后,DSPl进行与扩展外设12-21中断相关的事务处理。在完成后,DSPl访问中断扩展逻辑2-12的地址空间,通过写入中断清除寄存器清除本次中断。最后,DSPl访问扩展外设12-21的地址空间,使能其中断使能寄存器,以允许扩展外设12-21继续向DSPl产生中断请求信号,完成扩展外设12-21的中断处理过程。
[0058]在DSPl尝试写入中断清除寄存器清除本次中断时,中断清除寄存器逻辑2-124发起信号清除中断信号悬挂逻辑2-121所寄存的扩展外设12-21的中断请求信号,并清除中断状态寄存器的中断状态。中断处理状态控制逻辑2-126检测到DSPl清除本次中断后,判断DSPl此时可以接受中断,恢复允许中断状态寄存器逻辑2-125对中断状态进行更新。随后,中断信号悬挂逻辑2-121所寄存的扩展外设22-22和扩展外设32-23的中断请求信号经中断优先级判决逻辑2-122得到胜出中断信号,继续一次新的中断触发过程。
【权利要求】
1.基于FPGA的DSP中断扩展逻辑系统,其特征在于:它包括DSP(I)和FPGA(2),DSP(I)和FPGA(2)之间通过外部存储器连接接口连接; FPGA (2)包括DSP接口逻辑模块(2-1)和η个扩展外设(2_2),η为正整数,每个扩展外设(2-2)均通过一个存储总线和一个中断信号与DSP接口逻辑模块(2-1)进行数据交互; DSP接口逻辑模块(2-1)包括地址空间访问逻辑模块(2-11)和中断扩展逻辑模块(2-12); 地址空间访问逻辑模块(2-11)用于分配各个扩展外设(2-2)的地址空间并管理DSP(I)对各个扩展外设(2-2)地址空间的读写访问操作,中断扩展逻辑模块(2-12)用于管理η个扩展外设(2-2)向DSP(I)发起中断信号。
2.根据权利要求1所述的基于FPGA的DSP中断扩展系统,其特征在于:中断扩展逻辑模块(2-12)包括中断信号悬挂逻辑模块(2-12 1)、中断优先级判决逻辑模块(2-122)、中断屏蔽寄存器逻辑模块(2-123)、中断清除寄存器逻辑模块(2-124)、中断状态寄存器逻辑模块(2-125)、中断处理状态控制逻辑模块(2-126)、中断信号产生逻辑模块(2-127)和中断寄存器访问控制逻辑模块(2-128); 中断信号悬挂逻辑模块(2-121)用于实现对各路输入中断信号的悬挂,用于在输入的中断信号触发时对中断请求进行寄存,还用于将寄存的中断请求状态送往中断优先判决逻辑模块(2-122)进行处理,接收中断清除寄存器逻辑模块(2-124)的控制,对中断请求状态寄存值进行清除; 中断优先级判决逻辑模块(2-122)用于实现多路中断信号优先级的判决,接收中断信号悬挂逻辑模块(2-121)寄存的中断请求状态,还用于经中断屏蔽寄存器逻辑模块(2-123)输出的中断屏蔽信号进行屏蔽,还用于进行优先级判决后,得到胜出中断信号,送往中断状态寄存器逻辑模块(2-125); 中断屏蔽寄存器逻辑模块(2-123)用于对各路输入中断进行屏蔽的控制,还用于将各路输入中断进行屏蔽的控制信号,送往中断优先级判决逻辑模块(2-122); 中断清除寄存器逻辑模块(2-124)用于各路输入中断进行清除,将各路输入中断进行清除的控制信号,送往中断状态寄存器逻辑模块(2-125)和中断信号悬挂逻辑模块(2-121); 中断状态寄存器逻辑模块(2-125)用于根据优先级判优胜出的中断信号更新中断状态,用于接收中断优先级判决逻辑模块(2-122)输出的胜出中断信号,还用于提供给中断寄存器访问控制逻辑模块(2-128)进行读取;还用于产生控制信号,控制中断信号产生逻辑模块(2-127)产生中断触发信号;还用于在中断清除寄存器逻辑模块(2-124)的中断清除信号控制下,中断状态寄存器逻辑模块(2-125)清除当前的中断状态; 中断处理状态控制逻辑模块(2-126)用于控制中断产生与处理的过程,中断状态寄存器逻辑模块(2-125)进入有效的中断状态时,用于判断DSP(I)能够是否接收中断信号,判断结果为是,则中断状态寄存器逻辑模块(2-125)控制中断信号产生逻辑模块(2-127)向DSP(I)产生中断;判断结果为否,则控制中断状态寄存器逻辑模块(2-125)进行等待,直至DSP(I)通过中断寄存器访问控制逻辑模块(2-128)告知前一次的中断已经处理完成; 中断信号产生逻辑模块(2-127)用于产生有效的中断信号触发,将有效的中断信号触发DSP (I)进入中断处理过程;中断寄存器访问控制逻辑模块(2-128)用于为中断扩展逻辑模块(2-12)提供一个可供DSP(I)访问的寄存器空间,使DSP(I)设置各路中断的屏蔽状态,还用于在进入中断处理过程后获取及清除中断状态,DSP(I)在完成中断处理过程后对中断寄存器访问控制逻辑模块(2-128)的写操作还会产生信号,还用于中断处理状态控制逻辑模块(2-126)DSP(l)继续接收中断。
3.根据权利要求1所述的基于FPGA的DSP中断扩展逻辑系统,其特征在于:n= 3。
4.基于权利要求2所述的基于FPGA的DSP中断扩展方法,其特征在于:该方法通过以下步骤实现: 用于在输入的中断信号触发时对中断请求进行寄存,将寄存的中断请求状态送往中断优先判决逻辑模块(2-122)进行处理,接收中断清除寄存器逻辑模块(2-124)的控制,对中断请求状态寄存值进行清除的步骤;用于实现多路中断信号优先级的判决,接收中断信号悬挂逻辑模块(2-121)寄存的中断请求状态,以及经中断屏蔽寄存器逻辑模块(2-123)输出的中断屏蔽信号进行屏蔽,以及进行优先级判决后,得到胜出中断信号,送往中断状态寄存器逻辑模块(2-125)的步骤;用于对各路输入中断进行屏蔽的控制,以及将各路输入中断进行屏蔽的控制信号,送往中断优先级判决逻辑模块(2-122)的步骤; 用于各路输入中断进行清除,将各路输入中断进行清除的控制信号,送往中断状态寄存器逻辑模块(2-125 )和中断信号悬挂逻辑模块(2-121)的步骤; 用于根据优先级判优胜出的中断信号更新中断状态,接收中断优先级判决逻辑模块(2-122)输出的胜出中断信号,并提供给中断寄存器访问控制逻辑模块(2-128)进行读取;以及产生控制信号,控制中断信号产生逻辑模块(2-127)产生中断触发信号;在中断清除寄存器逻辑模块(2-124)的中断清除信号控制下,中断状态寄存器逻辑模块(2-125)清除当前的中断状态的步骤; 用于控制中断产生与处理的过程,中断状态寄存器逻辑模块(2-125)进入有效的中断状态时,用于判断DSP(I)能够是否接收中断信号,判断结果为是,则中断状态寄存器逻辑模块(2-125)控制中断信号产生逻辑模块(2-127)向DSP(I)产生中断;判断结果为否,则控制中断状态寄存器逻辑模块(2-125)进行等待,直至DSP(I)通过中断寄存器访问控制逻辑模块(2-128)告知前一次的中断已经处理完成的步骤; 用于产生有效的中断信号触发,将有效的中断信号触发DSP(I)进入中断处理过程的步骤; 用于为中断扩展逻辑模块(2-12)提供一个可供DSP(I)访问的寄存器空间,使DSP(I)设置各路中断的屏蔽状态,在进入中断处理过程后获取及清除中断状态,DSP(I)在完成中断处理过程后对中断寄存器访问控制逻辑模块(2-128)的写操作还会产生信号,以及中断处理状态控制逻辑模块(2-126)DSP(l)继续接收中断的步骤。
【文档编号】G06F13/40GK104021106SQ201410276397
【公开日】2014年9月3日 申请日期:2014年6月19日 优先权日:2014年6月19日
【发明者】王彬彬, 鲁恩萌, 王强, 杜玲, 廖小海, 尹孟征, 洪学寰, 刘义鹏 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1