欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于Linux手持数据终端的设计.doc

    • 资源ID:1031230       资源大小:4.21MB        全文页数:46页
    • 资源格式: DOC        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于Linux手持数据终端的设计.doc

    1、 目 录第一章:绪论1.1 引言 1.2 嵌入式Linux在手持数据终端中的应用1.3 系统的总体设计1.4 设计课题的目的第二章:系统硬件平台的设计2.1 ARM处理器2.2 系统的硬件设计2.2.3 Flash电路2.2.4 串行接口电路2.2.5 红外接口电路2.2.6以太网接口电路2.2.7 音频接口电路第三章:系统软件平台的构建3.1嵌入式Linux操作系统3.2构建嵌入式Linux系统的步骤3.3交叉开发环境3.4 引导装载程序3.5 Linux 内核3.6 根文件系统3.7 嵌入式Linux的启动分析第四章:本系统在红外抄表中的应用4.1 红外抄表规约4.2 设备驱动程序的实现4

    2、.3红外抄表功能的实现4.4调试及结果 第一章:绪论1.1 引言随着信息技术和计算机技术的飞速发展,手持设备己经渗透到人们生活的方方面面,各种手持数据终端被广泛应用于移动通信、消费电子和信息采集等领域。因此,如何高效地开发低成本的手持数据终端成为业界关注的焦点。本文以手持数据终端的设计与应用为背景,在分析了各种制约因素后,提出了ARM+Linux的嵌入式系统设计方案。在众多的嵌入式处理器中,ARM处理器以低成本、低功耗和高性能等优点成为了嵌入式系统的嵌入式解决方案的RISC标准。而Linux操作系统凭借其稳定、高效、易定制、硬件支持广泛、网络功能强大等特点,结合其所独具的免费、开放源代码等特征

    3、,成为嵌入式系统的设计趋势。文章始终以嵌入式系统的设计为主线。在讨论了系统的选型与构成之后,详细描述了系统的硬件设计和软件平台的构建。嵌入式微处理器是嵌入式系统的核心,而嵌入式操作系统是嵌入式系统灵魂。本文在介绍了ARM处理器的体系结构与编程模型后,描述了存储器、通信接口、人机接口等主要部分的电路设计。接着,在介绍了嵌入式Linux操作系统的组成之后,本文详细描述了构建嵌入式Linux系统软件平台的各个步骤,包括建立交叉开发环境、移植引导装载程序、移植Linux内核和制作文件系统,并对系统的启动过程进行了分析。其中,移植嵌入式Linux内核是本课题的难点。最后,在上述所建立起来的手持数据终端平

    4、台的基础之上,本文针对手持数据终端在电能表抄表中的应用,通过编写相关硬件部分的驱动程序和应用程序,完成了从红外型电能表上读取数据和保存数据等操作,实现了红外抄表功能。嵌入式技术与手持设备相结合,拓展出许多新的应用领域。1.2 嵌入式Linux在手持数据终端中的应用随着信息技术和计算机技术的飞速发展,各种手持设备走进了寻常百姓的生活,并开始进入工业生产和服务行业等领域。它们为访问本地信息和网络信息以及收集、处理和转交现场数据提供了便利。手持数据终端属于嵌入式系统范畴,是专用的计算机系统。与通用计算机系统相比,手持数据终端具有以下特点:1. 手持数据终端通常面向特定应用。大多数手持数据终端通常是专

    5、门为特定应用设计的,具有功耗低、体积小、集成度高等特点。2. 手持数据终端通常是将先进的计算机技术、半导体技术以及电子技术与各个行业的具体应用相结合而产生的,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。3. 手持数据终端通常的硬件和软件必须具备高度的可定制性。只有这样才能适应各种应用场合的需要,在产品性能价格等方面具备竞争力。4. 手持数据终端通常自身一般不具备开发能力。由于受到硬件资源限制,直接在手持数据终端上开发程序通常较为困难,因此其软件开发一般采用交叉开发方式进行。5. 手持数据终端通常和具体应用有机地结合在一起,其升级换代也是和具体产品同步进行的。

    6、因此手持数据终端产品一旦进入市场,就具有较长的生命周期。目前,手持数据终端己应用于消费电子、移动通信和信息采集等领域,如移动电话、PDA、数码相机、GPS终端、智能抄表器等都是典型的手持数据终端。随着高性能、低功耗、低成本微处理器的出现,手持数据终端发展的瓶颈就突出表现在了软件方面。尽管从二十世纪八十年代末开始,陆续出现了一些嵌入式操作系统,如Vxwbrk、 WindowsCE等,但它们都是商业化产品,其昂贵的价格让不少厂商望而却步,且其源代码的封闭性也大大限制了开发者的积极性。与其他嵌入式操作系统相比,Linux应用于手持数据终端具有以下优势:1.源码开放,资源丰富,成本低廉由于手持数据终端

    7、千差万别,往往需要针对具体的应用进行修改和优化,因而能否获得源代码就成为至关重要的问题。Linux是开放源代码的自由操作系统,遵循GPL条款,用法律保障了用户自由复制、发布和修改软件的权利。其次,Linux的软件资源十分丰富,几乎每种应用程序可以在Linux上都找到,并且其数量还在不断增加。在Linux下开发手持数据终端,往往可以选择一个类似的自由软件为原型,在其上进行二次开发。以上优势大大节省了开发成本,缩短了开发周期。2.硬件支持广泛口Linux符合可移植操作系统接口 POSIX(Portable operating system Interface)标准,可支持x86,ARM,MIPS,

    8、PowerPC,ALPHA,SPARC等多种体系结构。目前,Linux己被成功移植到数十种硬件平台上,并且几乎能够运行在所有流行的CPU上。此外,Linux有着异常丰富的驱动程序资源,支持各种主流硬件设备和最新硬件技术,甚至可以运行于没有存储管理器单元的处理器,这些都促进了Linux在手持数据终端中的应用。3.内核高效,稳定,可定制Linux内核具有独特的模块机制,不仅使用户可根据特定应用场合方便地添加或移除某些功能,还可有效减小内核体积。经适当裁减后的Linux内核代码不到ZOOKB,尤其适合与手持数据终端资源受限的特点。其次,Linux的内核的高效性与稳定性已经在各个领域,尤其在网络服务器

    9、领域得到了验证。4.网络功能强大,文件系统完善Linux自产生之日起就与网络密不可分,网络是其强项。另外,它支持EXT、FAI,、CRAMFS、JFFS、YAFFS等多种文件操作系统,可适应各种应用场合。在图形系统方面,Linux上既有己在PC上发展成熟的 X Window,也有QT/Embedded,MiniGUI等嵌入式图形用户界面,可以适合不同的用途来选用。1.3 系统的总体设计本系统的硬件平台由以下六部分组成。系统的模块划分如图1-1所示。l 微处理器。l 存储器模块: 包括SDRAM、Flash和EEPROMOl 通信接口模块: 包括USB接口、RS232接口、IrDA和以太网连接。

    10、l 人机接口模块: 键盘接口、LCD和触摸屏接口、MIC接口和耳机接口。l 调试电路模块。l 电源模块。并在此基础上构建软件平台,软件平台由引导装载程序,操作系统内核和根文件系统组成。最后针对红外电能表抄表的应用编写相应的驱动程序和应用程序,完成与电表的红外通信,数据处理等功能。 电 源 通信接口调 试电 路存储器微处理器人机接口 图1-1系统总体设计图1.4设计课题的目的手持设备己经成为人们日常生活和生产中必不可少的助手。将嵌入式系统技术应用于手持数据终端,必将为其带来更加广阔的应用空间和市场前景。本课题中主要有以下工作:1)完成ARM+Linux的嵌入式系统设计方案,存储器、通信接口、人机

    11、接口等主要部分的电路设计;2)完成从红外型电能表上读取数据和保存数据等操作,实现了红外抄表功能;3)设计硬件电路和软件的总体方案和模块划分。第二章:系统硬件平台的设计在进行嵌入式系统设计时,首先面临的难题就是如何挑选一种合适的处理器。ARM系列处理器是专门针对嵌入式设备设计的,是目前构造嵌入式系统硬件平台的首选。 2.1 ARM处理器ARM(Advanced RISC Machines),即高级精简指令系统处理器,是英国ARM公司提供的一种微处理器知识产权(IP)核。与一般公司不同,ARM公司只提供基于ARM处理器内核的系统芯片技术授权和解决方案,而本身并不生产和销售芯片。世界各大半导体生产商

    12、购买ARM微处理器内核,根据不用的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器进入市场。因此,ARM技术获得了第三方合作伙伴的广泛支持。目前,采用ARM内核的微处理器,即通常所说的ARM处理器,遍及消费类电子产品、工业控制、通信系统网络产品等,占有嵌入式处理器市场75%以上的份额。 2.1.1 ARM处理器的体系结构ARM处理器目前包括ARM7系列、ARM9系列、ARM9E系列、ARM10E系列和Intel的 Strong ARM和Xscale系列。除具有ARM体系结构的共同特点外,每个系列又有各自的特点和应用领域。 2.1.2 ARM处理器的编程模型1、 寄存器组织ARM处理器

    13、共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器,如图2-1所示。这些寄存器不能被同时访问,具体哪些寄存器是可访问的,取决于处理器的工作状态及工作模式。在任何时候,通用寄存器R0R14、程序计数器PC和一个或两个状态寄存器是可访问的。 图2-1 ARM的寄存器组织其中,R14用作链接寄存器(LR),当执行BL字程序调用指令是,R14中得到R15的备份。其他情况下,R14用作通用寄存器。R15用作程序计数器(PC),保存程序计数值。R16用作当前程序状态寄存器(CPSR),它包含了条件标志位以及当前处理器模式位。2、 存储器组织ARM体系结构将存储器看作是从0地址开始的字节的线性

    14、组合。从第0字节 第3字节放置第一个字数据,从第4字节 第7字节放置第二个字数据,依次排列。ARM存储器组织既可支持大端(Big-Endian)格式,又可支持小端(Little-Endian)格式。大端格式。字数据的高字节存放在低地址中,而字数据的低字节则存放在高地址中,如图2-2所示。高地址 31 24 23 16 15 8 7 0 字地址 8 9 10 11 4 5 6 7 0 1 2 3840低地址 高字节位于低地址中图2-2 大端格式示意图小端格式。与大端格式相反,在小端格式中,低地址中存放的是字数据的低字节,高地址中存放的是字数据的高字节,如图2-3所示。高地址 31 24 23 1

    15、6 15 8 7 0 字地址 11 10 9 8 7 6 5 4 3 2 1 0840低地址 低字节位于低地址中图2-3 小端格式示意图3、 数据类型ARM处理器可支持的数据类型有:字节(8-bit),半字(16-bit)和字(32-bit)。但字类型数据必须与四字节边界对齐,半字类型必须与两字节边界对齐。4、 工作模式ARM处理器支持7种运行模式。l 用户模式(usr)。ARM处理器正常的程序执行状态。l 快速中断模式(fiq)。用于高速数据传输或通道处理。l 外部中断模式 (irq)。用于通常的中断处理。l 超级用户模式(svc)。供操作系统使用的保护模式。l 中止模式(abt)。当指令预

    16、取中止时,进入指令中止模式;当数据访问中止时,进入数据访问中止模式,此模式支持虚拟存储及存储保护。l 未定义模式(und)。此模式支持硬件协处理器的软件仿真。l 系统模式(sys)。运行具有特权的操作系统任务。除用户模式外的其余6种模式称为非用户模式或特权模式;其中,除去系统模式外的其余5种模式又称为异常模式,常用于处理中断或异常,以及需要访问受保护的系统资源等情况。在特权模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。在用户模式下,程序不能访问那些受保护的系统资源,也不能任意地进行处理器模式的切换。大多数应用程序运行在用户模式下,此时应用程序不能访问某些被保护的系统资源

    17、或是直接进行处理器模式的切换,但可通过产生异常处理来切换处理器模式。每种异常模式都有一组寄存器,供相应的异常处理程序使用,这样就保证了在进入异常模式时,用户模式下的寄存器不被破坏。5、 异 常当正常执行的程序流程被中断时,便产生了异常(Exceptions)。异常改变了程序正常的执行顺序,属于非正常的执行状态,由内部或外部事件产生。当发生异常时,处理器在执行完当前指令后便跳转到相应的异常处理程序处执行,完毕后返回到原程序断点处继续执行。因此,在处理异常之前,处理器必须保存中断程序的执行现场;从异常处理返回后,必须恢复被中断程序的执行现场。表2-1 ARM的异常类型 地址异常模式 0x00000

    18、000复位超级用户模式 0x00000004未定义指令未定义模式 0x00000008软件中断超级用户模式 0x0000000C中止(指令预取)中止模式 0x00000010中止(数据访问)中止模式 0x00000014保留保留 0x00000018IRQ外部中断模式 0x0000001CFIQ快速中断模式ARM体系结构支持7种类型的异常:复位、未定义指令、软件中断、指令预取终止、数据访问终止、保留、IRQ和FIQ。表2-2列出了异常的类型以及处理这些异常的处理器模式。异常出现后,将强制从相应的固定存储器地址处开始执行,这些地址称为异常向量 (Exception Vectors)。ARM的异常

    19、按起因不同可分为以下3类:l 指令执行引起的直接异常:未定义指令和指令预取终止。l 指令执行引起的间接异常:数据访问终止。l 外部事件引起的异常:复位、IRQ和FIQ。当多个异常同时发生时,系统根据固定的优先级决定异常的处理顺序。表2-2按由高到低的顺序列出了异常的优先级。表2-2异常的优先级 优先级 异常1复位2数据访问中止3FIQ4IRQ5指令预取中止6未定义指令、软件中断2.2 系统的硬件设计 图2-3 系统的硬件结构框图系统主要有以下几个部分组成:l CPU: Samsung S3C2410A 266MHz(ARM920T内核)l 存储器部分:包括SDRAM、Rash和EEPROM。l

    20、 通信接口部分:包括USB接口、RS232接口、IrDA和以太网连接。l 人机接口部分:键盘接口、LCD和触摸屏接口、MIC接口和耳机接口。l JIAG接口。l 电源及时钟电路。系统的硬件结构如图2-3所示,下面对硬件电路的主要部分进行详细介绍。2.2.1 S3C2410A处理器S3C2410A是Samsung推出的一款32位RISC微处理器。它以RAM920T为内核,采用0.18um工艺,实现了MMU(Memory Management unit)单元,AMBA(Advanced Microcontroller Bus Aichitecture)总线和 Harvard Cache结构,为手持

    21、设备和一般类型的应用提供了低成本、低功耗和高性能的处理器解决方案。其内部结构如图2-4所示。此外,S3C2410A还提供丰富而完整的外设接口,消除了额外的配置原件,其片上功能如下:l 内核1.8/2.0V,存储器3.3V,外部I/O 3.3Vl 具有16KB指令Cache/16KB数据Cache和MMU单元l 外部存储器控制器(SDRAM控制和片选逻辑)l LCD控制器,1通道LCD专用DMAl 4通道DMA请求,并具有外部请求引脚l 3通道UART(lrDA1.0、16字节TxFIFO、16字节RxFIFO);2通道SPIl 1通道I2C总线控制器/1通道IIS总线控制器l SD主机接口(版

    22、本1.0)和Multi-Media卡协议(版本2.11)l 2个USB主机接口/1个USB从设备接口(版本1.1)l 4通道PWM计时器/1通道内部计时器l 看门狗定时器l 117个通用I/O端口/24通道外部中断源l 电源控制:普通、缓慢、空闲和断电模式l 8通道10位ADC和触摸屏接口l 具有日历功能的实时时钟l 具有带PLL的片上时钟发生器 图2-4 S3C2410A 内部结构框图2.2.2 SDRAM电路S3C2410A的存储器控制器共支持8个存储器bank,其中6个bank可用作ROM和SRAM,剩余2个bank可用作ROM、SRAM和SDRAM。每个bank均支持可编程的数据总线宽

    23、度(8/16/32位),地址空间为128MB,总共IGB。图2-5显示了使用 NAND Flash启动和使用其他存储器启动时的地址映射情况。 图2-5 S3C2410A 存储器映射图SDRAM具有存取速度快、容量大、成本低等特点,主要用作程序的运行空间、数据及堆栈区,是系统启动后进行存取操作的主要存储器。但SDRAM需要定时刷新以保持存储的数据,因而需要处理器具有刷新控制逻辑,或在系统中加入刷新控制逻辑电路。S3C2410A具有独立的SDRAM刷新控制逻辑,且可支持SDRAM的自刷新模式,因此可方便地与SDRAM接口。 本开发平台采用2片4BankX4MX16位(32MB)的SDRAM(Sam

    24、sung K4s561632),通过并联方式来构建总线宽度为32位,容量为64MB的SDRAM存储器系统,连接到bank6,即片选nGCS6,使用地址总线A14:2,Bank选择A24、A25,数据总线D31:0。其与CPU的连接如图2-6所示。 图2-6 SDRAM连接示意图2.2.3 Flash电路Flash是一种可在系统进行电擦写,掉电后信息不丢失的非易失性存储器,常用于存放程序代码、常量以及在系统掉电后需要保存的用户数据。它具有低功耗、大容量、擦写速度快等特点,可整片或分扇区地在系统编程、擦除,并且可由内部嵌入的算法完成对芯片的操作,因而在各种嵌入式系统中得到了广泛的应用。目前,NOR

    25、和NAND是市场上两种主要的Flash存储器。Intel于1988年首先开发出 NOR flash技术,彻底改变了原先EPROM和EEPROM一统天下的局面。紧接着,1989年东芝公司发布了 NAND Flash结构,强调降低每位的成本,提高性能,并且像磁盘一样可以通过接口轻松升级。在性能方面,NOR的读取速度较快,使其具有芯片内执行(XIP,execute ln Place)的特点,即用户程序可直接在Flash存储器内运行,不必再将代码拷贝到RAM中。但其擦除和写入速度远远低于NAND,使得NAND更适合于存储经常需要更新的用户数据,甚至是文件系统。在接口方面,NOR带有SRAM接口,有足够

    26、的地址引脚来寻址,可直接读写内部的每一个字节,存取较为方便。NAND器件使用专门的I/O口来串行地存取数据,接口较为复杂。各个产品或厂商的方法各不相同,一般采用8个引脚用来传送控制、地址和数据信息。另外,NAND采用512字节的块进行读/写操作,这一特点类似于硬盘管理操作,于是, NAND Flash存储器便可很自然地可以取代硬盘或其他块设备。在容量方面, NAND Flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。NOR占据了容量为1 16MB Flash市场的大部分,而NAND则用于容量为8128MB的

    27、产品中,这也说明NOR适合于代码存储,NAND适合于数据存储。在可靠性方面,NAND器件中的坏块是随机分布的。以前曾有过消除坏块的努力,但后来发现成品率太低,代价太高,因此需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。目前,NAND通过ECC(纠错码)来维持数据的完整性,即NAND的每个扇区包含额外的16字节空闲区,该区能存储ECC码及磨损评级或物理块映射的信息。在寿命方面,在NAND的最大擦写次数为百万次,而NOR的擦写次数只有十万次。除了具有10比1的寿命优势,典型的NAND块尺寸要比NOR器件小8倍,因此每个NAND存储器块在给定时间内的擦写次数要少一些。NOR Flash(

    28、SST39VF3210)S3C2410GCS0, OE, WEAddress:A1A21Data:D0D15S3C2410NAND Flash(K9F1208)Data:D0D7CLE,ALE,CE,RE,WE,R/BAddressI/O0I/O7 NOR Flash 和NAND Flash连接示意图图2-8、9 NOR Flash 和NAND Flash连接示意图基于以上分析,本开发平台采用 NOR Flash存储启动代码和操作系统,NAND Flash存储应用程序。前者采用Silicon Storage Technology的4MB NOR Flash存储器SST39VF3201(2M16

    29、),连接到bank0,即片选nGCS0,使用地址总线A21:1,数据总线D15:0。其与CPU的连接如图2-8所示。后者采用Samsung的64MB NAND Flash存储器K9F1208(64M火8),与CPU的 NAND Flash控制器相连,使用数据总线D7:0。其与CPU的连接如图2-9所示。本开发平台支持两种启动方式 :NOR Flash启动和 NAND Flash启动。二者的存储器映射情况如图2-6所示。当使用NAND启动时, NAND Flash的前4KB被复制到内部缓冲器Steppingstone(映射到nGCS0)中,然后CPU从Steppingstone中开始执行启动代码

    30、。2.2.4 串行接口电路S3C2410A的UART(Universal Asynchronous Receiver and Transmitter)单元提供3个独立的异步串行I/O端口,每个端口均可在中断模式或DMA模式下工作。每个UART包含一个波特率发生器,发送器,接收器和控制单元。波特率发生器可使用系统时钟或外部时钟作为时钟源。当使用系统时钟时,UART可支持最高为230.4KbPs的波特率;当使用外部时钟时,UART可在更高波特率下工作。UART控制器可以进行以下参数的设置:可编程的波特率,红外收/发模式,1或2个停止位,5位、6位、7位或8位数据宽度和奇偶校验位。每个UART通道包

    31、含2个分别为接收和发送提供的16位FIFO。发送器和接收器包含16字节的FIFO和移位寄存器。要发送的数据首先被写入FIFO,然后拷贝到发送移位寄存器,最后从数据输出端口(TxD)依次被移位输出。被接收的数据也同样从数据接收端口(RxD)移位输入到移位寄存器,然后拷贝到FIFO中。RXD0RTS0TxD0CTS0S3C2410RS232 Transceiver(SP3232E)DB-9OUTIN图2-10 串行口收发器连接示意图Sipex的SP3232E是一款符合EIA/TIA-232标准的RS232收发器,最高可支持235Kbps的传输速率。本开发平台采用SP3232E作为RS232收发器,

    32、SP3232E的TTL/CMOS输入/输出端口与CPU的UART0(带有硬件控制流)端口相连,SP3232E的RS-232输入/输出端口与DB-9接口相连,如图2-10所示。2.2.5 红外接口电路Vishay的TFDu4100是一款符合SIR(红外串行通信)标准的红外收发器,最高可支持115.2Kbps的传输速率。该红外收发器集成了光敏二极管、红外发射器和模拟控制IC等部分以提高单片的红外前端解决方案。其内部结构如图2-11所示。图2-11 TFDu4100的内部结构框图本开发平台采用TFDU4100作为红外收发器。开DU4100的数据输入/输出端口与CPU的UART2端口相连,SD引脚与C

    33、PU的通用I/O端口GPH8相连以控制工作模式,如图2-12所示。S3C2410IrDA Transceiver(TFDU4100)SDTXD2RXD2图2-12红外收发器连接示意图S3C2410A的UART单元带有红外编/解码模块,可通过设置UART控制寄存器ULCON2中的红外模式位来选择。在红外发送模式下,发送脉冲的脉冲宽度为正常串行脉冲周期的3/16(发送数据位为0);在红外接收模式下,所接收的脉冲宽度必须为脉冲周期的3/16,才可被确认为0值。2.2.6 以太网接口电路以太网控制器是以太网中各节点的通信基础,用来实现网络节点之间的报文发送和接收工作,在嵌入式系统中使用非常广泛。以太网

    34、控制器处于TCP/IP协议栈的数据链路层,是信息传送、控制和管理的重要环节。Cirrus Logic的CS8900A是一款符合IEEE802.3协议的低成本以太网控制器,适于嵌入式设备的以太局域网应用场合。其设计高度集成化,包括片上RAM、10Base-T传输和接收滤波器、数据链路控制器 MAC和ISA总线接口等部件。此外,CS8900A还提供其它性能和配置选择,其独特的PacketPage结构可自动适应网络通信量模式的改变和现有系统资源,从而提高系统效率。CS8900A的特性如下:1. 单片 IEEE802.3以太网解决方案2. 高效的PacketPage结构作为DMA从属,可在I/O空间和

    35、存储器空间运行3. 完全双工操作4. 片上RAM缓存传输和接收结构5. 10Base-T端口和滤波器(自动极性检测/纠正)6. 10Base2、10Base5和10Base-F的AUI端口7. 可编程的发送性能8. 失效时自动重发9. 自动填充和CRC(循环冗余检测)码产生10. 可编程的接收性能11. 流传输可减少的CPU干预12. 在DMA和片上存储器之间的自动转换13. 早期中断的结构预处理14. 对错误包的自动抑制15. 支持无跳线的EEPROM配置16. 无磁盘系统的启动程序 (Boot PROM)支持17. 边界扫描和环路测试程序18. 联接状态和网络状态的LED驱动19. 待机和

    36、延迟睡眠模式CS8900A由总线逻辑、存储器管理模块、MAC模块、编解码器、控制模块、10Base-T接口和AUI接口等模块组成。其内部结构如图2-13所示。图2-13 CS8900A内部结构框图本开发平台采用CS8900A作为以太网接口,连接到bank3,即片选nGCS3,使用地址总线A19:0,数据总线D15:0。其与CPU的连接如图2-14所示。CS8900A的10Base-T输入/输出端口经隔离器后与RJ-45接口相连。2-14 以太网控制器连接示意图上述子系统工作原理:当CS890A收到主机发来的数据报(从目的地址域到数据域)后,开始侦听网络。如果网络空闲,便立即发送该数据帧,否则等

    37、到网络空闲为止。在发送过程中,首先添加以太网帧头(包括先导字段和帧开始标志),然后生成CRC校验码,最后将此数据帧发送到网络上。接收时,在经过解码、去掉帧头和地址校验码等步骤后,CS8900A将数据帧放入片内缓存。通过CRC校验后,它会根据初始化配置情况,通知主机收到了数据帧,最后利用I/O模式或内存模式传送到主机的内存中。2.2.7 音频接口电路图2-15 UDA1341TS 内部结构图Philips的UDA1341TS采用位流转换技术进行信号处理,是单片的立体声模/数转换器(ADC)与数模转换器(DAC)。凭借数字音频处理技术不但使其成为家用立体声设备的极佳选择,而且低功耗、低电压的特点又

    38、使其非常适合用于MD/CD、笔记本电脑、数码相机等便携式应用领域。它充分整合了模拟前后端部分,包括可编程增益放大器(PGA)和数字自动增益控制(AGC)。图2-15为UDA1341TS的内部结构图。UDA1341TS支持多种数据格式:字长最大为20位的IIS(Inter IC Sound总线是Philips公司推出的串行数字音频总线协议。它是一种面向多媒体的音频总线,专门用于音频设备之间的数据传输,为数字立体声提供序列的连接至标准编解码器。)总线格式,字长最大为20位的MSB-justified格式和字长分别为16、18、20位的LSB-justified格式。另外,UDA1341Ts还支持多

    39、种具有DSP特效的回放模式,如去加重(de-emphasis)、音量调节(volume)、重低音 (bass boost)、高音调节(treble)和静音渐回 (Soft Mute)等。并可通过微处理器的L3接口加以控制。 S3C2410MICAudio CODEC(UDA1341TS) L3 Interface INSPK IIS Bus OUT 图2-16音频编解码器连接示意图本开发平台UDA1341TS作为音频接口,通过IIS总线和L3接口与CPU相连,如图2-16所示。其中,IIS总线用于传输音频数据,其他信号(如控制信号)使用L3接口来传输UDA1341TS的L3接口相当于一个混音器

    40、控制接口,可控制输入/输出音频信号的高音、低音以及音量大小等。UDA1341TS的ADC输入端与MIC相连,可将输入的模拟音频信号转换为数字信号。DAC输出端与耳机或扬声器相连,向其输出模拟音频信号。第三章:系统软件平台的构建3.1嵌入式Linux操作系统Linux从1991年问世至今,经过短短十几年的发展,不仅可以与各种传统的商业操作系统相抗衡,在新兴的嵌入式操作系统领域也获得了飞速发展。嵌入式Linux是指对标准Linux经过小型化裁减处理之后,能够固化在容量只有几KB或者几MB的存储器芯片中,非常适合于手持式设备应用场合。用户程序实用工具3.1.1嵌入式Linux操作系统的组成 服务程序

    41、内核 图3-1嵌入式Linux操作系统结构框图嵌入式Linux操作系统主要由三个部分组成:内核、服务程序和应用程序,其结构如图3-1所示。1. 内核内核是控制嵌入式系统的核心程序,是抽象资源与具体硬件之间的接口。它实现了内存管理,文件管理,程序的运行与调度,负责从网络上接收和发送数据包,接受用户命令并执行。内核程序执行效率的高低和稳定性直接影响到整个系统的运行情况。2. 服务程序服务程序是应用程序与内核之间进行交互操作的接口,它接收用户的输入命令并送入内核执行。这些程序包括Shell命令解释器、图形用户接口(GUI)窗口系统以及内核编程接口等系统程序。Shell实际上是一个命令解释器,它解释由

    42、用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的 Shell程序与其他应用程序具有同样的效果。同Linux本身一样,shell也有多种不同的版本。 BASH(Bourne Again Shell)是 GNU/Linux发行版中默认的shell。Ash是一种小型的 Bourne shell,非常适合于嵌入式应用。GUI为用户提供了图形界面,是人们可以窗口、菜单、图标等元素方便地进行操作。由于嵌入式系统对资源和性能有

    43、严格限制,因此运行普通PC上的图形界面不能满足要求。目前,针对嵌入式系统开发的GUI主要:Qt/Embedded、MicroWindows和MiniGUI。Shell和GUI是用户与操作系统的接口;而系统调用则是应用程序与系统内核之间的接口3. 应用程序应用程序是用户与嵌入式系统之间进行交互操作的接口,可分为实用工具和用户程序两大类。实用工具为用户提供常用命令或功能,包括编辑器、过滤器和交互程序。在众多的实用工具集众,BusyBox是集成了100多个最常用Linux命令和工具,且精悍小巧,享有“嵌入式Linux中的瑞士军刀”的美誉,非常适合于嵌入式应用。用户程序则是为完成某种特定功能而编写的程

    44、序。 3.1.2嵌入式Linux内核的组成Linux内核是整个操作系统的重要组成部分,是运行程序和管理硬件的核心。完整的Linux内核主要由五个部分组成:进程管理模块,进程间通信模块,内存管理模块,虚拟文件系统和网络通信模块。l 进程管理进程是程序在某个数据集上的执行过程,包括一个地址空间和至少一个控制点,进程在这个地址空间上执行单一的指令序列。在进程的生命周期中,可能采取以下状态:运行:进程或者正在运行,或者己准备好运行(等待CPU)。处于该状态的进程实际参与了进程调度。等待:进程正在等待一个事件或资源。等待进程又分为可中断的和不可中断的。可中断等待进程,等待资源有效时唤醒,也可由其他进程通过信号和中断唤醒,而不可中断等待进程直接等待硬件条件,只有当资源有效时才被唤醒。停止:进程被暂停执行,通过接收信号唤醒。僵死:进程终止运行,是进程生命周期结束前的过渡状态,等待父进程将其释放。进程管理包括进程调度和进程间通信。进程调度控制着进程对CPU的访问。通过进程调度算法来确定下一个将要运行的进程。对于普通进程,Linux采用动态优先级调度;对于实时进程,Linux采用FIFO(先来先服务)和 Round Robin(时间片轮转)两种调度策略。l 进程间通信对于多任务


    注意事项

    本文(基于Linux手持数据终端的设计.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922