阅读:1602回复:13
D12的片选设成无效后,它还在工作吗?(只有20分能用,可怜可怜吧,跪求了!)
由于外扩了sram,系统中D12,sram,flash共享数据总线,这样在访问sram和flash的时候,就必须把D12给disable掉,就是CS接高。
我没把握的是,这时d12的串行引擎是否还工作?比如这时usb的数据已经填满d12,但无法被读走,d12应该给pc返回NAK信号,不知disable后,d12还行不行; 再重新使能后,是否还得重新给它初始化呢? |
|
最新喜欢:![]() |
沙发#
发布于:2004-08-31 21:21
我也碰到了同样的问题
我的CPU用的是DSP2407 外扩了一个ROM,复用数据线,能交流一下嘛? |
|
板凳#
发布于:2004-08-31 21:22
QQ:23049936
|
|
地板#
发布于:2004-08-31 21:51
没问题的,兄弟,可以用,中断还是会来,不用担心,我就是这样做的,祝你好运
|
|
地下室#
发布于:2004-08-31 22:09
xugzhu大哥,太感谢了!
你的意思是说,将cs拉高再拉低,d12并不会中断它的工作? 我还想问一下,如果disable期间d12的数据满了,它的int引脚会变低吗?还是等再次enable后,int引脚才会变低??? |
|
5楼#
发布于:2004-08-31 22:09
可以的,d12内部的操作与数据线和信号线无关,只于D+和D-有关,完成后会有中断产生
片选只是在你访问d12的寄存器是才有用。 |
|
6楼#
发布于:2004-08-31 22:11
其实你只要不访问d12的寄存器,片选默认就是高啊,为什么还要手动把它设高呢?
理论上说中断信号是会产生的,因为他和数据线地址线以及片选无关! |
|
7楼#
发布于:2004-08-31 22:22
不应该是:片选是低才能访问寄存器吗?
我的片选是接的一个普通I/O口,我不清楚的是,如果我正在往ram里面存数,这时我肯定要把d12给disbale了,但这会中断如果还能来的话,会不会把写ram的操作打断啊? 另外,请问怎么给分啊? |
|
8楼#
发布于:2004-09-01 09:03
我认为在片选为低时,你的MCU可以访问D12的内部寄存器,并对他进行
读写操作;当片选为高时,你的MCU则不能访问,但这并不影响PC(HOST) 与D12之间的通信(如:当D12应当产生中断时他还是会产生中断,只不 过你无法知道D12为什么产生中断(无法访问D12的中断寄存器)). |
|
|
9楼#
发布于:2004-09-01 09:31
各位大哥,我也是用的d12+51+外部ram+flash,跟你的问题一样,现在u盘已经可以正常读写,只是速度很慢,所以对于你的问题,应该不会有错误。想问一下,不知道你现在的读写速度有多少呢?
|
|
10楼#
发布于:2004-09-01 12:16
我刚做完电路板的图,还没制版呢?只是想到这里想不通了。
请问你的速度到多少了? 按philips的速度报告,我想应该能做到200kbyte/s吧? 你的速度慢是读写flash慢还是,d12的通讯慢啊? 谁能告诉我怎么给分 |
|
11楼#
发布于:2004-09-01 13:54
我的只有2k左右,如果只是读呢,就有8,9k,今天有个公司的来,是时速的,原来他们的u盘专用芯片在读写flash时用的是dma方式,他们说51读写flash如果用io方式太慢了,我都准备换芯片了!
给分就是在你提的问题的下面一行有给分的按钮! |
|
12楼#
发布于:2004-09-01 19:19
能说说你的打算马?
d12不是支持dma方式吗,大家认为从d12直接dma到flash可能吗? |
|
13楼#
发布于:2004-09-02 09:38
能说说你的打算马? 应该可以吧,只要D12里面有DMA控制器,就可以直接访问外设,只是可能需要用地址线数据线复用的方式,因为你还需要读写寄存器! Philips的USB芯片IO方式是辅助的,功能最强的是DMA方式! |
|