历史上的今天
返回首页

历史上的今天

今天是:2025年01月04日(星期六)

2021年01月04日 | MSP430F149嵌入式系统中FLASH K9F1G08U0M的应用

2021-01-04 来源:elecfans

NAND Flash是采用NAND结构技术的非易失存储器,具有ROM存储器的特点,存储在该芯片中的数据可在断电情况下维持10年不丢失,而芯片的引脚与访问又具有类似于RAM的特点。NAND FLASH 存储器将数据线与地址线复用为8条线,另外还分别提供了命令控制信号线,因此,NAND FLASH 存储器不会因为存储容量的增加而增加引脚数目。从而极大方便了系统设计和产品升级。


1 元件介绍

1.1 MSP430芯片

MSP430系列单片机是TI公司推出的16位RISC系列单片机,该系列是一组超低功耗微控制器,供电电压范围为1.8V―3.6V。考虑到本系统有微体积、低功耗的要求,在此选用MSP430F149,它具有60KB Flash Memory、2kb RAM、有8个通道采样率为200K的12位A/D转换器、硬件乘法器、2个带有大量捕获/比较寄存器的16位定时器、看门狗等,为系统的进一步开发扩展提供了良好的基础,特别适用于较复杂的系统开发。


1.2 NAND Flash

NAND结构Flash是Sumsung公司隆重推出并着力开发的新一代数据存储器件,在此选用芯片K9F1G08U0M,电源电压2.7V―3.6V,与MSP430F149一致,功耗低,容量可达128M×8Bit,按页进行读写,按块擦除,通过I/O口分时复用作为命令引脚/地址引脚/数据引脚。有很高的可靠性。


2 硬件设计

本系统中,K9F1G08U0M的数据输入输出口与单片机的P6端口相连。片选信号与单片机的P2.4相连, CLE(命令锁存控制端)、ALE(地址锁存控制端)、WE(写操作控制端)、RE(读操作控制端)分别通过控制单片机P3.3、P2.3、P2.6、P2.5引脚的电平,决定对FLASH进行控制字操作、地址操作、写操作还是读操作。在此不使用写保护功能,所以WP接高电平。FLASH与单片机的部分连接组成电路如图1所示。


图1 MSP430F149与K9F1G08U0M的连接


3 软件设计

MSP430的开发软件较多,本文采用IAR公司的集成开发环境―IAR Embedded workbench 嵌入式工作台,利用C430(MSP430系列的C语言)编写调试。单片机对FLASH的操作主要有写、读、擦除。


3.1 写操作

向FLASH内部写数据是基于页的,K9F1G08U0M的命令字、地址和数据都是通过并行口线I/O0―I/O7在控制信号的作用下分时操作。地址A0―A10,A11―A26通过I/O0―I/O7分4次送入。同时K9F1G08U0M芯片提供了一根状态指示信号线 ,当该信号为低电平时,表示FLASH可能正处于擦除、编程或读操作的忙状态;而当其为高电平时,则表示为准备好状态,此时可以对芯片进行各种操作。本系统须写入126M数据写操作流程图如图2。


3.2 读操作

读操作有串行页读、连续行读、随机读3种类型。在此选用串行页读取。首先将读操作控制字00h输入,再写入地址,写入控制字30h,待 信号变高后,将本页数据依次读出。随后再改变页地址读出其它页内数据。操作流程图如图3。

图2 写操作流程图

图3 读FLASH数据程序流程图


3.3 擦除操作

任何FLASH器件的写入操作都必须在空的或已擦除的单元内进行,因此在进行下一次存储数据之前都必须对FLASH进行擦除操作。


擦除操作基于块,K9F1G08U0M内有1024块,块地址的输入需要两个周期,块操作的地址只有A18―A27有效,A12―A17备忽略。在地址后被送入的块擦除命令(D0h)启动块擦除操作,待 信号变高后,送入命令字70h,读出I/O0的值来判断数据擦除是否成功。图4为块擦除流程图。


图4 擦除FLASH程序流程图


4 程序设计

在此给出写操作部分程序,读操作和擦除操作均可参考文中流程图来编程,值得注意的是其它具体写地址操作应仔细阅读


K9F1G08U0M芯片资料。

#include

#define CLE BIT3

#define ALE BIT3

#define WE BIT6

#define CE BIT4

#define RE BIT5

#define RB BIT7

void ReadFlash(); //读FLASH子程序

void WriteFlash(); //写FLASH子程序

void inituart(void); //初始化异步串行通信

void Write10h(); //写控制字10h子程序

void WriteCommand(); //写命令字写地址

void ClrFlash(); //擦除FLASH子程序

unsigned int k,i,a

void main ()

{

WDTCTL = WDTPW + WDTHOLD;

BCSCTL1 = ~XT2OFF;

do

{

IFG1 = ~OFIFG;

for (iq0=0x05; iq0>0; iq0--);

} //检验晶振是否起振

while ((IFG1 OFIFG)!= 0);

BCSCTL2 = SELM_2 + SELS + DIVS0;

//SMCLK选择2分频后的4M

While(k0xFC00) //页数64512时执行

{

WriteCommand(); //调用写控制字写地址子程序

While(i2048) //字节数2048时执行循环

{

WriteFlash(); //调用写数据子程序,

32个字节

i=i+32; //字节数+32

}

i=0; //一页写完后,字节数置0

Write10h(); //调用写10h子程序

while(!(P2IN RB)); //等待RB信号变高

k++; //页数+1

}

k=0; //页数置0

LPM4; //全部写完后,MSP430进入低功耗模式4


5 结束语

MSP430系列单片机具有实时处理能力强、运行速度快、性价比高等特点。本文介绍了FLASH K9F1G08U0M在由MSP430F149组成的嵌入式系统中的应用,实验表明: 整个系统简单可靠、功能完善、运行稳定,具有实用价值。本文作者创新点:实现了MSP430单片机和NAND Flash两种低功耗芯片在嵌入式系统中的应用,完成了对FLASH的写操作、读操作及擦除操作,达到了系统的微体积和低功耗特性。

推荐阅读

史海拾趣

客益(Guestgood)公司的发展小趣事

机顶盒,全称为数字视频变换盒(Set Top Box,简称STB),是现代家庭娱乐中不可或缺的重要设备。它作为连接电视机与外部信号源的桥梁,主要功能在于接收数字电视信号,并将其转换成适合在电视机上播放的格式。机顶盒不仅能接收来自有线电缆、卫星天线、宽带网络及地面广播的信号,还具备强大的媒体处理能力和交互功能,极大地丰富了用户的观看体验。

从技术层面看,机顶盒经历了从模拟到数字的飞跃式发展。早期的机顶盒主要用于有线电视网络的信号解扰,而现代机顶盒则支持高清、甚至4K超高清视频内容的播放,为用户带来更为细腻的画面和震撼的音效。此外,机顶盒还集成了网络交互功能,用户可以通过机顶盒连接到互联网,享受在线购物、观看网络视频、玩游戏等多元化服务,使电视机从单向接收信息的设备转变为智能互动终端。

随着科技的进步,机顶盒的功能和应用场景也在不断扩展。例如,一些先进的机顶盒支持智能语音控制,用户可以通过语音指令搜索节目、调整设置,极大地提升了使用的便捷性。同时,机顶盒还具备存储功能,用户可以将喜欢的媒体文件存储在机顶盒中,随时通过电视屏幕进行观看,享受个性化的娱乐体验。

综上所述,机顶盒作为家庭娱乐的重要组成部分,不仅承载着传输和显示数字视频信号的基本功能,还通过不断的技术创新和应用拓展,为用户提供了更加丰富、便捷、智能的观影体验。随着技术的不断进步和市场的不断扩大,机顶盒将继续在家庭娱乐领域发挥重要作用。

First Switchtech公司的发展小趣事

在电子行业的初期,First Switchtech公司(或类似公司)凭借其在开关技术领域的突破性创新,迅速在市场中崭露头角。公司研发出了一种新型低功耗、高可靠性的电子开关,这一创新不仅解决了当时市场上开关设备能耗高、故障率大的问题,还极大地提升了产品的整体性能。随着这一技术的广泛应用,First Switchtech公司逐渐在电子开关领域建立了领先地位,并带动了整个行业的技术进步。

巴丁微公司的发展小趣事

巴丁微深知人才是企业发展的核心动力。因此,公司始终注重团队建设与人才培养。公司拥有一支由行业精英组成的骨干团队,他们在集成电路设计、研发、销售等方面具有丰富的经验和深厚的专业知识。

同时,巴丁微也积极引进和培养新人才,通过定期的培训和学习机会,提升员工的技能水平和综合素质。公司还建立了完善的激励机制,鼓励员工勇于创新、敢于担当,为企业的发展贡献智慧和力量。

通过以上五个故事,我们可以看出巴丁微在电子行业发展的历程中,始终坚持以技术创新为核心,不断提升产品质量和市场竞争力。同时,公司也注重团队建设与人才培养,为企业的可持续发展提供了有力保障。未来,我们有理由相信巴丁微将继续在电子行业中取得更加辉煌的成就。

请注意,以上故事是基于公开资料编写的,可能与实际情况存在细微差别。如需获取更详细和准确的信息,建议直接联系巴丁微公司或查阅相关官方资料。

Forge Europa Ltd公司的发展小趣事

Forge Europa Ltd公司自成立以来,始终将技术创新视为企业发展的核心驱动力。早期,公司便投入大量资源研发高效能LED灯带技术,成功推出了具有行业领先地位的5050型号LED灯带。这款产品在市场上迅速获得认可,不仅因为其出色的光效和节能性能,更在于其独特的散热设计,有效延长了产品的使用寿命。Forge Europa的这一技术创新不仅为公司赢得了市场份额,也奠定了其在LED灯带领域的领先地位。

GTK UK Ltd公司的发展小趣事
优化望远镜的机械结构,减少机械振动对跟踪精度的影响。
Davies Molding公司的发展小趣事

随着电子行业的快速发展,Davies Molding公司意识到,只有不断创新,才能在市场上保持领先地位。因此,公司积极引进先进的生产技术和设备,不断提升自身的研发能力。通过不断的技术创新,Davies Molding公司成功推出了一系列具有竞争力的新产品,满足了市场对高品质塑料注塑成型产品的需求。

问答坊 | AI 解惑

156最后一个

还想看看吗。…

查看全部问答>

这个图小字部分看得清么?

小弟入行不深,在网上看到了这,但是最左边是在看不清楚,请大大们帮忙解释下。 …

查看全部问答>

QuartusII10.0 Bug汇总

QuartusII 10.0 的新颖之处的确吸引着大家,但是由于是用QT重写了quartus,可能很多地方存在bug 1。有没有安装完10.0之后并口下载线无法找到的?我的bbii不能用了!!! 声明一下,我的系统是重新装的,没有老版本的quartus存在!直接安装的10. ...…

查看全部问答>

DM9000驱动的问题

我用的是Mini2440开发板,板载的DM9000网卡的INT端接在SCS2440芯片上的EINT7上。在为uC/OS-II编写驱动时,请求EINT7中断就会死机。 代码如下: [code]…

查看全部问答>

想做一个usb驱程该从何入手啊

如题,对如何写驱程还不了解?正在看接口,还需要学什么呢?不同的设备所编写的驱程一样吗? …

查看全部问答>

麻烦帮分析一下这个ppp数据包

从“0x00,0x32”后面开始就不知道什么意思了 {0xff,0x03,0xc0,0x21,0x01,0x00,0x00,0x32,0x02,0x06,0,0,0,0,0x05,0x06,0x02,0xb6,0x5f,0x43,0x07,0x02,0x08,0x02,0x0d,0x03,0x06,0x11,0x04,0x06,0x4e,0x13,0x17,0x01,0x6c,0xf1,0x2d,0x0c,0x43,0x2 ...…

查看全部问答>

CMD文件

请问.cmd文件有固定格式没?2812的程序是不是都要用到.lib文件?.lib文件可否看到内容?是不是只有4个.lib文件? [ad.c] \"C:\\CCStudio_v3.1\\C2000\\cgtools\\bin\\cl2000\" -g -fr\"C:/CCStudio_v3.1/examples/MyProjects/ads/Debug\" -d\"_DEB ...…

查看全部问答>

外部数据总线与处理器速度

32位处理器,16位外部数据总线,总线周期为0.00005s.该处理器可以支持的最大数据传送速度为多少?外部数据总线增加到21位或者外部时钟频率增加,哪种更能提高处理器性能?…

查看全部问答>

ADC08100,很适合做数字示波器

本帖最后由 dontium 于 2015-1-23 12:59 编辑   ti./lit/ds/symlink/adc08100.pdf     ADC08100 ADC08060   ADC08200   ADC08B200   ADC08L060   Resolution (Bits) 8   &nb ...…

查看全部问答>

求actel LiberoI 破解码

江湖救急,大侠们帮帮忙…

查看全部问答>