OK6410A 开发板 (四) 2 OK6410A 裸机 ethernet SRAM接口

硬件
主机侧
控制通道
  • 控制器侧
SROM controller
无SFR寄存器(不用配置SROM)
内存范围 : 0x1800_0000 0x1FFF_FFFF 128MB SROMC Bank 1
硬件接口 : SRAM接口
数据通道
  • DM9000A主动读写
发数据, 控制通道先打开, DM9000A主动去某地址读
收数据, 填充好某地址 , 发送中断给 SOC
设备侧
控制通道
  • 设备侧 MAC的访问
DM9000A = MAC + 内部PHY
DM9000A 也支持 MAC + 外部PHY


DM9000A +  水晶头座子
寄存器个数 	: 46个
内存范围 	:(可以根据访问的地址来控制CMD线,从而来选中寻址端口)
	但是有寻址端口 // CMD是 地址线上的一条
		index port // CMD=0 
		data port  // CMD=1

在 OK6410A 的电路图上 DM9000A 的 CMD 管脚  接了 S3C6440 的 XM0ADDR2
所以只要访问地址的 bit[2]0 , 则 选中 index port
所以只要访问地址的 bit[2]1 , 则 选中 data  port
  • 设备侧 内部PHY的访问
内部PHY的访问
通过MAC 的 0CH(地址)0EH+0DH(数据) 来访问
内部PHY的地址是固定的,0b00001


支持内部phy和外部phy
外部phy的地址是33H的 bit[4:0]控制的
如果要接外部phy,则要遵从MII Management Interface format
数据通道
  • DM9000A主动读写
发数据, 控制通道先打开, DM9000A主动去某地址读,发送完 中断给SOC
收数据, 填充好某地址 , 发送中断给 SOC

在这里插入图片描述

软件
SRAM 接口 不需要初始化, 所以直接读写内存即可

此代码只是实现了 DM9000A 的 标识寄存器的 读取,并没有实现网络协议栈.
https://github.com/lisider/ok6410-rawcode/tree/master/4_ethernet
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值