TIwilliam hill官网
直播中

易里更

7年用户 192经验值
私信 关注
[问答]

关于L138中的UPP模块传输数据的问题

你好
       我现在调试的一块OMAP-L138的板子的功能是通过UPP上传外部ADC的数据到DDR中,然后利用DSP处理这些数据。
       整个UPP模块的初始化及配置都在DSP程序中完成,首先我通过仿真器单独调试DSP程序,发现能够正常的通过UPP将数据写到DDR的某块区域,然后DSP数据处理一切正常。随后不使用仿真器,把DSP程序加上DSPLINK功能后通过在ARM端跑的WINCE系统载入到内存中运行,然后发现很多时候DDR的那块区域写入的都是0,通过寄存器查看写入地址的变化,发现地址没错,确实到了写入的最后一个数据的地址上,但是就是写入的那块地址空间发现大多数都是0(正常不是这样).
       我的UPP模块没有使用upp_START和upp_WAIT,ENABLE信号由外部FPGA控制,只有在写入数据的时刻才打开。不使用UPP中断功能。
      所以,有几个问题想问一下:
1,为什么同样的DSP程序通过仿真器可以运行,但是系统单独调用的时候UPP往指定地址写入的数据都是0?我的程序中DSPLINK功能没有问题,通过实验已经验证过。
2,是不是DSP和ARM都对DDR操作导致冲突?也就是说DSP指定UPP把数据写到DDR的某块区域上后,ARM会不会在这块区域操作导致将其改写?因为我单独通过仿真器调试DSP程序没有问题。
3,由于我是要多次重复的采数据,为了保证下次写入的数据不是沿着上次的地址往后写,我每次重新采集数据之前都把UPP模块重新配置一下(从复位的步骤开始到每个寄存器的配置),但是感觉很繁琐,有没有更好的办法使数据重新从我设定的地址开始写数?因为一条曲线的数据我要重复采集上万次,所以每次采集前这么操作感觉很浪费时间。
谢谢!
 
 

回帖(16)

易里更

2018-6-21 06:49:34
问题已得到解决
举报

高群

2018-6-21 07:02:44
引用: loujie39 发表于 2018-6-21 06:49
问题已得到解决

您好,我把UPP设置为接受模式,由FPGA通过UPP向omapl38发送数据,我也需要重复发送,但是又不想每次都重新配置UPP,请问您是怎么解决重复采集数据的问题的?非常感谢您能抽时间指导一下。
举报

易里更

2018-6-21 07:13:12
引用: 60user141 发表于 2018-6-21 07:02
您好,我把UPP设置为接受模式,由FPGA通过UPP向omapl38发送数据,我也需要重复发送,但是又不想每次都重新配置UPP,请问您是怎么解决重复采集数据的问题的?非常感谢您能抽时间指导一下。

我仍然是采用重复配置的方式进行的
举报

李启华

2018-6-21 07:23:32
引用: 60user141 发表于 2018-6-21 07:02
您好,我把UPP设置为接受模式,由FPGA通过UPP向omapl38发送数据,我也需要重复发送,但是又不想每次都重新配置UPP,请问您是怎么解决重复采集数据的问题的?非常感谢您能抽时间指导一下。

请问一下,一次DMA为什么最多只能传输64k的数据啊?我最近也在用UPP,但是我感觉一次能传输的数据能超过到1M呢,但是芯片里的内存才256K加上DDR也就512k我不知道这些数都存到哪去了,仿真时在寄存器里也能看到接收到的数,这是为什么呢?你能指点指点我么?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分