栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

内存芯片接发

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

内存芯片接发

 1.  8 16 32 位 内存芯片 解法, 案例1 和 cpu 内存控制器  rom 地址数据线交互流程

①。8位ROM:  对于8 bit ROM , 数据是8Bit 最小单位保存的

②。使用2个8位芯片,变成一个16位芯片的时候, CPU A1 节芯片 A0地址角公用的、 数据角 累加

 ③。使用4个芯片,编程一个32位的大芯片

cpu 和外部内存控制器解法:

  cpu  内存控制器  rom 通信流程

mov R0,#3 
LDRB R1,[R0]    读地址3的1个字节
1. cpu 和 内存控制器连接, 32 根地址线 , cpu 发出地址   0000,0011    32位到 内存控制器,  
内存控制器根据地址范围, 片选SDRAM, 发送 0000,0001 到ROM, 
ROM收到 0000,0001, 从芯片中取出第一个16bit 数据, 返回给内存控制器,
内存控制器根据A0=1  从16bit 中调出 1 返回给cpu  【一次流程】 

 cpu  8位  16位  32 位芯片     通信交互流程

 执行过程: 

 2.  案例2分析, cpu 内存控制器  rom 地址数据线交互流程

 mov R0,#4 
 LDR R1,[R0]   从4地址读取4个字节, 4,5,6,7 这4个字节,   程序案例分析: 

总结: cpu 发出地址通过地址线到内存控制器, 32位,  
内存控制器 发出地址到  ROM,   ROM返回数据到内存控制器,通过数据线, 
内存控制器组装,通过数据线返回到 CPU

3. 如何确定芯片访问实际地址: 

1. 确定基地址
2. 根据原理图确定 接了哪几根线 确定地址范围

NorFlash 使用  nGCS0     网卡 nGCS4    SDRAM  使用  nGCS6

Nor基地址 0 , 最大支持128M 地址空间

 -cpu 发送 A0-A20  , A0 给内存控制器使用的, 数据为是低8位置还是高8位

就是 2^21 次方, 就是 2 M    2^20 次方是 M    地址范围:0  ~ 0x1fffffff

网卡 nGCS4 , 基地址  0x2000,000 

 网卡只接了address2 ,  address0 用于分辨读取的数据是低8位还是高8位

基地址  0x2000,000         0x2000,000+ 0b1_1       就是     0x2000,000  --  0x2000,005  访问DM900

SDRAM  使用  nGCS6, 基地址,0x3000,0000  

 2^17 = 128K ,   SDRAM是 64M,  为什么不是 128K, 应为这里发出的列地址、行地址来访问SDRAM

如何确定数据CPU从 DDR中读取 还是写入:

看 LnOE 低电平 读数据 LnWR 低电平 写数据

如果只有 LnWE 低电平写, 高电平读 数据

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/739407.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号