快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

ag真人网站集团网址:利用LPC2148的SD卡实现系统升级的模块设计



跟着信息化,智能化,收集化的成长,嵌入式系统技巧也将得到广阔的成漫空间。嵌入式技巧周全展开,今朝已成为通信和破费类产品的合营成长偏向。在通信领域,数字技巧正在周全取代模拟技巧。在广播电视领域,美国已开始由模ag真人网站集团网址拟电视向数字电视转变,欧洲的DVB(数字电视广播)技巧已在举世大年夜多半国家推广。数字音频广播(DAB)也已进入商品化试播阶段。而软件、集成电路和新型元器件在财产成长中的感化日益紧张。所有上述产品中,都离不开嵌入式系统技巧。象出路无可计量的维纳斯计划临盆机顶盒,核心技巧便是采纳32位以上芯片级的嵌入式技巧。在小我领域中,嵌入式产品将主如果小我商用,作为小我移动的数据处置惩罚和通讯软件。本文提出了使用LPC2148的SD卡实现嵌入式系统进级的设计规ag真人网站集团网址划。

2、总系一切进级规划设计

厂家临盆出产品后,用户购买回去应用,当设备呈现了系统破绽或者用户不满意现有功能而提出更多需求时,就要对系统进级或者掩护系统功能。厂家只需将SD卡取回,把更新后的法度榜样放入SD卡中,然后发放给用户,用户只需把SD卡插入终端设备。即可达到系统进级的目的。图1给出厂商与用户之间的交流流程图。图2给出全部系统设计流程图。

按图1所示,厂商与用户交流历程如下:

(1)厂商将一个类似Boot loader的法度榜样经由过程ISP要领,将其下载到Flash中,如图2所示的位置。

(2)将进级法度榜样放入SD卡中,随产品一路出厂。

(3)用户拿到SD卡后,将其插入SD卡槽,终端设备开始事情。

(4)用户应用一段光阴后,若呈现问题或者必要进级、掩护时.只需将SD卡返回厂家即可。

(5)厂家将进级后的法度榜样放入返回的SD卡中,再返回给用户.或者厂家直接再发放SD卡给用户,而无需用户返回SD卡。

(6)用户拿到SD卡后,将其直接插入终端设备卡后,则可达到进级的目的。

出厂前,经由过程ISP编程要领烧入一个类似于Boot loader的法度榜样。该法度榜样的实现大年夜致分为3个步骤:

(1)SPI模式下的SD卡底层驱动;

(2)读出SD卡中的系统法度榜样,并放入指定的Flash地址段中:

(3)跳转到指定的Flash地址段,履行进级后的系统。

在用户插入SD卡前,法度榜样赓续判断SD卡是否插入。用户插入SD卡后,法度榜样首前驱动SD卡,使其能正常事情,然后读取SD卡中的进级法度榜样,并将其放入指定的Flash地址段中。着末,跳转到指定段,开始事情。厂家可根据必要,随意率性安排进级法度榜样放置的位置。

3、系统硬件设计

核心处置惩罚器采纳PHILIPS公司的LPC2148。它是一个支持实时仿真和嵌入式跟踪的32位ARM7微节制器。带有32KB和512 KB嵌入的高速Flash存储器。128位宽度的存储接口和独特的加速布局,使32位代码能够在最大年夜时钟速度下运行,并带有SPI总线。选用该处置惩罚器主要斟酌其内部资本富厚,无需扩展存储器和SPI总线,且机能优良,抗滋扰能力强,价格低廉,具有极高的性价比。

该设计只是产品电路中的一部分。其硬件电路如图3所示。LPC2148具有同步、全双工串行接口(SPI),其最大年夜数据位频率为输入时钟频率的1/8,可以设置为主机或从机事情要领。SD卡是经由过程SPI总线协议驱动的,数据传输中。主机老是向从机发送一个字节数据,而从机也老是向主机发送一个字节数据。图3中左边为LPC2148,右边为SD卡插槽。SCKl为串行时钟,用于LPC2148与SD卡之间的数据传输时钟旌旗灯号:MISOl是一个单向旌旗灯号,用于将数据从SD卡传输至LPC2148;MOSll也是一个单向旌旗灯号。用于将数据从LPC2148传输至SD卡;SSEL1为选通旌旗灯号,用于选中SD卡。图3中的引脚3和引脚6分手接地,引脚4接电源,引脚8用于检测SD卡是否插入,并可根据实际要求选定。SD卡与LPC2148之间经由过程SPI协讲和SD文件系统的组织形式.才能和谐通讯。

4、系统软件设计

系统软件部分首先经由过程SPI协议对SD卡初始化,然后根据SD卡的FAF32文件系统组织形式读取SD卡中的数据,将读取数据经由过程IAP要领将其写入Flash中,着末用一个跳转法度榜样跳转到该段,以达到进级的目的。

4.1 SD卡的初始化

SD卡(Secure Digital Memory Card)中文翻译为安然数码卡,是一种基于半导体快闪影象器的新一代影象设备,它被广泛地于便携式装配上应用,例如数码相机、小我数码助理(PDA)和多媒体播放器等。SD卡由日本松下东芝及美国SanDisk公司于1999年8月合营开拓研制。大年夜小如同一张邮票的SD影象卡,重量只有2克,但却拥有高影象容量、快速数据传输率、极大年夜的移动机动性以及很好的安然性。

用户利用法度榜样平日以文件的形式造访SD卡,并以文件的形式存取数据;文件系统层是经由过程调用SD卡物理层的有关函数来实现的,以是要想以文件系统的形式造访SD卡,则必须前驱动SD。SD卡的读写操作都是基于敕令的,经由过程向SD卡发送响应的敕令并读取响应的相应节制SD卡。在对SD卡读写前,首先要进行初始化操作。这是确保SD卡能在SPI模式下正常读写数据的条件。SD卡上电复位后,默认是SD模式。为了使SD卡进入SPI模式,必须将CS置低(至少延迟74个时钟)并经由过程SPag真人网站集团网址I总线发送CMDn,使SD卡复位,同时激活,并进行内部初始化处置惩罚,使SD卡退出余暇状态。

SD卡初始化流程图如图4所示。

SD卡中SPI模块的读操作包括读单块和读多块两种。该系统仅实现了读单块功能。初始化的长度为512字节。函数的实现分为4个步骤:①LPC2148向SD卡发送读单块敕令(CMD17),SD卡相应(Rl款式);②等待SD卡发送读肇端令牌;③判断收到的令牌是否为0xFE;④从SD卡中读取数据。

4.2 SD卡文件系统

SD卡完成底层驱动后,可按照FAT32文件系统款式对SD卡上的数据进行操作,进而在SD卡上实现读写文件等操作。FAT32文件系统是微软FAT类文件系统中的最高版本.是现今Windows下最常用的硬盘文件系统。

当读取SD卡中的文件时,首先要根据文件名查找该文件的信息布局体。根据文件信息布局体中的肇端簇号即可找到数据区第1簇的内容,也可在FAT表中找到第2个簇号。根据第ag真人网站集团网址2个簇号又能找到第2簇的内容和FAT表中的第3个簇号,直至碰到文件停止标志。这样,就可根据FAT表中的簇号读取到整个文件数据。以图5为例,阐明读取SD卡文件的详细步骤:

(1)先在目录项表中找到与文件名匹配的,如“Mvfile”,从“Myfile”所对应的目录项中可以读到该文件的首簇号0004:

(2)根据首簇号0004造访FAT表,读出首簇号对应的FAT表项内容0005,即第2个簇号。根据第2个簇号再造访FAT表,读出其对应的FAT表内容,即第3个簇号0006…等。依次做下去,直到着末一个表项内容为FFFF为止;

(3)由第(2)步可知,“Myfile“这个文件占用了4个簇,这4个簇号形成一个簇链000dH一00ag真人网站集团网址05H一0006H一0008H,根据这些簇号所形成的簇链造访这4个簇号对应的4个数据存储区域.文件“Myfile”就分成4个部分分手寄放在这4个存储区域中161。

4.3 IAP功能的实现

IAP:In Application Programming 是指在利用编程,即在法度榜样运行中编程,便是影戏供给一系列的机制(硬件/软件上的)当影戏在运行法度榜样的时刻可以供给一种改变flash数据的措施。普通点讲,也便是说法度榜样自己可以往法度榜样存储器里写数据或改动法度榜样。这种要领的范例利用便是用一小段代码来实现法度榜样的下载,实际上单片机的ISP功能便是经由过程IAP技巧来实现的,即影戏在出厂前就已经有一段小的boot法度榜样在里面,影戏上电后,开始运行这段法度榜样,当检测到上位机有下载要求时,便和上位机通信,然后下载数据到存储区。

LPC2148支持多种要领对Flash进行编程,用来写入用户代码或数据。第一种要领是经由过程内置的串行JTAG接口进行编程:第二种要领是经由过程UART0进行在系统编程(ISP);第三种要领是经由过程在利用编程(IAP)。IAP法度榜样是thumb代码,地址为0x7FFFFFF0。在应用IAP擦除、编程操作历程中,片内Flash存储器弗成造访。当用户运行利用法度榜样时,用户Flash区域的中断向量有效.以是在调用Flash擦除、写IAP之前,用户该当禁止中断,确保用户中断向量在RAM中有效和中断处置惩罚法度榜样位于RAM中。IAP代码不应用或禁止中断。可将SD卡读出的数据用C代码烧入指定的Flash段中:

4.4 法度榜样实现跳转到随意率性行代码段履行

现以下例来阐明这段法度榜样,假如法度榜样跳转到绝对地址为0xFFFF0履行,代码如下:

typedef void(*run)();//定义一个无参数,无返回类型的函数指针类型

run address=(run)0xFFFFO;//定义一个函数指针,指向跳转的位置

address()://调用函数

在上述利用法度榜样中,根本没有看到任何一个函数实体,然则却履行了函数调用;实际上它起到了”软重肩“的感化,跳转到CPU启动后第一条要履行的指令位置,即实现了法度榜样的跳转。

5、结语

该设计规划以LPC2148为核心,经由过程SD卡驱动、FAT32文件系统、IAP功能和法度榜样跳转实现了系统进级的模块设计,并用于实际开拓中。该设计增强了系统掩护,缩短了产品的开拓周期。节约了大年夜量的人力、财力,增添了与用户的交流力度。与传统设计比拟。在开拓光阴、资源和机动性等方面都占领上风性。该设计已经调试成功,并作为一个功能模块用于某电子产品上,在产品必要增添新功能和掩护系统稳定方面起到了伟大年夜的感化。要留意的是,该法度榜样设计是在Keil下编译经由过程的,天生的HEX文件不能直接放入SD卡中,由于该文件与经由过程ISP烧写Flash的文件不一样,要作必然的改动。别的,该规划不仅能用于系统进级,也能用于为法度榜样补丁和写入数据等,也可用于ARM9.是以该设计规划具有广泛的利用前景。

责任编辑:gt

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: