阅读:1937回复:4
DMA传输的问题。救命!!!
在PCI总线一侧启动对5933的DMA传输,在ADD-ON一侧,我使用了计数器,等待DMA的第一个数据一传到ADD-ON一侧,就开始计数。可是在5933的ADD-ON一侧并没有管脚指示一个DMA传输要开始应该怎么通知这个计数器开始计数呢?这个计数应该怎么通知它停止计数呢?一个朋友建议在DMA传输前,发一个中断REQ#,用户在检测到这个信号的时候,就知道要进行DMA传输了,可是在接收到这个中断的时候,还要过那么很短的时间DMA的数据才会到达,请问,这个时序应该怎么控制好呢?
|
|
|
沙发#
发布于:2001-10-12 21:22
S5933没有DMA方式,不知你说的是否PT-BURST方式,如是的话,S5933开始传输时有PTBURST等信号输出,可按时序控制你的计数器
|
|
板凳#
发布于:2001-10-13 14:10
s5933的FIFO可以工作于DMA方式!
|
|
|
地板#
发布于:2001-10-16 03:50
DMA means Direct Memory Access. any way the chip should access the memory,FIFO. just find out the pins, address and r/w control pins, which to access your FIFO, then use these pins combination to work out a signal to trigger whatever counter control you need.
the other way to do is to reserve a back-end memory location for counter control and make this location available for PCI bus, I/O map, for example, then write differen code to this location to perform differen control. |
|
地下室#
发布于:2001-10-22 20:55
s5933工作于主控方式的时候,可以利用主控写地址寄存器或者读地址寄存器和数据计数器进行DMA传输,这个时候用到的寄存器是FIFO
|
|
|