通过调整相位,系统已经可以跑到100M了。但是DMA的速度感觉还是很慢。
alt_dma_txchan_ioctl(txchan,ALT_DMA_SET_MODE_32,0);
alt_dma_txchan_ioctl(txchan,ALT_DMA_TX_ONLY_ON,__IO_CALC_ADDRESS_NATIVE (SEND_BASE, 0x07));
while(1)
{
if(IORD(SEND_BASE,4)<2048) //FIFO半空
{ IOWR_ALTERA_AVALON_PIO_DATA(PIO_BASE,0xff); //close led
if(alt_dma_txchan_send(txchan, SDRAM_BASE, TRANSFER_LENGTH, dma_done, NULL))
{ printf ("Failed to post transmit request");
return 0;
}
while(tx_done == 0);
}
IOWR_ALTERA_AVALON_PIO_DATA(PIO_BASE,0x00); //open led
tx_done = 0;
} |