嵌入式系统硬件体系结构设计
- 格式:doc
- 大小:250.32 KB
- 文档页数:12
关键字:嵌入式系统设计ARM FPGA多功能车辆总线Multifunction Vehicle Bus 在计算机、互联网和通信技术高速发展的同时,嵌入式系统开发技术也取得迅速发展,嵌入式技术应用范围的急剧扩大.本文介绍了一种基于ARM和FPGA,从软件到硬件完全自主开发多功能车辆总线(Multifunction Vehicle Bus)MVB??B嵌入式系统的设计和实现。
系统设计和实现通常来说,一个嵌入式系统的开发过程如下:1.确定嵌入式系统的需求;2.设计系统的体系结构:选择处理器和相关外部设备,操作系统,开发平台以及软硬件的分割和总体系统集成;3.详细的软硬件设计和RTL代码、软件代码开发;4.软硬件的联调和集成;5.系统的测试。
一、步骤1:确定系统的需求:嵌入式系统的典型特征是面向用户、面向产品、面向应用的,市场应用是嵌入式系统开发的导向和前提。
一个嵌入式系统的设计取决于系统的需求。
1、MVB总线简介列车通信网(Train Communication Network,简称TCN)是一个集整列列车内部测控任务和信息处理任务于一体的列车数据通讯的IEC国际标准(IEC-61375-1), 它包括两种总线类型绞线式列车总线(WTB)和多功能车厢总线(MVB)。
TCN在列车控制系统中的地位相当与CAN总线在汽车电子中的地位。
多功能车辆总线MVB是用于在列车上设备之间传送和交换数据的标准通信介质。
附加在总线上的设备可能在功能、大小、性能上互不相同,但是它们都和 MVB总线相连,通过MVB总线来交换信息,形成一个完整的通信网络.在MVB系统中,根据IEC-61375-1列车通信网标准, MVB总线有如下的一些特点:拓扑结构:MVB总线的结构遵循OSI模式,吸取了ISO的标准。
支持最多4095个设备,由一个中心总线管理器控制。
简单的传感器和智能站共存于同一总线上。
数据类型:MVB总线支持三种数据类型:a.过程数据:过程变量表示列车的状态,如速度、电机电流、操作员的命令。
嵌入式操作系统的通用硬件抽象层设计摘要:基于嵌入式操作系统硬件抽象层理论,设计一种用于嵌入式操作系统内核开发的通用硬件抽象层平台。
通用硬件抽象层能够为嵌入式操作系统内核的设计开发屏蔽硬件平台的特性,提供统一的硬件相关的服务接口,可以使嵌入式操作系统内核的设计开发不依赖于特定的硬件平台,同时开发的嵌入式操作系统内核具有更强的可移植性。
关键词:嵌入式操作系统通用硬件抽象层(HAL)BSP V开发模式引言为了便于操作系统在不同硬件结构上进行移植,美国微软公司首先提出了将底层与硬件相关的部分单独设计成硬件抽象层美国微软公司提出了将操作系统底层与硬件相关的部分单独设计成硬件抽象层HAL(Hardware Abstraction Layer)的思想。
硬件抽象层的引入大大推动了嵌入式操作系统的通用程度,为嵌入式操作系统的广泛应用提供了可能。
然而,目前BSP形式的硬件抽象层仅仅能够解决有限的几种操作系统在同样有限的BSP所支持的硬件平台上的移植,而对绝大多数需要根据不同嵌入式应用而专门定制的嵌入式操作系统来说能起的作用则非常有限。
1 硬件抽象层原理1.1 硬件抽象层概念嵌入式系统是一类特殊的计算机系统。
它自底向上包括3个主要部分:硬件环境、嵌入式操作系统和嵌入式应用程序。
硬件环境是整个嵌入式操作系统和应用程序运行的硬件平台,不同的应用通常有不同的硬件环境;因此如何有效地使嵌入式操作应用于各种不同的应用环境,是嵌入式操作系统发展中所必须解决的关键问题。
硬件抽象层通过硬件抽象层接口向操作系统以及应用程序提供对硬件进行抽象后的服务。
当操作系统或应用程序使用硬件抽象层API进行设计时,只要硬件抽象层API能够在下层硬件平台上实现,那么操作系统和应用程序的代码就可以移植。
这样,原先嵌入式系统的3层结构逐步演化为一种4层结构。
图1显示了引入硬件抽象层后的嵌入式系统的结构。
在整个嵌入式系统设计过程中,硬件抽象层同样发挥着不可替代的作用。
嵌入式系统硬件开发流程1.需求分析:首先需要与客户或项目团队明确嵌入式系统的需求和功能。
根据需求,确定系统的输入输出接口、处理器类型、存储器需求和其他关键硬件组件。
2.系统设计:根据需求分析的结果,开始进行系统设计。
设计包括了整体体系结构的设计、硬件模块的设计以及各模块之间的接口设计。
在这个阶段,还需要确定系统的电源需求、尺寸和外壳设计等。
3.选择硬件平台:根据系统的需求和设计,选择合适的硬件平台。
硬件平台可以是单片机、FPGA、ARM等。
选择硬件平台时需要考虑功耗、性能、成本和开发工具的可用性等方面。
4.硬件原理图设计:根据系统的需求和设计,进行硬件原理图设计。
硬件原理图设计主要包括选择和连接各种硬件模块、设计电源电路和时钟电路等。
在设计过程中,需考虑信号完整性、电磁兼容性和热管理等问题。
5.PCB设计:将硬件原理图转化为PCB设计。
PCB设计包括在PCB上放置元件、连线布局和绘制电源层和地层等。
在设计过程中,还需考虑电磁兼容性和阻抗匹配等问题。
6.PCB制造:将PCB设计文件传输给PCB制造厂商,制造出实际的PCB板。
制造过程包括PCB板材的选择、蚀刻、钻孔、贴片、焊接和检查等。
7.原型测试:制造完成的PCB板与其他硬件模块进行组装,形成嵌入式系统原型。
通过连接电源,测试系统的各个功能和性能是否满足需求。
如发现问题,需要返工或重新设计。
8.硬件调试和优化:对原型进行硬件调试,包括调试电路连接的正确性、性能和稳定性等。
通过对系统的不断调试和优化,确保系统的稳定运行。
9.硬件验证和认证:对已调试和优化的嵌入式系统进行验证和认证。
验证过程包括功能验证、稳定性测试、可靠性测试等。
认证过程可能涉及到特定行业的标准和要求,如电磁兼容性认证等。
10.批量生产:通过验证和认证后,嵌入式系统可以进行批量生产。
在批量生产之前,需确保原材料的供应链和生产工艺的稳定性。
同时,还需考虑生产成本和交货时间等因素。
11.维护和升级:一旦嵌入式系统投入使用,可能会出现问题或有新需求。
一、嵌入式计算机系统体系结构
体系主要组成包括:
1. 硬件层
硬件层中包含嵌入式微处理器、存储器(SDRAM 、ROM 、Flash 等)、通用设备接口和I/O 接口(A/D 、D/A 、I/O
等)。
在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。
其中操作系统和应用程序都可以固化在ROM 中。
软件层功能层
2. 中间层
硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP 层提供的接口即可进行开发。
该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。
3. 系统软件层
系统软件层由实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。
RTOS是嵌入式应用软件的基础和开发平台。
4. 功能层
功能层主要由实现某种或某几项任务而被开发运行于操作系统上的程序组成。
一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,而嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。
执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。
硬件的设计
本网关硬件环境以单片机S3C2440芯片和DM9000以太网控制芯片为主,
实现RJ45接口和RS232接口的数据传输。
内容包括硬件环境的初始化,数据的收发控制,封包解包设计,操作系统的移植等。
硬件框图
硬件框图是简单的将每个功能模块列出,也是一个基本的模块组合,可以简洁的每个模块的功能体现出来。
其中包括了电源模块,处理模块,串口模块以及网口模块。
电源模块主要的用途是负责给整块开发板进行供电,保证每个模块都可以正常工作。
处理模块主要的用途是负责协议的转换,数据的处理等,以保障通信的畅通。
串口模块以及网口模块主要的用途是负责各网络相关数据信息的收发。
硬件框图
处理模块
串口模块
MAX3232C DM9000
S3C2440芯片
电源模块
网口模块 RJ45 MAX3232C
RS232RS232
硬件功能框图
时下嵌入式和以太网的结合正是一个热点关注问题,而嵌入式以太网技术的主要应用领域便是工业控制网络,即工业以太网,具有以太网接口的各种智能化仪器仪表正逐步取代传统的测控设备。
元件介绍
1、嵌入式处理器芯片S3C2440
ARM920T系统结构图
S3C2440采用了 ARM920T 内核,拥有强大的指令集,0.13um 工艺的CMOS 标准宏单元和存储编译器以及一种新的总线结构它采用了新的总线架构,Advanced Micro controller Bus Architecture(AMBA)。
它的低功耗精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。
S3C2440的杰出特性是它的CPU核,是由ARM公司设计的16/32位ARM920T RISC处理器(400MHZ)。
它通过提供全面的、通用的片上外设,大大减少了系统电路中除处理器以外的元器件配置,从而最小化系统的成本。
ARM920T 是ARM920TDMI系列中一款通用性的微处理器,由内核、高速缓存和内存管理单元(MMU)组成。
支持字节(8位)、半字(16位)、字(32位)3种数据类型,其中,字需要4字节对齐,半字需要2字节对齐。
工作于ARM状态时,处理器执行32位的,字对齐ARM指令。
ARM920T体系结构将存储器看做是从零地址开始的字节的线性组合。
从0字节到3字节存放第一个存储的字数据,从4字节到7字节存放第二个存储的字数据,依次类推。
作为32位的微处理器,ARM920T体系结构所
支持最大的寻址空间是4GB(2332字节),有2种方法存储字数据:大端格式和小端格式。
大端格式中字数据的高字节存储在低地址,字数据的低字节存放在高地址;与大端存储格式相反,小端存储格式中,低地址中存放的是字数据的低地址,高地址存放的是字数据的高字节。
S3C2440内部结构:
S3C2440内部结构
2、以太网控制器DM9000
DM9000是一款完全集成的和符合成本效益的,单芯片快速以太网MAC 控制器。
它有一个一般处理接口,一个10/100M自适应的PHY和4K DWORD 值的SRAM。
它的目的是在低功耗和高性能进程的3.3V与5V的支持宽容,DM9000还提供了介质无关的接口,来连接所有提供支持介质无关接口功能的家用xx线网络设备或其他收发器。
该DM9000支持8位,16位和32 -位接口访问内部存储器,以支持不同的处理器。
DM9000物理协议层接口完全支持使用10MBps下3类、4类、5类非屏蔽双绞线和100MBps下5类非屏蔽双绞线。
这是完全符合IEEE 802.3u规格。
它的自动协调功能将自动完成配置以最大限度地适合其线路带宽。
还支持IEEE 802.3x全双工流量控制。
这个工作里面DM9000是非常简单的,所以用户可以容易的移植任何系统下的端口驱动程序。
DM9000是一款完全集成的和符合成本效益单芯片快速以太网MAC控制
器与一般处理接口,一个10/100M自适应的PHY和4K DWORD值的SRAM 。
它的目的是在低功耗和高性能进程的3.3V与5V的支持宽容。
DM9000内部可分为远程 DMA接口、本地 DMA接口、MAC(介质访问控制)逻辑、数据编码解码逻辑和其他端口。
远程 DMA接口是指单片机对DM9000内部 RAM进行读写的总线,即ISA总线的接口部分。
单片机收发数据只需对远程 DMA操作。
本地 DMA 接口是把 DM9000与网线的连接通道,完成控制器与网线的数据交换。
MAC(介质访问控制)逻辑完成以下功能:当单片机向网上发送数据时,先将一帧数据通过远程 DMA通道送到DM9000中的发送缓存区,然后发出传送命令;当 DM9000完成了上帧的发送后,再开始此帧的发送。
DM9000接收到的数据通过MAC比较、CRC校验后,由 FIFO存到接收缓冲区;收满一帧后,以中断或寄存器标志的方式通知主处理器。
FIFO逻辑对收发数据作 16字节的缓冲,以减少对本地 DMA请求的频率。
网络控制器DM9000选用DAVI公司的快速以太网控制处理器,合成了MAC,PHY,MMU。
该处理器配备有标准10 M /100M 自适应,16K 大容量的FIFO,4 路多功能GPIO,掉电,全双工工作等功能。
物理层支持以太网接口协议。
由于数据有时是以猝发形式收到的,因此,DM9000 还集成有接收缓冲区,以便在接收到数据时能把数据放到这个缓冲区中,然后由数据链路层直接从该缓冲区里取走数据。
链路层通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡,它们一起处理与电缆的物理接口细节数据,它的缓冲区可用来暂时存储要发送或接收的帧。
它完全支持IEEE802.3u 规格,支持IEEE802.3x 全双工的流控制。
网络驱动功能层次如图3.6。
DM9000网络驱动的功能层次
DM9000还提供了介质无关的接口,来连接所有提供支持介质无关接口功能的家用xx线网络设备或其他收发器。
该DM9000支持8位,16位和32 -位接口访问内部存储器,以支持不同的处理器。
对DM9000读写操作,首先对DM9000正确寻址。
AEN(地址允许)是输入引脚片选信号。
SA4~SA9是地址总线4~9位,当AEN低且SA9和SA8高,而SA7、SA6、SA5、SA4为低时,则DM9000被选中。
DM9000默认I/0基地址为300H。
CMD引脚用于设置MAND模式,CMD为高时,选择数据端口。
CMD为低时,选地址端口。
数据端口和地址端口的地址码由下式决定:
DM9000地址端口=高位片选地址+300H+0H;
DM9000数据端口=高位片选地址+300H+4H;
DM9000芯片电路引脚见图:
DM9000芯片电路引脚图
二、系统软件数据流程
由现场总线端通过RS232口发送数据到以太网的数据流向,事先约定好HDLC的帧格式和数据传输的波特率。
数据通过串口缓冲区和以太网控制芯片缓冲区发送到网上,经过了HDLC解帧,单片机控制封包,添加以太网传输时所需的信息等处理。
反之则经过以太网芯片处理,单片机控制解包,HDLC封帧等步骤。
最终实现通信可能。
系统软件数据流图如下:
软件数据流图
按协议内容的独立性和数据的存储传输可将软件设计划分为四个模块:串口发送与接收;HDLC协议的实现;单片机控制实现UDP协议封包与解包;DM9000芯片对数据传输的控制与处理。
软件功能模块图。