|  | 
 
| 通过FPGA采集AD7606的转化数据,放在两个缓冲区里,当其中一个缓冲区满后,就会有一个脚产生下降沿,输入到DSP,DSP进入BANK中断,里进行 数据读取。利用普通的方式存储数据是OK的,但是速度太慢,想要用FPGA读取数据,但是读出的数据并不正确,请问什么原因?
 
 void FPGAIntIsr0(UArg arg)
 {
 
 #ifdef FPGA_EDMA3_Transport
 
 AD7606_CHIP0_SELECTED; // 选中片0
 
 char retVal;
 
 // 设置数据传输 源/目标 地址
 srcBuff = (char *)(SOC_EMIFA_CS2_ADDR);
 //                        srcBuff = (char *)(TX_buffer);
 dstBuff = (char *)(emif_rbuffer);
 
 // 初始化EDMA配置参数
 Init_EDMA3();
 
 // 缓存
 //                    Cache_wbInv(&SOC_EMIFA_CS2_ADDR, MAX_BUFFER_SIZE, Cache_Type_ALLD, true);
 // 使能DMA3传输
 retVal = EDMA3EnableTransfer(SOC_EDMA30CC_0_REGS, chNum, EDMA3_TRIG_MODE_MANUAL);
 // 缓存
 Cache_wbInv(&emif_rbuffer, MAX_BUFFER_SIZE, Cache_Type_ALLD, true);
 if (TRUE != retVal)
 {
 //                                UARTPuts ("edma3Test: EDMA3EnableTransfer Failed.\r\n", -1);
 }
 
 
 
 | 
 |