求DSP28335的XINTF与FPGA用XINTF通信的示例程序代码。想将DSP传送数据到FPGA。谢谢。

新手小白现在需要将DSP处理后的數据通过XINTF扩展口送往FPGA,也就是FPGA相当于扩展的存储器想问问在编程通讯时有哪些寄存器需要配置?

初级技术员, 积分 94, 距离下一级还需 6 积分

初級技术员, 积分 94, 距离下一级还需 6 积分

0

初级技术员, 积分 94, 距离下一级还需 6 积分

初级技术员, 积分 94, 距离下一级还需 6 积分

0
扫描二维码随时随地手机跟帖
}
DSP+架构的最大特点是结构灵活、有較强的通用性、适合于设计从而能够提高算法效率,同时其开发周期短、系统易于维护和升级适合于实时视频图像处理,。

单DSP核心嘚系统有的时候会同时对多路数据进行采集运算,就会占用多路中断导致中断响应不及时造成数据丢失。同时多路中断也会影响到数據的实时性具有强大的并行处理能力,采用一片FPGA用于异步串行数据的收发的方法弥补单DSP核心的缺陷DSP+FPGA的结构能将DSP从繁琐的外部管理中解放出来,充分发挥DSP的运算优势提高运算效率的同时易于维护和扩展。

}

 本文介绍一种采用运动控制专鼡DSP芯片DSP设计的超声波电机运动控制装置由于该超声波电机需要采用两相四路对称PWM信号来实现驱动控制,而DSP芯片无法直接产生所需PWM信号采用软件方法又会占用大量的DSP计算时间,于是设计了基于可编程逻辑器件(CPLD)的对称PWM信号发生器该信号发生器在DSP的控制下,可以实现输出两楿PWM控制信号的占空比及相位差调节;同时采用具有SPI接口的可编程振荡器实现在DSP控制下的PWM控制信号频率调节。由此可见为了实现DSP对PWM控制信號占空比、相位差及频率的控制,需要采用适当的通信方式实现DSP与CPLD及LTC6903之间的控制信息传递DSP56F801芯片具有一个SPI通信端口。本文在分析SPI数据传输時序关系的基础上设计并实现了基于CPLD的多SPI接口通信。

  SPI是一个同步协议接口所有的传输都参照一个共同的时钟。在同一个SPI端口可以實现一个主机芯片与多个从机芯片的相连这时主机通过触发从设备的片选输入引脚来选择从设备,没有被选中的从设备将不参与SPI传输SPI主使用4个信号:主机输出/从机输入(MOSI)、主机输入/从机输出(MISO)、串行时钟信号SCLK和外设芯片选择信号(SS)。主机和外设都包含一个串行移位寄存器主機通过向它的SPI串行移位寄存器写入一个字节来发起一次传输。寄存器是通过MOSI引脚将字节传送给从设备从设备也将自己移位寄存器中的内嫆通过MISO信号线返回给主机。这样两个移位寄存器中的内容就被交换了。外设的写操作和读操作是同步完成的因此SPI成为一个很有效的串荇通信协议。SPI端口的通信网络结构框图如图1所示为了使信号发生器输出可调频、调压和调相输出的两相四路PWM波,需要DSP向CPLD电路输出参数這4个控制参数的传递是在小型的通信网络中实现的。在该网络中DSP的SPI只是进行数据输出端口的写操作,即输出电压控制字、相位控制字和頻率控制字数据流程:主机DSP向CPLD传输数据,在传输数据时数据在MOSI引脚上输出,同时数据在时钟信号的作用下实现同步移位输出由于不需要从机向主机回送任何数据,主机在数据传输结束之后结束这次传送。由于SPI端口工作时没有应答信号并且数据在发送时无需校验位,所以要求主、从器件的数据发送与接收必须完全符合设定的SPI时序要求否则数据传输将出现错误。

  2.1 移位寄存器设计

  本设计为一個12位的SPI串行接收端口图1中移位寄存器是由12个D触发器和1个计数器组成的,实现移位接收和串并转换在传输过程中,先使能移位寄存器和計数器启动传输,同时计数器开始计数当计数到16时,进位端输出一个脉冲宽度的高电平脉冲进行数据锁存,其电路如图2所示

  實验中为保证时序正确,测出了使能信号和计数器进位脉冲的输出时序如图3、图4所示。其中十六进制计数器采用的是上升沿计数在第16個上升沿到来时,跳变为高电平保证数据的正确接收锁存。

  2.2 锁存器设计

  锁存器的工作特点:当gate引脚上输入高电平信号时锁存器工作开始锁存总线上的数据;当gate引脚上是低电平时,锁存器不工作即当总线上的数据发生变化时,锁存器的输出不发生变化由于本设計需要多个参数传输,通过地址选择的方法把这3个数据从一条总线上区分出来设置传输数据的低两位为地址选择位。地址选择位经移位寄存器串并转换,作为三输入与门的两个输入端进行地址选择。每次16位的数据移位结束数据稳定时,在计数器高电平作用下相应gate嘚引脚上输出高电平,数据锁存入相应的锁存器例如,可以设置低两位是“11”时DSP送入PWM电路的是ll位的调相信号;当低两位设置成“01”时,DSP送入PWM电路的是10位调节A相占空比的信号;当低两位设置成“10”时DSP送入PWM电路的是10位调节B相占空比的信号。由此可以在电路中设计一个三输人的與门当16位数据传输完毕,即在相应gate的引脚上输出高电平时数据存入对应的锁存器,如图5所示

  由于LTC6903芯片本身具有SPI接口,需要在DSP的程序中设置相应的SPI寄存器LTC6903采用上升沿接收,且接收时高位在前所以需要DSP设置为下降沿传输,传输时高位在前在传输的过程中,在脉沖信号的下降沿数据发生变化传输数据;在脉冲信号的上升沿数据稳定,便于LTC6903锁存数据传输时序如图6所示。从图中可以看出所要传输嘚数据是十六进制数019A,下降沿数据发生变化上升沿数据稳定,传输16位数据有16个脉冲。实验结果表明DSP配置是与LTC6903的SPI接口工作时序相匹配嘚。

  SPI端口数据传输的特点是:主设备的时钟信号出现与否决定数据传输的开始一旦检测到时钟信号即开始传输,时钟信号无效后传輸结束这期间,从设备使能时钟信号的起停状态很重要DSP56F801的SPI端口的时钟信号起停状态如表1所列。在设计中设置的SPI控制寄存器的CPOL和CPLA位是“11”SCLK空闲时为高电平,传输中数据变化发生在下降沿稳定在上升沿。从图2可看出实现了与CPLD中的移位锁存电路的匹配传输正确。

  SPI端ロ协议要求系统上电复位后从机先于主机开始工作。如果从机在主机之后开始工作就有可能丢掉部分时钟信号,使得从机并不是从数據的第一位开始接收造成数据流的不同步。可通过硬件延时或软件延时的方法来确保从机先于主机工作。本设计采用软件延时的办法來实现数据流的同步这个延时由两部分组成,一部分是DSP串行输出数据的时间延时另外一部分就是后续数字电路中的延时。延时的具体計算过程如下:数据传输时使用的时钟信号是对总线时钟的2分频当DSP的主频是60 MHz时,总线时钟频率是30MHz对它进行2分频,可以计算出SCLK的周期是66.6ns(實际所测出的周期是78.2 ns)另外通过测试得到PWM电路的延时最长时间是23.6 ns,锁存器的最大延时是7.6 ns移位寄存器的最大延时是3.O ns。由上述对CPLD数字电路的延时和对SCLK周期的测试就可以得到这样一个结论:设PWM电路的延时时间为t1、锁存器的延时时间为t2、移位寄存器的延时时间为t3、SCLK的时钟周期是Tc,在SPI传输的过程中整个电路的延时t可以这样计算:

  由于数字电路传输中存在这样的延时,所以在写DSP程序时需要加入一定的延时。此实验中加入的延时是2μs可以实现可靠传输。

  本设计采用全数字结构易于用CPLD实现。以EPM7256为目标芯片设计并实现了正确的数据传输。当DSP56F801输出的十六进制参数分别为频率字DBOE相位字0403,A相的占空比字04CEB相的占空比字04CD时,波形输出如图7、图8所示图7给出了信号发生器A相输出信号的实测波形,信号占空比调节为20%;图8给出了A相输出信号1和B相输出信号l的实测波形两相信号相位差调节为常用的90°。该实验结果表明,参数传输正确,波形输出良好。

  SPI通信方式具有硬件连接简单、使用方便等优点,应用广泛采取硬件和软件相结合的措施,可以确保SPI通信中数据流的同步实现可靠通信。本文给出了DSP多SPI端口通信的设计与实现过程讨论了其中的关键技术问题。SPI多端口通信方法基于CPLD实现易移植,易于实现功能扩展可广泛应用于各种采用SPI通信方式的自动化装置。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载文章观点仅代表作者本人,不代表电子发烧友网立场文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题請联系本站作侵删。 

}

我要回帖

更多关于 28335的XINTF 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信