


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
种改进的51单片机大容量数据存储器的系统扩展 摘要:在51单片机应用系统中,有一些特殊的应用场合需要使用大容量的数据存储器。传统的用I/O口线直接控制大容量数据存储器的片选信号的扩展系统存在运行C51编译的程序时容易死机的缺点。文中根据作者实际使用的应用系统,介绍了一种改进的基于CPLD的51系列单片机大容量数据存储器的扩展方法,包括硬件组成和软件处理方法。实践证明基于这种设计的大容量数据存储器的扩展系统具有对存储器操作简便,系统运行稳定的特点。关键词:单片机;CPLD;大容量数据存储器引言MCS-51 单片机系统扩展时,一般使用P0口作为地址低8位(与数据口分时复用),而P2口作为地址高8 位,它共有16根地址总线,最大寻址空间为64KB。但在实际应用中,有一些特殊场合,例如,基于单片机的图像采集传输系统,程控交换机话单的存储等,需要有大于64KB 的数据存储器。在以往的扩展大容量数据存储器的设计中,一般是用单片机的IO口直接控制大容量数据存储器的片选信号来实现,但是这种设计在运行以C51编写的程序(以LARGE 方式编译)时往往会出现系统程序跑飞的问题,尤其是在程序访问大容量数据存储器(如FLASH)的同时系统产生异常(如中断),由于此时由IO 口控制的片选使FLASH 被选中而SRAM 无法被选中,堆栈处理和函数参数的传递无法实现从而导致程序跑飞的现象。文章根据作者实际使用的应用系统,介绍一种基于CPLD 的大容量数据存储器的扩展系统,避免了上述问题的产生,提高了扩展大容量数据存储器系统的可靠性。该系统MCU 采用89C52,译码逻辑的实现使用了一片EPM7128 CPLD 芯片,系统扩展了一片128K 的SRAM,一片4M 字节的NOR FLASH,以上芯片均为5V 供电。下面介绍其硬件组成及软件处理方法。系统的硬件组成系统的硬件组成W241024A是128K8 位的静态RAM,共需17 根地址线,其A0A7 接经CPLD 锁存输出的A0-A7,A8-A14 接89C52 的A8-A14 ,A15 、A16 分别接CPLD 输出的SRAM_A15 、SRAM_A16;M29F032D是4M8位的NOR型FLASH,共需22 根地址线。A0-A14 的接法与W241024A 的相同,A15A21接经CPLD 锁存输出的AL15AL21;所有数据存储器的读写控制线与M C U 相应的读写控制线相连。S R A M 和F L A S H 的片选信号由CPLD 内部译码产生:/CS_SRAM 接SRAM的片选,/CS_FLASH 接FLASH的片选。CPLD 的功能实现使用CPLD 器件可以提高系统设计的灵活性,并且可以简化电路设计,节省很多常规电路中的接口器件和I/O 口线。系统将单片机的地址线、各种控制和状态信号均引入CPLD,实现系统的地址译码和部分I/O 控制。系统中CPLD 采用的是MAX7000 系列的EPM7128STC100 10。AL15-AL22 为系统锁存出来的高8 位地址,该地址锁存器的地址为:0x7F00;状态缓冲器地址为:0x7F20,通过状态缓冲器可以读取FLASH 的当前状态,判断FLASH 当前状态是忙还是空闲,如果应用系统中还有其它状态信号可以接至该状态缓冲器的输入端。/CS2-/CS7 可以用作其他器件的片选。128K 的SRAM 被SRAM_A15 和SRAM_A16分成4个BANK ,每个BANK 均为32K ,其中BANK0地址范围是:0x00000x7EFF,当A15 为0 时BANK0 被选中,BANK0 可用来存储用户定义的各种变量,以LARGE 方式编译的C51 用户函数的参数传递也在该区实现,只要设置C51 编译器的片外SRAM 的大小为0x7F00 字节(32K256 字节),起止地址为:0x0000。这样当系统在访问外部大容量数据存储器(如4M 的FLASH )并且系统产生中断时,由于系统在函数调用时自动使A15为0 ,故此时BANK0是可用的,这样保证了系统在这种情况下能稳定的运行。由于访问BANK1-BANK3 时A15必须为1,故BANK1-BANK3 的地址范围均为:0x80000xFEFF,通过SRAM_A15 和SRAM_A16 来区分它们是属于哪个BANK 的,访问BANK1-BANK3 的前提是AL22 为0 。BANK1-BANK3 可用来存储用户数据。当AL22 和A15 均为1时4M的FLASH 被选中,FLASH 被AL15-AL21 分成了128页,每页为32K。下面介绍访问大容量数据存储器的软件实现。软件处理方法如用KEIL 编译C51 程序时,首先设置项目的编译模式为LARGE 模式,并设置片外XRAM的相关参数为:START :0x0000 ,SIZE:0x7F00。访问BANK0 时无需编写子程序,系统可以直接访问。访问S R A M 的BANK1-BANK3 步骤为:锁存高8位地址使AL22 为0 ,设置BANK值(要访问SRAM的绝对物理地址除于32K ,商为BANK值,余数为BANK内的偏移地址) 在0x80000xFEFF 地址范围内操作SRAM(A15=1)。Write_Sram_Bank123 函数的功能为写一个字节数据至片外SRAM 的BANK1BANK3,Read_Sram_Bank123 函数的功能是从SRAM 的BANK1BANK3 读一个字节数据。相关C51 示例代码如下:void Write_Sram_Bank123(unsigned long address,unsigned char val) unsigned char bank;unsigned int addr_bank; bank = address / 0x8000;/ 商为BANK 值。 if (bank = 1 ) & (bank = 1 ) & (bank = 3) addr_bank = address % 0x8000;/ 余数为BANK 内地址。 XBYTE 0x7f00 = bank; / AL22=0,设置BANK值。 return XBYTE0x8000+ addr_bank; / 读SRAM 。 else return 0xff; 访问FLASH 的步骤如下:锁存高8位地址使AL22 为1,同时设置要访问的7位页码值(要访问FLASH 的绝对物理地址除于32K ,商为页码值,余数为页内的偏移地址) 在0x80000xFEFF地址范围内操作FLASH(A15=1)。Write_Flash 函数实现了往4M FLASH 写一个字节的功能;Read_Flash 函数的功能是在FLASH 里读取一个字节内容。相关C 5 1 示例代码如下: void Write_Flash(unsigned long address,unsigned char val) unsigned char data page,unsigned int data addr_page; page = address / 0x8000; / 商为页码值。 addr_page = address % 0x8000;/ 余数为页内地址。 XBYTE 0x7f00 = 0x80 + page; / AL22=1,并设置page 值。 XBYTE0x8000+addr_page = val;/ 写FLASH。 unsigned char Read_Flash(unsigned long address) unsigned char data page,unsigned int data addr_page; page = address / 0x8000; / 商为页码值。 addr_page = address % 0x8000;/ 余数为页内地址。 XBYTE 0x7f00 = 0x80 + page; / AL22=1,并设置page 值。 return XBYTE0x8000+addr_page; / 读FLASH结束语在作者设计的基于GPRS的远程图像采集系统中,由于采集图像时需要64K 以上的RAM空间,并且当GPRS传输通道出现故障时需要把大量的图像信息暂
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版师生教育信息化应用合作协议范本
- 2025年酒店内部员工饭堂承包经营合同范本
- 2025年新能源设备采购合同谈判与签订服务协议
- 2025版航空设备定期检修与维修合同
- 2025年度新型节能环保项目保证合同范本
- 2025年二手车维修保养服务买卖合同书规范文本
- 2025年度新能源电动车关键配件经销合同范本
- 2025年度城市绿化建设项目房屋拆迁安置合同
- 2025版铝单板仓储物流与销售代理合同
- 2025版智能水电系统施工维护劳务服务合同模板
- 厨房刀具安全培训课件
- 私密抗衰培训课件
- 2025年全国高中物理竞赛试题及答案
- 2024风电项目开工管理办法
- 供热企业运营管理制度
- 2025年高考真题-英语(全国一卷) 含答案
- RocketMQ分布式消息中间件:核心原理与最佳实践
- 绿色矿山服务合同协议书
- T/CIE 170-2023企业级固态硬盘测试规范第6部分:环境适应性测试
- 院感各类应急预案培训
- 2025年云南省事业单位考试c类真题及答案
评论
0/150
提交评论