基于arm9和linux的终端打印系统内容摘要:

型打印机在开发板的 GPIO 口上。 工作流程为:开发板将扫描仪的数据从串口读出,然后通过网口将数据发送给主机进行检索处理。 开发板等待直至接收到主机处理完毕的数据后转发给打印机,将信息打印出来。 嵌入式打印终端系统设计方案 本系统设计分为硬件和软件两大部分,硬件部分主要是处理器平台的选择;软件部分包括系统级软件(操作系统、设备驱动)与用户级软件(应用程序)。 嵌入式处理器平台的选择 嵌入式 处理器是嵌入式系统的核心,所以选择以款合适的嵌入式处理器是非常重要的。 嵌入式处理器的选择应该从应用工程背景,处理器性能,处理器功耗,开发成本,开发难易程度等方面综合靠虑。 目前,市场上的嵌入式处理器种类非常多,典型的嵌入式处理器有 ARM、MIPS、 PowerPC 等等。 ARM 公司是全球领先的 16/32 位 RISC 微处理器产权设计供应商,基本上已经成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的 RISC 标准; MIPS 技术公司是一家设计制造高性能、高档次的嵌入式 32/64位处理器厂商。 PowerPC 以其可伸缩 性好和方便灵活的特点也成为应用十分广泛的嵌入式处理器,从高端的工作站、服务器到台式计算机系统,从消费类电子产南华大学电气工程学院课程设计 第 6 页 共 30 页 品到大型通信设备,无所不包。 ARM 价格低廉,并且功耗很低,开发也相对比较简单,所以本系统使用 ARM 内核来进行系统设计和开发。 本嵌入式系统硬件平台是基于 ARM 的 S3C2410 开发板,这款开发板是三星公司主要为高性价比,低功耗的应用场合而设计,其资源丰富,十分适合本次的设计系统。 嵌入式操作系统的选择 嵌入式操作系统与嵌入式系统密不可分,是嵌入式系统的一个十分重要的组成部分。 嵌入式操作系统的 选择主要从以下几个方面考虑: ( 1) 操作系统的硬件支持 ( 2) 开发工具的支持程度 ( 3) 应用需求 目前的嵌入式操作系统主要有 VxWorks、 QNX、 PalmOS、 WindowsCE、HopenOS 和嵌入式 Linux 等。 WindowsCE 内核较小,能作为一种嵌入式操作系统应用到工业控制等领域。 其优点在于便携性、提供对微处理器的选择以及非强行的电源管理功能。 另外,它特有的与 Windows 类似的用户界面使最终用户易于使用。 WindowsCE 的缺点是速度慢、效率低、价格偏高、开发应用程序相对较难。 3COM 公司的 PalmOS 在掌上电 脑和 PDA 市场上独占其霸主地位,它有开放的操作系统应用程序接口,开发商可根据需要自行开发所需要的应用程序。 Linux 是一个与生俱来的网络操作系统,成熟而且稳定。 Linux 是源代码开放软件,任何人都可以修改它,或者用它开发自己的产品。 Linux 系统是可以定制的,系统内核目前已经可以做得很小。 Linux 作为一种可剪裁的软件平台系统,是发展未来嵌入设备产品的绝佳资源。 嵌入式打印终端系统对操作系统的需求是需要有良好的实时性, Linux 符合需求。 经综合考虑,本系统采用 Linux 操作系统来进行开发。 嵌入 式打印终端系统设计方案 经过对本系统的应用说明与软硬件的选型,最终定制出一套打印功能的嵌入式平台系统。 图 2 是该系统的结构框图。 南华大学电气工程学院课程设计 第 7 页 共 30 页 软 件 硬 件 应用程序 文件系统 嵌入式 Linux BootLoader ARM 开发平台 I/O 数据 网 口 打印机 串口 GP I O S3C2410 主 机 扫描仪 网 口 图 2 嵌入式打印终端系统结构框图 嵌入式系统 设计 流程 嵌入式系统是一个复杂而专用的系统,在进行系统设计之前,必须对系统的功能需求进行分析 并明确定义系统的外部功能和内部软硬件结构,然后对系统进行总体结构设计和系统的各个模块分割,分别实现硬件的规划与设计,应用软件的规划与设计以及操作系统的剪裁。 在完成操作系统的剪裁和应用软件的设计后,通常还需要将它们移植 到同系统结构的硬件平台上进行系统调试、功能模拟、明确系统调试无误后,才将操作系统及相关软件移植到自己的专用硬件平台上,再进行系统整体功能测试。 3 系统硬件设计 本系统硬件设计是采用三星公司的 S3C2410 处理器,基于 ARM9 核。 主机通过网口,微型打印机通过 GPIO 口,扫描仪通过串口接入 S3C2410,在外围电路的配合下,共同完成打印任务。 所以本系统硬件设计将主要围绕嵌入式处理器与外围电路而进行设计。 硬件系统设计原理框图如图 3 所示。 图 3 嵌入式打印终端系统硬件设计原理图 南华大学电气工程学院课程设计 第 8 页 共 30 页 硬 件开发平台 S3C2410 介绍以及 结构 在本次设计中,硬件平台的中央处理器选择三星公司的 S3C2410。 S3C2410是使用 ARM920T 核,采用 工艺 CMOS 标准宏单元和存储编辑器开发而成的。 由于采用了由 ARM 公司设计的 16/32 位 ARM920T RISC 处理器,因此S3C2410 实现了 MMU 和独立的 16KB 指令缓存和 16KB 数据缓存,且每个缓存均为 8 各字长度的流水线。 它的低功耗、精简而出色的全静态设计特别适用于对成本和功耗敏感的领域。 S3C2410 提供全面的、通用的片上外设,大大降低系 统的成本, S3C2410 的主要片上资源如下: . ARM920T 内核供电 ,; . 16KB 指令和 16KB 数据缓存的 MMU 内存管理单元; .外部存储器控制( SDROM 控制和芯片选择逻辑); .提供 LCD 控制器(最大支持 4K 色的 STN 或 256K 色 TFT 的 LCD),并带有一个通道的 LCD 专用 DMA 控制器; .提供 4 通道 DMA 控制器,具有外部请求引脚; .提供 3 通道 UART(支持 , 16 字节发送 FIFO 及 16 字节接收 FIFO)、2 通道 SPI 接口; .提供 1 个通 道为主 IIC 总线控制器、 1 通道 IIS 总线控制器; .兼容 SD 主机接口及 MMC 卡; .提供 2 个主机接口的 USB 口、 1 个设备 USB 口( 版本); . 4 通道 PWM 定时器、 1 通道内部计时器; .提供看门狗定时器; .提供 117 个通道 I/O 口、 24 通道外部中断源; .提供电源控制不同模式:正常、慢速、空闲及电源关闭模式; .提供带触摸屏接口的 8 通道 10 位 ADC; .提供带日历功能的实时时钟控制器( RTC); .具有 PLL 的片上时钟发生器。 S3C2410 的结构示意图如图 4 所示: 南华大学电气工程学院课程设计 第 9 页 共 30 页 Clock Generator (MPLL) Bridge amp。 DMA(4Ch) LCD CONT LCD DMA BUS CONT Interrupt CONT Power Management Memory CONT SRAM/NOR/SDRAM USB Host CONT ExtMaster NAND CONT NAND Flash Boot Loader A H B B U S Instruction MMU C13 ARM9TDMI Processor core (Internal Embedded ICE) Data MMU C13 Instruction CACHE (16KB) CP15 Data CACHE (16KB) External Coproc Interface AMBA Bus I/F Write Buffer WriteBack PA Tag RAM 南华大学电气工程学院课程设计 第 10 页 共 30 页 图 4 S3C2410 的系统结构图 对照 S3C2410 的体系结构图,结合本次设计要用到的功能模块,简要说明一下 S3C2410 处理器的特性。 ( 1)存储器管理 支持 ARM 和 Thumb 两种工作状态,支持小 /大端模式,共有 8 个 BANK,可以寻址 1G 空间, BANK0 到 BANK6 具有固定的 BANK 起始地址, BANK7具有可编程的起始地址和大小,支持多种类型 ROM(NOR/NAND Flash, EEPROM等 )。 ( 2)时钟和电源管理 可以用有源晶体或者无源晶体作为系统的时钟源,经内部的 PLL 电路产生CPU 工作时钟和 USB 工作时钟。 电源管理模式:可以软件控制系统处于正常、慢速、空闲或者掉电模式。 处于掉电模式时,所有外围设备全部掉电,仅内核电源供电,借助于 EINT[15: 0]或 RTC 报警中断从掉电模式唤醒过来。 ( 3)中断控制器 有 55 个中断源( 1 个看门狗定时器、 5 个定时器、 9 个通用异步串行口、 24个外部中断、 4 个 DMA、 2 个 RTC、 2 个 USB、 1 个 LCD 和 1 个电池故障)。 外部中断具有电平触发和边沿触发两种模式,支持快速中断请求( FIQ)。 ( 4) DMA 控制器 具有 4 通道的 DMA 控制器,支持存储器到存储器、 I/O 到存储器、存储器UART0,1,2 USB Device SDIMMC Watchdog Timer BUS CONT Arbitor/Decde SPI0,1 IIC IIS GPIO RTC ADC Timer/PWM 0~3,4(Internal) A P B B U S 南华大学电气工程学院课程设计 第 11 页 共 30 页 到 I/O 和 I/O 到 I/O 的传输。 可以通过设置 DCON 寄存器来选择 H/W DMA 请求模式,每一个 DMA 控制器通道能够选择一个数据源。 ( 5) UART S3C2410 提供 3 个独立的异步串行 I/O 口,每一个端口都能在中断模式或者DMA 模式下运行。 在使用系统时钟的时候, UART 能够支持的最高比特率为,而当 UART 使用外部时钟时,它可以支持更好的比特率。 S3C2410 共有七种工作模式: User、 FIQ、 IRQ、 Supervisor、 Abort、 System和 Undefined,大部分应用程序工作在用户模式,而出现服务中断或异常等情况时就会进入非用户模式。 ARM920T 一共有 37 个寄存器 —— 31 个 通用寄存器和6 个状态寄存器,这些寄存器有不同的用途, 处理器的状态和工作模式决定了哪些寄存器需要使用。 存储器 SDRAM 是嵌入式系统的内存,具备单位空间存储容量大和价格便宜的优点,已广泛应用在各种嵌入式系统中。 当系统启动时, CPU 首先从复位地址 0X0 处读取启动代码,在完成系统的初始化后,程序代码一般应调入 SDRAM 中运行,以提高系统的运行速度。 同时,系统及用户堆栈、运行数据也都放在 SDRAM 中,是系统启动后进行存取操作的主要存储器。 但 SDRAM 需要定时刷新以保持存储的数据, S3C2410 具有独立的 SDRAM 刷新控制逻辑,且可支持 SDRAM 的自刷新模式,因此可方便地与 SDRAM 接口。 S3C2410的存储器控制器共支持 8个存储器 bank,其中 6个 bank可用作。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。