阅读:895回复:2
请教斑主几个问题,很急
斑主你好,我主要要实现155M光信号到PCI的采集功能.LOCAL端有专用的FIFO作为数据缓存.在网上看到别人的帖子“DMA的硬件设计问题”中关于如何发起DMA提到:
1、在local bus端,9054是master时,DMA由9054发起,cpld只许响应就可以了。 2、在local bus端,9054是targe时,DMA由cpld发起。 如果是1,就需要有一个简单的协议了。例如有数据之后,CPLD写9054的L2Pdoorbell,产生PCI中断,在driver中控制9054DMA寄存其,启动9054进行DMA传输。也可以由CPLD控制9054DMA寄存器,但好象比较麻烦。 我想问的是: 1、我的应用采用BLOCK DMA模式可以吗?如果可以LOCAL有数据需要9054启动DMA时可不可以通过芯片管脚通知9054?比如:LINT#或USERi.还是必须写寄存器? 2,如果要写寄存器,比如如果CPLD写9054的L2P doorbell,CPLD中必须要引入LOCAL的数据线和地址线吗?如果要引的话是否只需引LA[9:2]和LD的任一位?如果全引的话CPLD I/O资源不够用。这种DMA方式CPLD是否只需要写这一个寄存器吗?还有没有其它的寄存器必须要配置的? 3、如果采用Demand mode,是不是除了DMA的启动由DREQ0#来控制外,其它参数(源地址,目的地址,传输数量)的设置都同block dma方式(由主机设)?demand mode 数据手册上怎么讲的不是很清楚。 4、LOCAL Iint status bit(LMISC[2])谁来设置?CPLD吗? 5。如果需要上拉或下拉的管脚引到CPLD中了还需不需要再外接上拉或下拉电阻? 6. 现在应该设计成5V板还是该设计成通用板?为什么在通用板中指出+VI/O是电源专用引脚,板上有5V,3.3V器件,总线上的5V,3.3V也可以用吧? 多谢!我是个PCI新手课题还催的很紧,请给予解惑不胜感激。 |
|
沙发#
发布于:2003-05-03 10:54
1.block当然可以,但是效率不高.lint当然也可以,useri好像不能产生中断,只能用查询方式.
2.如果需要写dorbell,地址线数据线是必须的.资源不够要用大的,CPLD可能不行,用FPGA好一点. 3.demand mode资料上描述不清楚,建议不要使用. 4.一般在使用eeprom配置的情况下是9054自行写入,如果使用local master配置则是由local master配置 5.如果cpld输出是固定电位,则可以取消,如果对于CPLD是输入,则必须保留,如果是三态,仍然要保留,建议用一些可以设定引脚上拉下拉状态的CPLD芯片 6.如果打算使用总线上的3.3V,应当设计成3.3V板. |
|
|
板凳#
发布于:2003-05-03 21:26
多谢斑主,我把原理图(ORCAD)发到你的信箱,如果有时间方便的话还请你帮忙检查一下有什么错误。 3x! :P
|
|