TI中文支持网
TI专业的中文技术问题搜集分享网站

求救:omapl138的dsp核进行UPP数据发送的时候,出现数据错位的情况,请帮忙分析下

详细情况:linux系统下由arm控制dsp通过upp往fpga发送数据,程序运行过程中,upp数据发送正常,由arm控制dsp不停的启动,停止upp数据发送;在某一次发送时出现数据错位(通过fpga从数据总线抓取数据),然后fpga接受的数据都是错位的,重新加载dsp程序也无法恢复fpga接受正常数据,重启上电L138后再运行dsp程序upp的数据恢复正常。错误的数据会有3种情况:1)在upp正常传输数据前加0x0000,接受的数据不完整,但顺序正确;2)在upp正常传输数据前、后加0x0000,接受的数据不完整,但顺序正确;3)在upp正常传输数据前加0x0000,接受的数据不完整,顺序反了,第一个字节出现在末尾,从末尾依次往前排。每次错误的情况不定,为这3种情况的某一种。

请教:这可能是出现什么问题了。

david leo:

补充一下:upp发送数据是开了个中断,以40us的间隔往fpga送1行512字节的数据,中断是由fpga通过gpio脚提供的但dsp可以控制fpga是否启动中断,arm通过dsp来不停的启动和停止中断送数据。

david leo:

回复 david leo:

发送时钟设置为37.5M,传输为b通道16bit传输,实际测量upp发送的enable信号持续大概7us;中间fpga没送wait信号。

david leo:

回复 david leo:

再补充一下:发送时钟频率为37.5M,发送模式为B通道16bit,发送过程中实测eable信号持续7us左右,发送过程中fpga没有发送wait信号。

Tony Tang:

这里说的ARM控制DSP不停的启动,停止UPP数据发送,是如何实现的?在是传输当中强制通过disable UPP停止吗?

david leo:

回复 Tony Tang:

不是。是通过msgQ来发送消息给dsp,dsp通过判断消息类型来确定发送何种upp数据(每次收到arm的消息都会发送upp数据给fpga)。

赞(0)
未经允许不得转载:TI中文支持网 » 求救:omapl138的dsp核进行UPP数据发送的时候,出现数据错位的情况,请帮忙分析下
分享到: 更多 (0)