阅读:1027回复:1
请问如何用Ready#控制DMA传输的速度?给分!
我用9054做了一块数据传输卡,用DMA进行数据传输,从Local端读数据进计算机。
按照DataBook上的时序关系可以进行数据传输,即由ADS、BLAST和LCLK产生数据与Ready#信号。已经调通。 但由于数据的速度较慢,我希望一次DMA传输较多的数据,如2M。能否通过控制Ready#信号(当数据准备好时Ready#有效)来调整DMA传输的速度? 直接进行传输(Ready#信号不延时)时ADS与BLAST有效的间隔为4个LCLK时钟周期,但是控制Ready#信号延时不多时ADS与BLAST有效的间隔为5个时钟,从而造成数据丢失!!!如果延时多的话,干脆就不响应了!!! 如果要实现上面的功能应如何实现,有无可参考的资料?搞了半个月了,苦啊! 请求各位高手帮帮忙!一定给分! |
|
|
沙发#
发布于:2004-09-04 08:09
仔细看了RDK中CPLD的例子,
s0: if (!ADS_ && (ADDR_4MSBS==4'b0010)) nextstate = s1; else nextstate = s0; 感觉如果数据没准备好就在ADS有效时不产生Ready#信号。是否可以这样实现,会不会造成DMA一直等待? |
|
|