《《单片机I2C串口总线扩展设计》-公开DOC·毕业论文》由会员分享,可在线阅读,更多相关《《单片机I2C串口总线扩展设计》-公开DOC·毕业论文(51页珍藏版)》请在金锄头文库上搜索。
1、单片机I2C串口总线扩展设计学生: 指导教师: /教授1 绪论11 研究的目的及意义 随着电子科学技术的飞速发展,存储器件也不断的更新换代,人们与存储器件的关系也越来越密切。从汞延迟线、磁带、磁鼓、磁心到磁盘、光盘以及纳米存储,每一次的技术的进步都拉近了人与存储器之间的距离。有了存储器,计算机才具有记忆功能,从而实现程序存储,使计算机能够自动高速地进行各种复杂的运算 存储器大致可分为两大类:易失和非易失。易失存储器在系统关闭时立即失存储在内的信息;它需要持续的电源供应以维持数据。大部分的随机存储器(RAM)都属于易失存储器。非易失存储器在系统关闭或无电源供应时仍能保持数据信息。一个非易失存储器
2、(NVM)器件通常也是一个MOS管,拥有一个源极,一个漏极,一个门极另外还有一个浮栅(FLOATING GATE)。它的构造和一般的MOS管略有不同:多了一个浮栅。浮栅被绝缘体隔绝于其他部分。 非易失存储器又可分为两类:浮栅型和电荷阱型。Kahng 和 Sze 在1967年发明了第一个浮栅型器件,在这个器件中,电子通过3nm厚度的氧化硅层隧道效应从浮栅中被转移到substrate中3。隧道效应同时被用于对期间的编程和擦除,通常它适用于氧化层厚度小于12nm。 储存在浮栅中的电荷数量可以影响器件敌值电压,由此区分期间状态的逻辑值1或0。 在浮栅型存储器中,电荷被储存在浮栅中,它们在无电源供应的情
3、况下仍然可以保持。所有的浮栅型存储器都有着类似的原始单元架构。第一个门极被埋在门极氧化层和极间氧化层之间,极间氧化层的作用是隔绝浮栅区,它的组成可以是氧-氮-氧,或者二氧化硅。包围在器件周围的二氧化硅层可以保护器件免受外力影响。第二个门极被称为控制门极,它和外部的电极相连接。浮栅型器件通常用于EPROM(Electrically Programmable Read Only Memory)和EEPROM(Electrically Erasable and Programmable Read Only Memory)。 电可擦除可编程EEPROM在应用系统中既可由软件对其内容进行随机读写,又可在
4、芯片断电的情况下长期保存片内信息,因此兼备了RAM和ROM的基本特点。EEPROM有串行和并行两大类。并行EEPROM存储容量较大,读写方法简单,但价格较高,适用于信息量较多的场合。串行EEPROM结构简单紧凑,价格低廉,但其读写方法复杂,存储单元较小,一般用于掉电情况下需要保存或一些数据需要在线修改的场合,这类数据不多却很重要,若使用常规的RAM芯片,就必须附带一套性能可靠的掉电保护系统,这不仅增加了线路设计的复杂性,同时也给设备的运行和维护带来了诸多不便。使用串行EEPROM来存储这类数据是最合适不过的。尤其随着当今智能化仪表趋于小型化,再加上真正需要保存的以及预设的数据位、控制位、保密位
5、并不占据太多的存储空间,串行EEPROM的体积小,功耗低,硬件接口非常简单,因而越来越受到人们的重视,在智能化仪器仪表、控制装置等领域得到广泛的应用。 在测量仪器中使用EEPROM保存数据,这是仪器具有校准、标定功能的基本条件EEPROM读写数据安全可靠保证了在测量过程中数据稳定。但和Flash存储器进行比较,Flash存储器结合了以往EPROM 结构简单、密度高和EEPROM 在系统的电可擦除性的一些优点,实现了高密度、低成本和高可靠性6。Flash存储器和传统存储器的最大区别在于它是按块(sector)擦除,按位编程,从而实现了快闪擦除的高速度7。 电荷阱型器件是在1967年被发明的,也是
6、第一个被发明的电编程半导体器件。在这类型的存储器中,电荷被储存在分离的氮阱中,由此在无电源供应时保持信息。电荷阱器件的典型应用是在MNOS(Metal Nitride Oxide Silicon),SNOS(Silicon Nitride Oxide Semiconductor)和SONOS(Silicon Oxide Nitride Oxide Semiconductor)中。12 现状分析及发展趋势 I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统
7、风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。近年来,随着半导体技术的不断发展,陆续出现了一些新的数据要求非常严格的芯片,比较典型的有基于I2C总线接口的24系列,基于SPI总线的25系列,以及并行总线接口的28系列,29系列,这些芯片的特点是芯片掉电后数据不会丢失,数据可以保存几年、甚至几十年,这些芯片采用I2C、SPI或Microwire串行总线协议,与单片机接口通常仅占用24个I/O口,可以最大限度地节省单片机的资源,并且数据可以反复擦写。I2C是一种较为常用的串行接口标准,具有协议完善、支持芯片较多和占用I/O线少等优点。I2C总线作为PHILI
8、PS公司为有效实现电子器件之间的控制而开发的一种简单的双向两线总线。现在,I2C总线已经成为一个国际标准,在超过100种不同的IC集成电路上实现,得到超过50家公司的许可,应用涉及家电、通信、控制等众多领域,特别是在ARM嵌入式系统开发中得到广泛应用。1. 3 本课题的设计任务与设计方案在80C51单片机、常用数字逻辑接口器件、ROM、RAM存储器器件、键盘显示器等所组成的单片机系统上,设计一种I2C接口EEPROM存储器扩展电路,要求通过8051单片机的IO端口模拟实现I2C工作时序,能够根据需要通过按键设定存储器的存储器格式、进行读写、设定密码等操作。设计思路:首先在PROTUES软件中连
9、接仿真图,以80C51为核心,在P3口上接以24C04的EEPROM存储器,在P0口上接八段六位LED显示,在P1口上接4*4键盘,然后根据自己设计的硬件电路,画出总的I2C程序流程图及各个功能块的程序流程图,再在wave 6000上依次编写各个功能块的程序,并加以调试;然后在将各个功能块的程序和主程序加以组合,并给与调试。器件选择:80C51单片机,24C04存储器,八段六位LED显示器,l设计技术基础2 设计技术基础 2. 1 80C51单片机简介该系列单片机是采用高性能的静态80C51 设计,由先进CMOS 工艺制造并带有非易失性Flash 程序存储器,全部支持12 时钟和6 时钟操作,
10、P89C51X2和P89C52X2/54X2/58X2 分别包含128 字节和256 字节RAM ,32 条I/O 口线,3 个16位定时/计数器,6 输入,4 优先级嵌套中断结构,1 个串行I/O 口可用于多机通信I/O 扩展全双工UART,以及片内振荡器和时钟电路。此外由于器件采用了静态设计可提供很宽的操作频率范围,频率可降至0 ,可实现两个由软件选择的节电模式(空闲模式和掉电模式),空闲模式冻结CPU ,但RAM 定时器串口和中断系统仍然工作;掉电模式保存RAM 的内容,但是冻结振荡器导致所有其它的片内功能停止工作,由于设计是静态的时钟,可停止而不会丢失用户数据,运行可从时钟停止处恢复
11、。 特性 80C51 核心处理单元: 4k 字节FLASH 89C51X2 8k 字节FLASH 89C52X2 16k 字节FLASH 89C54X2 32k 字节FLASH 89C58X2 128 字节RAM 89C51X2 256 字节RAM 89C52X2/54X2/58X2 布尔处理器 全静态操作:12 时钟操作可选6 个时钟通过软件或并行编程器存储器寻址范围:64K 字节ROM 和64K 字节RAM电源控制模式:时钟可停止和恢复空闲模式掉电模式两个工作频率范围:6 时钟模式时为0 到20MHz12 时钟模式时为0 到33MHzLQFP, PLCC 或DIP 封装扩展温度范围:双数据
12、指针3 个加密位 4 个中断优先级 6 个中断源 4 个8 位I/O 口 3 个16 位定时/计数器T0 T1 标准80C51 和增加的T2 捕获和比较 可编程时钟输出 异步端口复位 掉电模式可通过外部中断唤醒:下表所示为操作模式电源电压以及最大外部时钟频率之间的关系:操作模式电源电压最大时钟频率6-clock5V10%20MHz12-clock5V10%33MHz 2. 2 80C51单片机的并行I/O口 外时电源 外部事件计数 80C51CPU振荡器和时序电路程序存储器(4KB)数据存储器(256字节)两个定时器计数器中断控制内部中断总线扩展控制器并行可编程I/O可编程串行口 外部中断 控
13、制 P0 P2 P1 P3 RXD TXD (数据/地址) 图1 典型单片机的基本组成结构图2 80C51外部引脚图 图3 典型单片机的CPU组成结构2.2.1 管脚功能描述P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作
14、输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据