阅读:1674回复:12
谁对5933熟悉?
INTCSR寄存器的28~29、26~27两个域(FIFO Advance Control)的含义如何理解?
据我对的理解,应该是设为00时传一个字节就跳向下一个FIFO单元,即按8位传输。设为10时传满4个字节跳一次,即按32位传输。不知对否? 如果设为8位传输,其它数据位上是不是状态是随机的? |
|
|
沙发#
发布于:2002-10-29 09:55
明白了。
|
|
|
板凳#
发布于:2002-10-29 10:56
明白什末了?麻烦说具体点,我也想知道! 偶也在用5933。
|
|
|
地板#
发布于:2002-10-29 13:22
基本上我的理解是对的。
如果设置为第三字节跳转,那么一旦当FIFO单元的最高字节被访问后(即整个32位fifo单元全部被访问)指针才会前移, 设置为第二字节跳转效果相同,意思是一旦第二个字节被访问后,fifo的指针就会前移,依次类推。 但无论怎么设置,在PCI端,总是一次读一个双字。 |
|
|
地下室#
发布于:2002-10-30 13:51
哦! 我也好像看过。5933的文档里好像有写。 :mad:
|
|
|
5楼#
发布于:2002-10-30 14:33
哦! 我也好像看过。5933的文档里好像有写。 :mad: 当然有写。但碰到实际问题你就会怀疑自己的理解了 :) |
|
|
6楼#
发布于:2002-11-02 21:45
斑竹大人,你也在搞5933嘛?我近期真头痛他那,不知可不可以交流一下啊?
如果有意,十分感激哦! 我得e-mail:9715062@sohu.com |
|
7楼#
发布于:2002-11-04 09:12
斑竹大人,你也在搞5933嘛?我近期真头痛他那,不知可不可以交流一下啊? 我可不是技术版的斑竹阿。不过是在做关于5933的项目,也在头疼,大家探讨一下当然好了。 |
|
|
8楼#
发布于:2002-11-04 14:48
to brucezh:
我想问一下,你的数据传输方式是fifo吗? 我想使用这种方式,但是我遇到一个问题:我想使用master方式中的外加接口启动的模式,这是不是要外加板卡上的cpu对s5933进行数据传输的配置?其中s5933的MWAR(写目的地址寄存器)是如何确定的那?因为我要向pc送数据,但是我不太清楚,设置的这个地址是pc的物理地址?逻辑地址?驱动程序怎么知道到那去取数据那? 如果那位大侠,知道的话也可以帮帮忙! |
|
9楼#
发布于:2002-11-04 15:38
to brucezh: 我用的是FIFO方式。但是我是用PCI端启动,所以Add-On端启动DMA的内容我没有看过,只能把PCI端启动DMA的过程陈述一下,以供参考,你还要再看下资料。 我需要从PCI向外设传输数据,所以要设置的是MRAR和MRTC,这里的MRAR中要写物理地址,而且必须进行32字节对齐(以双字方式创建数据缓冲区即可),MRTC中是要传输的字节数。 一般用中断来通知驱动一次传输结束,设置INTCSR寄存器使其一次读操作结束时出中断。 然后置位操作寄存器MCSR中的读有效,开始一次传输。 上面仅供参考。5933的资料中没有提到Add-on端启动的DMA如何设置吗? |
|
|
10楼#
发布于:2002-11-05 09:42
首先,谢谢brucezh
我已经看了add-on端启动的传输设置步骤,和pci端的很相似。 我可以说是不懂驱动那一部分的概念,所以我不知道如何设置MWAR中的东西。 我想在问一下:你设置MWAR时,是不是根据应用程序提供的线性地址转换后的物理地址啊?你所说得物理地址是指实际内存的地址吗?因为我是add-on端的cpu来设置MWAR,所以我就不知道如何来设置这个地址,怎么才合适,不合其他程序之类的冲突啊?是不是我可以随意设置一个内存实际地址,有我的驱动来转换到一个合适的逻辑地址啊?那收数据的应用程序又是如何知道到那去取数据那? 我得问题可能弱智了一些,实在没办法,我还没开始看关于驱动的东西,如果这里是驱动要做的,那我就算完成了硬件的设计开始驱动的学习了。 |
|
11楼#
发布于:2002-11-05 11:53
我的知识确实不足以回答你的问题。我要是乱说只能把你往错误方向引,非常抱歉。
你可以另发一个帖专门说说Add-On端启动的DMA问题,我对此也非常感兴趣。谢谢。 :) |
|
|
12楼#
发布于:2002-11-05 21:53
无论如何,要感谢!
寄希望于那些好心的大牛们吧!希望有人可以帮忙。 |
|