参考合众达的VPM642开发板,用tl16c752b实现DSP的串口通信,模拟视频数据通过TVP5150芯片转换后接到DSP的VP口,参考ti公司的外设文档中的vp口的文档设置vp口,以及建立EDMA通道和中断函数。系统搭建好后,在调试时遇到问题,具体如下: 串口单独工作时,偶尔DSP发送时偶尔会出现丢失字节的情况,在配置使能VP口之后,丢失的几率会有所增加,接收没有发现丢失。通过EDMA模式,将VP口的视频数据保存到SDRAM中,如果某一路VP口外接了摄像机,程序又从EDMA操作保存在SDRAM中的数据进行拷贝操作,串口通信就会受到影响,收发的数据就会出现错误。曾经用定时器每秒发送一个字节,如果摄像机不接上(或者开始接上,让TVP5150和VP口能够工作,然后断开,restart,此时VP口和TVP5150仍然能够工作),哪怕从SDRAM中去读取视频数据(此时读取的是一副全黑的图片数据)串口通信正常,但是一旦读取数据对应的视频口的摄像机接上去,过一会(不一定多长时间和多少字节之后),发送的字节就出错,有时候是完全错乱,有时候是有规律的,规律为,发送从00到ff的数据,一旦数据开始出错,最高位就固定为1,次高位有一半是1,一半是0,其他位正确,而且,从真值表中看,每16个中次高位为1的情况或者次高位为0的情况,都完全不能合并。另外,VP口工作正常,通过仿真器将VP口采集的数据上传到计算机中,得到的数据是正确的。 出现上面的问题,我至今不知道该从哪里着手去查找,希望大侠们根据我的情况,结合自己的经验,给小弟指点一下迷津,到底我该从哪里入手?不胜感激! |