|
通过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);
}
|
|