LCD实验学习笔记(六):存储控制器

发布者:WhisperingHeart最新更新时间:2023-06-15 来源: elecfans关键字:LCD  存储控制器 手机看文章 扫描二维码
随时随地手机看文章

s3c2440可使用地址空间为1GB(0x00000000到0x40000000)。

1G空间分为8个BANK,每个BANK为128MB。

设27条地址线,和8个片选引脚(nGCS0-nGCS7)。

内存控制器根据地址所在的BANK,自动决定要使用的片选引脚,以使能相应的BANK所连接的设备。

32位CPU不一定用32条地址线。

CPU认为一个地址对应一个字节(8bit)。CPU发出一个地址,要读取内存一个字节的数据(内存在BANK6地址从0x30000000开始),内存控制器操作片选引脚和地址线访问由两个16位内存芯片组成的32位内存时,内存芯片会一次性返回32位数据(4个字节),内存控制器再从中挑出CPU指定的字节。所以这时地址线的[A1:A0]是不用接的。

存储控制器有13个寄存器,地址从0x48000000开始,每个32位(4字节):

BWSCON:总线宽度和等待控制寄存器。[0]保留0值,[2:1]用于设置BANK0的数据宽度,01为16位,10为32位,在Nor起动时使用,由引脚连接状态决定,是只读的,不能软件设置。[3]闲置。

[31:4]共28位,每4位设置一个BANK的参数,比如:

[5:4]设置BANK1的位宽,00表示8bit,01表示16bit,10表示32bit,11保留;

[6]设置BANK1等待使能状态,0 WAIT disable,1WAIT enable;

[7]设置BANK1引脚是否使用UB/LB。

比如设置BWSCON=0x22011110,二进制为0010 0010 0000 0001 0001 0001 0001 0000,这里表示BANK6和BANK7都是32位数据宽度,其他BANK1-BANK5都是16位数据宽度。

BANKCON0-BANKCON5:通过设置6个寄存器的[14:0],分别控制BANK0到BANK5 的时序,用默认值0x0700即可。

BANKCON6和BANKCON7:两个BANK接到内存上,除[14:0]控制时序外,[16:15]用于设置内存类型。根据内存芯片的情况,取值0x00018005。

REFRESH:设置内存刷新

BANKSIZE:设置BANK6/7的内存映射尺寸、电源关闭等,应按内存芯片手册进行设置。

MRSRB6/MRSRB7:SDRAM模式设置寄存器,比如设置行地址、列地址、芯片内bank选择等

设置存储控制器代码如下:


 

/*
* 设置存储控制器以使用SDRAM
*/
void memsetup(void)
{
  volatile unsigned long *p = (volatile unsigned long *)MEM_CTL_BASE;

  /* 这个函数之所以这样赋值,而不是像前面的实验(比如mmu实验)那样将配置值
  * 写在数组中,是因为要生成”位置无关的代码”,使得这个函数可以在被复制到
  * SDRAM之前就可以在steppingstone中运行
  */
  /* 存储控制器13个寄存器的值 */
  p[0] = 0x22011110; //BWSCON
  p[1] = 0x00000700; //BANKCON0
  p[2] = 0x00000700; //BANKCON1
  p[3] = 0x00000700; //BANKCON2
  p[4] = 0x00000700; //BANKCON3
  p[5] = 0x00000700; //BANKCON4
  p[6] = 0x00000700; //BANKCON5
  p[7] = 0x00018005; //BANKCON6
  p[8] = 0x00018005; //BANKCON7

  /* REFRESH,
  * HCLK=12MHz: 0x008C07A3,
  * HCLK=100MHz: 0x008C04F4
  */
  p[9] = 0x008C04F4;
  p[10] = 0x000000B1; //BANKSIZE
  p[11] = 0x00000030; //MRSRB6
  p[12] = 0x00000030; //MRSRB7
}


关键字:LCD  存储控制器 引用地址:LCD实验学习笔记(六):存储控制器

上一篇:LCD实验学习笔记(八):中断
下一篇:LCD实验学习笔记(五):MMU

推荐阅读最新更新时间:2024-11-13 10:27

三星全面退出 LCD 行业,LCD 大势已去了么?
1 月 31 日,三星显示集团(Samsung Display)表示,将于今年年底关停旗下在韩国和中国的所有 LCD 面板产线,三星已经彻底放弃 LCD 生产。这些工厂腾出产能后,三星将全面转向产品定位更高、利润更大的 QD-OLED 量子点显示面板(可以算是量子点与 OLED 的混合体)和 OLED 显示面板。 其实三星的动作早有预兆。 去年 10 月,三星就已经宣布将集中力量,对 QD-OLED 量子点面板产线投资 110 亿美元。当时三星旗下仅有 3 条 LCD 产线,两条位于韩国,一条位于中国。投资 QD-OLED 量子点产线,就是为代替被卖成白菜价的 LCD。所以去年三星就关了一条位于韩国的 LCD 产线,只在
[手机便携]
三星全面退出 <font color='red'>LCD</font> 行业,<font color='red'>LCD</font> 大势已去了么?
夏普以近3亿美元拿下LCD关键厂“堺显示器”
夏普周一宣布,以约2.96亿美元将液晶显示器(LCD)大厂“堺显示器产品公司” (SakaiDisplayProducts,SDP、堺市)转变为全资子公司。    夏普此前持有SDP公司20%的股份,该公司在大阪附近的酒井市生产用于电视的大型显示面板。该公司通过11.45比1的股票交易从一家萨摩亚投资公司收购了其余股份(换股)。    SDP是用于电视机的大型液晶面板制造商。夏普希望通过回购经营危机时转让的SDP,提振在北美市场的销售。 据了解,夏普2009年投资约4300亿日元创建了SDP的液晶面板工厂,但巨额投资负担导致经营危机暴露。SDP曾是夏普的合并子公司,后改为与台湾鸿海精密工业公司共同运营,成为权益法适用公司。
[半导体设计/制造]
基于FPGA及嵌入式CPU 的TFT-LCD接口设计
1 引言 随着电子技术的飞速发展,TFT-LCD作为在亮度、对比度、功耗、寿命、体积和重量等综合性能上全面赶上和超过 CRT的显示器件,被广泛用于各种仪器仪表、电子设备及控制领域中。与之相关的显示控制技术也呈现出越来越多的方式。本文以 640*480的数字输入的 TFT_LCD显示屏为例,介绍了一种基于 NiosII软核处理器实现对 TFT-LCD接口的方法。解决了通常情况下必须使用LCD 控制专用芯片才能解决 LCD显示的问题。 2 系统组成 系统框如图 1所示。系统是由 FPGA、显示缓存 RAM、程序执行 RAM及 TFT-LCD组成。 FPGA(用虚线围成)选用的是 ALTER的 EP1C6,RAM采用的是 I
[嵌入式]
lcd1602显示的单片机子程序 模块化可多次调用
给大家分享一个lcd1602显示的子程序模块化可多次调用,非常方便移植,不改或改一点就可以用到自己的程序中 单片机源程序如下: #include lcd1602.h /*LCD1602忙碌等待*/ void LCD1602Wait() { unsigned char sta;//读取LCD1602状态字 /*读取液晶状态字之前必须将P2口全部拉高*/ LCD1602_DB = 0xFF; LCD1602_RS = 0; LCD1602_RW = 1; LCD1602_EN = 0; do { LCD1602_EN = 1; sta = LCD1602_DB;//读状态字 L
[单片机]
基于STM32F4x9的LCD显示
随着人机界面(GUI)在医疗、工业以及消费电子各应用领域需求的日益增长,高集成度、高性能的TFT 液晶显示方案成为电子产品设计开发的重要组成部分。在无内置液晶控制器的情况下,单片机与具有内置控制器的液晶板之间往往采用串行或并行的总线接口连接,受限于连接总线的数据传输速度,难以支持较高的显示分辨率和画面质量。 意法半导体推出了基于ARM Cortex-M4 内核的STM32F4x9 微处理器,借助内置的LCD-TFT 显示控制器和Chrom-ARM 图形加速器,使SVGA 高分辨率和高品质显示画面质量成为可能。本文围绕STM32F4x9 微控制器完成了液晶显示的硬件设计,并介绍了基于这一硬件平台以及STemWin 的软件应用开发
[单片机]
基于STM32F4x9的<font color='red'>LCD</font>显示
单片机 实时时钟电路(AT89C51、LCD1602、PCF8563)
一、简介 此电路主要有51单片机、LCD1602模块、PCF8563芯片和按键组成组成,通过LCD1062显示当前时间,按键可设置时间。 二、运行效果 三、部分代码 /*想要更多项目私wo!!!*/ #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int void init() { uchar num; lcden=0; write_com(0x38); //0011 1000B,功能模式设置,设置为8为数据口,两行显示,5*7点阵 write_com(0x0c);
[单片机]
STM32学习之路-LCD(2)<LCD初始化>
这些天一直在研究LCD的初始化函数,因为不过是用IO口模拟时序还是用FSMC来驱动LCD,都必须要弄好LCD的初始化 其实LCD的初始化就是跟着LCD IC的datasheet来写寄存器,大部分都使用上面的默认值,网上有很多修改的例子,这里就不 放出来了.但是我想写下一些比较重要的东西。 这是从网上下载来的一个文件的前半部分: 当然,别的型号的IC也是有这些东西的,不过可能有些地址不同而已. R0,这个命令有两个功能,如果对它写,则最低位为OSC,用于开启和关闭振荡器。而如果对它读操作, 则返回的是控制器的型号。这个命令最大的功能是通过读它可以得到控制器的型号,而我们的代码知道了控制器的型号之后, 可以针对不同型号的控制器
[单片机]
通用于LTPS LCD与OLED的玻璃基板
在显示器组件中,玻璃基板一直占有举足轻重的角色,玻璃基板生产技术门坎高、投资金额高,占显示器的成本比例也是居高不下,一旦玻璃基板断货,下游显示器业者也是莫可奈何。 但是,虽有先天市场优势,几家玻璃基板制造商,也不会就此只生产既有产品,反而不断致力开发下一代显示器所需的玻璃基板,最近康宁就发表Jade玻璃基板。 Jade是一款专为低温多晶硅(LTPS)技术制造的玻璃,低温多晶硅显示器已多用于高阶移动装置面板,其诉求特点是明亮、高分辨率、省电以及薄型化等技术优势。 低温多晶硅LCD与传统LCD,最大的不同点在于,可以改善显示面板的效能,但是为什么目前低温多晶硅没有被广泛应用?部分原因在于,目前玻璃基板无法提供低温多晶硅面板最佳化
[嵌入式]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved