利用C8051F020的SPI接口扩展大容量数据存储器

发布者:Qinghua2022最新更新时间:2011-07-25 关键字:C8051F020  SPI接口  数据存储器 手机看文章 扫描二维码
随时随地手机看文章

引言

在以网络通讯、软件和微电子为主要标志的信息产业飞速发展的今天,以为微处理器为核心的嵌入式系统随处可见,这些系统应用的典型例子包括移动电话系统、汽车的应用、家用电器、航天应用、医疗设备和国防系统等[1]。作为嵌入式系统核心部分的微处理器分为8位,16位,32位和64位四大类。对于很大一部分应用领域,性能要求相对较低,而产品成本是最重要的考虑因素,这种情况下8位微处理器将是最佳选择。在8位微处理器中8051芯片家族具有低成本、大范围、易获得和应用广泛的特点,是开发嵌入式优秀平台。另外需要指出的是为了适应目前IC产业中流行的SOC(system on a chip)设计潮流,许多著名半导体公司纷纷推出了基于8051架构的8051 SOC芯片,其中美国SILICON LAB公司的C8051Fxxx系列单片机就是一例。

在8051芯片家族的实际应用中经常遇到的问题是没有足够的数据存储器用于支持较大的嵌入式系统。但是采用常规的扩展外部数据存储器的方法存在一个较大的引脚资源问题(其通常占用了18条引脚)。这对于以外部引脚数本就不多的微处理器为核心的嵌入式系统来说是致命的。

为了解决这一矛盾,本文C8051F 单片机和AT45DB081芯片为例,以介绍了一种利用串行外设接口(SPI)扩展大容量数据存储器的方法。

硬件简介

    C8051F 系列单片机[2]是完全集成的混合信号SOC芯片,具有与8051指令集完全兼容的CIP-51内核。它在一个芯片集成了构成一个数据采集或控制系统所需的几乎所有模拟和数字外设以及其他功能部件。这些部件包括:ADC,可编程增益放大器、DAC、电压比较器、电压基准、温度传感器、SMBus/I2C、UART、SPI、定时器、PCA、内部振荡器、WDT和电源监视器等。各个有输入/输出的内部部件可以通过交叉开关配置到I/O端口(P0、P1和P2)的外部引脚上。它内置了FLASH程序存储器、内部RAM,部分器件内部还有一定数量的位于外部数据存储器空间的XRAM。C8051F单片机具有片内调试电路,通过JTAG接口可以进行非侵入式、全速的在系统调试。这种真正能独立工作的SOC单片机使得设计体积小、功耗低、可靠性高的单片机系统变得方便。

    AT45DB081[3]是ATMEL公司推出的工作电压为2.7~3.6V、可在系统重写的SPI兼容的FLASH数据存储器。它具有4096页、每页264字节(共计8M字节)的主存储器容量以及2个264字节的SRAM数据缓存器。这种串联接口FLASH存储器十分适用于要求存储密度高、引脚资源占用少、电源电压低和功耗小的商业和工业应用领域。

硬件原理图

    C8051F单片机(以C8051F020为例)与AT45DB081的硬件原理图见图1所示。

图1 C8051F020和AT45DB081的硬件连接原理图

    图中将C8051F020的P0.2、P0.3和P0.4引脚通过交叉开关配置为SPI的CLK(串行时钟)、MISO(主出从入)和MOSI(主出从入)信号线,分别与AT45DB081的时钟、串行输出和串行输入引脚相连。将P3.0、P3.1和P3.2与AT45DB081的芯片复位、片选和忙闲状态引脚相连。

    单片机通过SPI与存储器间启动一次数据传输的过程为先将SPI标志为SPIF清零,然后向数据寄存器SPI0DAT写入一个字节,当SPIF由硬件置1表示一次传输结束。

软件编程

AT45DB081的操作方式及操作码

   对于AT45DB081,共有十种操作方式,见表1所示。

表1  AT45DB081的操作方式及操作码

软件流程图及示例[page]

    C8051F单片机对AT45DB081进行数据读写操作的软件流程图如图2所示。

图2中系统初始化包括系统时钟初始化、设置交叉开关表将P0.2、P0.3和P0.4引脚配置为SPI接口,设置SPI特殊状态寄存器和复位数据存储器。

    单片机通过P3.1读取AT45DB081的忙闲状态引脚来判断存储器是否空闲,若P3.2为“1”表示存储器空闲,否则表示存储器忙。当存储器空闲时通过P3.1引脚输出“0”选中存储器。

    选中存储器后可以通过SPI发送命令字,表1所示的10种操作对应的命令字见文献[3]。下面以表1中的第二种操作为例给出命令字示例:操作码(54H)、15位无效位、9位缓存器内某字节的地址、8位无效数。当发送完命令字后可以读取数据。

图2 对AT45DB081进行数据读写操作的软件流程图

       表1中的第二种操作为例的软件示例(部分)如下。

void SendSPIByte(unsigned char ch)  // 通过SPI发送一个字节数据

{

         SPIF = 0;                   // SPIF位清零

         SPI0DAT = ch;              // 启动一次数据发送

         while (SPIF == 0);                // 等待数据发送完毕

}

unsigned char GetSPIByte(void)    //通过SPI接收一个字节数据

{

    SPIF = 0;                  // SPIF位清零

         SPI0DAT = 0;              //启动一次数据接收

         while (SPIF == 0);          // 等待数据接收完毕

         return  SPI0DAT;          // 读取SPI接收到的数据

}

SendSPIByte(54H);            //发送操作码52H

SendSPIByte(0x00);  //发送8位无效位

SendSPIByte((unsigned char)(star_addr>>8));  //发送7位无效位和第一位地址位

SendSPIByte((unsigned char)star_addr);      //发送后8位地址位

SendSPIByte(0x00);                   //发送8位无效位

Data=GetSPIByte();                  //读取缓存器中数据

    示例中star_addr为unsigned int型数据,其低9位用于存放地址位。

结论

    本文介绍的方法在占用C8051F单片机引脚数极少的情况下实现了大容量外部存储器的扩展,并给出了软件流程图及示例。这种方法同样可应用于其它带有SPI接口电路的微处理器。现在我们正将这种方法应用到以C8051F020为核心的嵌入式数据采集系统中。

 

 

关键字:C8051F020  SPI接口  数据存储器 引用地址:利用C8051F020的SPI接口扩展大容量数据存储器

上一篇:基于AT89C51单片机无线收发控制的交通信号灯模型
下一篇:C8051F020单片机及其在总磷在线自动分析仪中的应用

推荐阅读最新更新时间:2024-03-16 12:38

详细分析MCS-51单片机内部数据存储器RAM
8051单片机的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H~7FH)和高128单元(单元地址80H~FFH)。如图所示为低128单元的配置图。 寄存器区 8051共有4组寄存器,每组8个寄存单元(各为8),各组都以R0~R7作寄存单元编号。寄存器常用于存放操作数中间结果等。由于它们的功能及使用不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。4组通用寄存器占据内部RAM的00H~1FH单元地址。 在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是哪一组,由程序状态字寄存器PSW中RS1、RS0位的状态组合来决定。
[单片机]
详细分析MCS-51单片机内部<font color='red'>数据</font><font color='red'>存储器</font>RAM
通过SPI接口协议实现DSP与其它设备的通信
1 引言 随着信息技术革命的深入和计算机技术的飞速发展,DSP技术也正以极快的速度被应用到科技和国民经济的各信领域。在很多工程开发设计中,由于要求实现单片DSP与单片DSP、多片DSP芯片以及及其它处理芯片之间的通信,因此,怎样更高效、更便捷的实现这些通信,已成为广大DSP应用者首先要解决的一个问题。   本文根据笔者在工程应用和调试方面用TI的DSP TMS320C5402与NEC的μPD780308单片机进行通信的经验,介绍并讨论了将TMS320C5402 DSP的多通道缓冲串行口McBSP(Multi-channel Buffered Serial Port)配置为SPI模式(即时钟停止模式),从而实现DSP
[嵌入式]
兼容SPI接口的低功耗数字温度传感器ADT7301及其接口技术
摘要:ADT7301是AD公司推出的13位数字温度传感器芯片。该芯片采用+2.7V~+5.5V电源供电,具有温度转换精度高、功耗低、串行接口灵活方便等特点。文中介绍了ADT7301的主要特性,并以其与8052接口为例,给出了ADT7301的串行接口电路、应用程序。 关键词:温度传感器;SPI;ADT7301 1 概述 ADT7301是一个完整的温度监测系统,有SOT-32和MSOP两种封装形式。在芯片内部集成了一个用于温度监测的带隙温度传感器和一个13位AD转换器,其最小温度分辨率为0.03125%26;#176;C。ADT7301带有一个非常灵活的串行接口,可非常容易地与大多数微控制器接口;而且该接口还可与SPITM、QS
[应用]
带有SPI接口的车用高压侧栅极驱动器为电池系统保驾护航
带有SPI接口的车用双通道高压侧栅极驱动器EiceDRIVER™ 2ED4820-EM为可靠的48V电池系统保驾护航 【2022 年 2 月 7日,德国慕尼黑讯】 48V电池系统可用于轻度混合动力电动汽车、卡车、电动多轮车和太阳能电池板电池组等多类不断增长的市场。 这些锂离子电池系统需要获得正负电压防护。此外,如果出现过流,此类电池必须能够在数微秒内,快速可靠地与负载断开。由于电池组可能并非专用于一辆车,因此,状态诊断和过流保护阈值配置非常重要。 为满足这些需求,英飞凌科技股份公司推出了EiceDRIVER™ 2ED4820-EM,这是一款带SPI接口的智能栅极驱动器。这款栅极驱动器可与英飞凌80/100V Opti
[电源管理]
带有<font color='red'>SPI接口</font>的车用高压侧栅极驱动器为电池系统保驾护航
ATmega32 SRAM数据存储器
SRAM数据存储器 Figure 9 给出了ATmega32 SRAM 空间的组织结构。 前2144 个数据存储器包括了寄存器文件、I/O 存储器及内部数据SRAM。起始的96 个地址为寄存器文件与I/O 存储器,接着是2048 字节的内部数据SRAM。 数据存储器的寻址方式分为 5 种:直接寻址、带偏移量的间接寻址、间接寻址、带预减量的间接寻址和带后增量的间接寻址。寄存器文件中的寄存器 R26 到 R31 为间接寻址的指针寄存器。 直接寻址范围可达整个数据区。 带偏移量的间接寻址模式能够寻址到由寄存器Y 和 Z 给定的基址附近的63 个地址。 在自动预减和后加的间接寻址模式中,寄存器X、Y 和Z 自动增加或减少。 ATmega3
[单片机]
ATmega32 SRAM<font color='red'>数据</font><font color='red'>存储器</font>
若买下东芝存储器 西部数据会否再次开启转型模式?
  据报道,8月24日东芝举行董事会议,就决定出售其子公司“东芝 存储器 ”的事宜与 西部数据 进行谈判。下面就随网络通信小编一起来了解一下相关内容吧。   今年早些时候,东芝曾联合旗下半导体公司TMC 以 西部数据 窃取东芝信息为由起诉后者,向东京当地法院起诉 西部数据 ,并要求西部数据终止对TMC 半导体相关业务的权力,同时索赔1200亿日元(约合10.7亿美元)。而西部数据也曾向东芝表示过收购东芝 存储器 的意愿,却遭拒绝。   这期间,东芝为避免因资不抵债而面临的退市风险,曾与SK海力士和贝恩资本牵头的财团、西部数据、富士康等公司进行一系列谈判,谈判未果后,东芝便陷入了短暂的“沉默期”。据了解,西部数据曾经历过多次转型,
[网络通信]
基于C8051F020芯片的总磷在线自动分析仪
  1 概述   C8051F0XX系列单片机是Cygnal公司新推出的一种混合信号系统级单片机。该系列单片机片内含CIP-51的CPU内核,它的指令系统与MCS-51完全兼容。其中的C8051F020单片机含有64kB片内Flash程序存储器,4352B的RAM、8个I/O端口共64根I/O口线、一个12位A/D转换器和一个8位A/D转换器以及一个双12位D/A转换器、2个比较器、5个16位通用定时器、5个捕捉/比较模块的可编程计数/定时器阵列、看门狗定时器、VDD监视器和温度传感器等部分。C8051F020单片机支持双时钟,其工作电压范围为2.7~3.6V(端口I/O,RST和JTAG引脚的耐压为5V)。与以前的51系列单片机
[测试测量]
基于<font color='red'>C8051F020</font>芯片的总磷在线自动分析仪
C8051F020与80C51单片机的异同点
1 引言 80C51系列单片机及其衍生产品在我国乃至全世界范围获得了非常广泛的应用。单片机领域的大部分工作人员都熟悉80C51单片机,各大专院校都采用80C51系列单片机作为教学模型。随着单片机的不断发展,市场上出现了很多高速、高性能的新型单片机,基于标准8051内核的单片机正面临着退出市场的境地。为此,一些半导体公司开始对传统8051内核进行大的构造,主要是提高速度和增加片内模拟和数字外设,以期大幅度提高单片机的整体性能。其中美国Cygnal公司推出的C8051F系列单片机把80C51系列单片机从MCU时代推向SoC时代,使得以8051为内核的单片机上了一个新的台阶。 C8051F系列单片机是完全集成的混合信号系统级芯片,具
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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