基于CortexM3的I2C总线存储器设计.docx
- 文档编号:29590526
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:36
- 大小:971.93KB
基于CortexM3的I2C总线存储器设计.docx
《基于CortexM3的I2C总线存储器设计.docx》由会员分享,可在线阅读,更多相关《基于CortexM3的I2C总线存储器设计.docx(36页珍藏版)》请在冰豆网上搜索。
基于CortexM3的I2C总线存储器设计
课题名称:
基于Cortex-M3的I2C总线存储器设计
1.本课题所涉及的问题及应用现状综述
I2C是一种较为常用的串行接口标准,具有协议完善、支持芯片较多和占用I/O线少等优点。
I2C总线是PHILIPS公司为有效实现电子器件之间的控制而开发的一种简单的双向两线总线。
现在,I2C总线已经成为一个国际标准,在超过100种不同的IC集成电路上实现,得到超过50家公司的许可,应用涉及家电、通信、控制等众多领域,特别是在ARM嵌入式系统开发中得到广泛应用。
在ARM嵌入式系统开发中,系统和外围设备的信息交换能力非常重要。
传统的方式多采用地址和数据总线来完成,但是由于嵌入式系统总线资源的限制,利用有限的I/O接口和足够的通信速度来扩展多功能的外围器件就显得十分必要。
I2C总线正好可以满足这一嵌入式系统设计的需要。
在嵌入式系统中应用I2C总线,可以在很大程度上简化系统结构,模块化系统电路,而I2C总线上各节点独立的电气特性也可以使整个系统具有最大的灵活性
2.本课题需要重点研究的关键问题、解决的思路及实现预期目标的可行性分析
I2C主从模式
I2C采用两根I/O线:
一根时钟线(SCL串行时钟线),一根数据线(SDA串行数据线),实现全双工的同步数据通信。
I2C总线通过SCL/SDA两根线使挂接到总线上的器件相互进行信息传递。
ARM通过寻址来识别总线上的存储器、LCD驱动器、I/O扩展芯片及其他I2C总线器件,省去了每个器件的片选线,因而使整个系统的连接极其简洁。
总线上的设备分为主设备(ARM处理器)和从设备两种,总线支持多主设备,是一个多主总线,即它可以由多个连接的器件控制。
I2C串口存储器
在嵌入式系统中会用到各种带I2C接口的芯片,这里以I2C串口存储器CSl24WC256为例,说明I2C电路在ARM嵌入式系统中的应用。
CSl24WC256是美国CAllALXST公司的一款芯片,是一个256K位支持I2C总线数据传送协议的串行CMOS串口存储器,可用电擦除,可编程自定时写周期(包括自动擦除时间不超过10ms,典型时间为5ms),具有64字节数据的页面写能力。
串行存储器一般具有两种写入方式,一种是字节写入方式,另一种是页写入方式。
允许在一个写周期内同时对1个字节到一页的若干字节的编程写入,1页的大小取决于芯片内页寄存器的大小。
3.完成本课题的工作方案
ARM在系统中一直作为主设备,所以在I2C总线中只有主发送和主接收两种操作方式。
在系统初始化时,由指令控制CPU送出相关的数据,经接口送到I2C寄存器内。
通过初始化这些寄存器,可以实现I2C总线的主模式控制,以及实现I2C总线上的从设备读写。
查阅相关资料,翻译英文文献,撰写开题报告。
整理资料,初步设计电路原理图;编写程序,进行分模块测试。
修改完善电路原理图,绘制PCB。
制作PCB板或者购买万能板,购买元器件并焊接。
编写程序,电路整体调试,完善电路。
整理相关资料,撰写论文,准备答辩相关工作。
论文修改打印,毕业设计答辩。
4.指导教师审阅意见
指导教师(签字):
2014年3月12日
西安邮电大学毕业设计(论文)成绩评定表
学生姓名
薛孟丹
性别
女
学号
05102030
专业班级
科技1001
课题名称
基于Cortex-M3的I2C总线存储器设计
课题
类型
毕业设计
难度
一般
毕业设计(论文)时间
2014.3.10——2014.6.15
指导教师
王文强(职称讲师)
课题任务
完成情况
论文(千字);设计、计算说明书(千字);图纸(张);
其它(含附件):
指导教师意见
分项得分:
开题调研论证分;课题质量(论文内容)分;创新分;
论文撰写(规范)分;学习态度分;外文翻译分
指导教师审阅成绩:
指导教师(签字):
年 月 日
评阅教师意见
分项得分:
选题分;开题调研论证分;课题质量(论文内容)分;创新分;
论文撰写(规范)分;外文翻译分
评阅成绩:
评阅教师(签字):
年 月 日
验收小组意见
分项得分:
准备情况分;毕业设计(论文)质量分;(操作)回答问题分
验收成绩:
验收教师(组长)(签字):
年 月 日
答辩小组意见
分项得分:
准备情况分;陈述情况分;回答问题分;仪表分
答辩成绩:
答辩小组组长(签字):
年月日
成绩计算方法
指导教师成绩20(%)评阅成绩30(%)验收成绩20(%)答辩成绩30(%)
学生实得成绩
(百分制)
指导教师成绩评阅成绩验收成绩
答辩成绩总评
答辩委员会意见
毕业论文(设计)总评成绩(等级):
学院答辩委员会主任(签字):
学院(签章)
年月日
备
注
摘要
随着信息科学的飞速发展,人们面临着越来越繁重的信号处理任务,对数据采集处理系统的要求也越来越高,在实时信号处理过程中需要存储的数据量也越来越大。
由于单片机、DSP、ARM等微处理器内部RAM有限,对在微处理器外部拓展存储器的需求日益迫切。
本文研究一种基于Cortex-M3内核的I2C总线存储器设计。
由于I2C总线简单有效,广泛用于微控制器与各种功能模块的连接,是近年来微电子通信控制领域广泛采用的一种新型总线标准,所以研究I2C总线对我们有重要的意义。
从存储器的发展现状、发展趋势、研究的目的及意义等方面的介绍开始,还介绍了I2C总线、I2C总线的通信协议及总线协议控制下实现的存储器的设计与实现。
通过寻址来识别总线上的存储器、LCD驱动器、I/O扩展芯片和其他的I2C总线器件,去掉了了器件的片选线,从而达到整个系统的连接简洁化。
I2C总线上的设备有两种,主设备(ARM处理器)和从设备,总线支持多主设备,是一个多主总线,即它能够被几个连接的器件控制。
本文主控制器采用Cortex-M3内核的LPC1752为核心控制模块的实现方式。
从而实现了数据的外部存储。
主要研究内容包括LPC1752最小系统设计、I2C总线接口设计、基于I2C总线的X24C04外部存储器设计。
通过I2C接口对X24C04进行单字节写操作来实现I2C总线的设计与应用。
通过温度检测系统的设计与实现,检验存储器的可靠性及稳定性。
关键词:
存储器Cortex-M3LPC1752原理图I2CX24C04
Abstract
Withtherapiddevelopmentofinformationscience,peoplearefacedwithincreasinglyoneroustaskofsignalprocessing,dataacquisitionandprocessingsystemrequirementsarealsoincreasingtheamountofdatainreal-timesignalprocessingneedstobestoredisalsogrowing.Duetothemicrocontroller,DSP,ARMandothermicroprocessorinsidethelimitedRAM,theneedforexpandingtheexternalmemoryinthemicroprocessorincreasinglyurgent.Inthispaper,anI2C-busmemorydesignisbasedonCortex-M3core.AstheI2Cbusissimpleandeffective,widelyusedtoconnectthemicrocontrollerandthevariousfunctionalmodulesinrecentyearsisanewbusstandardwidelyusedinthefieldofmicroelectronicscommunicationcontrol,soresearchI2Cbushasgreatsignificanceforus.Fromtheintroductionofmemorybegandevelopmentstatus,trends,purposeandsignificanceofthestudy,etc.,butalsointroducesthedesignandimplementationofI2Cbus,I2Cbuscommunicationprotocolandbusprotocolimplementedunderthecontrolofmemory.Byaddressingtoidentifythememorybus,LCDdrivers,I/OexpansionbusI2Cchipsandotherdevices,removingthechipselectlineofthedevice,soastoconnectthesimplicityofthewholesystem.DevicehastwoI2Cbusmasterdevice(ARMprocessor)andthemainbus,thatitcanbecontrolledfromseveraldevicesconnecteddevicesupportsmulti-masterbus,isamulti.
Inthispaper,themaincontrollerusestheLPC1752Cortex-M3coreasthecorecontrolmoduleimplementations.Enablingexternaldatastorage.ThemaincontentsincludeLPC1752minimumsystemdesign,I2Cbusinterfacedesign,basedonthedesignofexternalmemoryX24C04I2Cbus.ThroughtheI2CinterfaceX24C04singlebytewriteoperationtoachievethedesignandapplicationofI2Cbus.Temperaturedetectionsystemdesignandimplementationby,thereliabilityandstabilityofthetestmemory.
KEYWORDS:
Memory,Cortex-M3,LPC1752,schematics,I2C,X24C04
引言
I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。
例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。
可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。
I2C是一种较为常用的串行接口标准,具有协议完善、支持芯片较多和占用I/O线少等优点。
I2C总线作为PHILIPS公司为有效实现电子器件之间的控制而开发的一种简单的双向两线总线。
现在,I2C总线已经成为一个国际标准,在超过100种不同的IC集成电路上实现,得到超过50家公司的许可,应用涉及家电、通信、控制等众多领域,特别是在嵌入式系统开发中得到广泛应用。
近年来,随着半导体技术的不断发展,陆续出现了一些新的数据要求非常严格的芯片,比较典型的有基于I2C总线接口的24系列,基于SPI总线的25系列,以及并行总线接口的28系列,29系列,这些芯片的特点是芯片掉电后数据不会丢失,数据可以保存几年、甚至几十年,这些芯片采用I2C、SPI或Microwire串行总线协议,与单片机接口通常仅占用2~4个I/O口,可以最大限度地节省单片机的资源,并且数据可以反复擦写。
本课题目的是用I2C总线来扩展Cortex-M3ROM。
实现存储功能。
绪论
1
1
现状及发展趋势
随着电子科学技术领域的不断发展,人们和存储器件之间的关系越来越密切,存储器件也一直在更新换代,。
从汞延迟线、到磁带、再到磁鼓和磁心,以及磁盘、光盘到现在的纳米存储,每一次的技术的进步都进一步拉近了人与存储器之间的距离。
正因为有了存储器技术的不断发展,计算机才具有了记忆功能,实现了程序存储功能,使得计算机自动高速地进行各种复杂的运算。
本设计旨在通过Cortex-M3控制器的I2C接口对X24C04芯片进行单字节写操作来实现基于I2C总线的存储器的设计与应用。
标准I2C总线模块的组合开发的方式可以大大的缩短新产品的开发周期。
I2C总线的优点在于各节点具有独立的电气特性,能在相互不影响的前提下,甚至在系统供电异常的情况下,实现写入或擦除功能。
I2C总线系统的构成具有很大的灵活性。
在系统进行改型设计、或者对已经加工好的电路板进行功能扩展的时候,对原有设计及电路板系统影响比较小。
由于I2C总线的上述优势,被广泛用于微控制器与各种功能模块的连接,是近年来微电子通信控制领域广泛采用的一种新型总线标准,所以研究I2C总线对我们有重要的意义。
主要工作内容
认真研读相关资料,设计基于Cortex-M3的LPC1752核心控制系统,包括最小系统、人机交互接口(包括含按键、串口通讯、LED指示等)、存储器接口、温度检测接口。
设计一种I2C接口的EEPROM存储器电路,通过LPC1752的I2C接口实现对存储器的数据的读取和写入等控制操作,在系统掉电之后能够成功重新读取存储器中保存的数据。
Cortex-M3简介
1.
2.
1
2
ARM的历史
ARM这个词不仅代表着一个公司,还代表微处理器,以及一项技术。
ARM公司于1991年,在英国剑桥成立,主要业务为出售芯片技术的授权给其他公司。
后来,ARM公司很快成为RISC标准的缔造者。
体系结构通常描述为精简指令集计算机(RISC)体系结构,主要有这几个比较典型的RISC体系结构特征。
(1)大且统一寄存器文件。
(2)寻址模式简单。
(3)指令域是统一的且长度固定,3地址指令格式,使得译码简单化。
(4)指令执行一些简单基本的操作,所以可以在一个机器周期内完成。
(5)长度指令固定为32位,这样可以简化译码结构,提高效率。
(6)采用指令流水线技术。
对基本RISC体系结构进行功能扩展,从而达到高性能、代码小、功耗低、硅片面积小的优点。
自诞生以来,有八个不同版本的,分别为V1-V8.
(1)V1版架构只在ARM1中使用过,基本指令包括基本的数据处理指令、字节、半字和字的Load\Store指令,转移指令,子程序调用、链接指令,软件中断指令,寻址空间是64MB.
(2)V2版架构对V1版架构进行了扩展,增加了乘法和乘加指令、支持协处理器操作指令、快速中断模式指令、SWP/SWPB的最基本存储器与寄存器交换指令,寻址空间为64MB.
(3)V3版架构对ARM体系结构做了较大改动,寻址空间增大到32位(4GB),增加了当前程序状态寄存器CPSR和程序状态保存寄存器SPSR,用于处理异常情况,增加了中止和未定义两种处理器模式。
(4)V4版架构是目前大范围被应用的ARM体系结构,在V3基础上进一步扩展,其中部分还有16位的Thumb指令集,从而变得很方便灵活。
指令集增加了以下的几种功能:
符号化和非符号化半字及符号化半字的存/取指令。
(5)V5版架构在V4版架构基础上多加了以下的指令,带有链接和交换的转移BLX指令、计数前导零计数CLZ指令、BRK中断指令、信号处理指令、协处理器的更多可以选择的指令。
(6)V6版架构在2001推出,基本特点有完全和以前的体系兼容;SIMD媒体扩展,使得速度提高1.75倍;改进了内存管理,系统的性能提高30%;改进了混合端与不对齐数据支持,使得小端系统支持大端数据。
(7)V7版架构于2005年推出,采用了Thumb-2新技术,从而有了高性能、高功耗效率、高代码密度。
第一次使用了强大的信号处理扩展集.
(8)V8版架构支持64位体系结构。
ARM公司开发了很多种处理器,其中有ARM7系列(应用于多媒体和嵌入式设备中)、ARM9系列(用于无线设备、仪器仪表、联网设备、机顶盒设备、高端打印机和数码相机中)、ARM11系列、SecurCore系列(目前包括SC100\SC110\SC200\SC210四种产品)、Cortex系列。
Cortex-M3的特征
Cortex-M3是32位的处理器内核,基于哈佛架构,指令和数据分别各有一根总线,集成了分支预测、单周期乘法、硬件除法等特性。
为了重要数据的保护和特权处理,Cortex-M3添加MPU,应用于高确定性的实时应用,例如汽车系统、控制系统、传感器等。
Cortex-M3有下列几个特点:
◆低功耗:
仅用了最少的ARM内核,核心部分门数只有33000个,支持扩展时钟门控和集成睡眠模式,从而使得功耗降低。
◆位带操作:
Cortex-M3可以支持2个位带存储区域,分别是SRAM和外设区。
采用位带操作使得外设控制流程简化。
◆Thumb-2指令集,可以执行硬件除法、单周期乘法、位字段操作,因此使性能最佳和最小代码。
◆低延时中断处理机制:
Cortex-M3里的能够实现中断处理和延迟,有利于减弱中断处理对处理器性能的影响。
◆NVIC配置最多提供240个单独优越级、动态重设优先级功能以及集成系统时钟的系统中断。
◆支持线程模式和处理器模式,有特权和无特权的代码访问,这样保证了程序安全性,仍可以执行复杂的开放式系统。
◆多种连接功能和性能的组合使得设备能够及时处理I/O通道和协议标准。
◆开发工具的多样化:
串行线调试端口或串行线JTAG调试端口。
◆ARM提供标准的CMSIS标准支持。
图21Cortex-M3处理器系统框图
LPC1752简介
LPC17XX系列是Cortex-M3系列中的一种,主要用于处理高要求、高集成和低功耗的嵌入式系统中。
LPC175X的封装形式为LQFP80,主要用于照明设备、警报系统、工业控制、电机控制等领域。
LPC1752主要特性有:
◆LPC1752可运行在至高100MHz的频率下,包含支持8个区的存储器保护单元(MPU)
◆内置向量中断控制器(NVIC)
◆512K的大容量FLASH存储器用于系统编程(ISP)和应用编程(IAP)。
◆64K的SRAM
◆拥有8通道的DMA控制器,用于数据从存储器到存储器的传输
◆每个AHB主机提供了独立的总线,多层AHB矩阵通过内部连接
◆拥有以太网MAC
◆拥有USB2.0全速主/从机、OTG控制器
◆拥有4路UART和内部FIFO,并支持DMA和RS-485
◆现场总线(CAN)控制器
◆具有同步串行、全双工通信、可编程数据长度的SPI控制器
◆增强型的I2C总线接口。
LPC1752简化方框图:
图22LPC1752简化方框图
存储器设计
2
3
I2C简介
I2C(Inter-IntegratedCircuit)总线是飞利浦公司在20世纪80年代为了主板能够连接低速设备发展的一种多主机的总线,它是一种两线传输式的串行总线。
I2C总线具备多主机系统需要的,包括总西安裁决和高低速不同器件同步的高性能的串行总线。
是一种双向的两线的总线,I2C总线包括一条串行的数据线(SDA)和一条串行的时钟线(SCL),在总线空闲时,这两条线路都处于高电平状态。
I2C总线上允许挂载的I2C器件数量由以下条件决定:
(1)I2C从设备的地址的位数。
I2C标准中有7位地址和10位地址两种地址模式。
如果是7位的地址,则允许挂载的I2C器件数为27=128个;如果是10位的地址,则允许挂载的I2C器件数为210=1024个。
一般情况下,I2C总线上挂载的I2C器件不会太多,所以几乎所有的I2C器件地址都使用7位。
(2)挂载在I2C总线上所有的I2C器件的引脚寄生电容之和。
I2C总线规范中明确要求I2C总线的容性负载最大不能超过470pF。
1
2
3
3.1
I2C的描述
I2C总线是一种特殊的同步通信形式,优点有接口线少、控制方式简单、器件封装形式小、通信速率高。
I2C总线有2根双向信号线,一根数据线SDA和时钟线SCL,每一个器件都有特定的地址标志。
I2C总线有两种类型的数据传输:
(1)数据由主发送器发送给从接收器。
从机地址为第一字节,然后是数据字节。
从接收器每接受完一个字节要向主发送器返回一个应答位。
(2)数据由从发送器发送给主接收器。
从机地址为第一字节,接下来从机返回一个应答位,然后再发送数据字节。
主机在接收一个字节后都要返回一个应答位,但不包括最后一个字节。
在最后一个字节接收完后,主机返回一个非应答位。
然后全部的串行时钟脉冲、起始条件和停止条件都由主机产生。
每一帧的结束标志是一个停止条件或者重复起始条件。
下一帧的开始就是重复的起始条件,因此不会把I2C总线释放。
I2C的数据传输以起始信号开始,以终止信号结束,如图2-1所示。
图31I2C起始和终止信号
传输数据时,一定要确保每个字节的长度是8位,首先传输最高位MSB,每个传送字节后面要相应的搭配一个应答位。
当接收器不能立即接收下一个字节时,可以让SCL变为低电平,这样主机就处于等待状态,等到接收器准备好之后,释放SCL,就又可以继续传输了。
I2C特点
LPC1752有三种可用于外部I2C标准部件连接的接口,其中包括串行RAM、音调发生器、其他的微控制器。
有四种操作模式,分别为主发送模式、从发送模式、主接收模式、从接收模式。
其主要特点有:
Ø标准I2C总线接口,可以配置成主机、从机、主/从机;
Ø为了防止串行总线数据的混乱,对同时发送的主机进行仲裁。
Ø通过可编程时钟来控制I2C传输速率。
Ø数据传输方向是双向的。
Ø不同位速率器件通过串行时钟同步可在同一个串行总线通信。
Ø串行时钟同步控制挂起和恢复串行传输。
Ø支持Plus快速模式。
Ø可识别不同的从机地址,最多可达4个。
Ø不考虑从机地址的情况下,全部的I2C总线通信量可被监控模式同时观察。
可以进行测试以及诊断。
ØI2C0是一个标准的开漏引脚,并且运行速度能够达到1MHZ,它还支持多主机操作,允许运行器件退出后掉电。
ØI2C1和I2C2专门用于单主机I2C总线,且都使用标准I/O引脚。
I2C引脚说明
I2C的引脚功能描述如下表所示:
表格31I2C的引
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CortexM3 I2C 总线 存储器 设计