- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DSP与FPGA并行通信方式设计与实现
DSP与FPGA并行通信方式设计与实现
摘 要 在DSP+FPGA实现的级联H桥型多电平逆变电路中,首要任务是实现DSP与FPGA的通信。本文设计了DSP+FPGA系统的硬件电路连接方式及通信软件,由DSP作为上位机,FPGA作为下位机,使用外部接口XINTF将DSP与FPGA二者相连。设计了DSP侧的主程序与中断服务程序,在FPGA内构造FIFO储存数据,编写FIFO的读写接口逻辑单元代码。最后用内嵌逻辑分析仪采集了XINTF各信号线及FIFO各引脚的数据,验证了该并行通信方式的可行性。
【关键词】DSP FPGA XINTF FIFO 并行通信
1 引言
级联H桥型多电平逆变电路在高压大功率变流及交流传动系统中有十分广泛的应用。但是在数字控制的实现中,单片DSP芯片提供的PWM路数有限。一个三相七电平级联H桥型逆变电路就需要36路驱动脉冲,一片DSP上PWM脉冲数显然不能满足需要,而多片DSP并行工作又要考虑时钟同步问题。因此多采用DSP+FPGA系统生成多路驱动脉冲,其中DSP负责采样计算并定时发送多路脉宽数据到FPGA,FPGA产生多路三角载波并与脉宽数据实时比较生成SPWM波。实现该方法首要步骤是解决DSP与FPGA之间并行通信的问题。选用合适的DSP与FPGA芯片,构建实验平台并设计并行通信方式,通过外部接口XINTF进行通信,实现了DSP对FPGA内构造的FIFO中数据的读写,并为基于DSP+FPGA的多电平逆变器驱动脉冲生成系统设计提供了依据。
2 总体结构设计
采用TI公司的TMS320F28335型32位浮点数字信号处理器与Altera Cyclone III系列的EP3C5E144C8N型现场可编程门阵列,构建通信系统。因为DSP与FPGA使用不同的时钟信号,选择在FPGA内构造FIFO进行数据缓存,编写FIFO读写程序,通过DSP的外部接口XINTF实现DSP与FPGA的并行通信,这一系统的硬件连接示意图如图1所示,各信号线的方向在图中列出。DSP将区域0的片选信号线XZCS0、写操作选通线XWE0、读操作选通线XRD、19位地址总线XA0~XA18、16位双向数据总线XD0~XD15等信号线与FPGA的通用I/O口建立起连接。同时将FPGA的一个I/O引脚定义为中断信号线连接至DSP的通用输入/输出引脚GPIO0,作为XINT2的中断源,触发DSP中断。
使用CPU计时器0每秒产生定时中断,DSP响应该中断,向FPGA中的FIFO中发送10个整型数,用来代表调制波脉宽等数据。FIFO写满10个数据后产生外部中断信号XINT2给DSP,DSP响应这个外部中断,将之前写入的10个数据读出并写到外扩RAM存储器,读出外扩RAM存储器内的数据,可以验证DSP写入数据的正确性,从而实现DSP与FPGA两种芯片的双向并行通信。
3 DSP与FPGA通信程序设计
掌握TMS320F28335型DSP外部接口XINTF的工作时序及FIFO存储器IP核的访问方式是实现DSP与FPGA通信的基础。DSP的外部接口XINTF分为三个区域,分别是ZONE0、ZONE6、ZONE7。访问这三个区域所指向的外部空间就像访问DSP外扩RAM或FLASH存储器一样方便。三个区域对应三个不同范围的地址,有各自独立的片选信号线。对某一区域访问时,将相应的地址送到地址线,该区域片选信号变为低电平,对该区域的访问有效。每个XINTF区域的读写访问时序都可以分成三个阶段,建立(Lead)、有效(Active)、跟踪(Trail),每个阶段的时间都可以配置,以满足不同速度外部设备的时序要求。对XZCS0区域进行写操作时,XZCS0信号首先拉低,写选通信号XWE0随之拉低,数据送到数据总线XD上;进行读操作时,XZCS0信号首先拉低,读选通信号XRD随之拉低,将数据从数据总线XD锁存到DSP中。片选信号XZCS0在读写访问时序的三个阶段中均为低电平,但读选通信号XRD与写选通信号XWE0仅在有效(Active)阶段时为低电平。
3.1 FPGA内FIFO与读写接口逻辑设计
为了实现预期的通信功能,需要结合FIFO存储器IP核的使用方法编写FPGA侧读写接口逻辑代码。FIFO即先进先出存储器,特别适用于彼此异步的两系统间进行数据缓存、传输等场合。FIFO不同于双口RAM,它没有地址线,只能对其顺序地写入和读出数据,通过对内部的地址指针连续进行加减,依次访问连续的数据。从而实现对FIFO的读写操作。使用Quartus II 13.1中的MegaWizard Plug-in Manager插件管理器,可以方便地例化FIFO存储器IP核并配置其数据位宽、深度、空标志、满标志、读时钟、写时
原创力文档


文档评论(0)