b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

w5300_w5300 fpga_w5300接口

电脑杂谈  发布时间:2017-05-17 13:13:44  来源:网络整理

w5300接口_w5300 fpga_w5300

小弟使用VET6,PIN100的板子驱动W5300,由于VET6的地址线A0-A15被复用了,我就干脆使用W5300的间接访问模式进行FSMC 16BIT的访问,于是就选择了A16-A17这两个地址线来与W5300对接,

W5300的寄存器提供的间接模式访问,主要靠如下三个寄存器

MR 模式寄存器,配置W5300的访问模式和操作模式等

IDM_AR 间接访问模式地址寄存器

IDM_DR 间接访问模式数据寄存器

这三个寄存共占6个字节,由于采用16BIT传输,就只需要3次内存寻址就可以完成寄存器的访问,于是就只需要2根地址线就OK了,于是,我就将FSMC的A16-A17和W5300的A1-A2相连接。

如下的硬件线路连接:

CPU W5300

w5300_w5300 fpga_w5300接口

D[15:0] D[15:0]

A[17:16] A[2:1]

NE1 CS

NOE RD

NWE WR

根据如上配置

MR映射到内存的地址为 0x6000 0000

IDM_AR0x6000 0000 + (1<<16)*2

w5300_w5300 fpga_w5300接口

IDM_DR 0x6000 0000 + (1<<17)*2

设置好后我初始化GPIO和FSMC接口后,就开始来访问0X60000000这个地址来读取MR寄存器的值了,

问题出来了,为什么经过初始化FSMC后,我进行单步调试,内存地址0X6000 0000开始一直到A000 0000这写内存单元,的数据全部都成了0B00 0B00 .......

由于W5300的读写时序和FSMC一样的,所以,我就直接访问MR寄存器,出来的数据就是 0B00,这个值和DATASHEET中的值相吻合。接下来我队这个寄存器进行写

操作的时候,就不对了,比如说 : *((__IO short *) 0x60000000) = 0x80 ,这是一个复位操作。我用示波器打FSMC的DATA口,确实产生了0X80的数据,ADDR口的电平也是正确的,但是内存0x6000 0000中的值并未改变!!!!

这是第一个问题。w5300w5300

第二个问题,我是STM32的新手,如果按照我上面的设置,为什么从0X6000 0000 到A000 0000都变成了0B00.....这可是整个FSMC的映射空间了,而实际上,我只选择了bank1_sram1就是0x60000000 - 0x64000000,如果按照正常来看的话,应该是除了A16和A17为高的情况下的剩余地址中的值一样我还可以理解。可是结果是这样就整的恼火了!!!!!

望大神解救,实在不行,我就只有换144PIN的ZET6了!!!


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-47652-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...