嵌入式Linux的分析及其在LED异步卡中的应用(7)

2019-06-11 22:49

第四章uc“眦x下的文件系统J阡s2

(3)mvmtd.>e隔sesize=0)c8000:表示擦除的太小。为了把它集成到uCUn呱配置中,要修改

uCLjnux-dis州inux-2.4.柚d№懵\mtd\maps忉nfig.in中(位置可参考文件中其他模块)

jf【呻CONFIG._S3C4510B订l:the“ I鸽hddepjrIs龇’CFIFevi∞mapped噶\mtd、maps、Mak嘶le中

=s3c4510b.o obj?¥(cONFIG-_MTDi-s3C珥510B) +第四步:添加flash的驱动,在uCUnux-disl\|inux.2.4.x\dn坩懵\mtd\chipS下的是chip的驱动层 程序,由于AM29Lvl60不在支持范围之内,但它和AM29F800BT类似.只不过Manufactu怕懵id 0B onS3C4510目CONF|G—MTD._S3C451Samsung¥CONFlG—MTD—CFI 们 和uCLjnux.disnIinux-2.4j州nve不同和分区大小不同,所以在jedec.盥blen中添加

I

mfr id:MANUFAC丁URER HYNlX.

dev id:AM29LVl60.

name:。AM29LVl∞1.

DevSize:SIZE 2MiB. NumE曙∞R钓

iO哺:4, regions:lERASEINF0(Dx8000,31)。

ERASElNFO(c|)(04000。1). ERASEINFO“啪1000。2), ERASElNF0“I)c04∞

0,1)

l

} 第五步:在makemenu∞n69下配置

选项。

在linuxKemeI、,2.4.孙ucoComgu删on下

Memo吖T’∞h∞logyDe、,i∞s(MTD)下

CoNFIGMTD墨y CoNFIGMTDDEBUG嗣Y CoNFIG—M下D.-DEBUG—VERBOSE置3

CoNFIGMTDPARTITlONS皇Y CONFIGMTDCHAR-Y CoNFlGMTDBLOCK州

RAM,RoM,FIashchipdme倦下

CONFlG MTDCFlaY CONFlG

MTD.JEDECPROBE吖

CoNFlG MTDCFIAMDsTD;吖 Mappingdnve侣f;orchipaocess下 CONFIGS3c4510B三Y FiIe

systems下

CONFIGJFFs2Fs=Y

CONFIG—JFFS2一FS—DEBUG=2

在uCUnuxv1.3.4con|igun甜on下 FlashTOOIs下

CoNF旧.USERMTDLrrILs-Y CONFlGUSER MTDUTILSERASE=Y CONFlGUSER MTDUTILSERASEALL置Y

.

东南大学硕士学位论文 CONFIGLUSER—MTDUTJLS—MKFSJFFS2暑Y

BusyBox下选中删,cp。dd.mount,umount,mkdir工具。

通过以上步骤后,就可以生成一个带有JFFS2文件系统的内核,可以通过以下几个方面来验证

这个结论的正确性:

首先在启动信息中将会看到有关JFFS2和FLASH的相关信息。其次在系统启动后,通过控制 台在,proc目录下输入“cat mtd”命令来查看MTD的分区情况,然后可以通过以下命令在MTD 的一个分区上生成一个JFFS2的映像:

/p,v^m£,m锄’nfoc>cnd矿蛐jp蛳>蛐矗

蠡2

,v^mE,仰pa帅>>cmdlj。d凰2irj

凰加in

/vaE恤p石m2》“丘kl

,va咖砷0侬2’∞t坷e1

COUC∞

,va咖印a舷2>cd..

,v/va札fI,nbn印p>>Ien瞄el出,dj脑2删枷ldj施2-

0j凰2.iIIlg

,v咖m’Dcpj舔2.img^dev,In坩1op∞

mDw矗te

MTDdO∞

现在可以挂载JFFS2分区:

~蛐7衄驴>mount_tjfb2^dcv佃删od【1/mnt

mtd【blocK叩en

ok

~Ⅲ帅>/岫t>bc

d/bnt

biⅡ

同el n)to

/m圳.)cd慨

/p∞柏/∞oroc>c砒mI咖协矗wO

O

/dev抽ot,mⅢ缸m00

/p嗽/伽DcpT0c刑00

,d田rframl,v扯ex也rw00

,de、r,皿dblockl/mntifb2rw00

第五章uc“姗x在LED异步卡中的应用

第五章ucLinux在LED异步卡中的应用

5.1 LED异步控制卡

5.L l异步卡的介绍

u’D显示屏作为户外信息传播的重要手段,越来越得到人们的认可,特别是作为众多大型基础

工程如机场。高速公路,体育场等的配套设旅,其需求量也日益增长。

从显示效果上看,uD显示屏历经了单色屏,双色屏,到现在的全彩屏的发展过程。而从屏的 控制系统看,um显示屏分为同步屏和异步屏。同步屏即通过同步控制系统.在屏体上实时显示信 号源端的图象或文字信息。而异步屏显示的信息是之前由同异步控制系统下载并保存的。本课题中 的应用设计即是对异步控制系统(通常叫作异步卡)的研制。

传统的异步卡方案基本上采用5l单片机,其特点是价格低廉,且实现简单。但这种异步卡所能 控制的象素点较少,在实现带灰度图象时的缺陷也是明显的。

本课题中将嵌入式系统应用到异步卡中,在硬件上依靠32位的ARM芯片和四LD来达到系统

的高速处理能力。在软件系统上,采用ucLinux操作系统,通过对多任务的高效管理提升整个系统

性能。

5.1.2本异步卡的设计指标

本系统以实现网络远程数据接收,高速、大容量图文数据处理和大容量数据存储空间为主要设 计目标,归纳起来主要有以下几点:

(1)屏体扫描宽度设计为:256线; (2)实现灰度显示.最大灰度等级为256级(8b“/pixel); (3)单色图像显示刷新频率不低于100HZ,灰度图像显示刷新频率为60Hz;

(4)系统最大存储容量(以102秘256为例),单色图象3000幅,256级灰度图象150幅: (5)通讯方式:实现10M/lO叫LAN网络数据通信:

5.2异步卡的硬件方案

5.2.1异步卡系统的硬件框图

本设计的硬件系统设计如下图:

东南大学硕士学位论文

图5.1异步卡的硬件框图 下面简述一下各个模块的具体芯片: 电源部

分:输入为5v,而整个系统工作电压为3.3V,故采用sipex公司的SPxl587可调型电

源芯片,最大输出电流为3A:同时由于ARM芯片内核工作电压为2.5V,这里采用sipex公司的 sPxlll7固定输出型.最大输出电流800mA; 嵌入式微处理器:采用的是三星ARM芯片

ORs3“Box,具体参数可参考芯片资料: Nnash:采用AM29LⅣ16们吧,lM‘16bit; N^NDnash:三星K9F5608.32M+8bit; 网络芯片:LAN9lcll(sm∞),实现MAC层和根据cMsA厄D以太网物理层协议的物理层:

(HD:ALTEIlAMA)(3000A系列的口M3256,158个I/0口,有5,000个基本逻辑门,256个

宏单元;

2M x SDRAM:HY57V28i62佣C,4BⅢ11【s x16bits: SRAM:ISSI公司IS61LV25616,256K整个硬件系统可以分为两部分。嵌入式部分和凹LD上屏部分。图中左边大部分属于嵌入式部

X16bit; 分,主要包括ARM芯片(控制部分),网络芯片,HAsH和sDRAM。而图中右边的cPLD和两片

sRmd属于(MD上屏部分。

5.2.2异步卡系统的工作流程

本系统的工作流程,也即数据传输过程是这样的:先是上位机程序采集图象信息,并按照即定

∞h 格式组织好数据,然后本系统通过网络或串口与之通讯,把接收到的数据写入相应的NANDn中,接着再从相应的NA】如Inasll读出把每帧的图象数据写到SRAM中,这部分工作是由以s3“BOX

为控制核心的嵌入式部分完成,当然在写sRAM的过程中需要和oLD来配合,即电路上把S3“B OX 根地址线A的18DDRrADDRl8,16根数据线DAl[A旷D朋『A15及sRAM的控制信号NWBEl, NwBEO,读写信号NOE,NEw,片选信号NGcS5都连在四u)中,同时sRAM芯片相应的信号

线也接到cPLD上,然后由CPLD控制使这两部分信号对应接通.这时s34480X即可对SRAM操 作了,注意这里只能进行写操作。当数据写入sRAM中后,就由a,【D来完成把SRAM中的数据 送到um屏上,这里分读SRAM数据和上屏两部分。对SRAM的读写操作采用所谓的ping-p∞g 逻辑,即虽然两片sRAM都是连在CPLD上,但是cPLD在读某片sRAM时,需要把另一片的控 制权交个嵌入式部分的ARM芯片来写入数据,当数据写完后在双方交换一下操作对象。在把数据

30

第五章uc【j呲在uD异步卡中的应用 送上屏时,凹LD需要产生上屏所需的控制信号:串行移位时钟、行选通信号、消隐信号等。

5.2.3嵌入式部分和CPLD部分的通信协议

在实现上面提到的ping-pang逻辑时,就涉及到嵌入式部分和口uD上屏部分配合的问题,即握 手协议。这里是通过两个帕口线来实现的,即s344BOX芯片的PG4和PG5,其中对s34480x来

说,P(巧设置为输出口,PG4设置为输入口,而对于CMD来说正好相反。协议具体逻辑为:初始

时两个∞口线都为低电平,嵌入式部分中的ARM芯片和a,LD上屏部分中的CPLD芯片各控制

一块sRAM,即AItM芯片对甲片sRAM写入数据,cPLD芯片读乙片sRAM的数据。从ARM芯 片一端看,在ARM芯片写完数据后,使GP5口线置高电平,向(聃Ⅲ提出切换sRAM的请求信号, 并检测GP4口线电平,如为低则等待直到GP4口线电平变高,GP4口线电平变高说明a,u)完成了 对SRAM控制权的切换,然后AItM芯片使GP5置低,表示一次切换完成,接着再对乙片SRAM写

入数据,再重复上述逻辑;而从四【D一端看,在CPLD芯片扫描完一帧数据后,会检查GP5口线 是否有高电平,无则继续扫描下一帧数据,如有则表示ARM芯片写完了sRAM的数据要求切换,

这时oLD进行SRAM的切换,即把乙片sRAM写数据控制权交给ARM芯片.而口LD芯片读甲

片SRAM,然后使GP4口线置高电平。表示切换完成,接着从甲片SRA】 ̄I读出每帧数据扫描到u∞

屏,在每帧数据的扫描间隙,检查GP5口线电平.如为低,则把原来为高电平的GP4口线置低,如

为高,则表明是新的切换请求信号,则重复上述逻辑。两个∞口线的示意时序如下,上面为GP5

口线,下面为GP4口线:

厂]

厂]. 厂]

厂]

图5.2 ARM与CHD握手时序

具体的硬件方案说明及电路图设计可参看庄伟同志的论文《基于嵌入式linu系统的异步uD 大屏幕显示控制板的硬件平台设计》。

5.3异步卡的软件方案

由上一节可知,整个硬件系统可以分为两部分,嵌入式部分和四LD上屏部分。这里仅涉及嵌

入式部分。 分析前面的工作流程可知,嵌入式部分的任务可分为两部分:一是随时接收远端(上

位机)发

送来的图象信息,并保存在NANDnash。接收信息的通讯方式有两种,网络和串口。网络采用TcP,Ⅲ 面向连接的通讯协议,基于标准socl。et通讯模式,保证数据的可靠传输。在普通串口下,采用通用 的异步串口通讯模式传输数据。二是不断地从NANDn∞h读出数据,按上屏要求写入SRAM。

5.3 .1软件进程的分析

这两个任务可以说是并行工作的,在操作系统中,可以多进程或进程下面的多线程来实现。

ucLinux中的线程是有内核调度程序完成的,与进程相比较,线程消耗的系统资源较少,创建 较快,相互间的通信也比较容易。但是如果一个线程调用了一个阻塞的系统调用,线程所在的进程 可能被阻塞,当然这个进程的其他线程也同时被阻塞了。而且线程的实现需要相应的线程库支持, 而在实际测试过程中,发现现有的ucLinux中线程库并不完备,故程序设计中并没有采用线程,而 是采用了进程。

3l


嵌入式Linux的分析及其在LED异步卡中的应用(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:业务培训开班讲话

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: