当前位置:首页 > 嵌入式 > 嵌入式硬件

1 引 言

如今随着信息产业的飞速发展,以微处理器为核心的嵌入式系统正在智能化仪表、实时控制系统等方面发挥着巨大的作用。在许多实际应用中经常面临的问题是需要支持大容量的数据存储功能。

但是采用常规扩展外部数据存储器的方法,需要大量的地址总线和数据总线引脚,因而在访问外部数据存储器时,其容量受到微处理器地址总线和数据总线数量的极大限制。由于单片机的引脚数都相对较少,没有足够多的引脚用作外部数据存储器的地址总线,为了解决这一矛盾,本文以MSP430F12X2[1]单片机和AT45DB081[2]芯片为例,介绍了一种利用串行外设接口(SPI)扩展大容量数据存储器的方法。并给出初始化以及数据读写操作子程序。

2 硬件简介

MSP43 F12X20是一款超低功耗的混合信号控制器,具有16位RISC结构,有着丰富的片内外设,主要包括有看门狗、定时器、比较器、硬件乘法器、液晶驱动器、ADC、I/O端口、串口(USART)等,还集成有64 kB的FLASHROM和2 kB的RAM。其功能强大,应用场合广泛。特别适合应用于智能仪表、智能化家用电器、电池供电的便携式设备等产品中。相对于其他单片机MSP430 F12X2还具有以下特点:

(1)MSP430F12X2内部预设了JTAG模块,他使得每一个单片机芯片都具有完整的在线调试功能,而不必使用较复杂的仿真调试工具;

(2)MSP430F12X2中的FLASH在线编程技术可以完成除了采用外部编程器进行烧写外,用户可以利用自己的程序修改FLASH内容,且不需要外加编程电压;

(3)MSP430F12X2中的BOOTSTRAP技术使芯片具有片内的BOOT ROM,可以实现程序代码的下载和上载。

AT45DB081是Atreel公司推出的工作电压为2.7~3.6 v,可在系统可重复擦写并兼容SPI的FLASH数据存储器。内部有4 096页、每页264个字节,共计8 MB的主存储器容量以及2个264字节的SRAM数据缓存器。支持在系统重复编程,不需要较高的编程电压,只需要芯片的工作电压2.7~3.6 V就可以完成对FLASH的读写操作。AT45DB081通过一个三线接口(包含串行输入SI、串行输出SO、串行时钟SCK)在片选信号的配合下进行访问。这种串行接口FLAS[{存储器十分适用于要求存储量大而引脚资源较少、电源电压低和低功耗的应用领域。

3 硬件原理图

MSP430F12X2与AT45DB081的硬件连接原理图如图1所示。

图1中将MSP430F12X2的P3.1,P3.2和P3.3引脚配置为SPI的MOSI(主出从人)、MISO(主出从入)CLK(串行时钟)和信号线,分别与AT、45DB081的串行输入、串行输出和时钟引脚相连。将P2.0,P2.1,P2.2与AT45DB081的芯片片选、复位和忙闲状态引脚相连。由于RDY/BUSY为漏极开路,因而需加上拉电阻输出[2]。

4 AT45DB081的操作及操作码

对AT45DB021B的操作是由主机发出的指令控制,一个有效的指令在 的下降沿开始,包括一个8位的操作码和要进行操作的页地址和缓冲区地址的位置。表1列出了AT45DB021B的主要的操作方式和对应的操作码。

(1) 状态存储器

他是AT45DB021B内的一个8位的只读存储器,用于指示其工作状况,如表2所示,BIT7用于显示AT45DB021B的状态,BIT7位=1时,说明AT45DB021B不忙,可以对其进行指令操作,BIT7位=0时,指示AT45DB021B忙,可以通过检测BIT7位实时了解AT45DB021B的状态。BIT6 COMP用于显示主存储器页面与缓存器进行数据比较的结果,当比较结果匹配COMP=0,否则COMP=1。

(2) 通过缓冲存储器对主存储器写操作

命令码为:操作码5位保留码10位页地址码9位页内起始地址码,其中操作码为82H时,数据通过缓冲存储器1向主存储器写,为85H时,数据通过缓冲存储器2向主存储器写操作。

(3) 主存储器页读

主存储器页读指令可以对1024页中的任意页进行读操作,命令码为:8位操作码,5位保留码,10位页地址码,9位页内起始地址码,32位无关码;操作码为52H或D2H,5位保留码用于对片子的上下兼容,10位页地址码用于确定对主存储器的哪一页进行操作,9位页内起始地址码来确定页内操作的起始地址,后32为无关码用来配合时序。当 为0时,主机向器件的SCK引脚发送时钟信号,引导操作码和地址从SI引脚写入器件,当最后一位写入后的下一个时钟周期,页内数据将从SO引脚输出。

5 软件流程及读写程序

MSP430F12X2单片机对AT45DB081进行初始化以及数据读写操作的软件流程图如图2所示。图2中系统初始化包括系统时钟初始化、将P3.1,P3.2和P3.3引脚配置为SPI接口,设置SPI特殊状态寄存器和复位数据存储器。

单片机通过P2.2读取AT45DB081的忙闲状态引脚来判断存储器是否空闲,若P2.2为"1"表示存储器空闲,否则表示存储器忙。当存储器空闲时通过P2.0引脚输出"0"作为存储器的片选信号。选中存储器后可以参照表1,通过SPI发送命令字完成对AT45DB081的相应读写操作。对AT45DB081进行初始化以及数据读写操作的子程序[3]如下。

6 结 语

本文的创新意义在于在占用:MSP430F12X2单片机引脚数极少的情况下实现了大容量外部存储器的扩展方法,使得单片机在扩展外部数据存储器中改并行访问为串行访问,不再需要大量的地址和数据总线引脚。这种方法同样可推广到其他带有SPI接口的微处理器。在数据采集,智能仪表中都具有很强的实用意义。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭