基于S3C2410A的嵌入式PC/104—Plus主控模块设计

时间:2022-04-06 03:14:58

基于S3C2410A的嵌入式PC/104—Plus主控模块设计

摘要:本文从武器型号测控系统的实际需求出发,提出了一种嵌入式计算机主控模块设计方案,融合了当前嵌入式领域颇为流行的PC/104-Plus、ARM9、Linux和PCI等技术,较具有技术先进性。PC/104-Plus主控模块遵循统一标准而设计,便于系统扩展,易于使用,具有很强的实用性。

关键词:ARM9 S3C2410A PC/104-Plus PCI9054 Linux

中图分类号:TP311.54 文献标识码:A 文章编号:1007-9416(2013)07-0009-02

1 前言

本文立足于某武器系统实际需求,并借鉴标准化、模块化和可重用的设计思想,提出了一种符合PC/104-Plus规范的嵌入式主控模块设计方案。该方案以嵌入式处理器S3C2410A为核心、PC/104-Plus标准为平台和嵌入式Linux操作系统为手段,完成了相关的电路设计、软件设计工作,并应用于该武器系统计算机产品的调试、试验和验收测试设备。

2 硬件设计

嵌入式PC/104-Plus主控模块在硬件上大体可分为两个方面,一是以ARM9芯片S3C2410A为核心的电路,二是符合PC/104-Plus标准要求的主控模块体系的实现。

2.1 嵌入式处理器S3C2410A

S3C2410 A是三星公司生产的基于ARM920T内核的RISC 微处理器,具有体积小、功耗低、成本低、性价比高、可靠性高、人机界面友好、功能丰富、实时性强等特点,且在工控领域中占的份额越来越大。因此,本设计选用三星的S3C2410A作为主控模块的处理器。

本文利用S3C2410A强大的功能,扩展出PC/104-Plus主控模块所需的各重要组成部分。以S3C2410A为核心的PC/104-Plus主控模块框图。

其中FLASH、SDRAM构成主控模块的完整存储器系统。JTAG为S3C2410A仿真接口。RTC为实时时钟电路,为主控模块提供实时时钟参考。看门狗电路可保证主控模块受到噪音干扰或系统错误影响时能够正确恢复。从USB和LCD作为人机界面的输入输出接口。从USB接口经过扩展,可与具有USB接口的键盘和鼠标连接。UART0、UART1为RS-232串行接口电路,可使主控模块与具有RS-232接口的设备方便地连接。以太网接口是主控模块与网络进行连接的接口,由于S3C2410内无以太网接口控制逻辑,因此这部分电路采用外部接口芯片CS8900A实现。IIS为音频接口,与扬声器和话筒连接后,主控模块可接收和发送音频信息。

2.1.1 电源、时钟管理

时钟和电源管理模块共包括三部分:时钟控制,USB控制和电源控制部分。

S3C2410的时钟控制逻辑可以产生系统需要的三种时钟信号:FCLK、HCLK、PCLK。其中,FCLK为CPU提供时钟信号,HCLK为片内AHB总线提供时钟信号,PCLK为APB总线设备提供时钟信号。S3C2410内部包含有两个PLL,一个为产生FCLK HCLK PCLK服务,一个专为USB模块服务。时钟控制逻辑能够采用低速的时钟信号而不使用PLL,并且可以通过软件编程使得时钟可以连接到每个模块或者断开,这样可以减少系统的功耗。S3C2410A的外部时钟源分为两种类型:晶体荡器(晶体)和外部时钟源(晶振)。时钟源类型通过OM[3:2]引脚的状态来区分。

2.1.2 存储器模块

存储器模块是整个主控模块的程序和数据驻留和运行场所,是主控模块的重要组成部分。它的性能直接影响着整个系统的运行性能和成本,因此采用合适的存储器进行设计不仅能减少系统成本,更能提高系统的整体性能。由于程序需要存储在非易失的存储介质中确保掉电不丢失,FLASH是趋势,FLASH又有NOR和NAND FLASH两种。考虑到大容量的NOR FLASH成本较高,且S3C2410A又支持NAND ROM启动方式,选择NAND FLASH具有良好的性能价格比和系统接口。选用了SAMSUNG的U-K9F1208UDM-YC80。

考虑到运行速度,最大限度的发挥系统CPU的性能,读写FLASH速度较慢,所以采用RAM又考虑到成本SDRAM较SRAM便宜,所以采用SDRAM。SDRAM提供系统程序运行的场所和临时数据存储。

2.1.3 UART接口

S3C2410A内部具有3个独立的UART控制器,每个控制器都可以工作在中断模式或DMA模式,也就是说UART控制器可以CPU与UART控制器传送资料的时候产生中断或DMA请求。并且每个UART均具有16字节的FIFO(先入先出寄存器),支持的最高波特率可达到230.4Kbps。

2.1.4 USB接口

S3C2410A内含一个主USB接口和一个从USB接口。使用USB Hub在外部可将主USB接口扩展为多个USB接口。从USB接口可使嵌入式PC/104-Plus主控模块作为USB设备与通用PC连接,以完成数据传输。

S3C2410A内部USB接口具有如下特性:

(1)完全兼容USB1.1协议;

(2)支持全速(Full Speed)设备;

(3)集成的USB收发器;

(4)支持Control、Interrupt和Bulk传输模式;

(5)5个具备FIFO的通讯端点;

(6)Bulk端点支持DMA操作方式;

(7)接收和发送均有64Byte的FIFO;

(8)支持挂起和远程唤醒功能。

2.2 PC/104-Plus接口

2.2.1 PC/104-Plus规范简介

PC/104标准的国际标准是IEEE-P996.1,8位和16位的PC/104总线分别对应于PC总线和PC/AT总线。PC/104最小印制板尺寸:95.89mm×90.17mm。PC/104最小安装孔距离:85.73mm×80.01mm。PC/104印制板板厚:1.57mm。PC104-Plus规范在PC/104规范的基础上,增加了对PCI设备的支持。在具体的设计过程中还应该注意:PC104-Plus总线不支持64位扩展以及JTAG、PRSNT和CLKRUN信号;PC/104-Plus 总线时钟提供给不同层叠模块,距离主控模块的距离不同应该使用不同的时钟。

2.2.2 PCI9054电路

PCI9054是由美国PLX公司生产的先进的PCI总线I/O加速器,采用了先进的PLX数据流水线结构技术,是32位、33MHz的PCI总线主I/O加速器;符合PCI总线规范2.2版,突发传输速率可达132MB/s;针对不同的处理器本地总线特性可选,中间逻辑达到最少;具有可选的串行E2PROM接口,本地总线时钟可和PCI时钟异步。

PC9054内部有6种可编程的FIFO,以实现0等待突发传输及本地总线和PCI总线之间的异步操作;支持主模式、从模式、DMA传输方式,因其强大的功能可应用于适配卡和嵌入式系统中。PCI9054是一种性比高的PCI桥路芯片,比PCI9080、PCI9050性能更优越。

本地总线有M、C、J三种模式,每种模式都有主模式操作和从模式操作。M 模式用于和Motorola处理器的接口,C模式为32位地址/数据复用方式,J模式32位地址/数据非复用方式。本设计采用C模式下的主操作方式,由S3C2410A对PCI9054的配置寄存器读写操作。

3 软件设计

嵌入式PC/104-Plus主控模块的软件设计分为嵌入式Linux操作系统移植和设备驱动程序设计两部分。其中Linux的移植是基础,Linux移植成功后,才为设备驱动程序的开发建立了平台。设备驱动程序设计与特定PCI总线PC/104-Plus接口卡的实际密切相关,本文不再进行说明。

嵌入式Linux系统包括Bootloader(引导程序)、内核(Kernel)和根文件系统三个部分。

将嵌入式Linux移植到特定的硬件平台上,一般需要以下五个步骤:

(1)准备工作。包括从相关网站上下载嵌入式Linux的源码包,搭建交叉编译开发环境,配置主机的开发环境等工作;由于嵌入式系统硬件上的特殊性,一般不能安装发行版的Linux系统,所以需要专门为特定的目标板定制Linux操作系统,这必然需要建立交叉开发环境。交叉开发环境包括开发主机和目标板,目标板和主机之间通常可以使用串口、以太网接口、USB接口以及JTAG接口等连接方式。在开发主机上安装桌面的Linux操作系统、目标板的Linux引导程序、内核和文件系统,经过交叉编译后下载到目标板上运行。

(2)配置编译u2boot。Bootloader是在操作系统内核运行之前的一段程序,通过这段小程序,可以初始化硬件设备,建立内存空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备。对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。ARM处理器芯片商很多,每种芯片的开发板都有自己的Bootloader。u2boot是遵循GPL条款的开放源码项目,并且已经成为ARM平台事实上的标准Bootload2er。

(3)配置和编译L inux核。标准Linux内核相对于资源受到限制的嵌入式系统来说过于庞大,因此要将其移植到嵌入式系统上,就需要将Linux内核根据目标平台的情况进行剪裁、配置,并对配置好的内核进行编译,生成内核映像文件。L inux2.6内核吸收了一些新技术,在性能、可量测性支持和可用性方面都有较大的提高。

(4)制作RAM盘来挂接Linux的根文件系统。并在RAM盘中添加自己的应用程序。由于ARM L inux采用RAM disk的方式加载根文件系统, 所以还要制作根文件系统。根文件系统主要有下面几个目录组成:

ob in目录下放置in it、bu sy2box、shell 和文件管理程序等一类的文件;

odev 目录下放置L inux 操作系统的所有设备文件;

oe tc 目录下放置系统配置文件;

ol ib 目录下放置所有系统运行所必需的库文件。

(5)部署Linux系统。使目标板脱离交叉开发环境,直接在目标机上启动运行软件系统。

4 结语

本文以一块嵌入式PC/104-Plus主控模块的设计为根据,从硬件和软件两个方面,较详细地介绍了目前流行的ARM9、Linux等技术,为嵌入式产品的开发提供了一种新思路。

本文所提出的主控模块符合PC/104-Plus规范,能够与各种符合该规范的从模块接口,实现系统功能扩展,并已在现有武器型号中成功应用。采用标准化、模块化的设计,避免了重复设计造成的资源浪费,节省了开发成本,缩短了开发周期,并提高了产品可靠性。

参考文献

[1]USER’S MANUAL S3C2410X 32-Bit RISC Microprocessor Revision1.2,Publication Number:21.2-S3-C2410X-052003 @2003 Samsung Electronics.

[2]S3C2410X RISC Microprocessor Application Note, Revision1,Publication Number:41-S3-C2410X-102002@2002 Samsung Electronic.

[3]PCI 9054 Data Book Version2.1,PLX Technology Inc.,2000.1.

上一篇:高考现代文阅读亮点题型扫描 下一篇:TD—SCDMA基站智能天线的电磁辐射影响研究及仿...