体系主要组成包括:
1。 硬件层
硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等).在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块.其中操作系统和应用程序都可以固化在ROM中.
2. 中间层
硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP 层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。
嵌入式计算机系统硬件层I/O人机交互接口D/AA/D嵌入式微处理器通用接口ROMSDRAM中间层软件层文件系统图形用户接口任务管理功能层应用程序实时操作系统(RTOS)BSP/HAL 硬件抽象层/板极支持包3。 系统软件层
系统软件层由实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。
4. 功能层
功能层主要由实现某种或某几项任务而被开发运行于操作系统上的程序组成。
一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,而嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。
硬件的设计
本网关硬件环境以单片机S3C2440芯片和DM9000以太网控制芯片为主,实现RJ45接口和RS232接口的数据传输。内容包括硬件环境的初始化,数据的收发控制,封包解包设计,操作系统的移植等。
硬件框图
硬件框图是简单的将每个功能模块列出,也是一个基本的模块组合,可以简洁的每个模块的功能体现出来。
其中包括了电源模块,处理模块,串口模块以及网口模块.
电源模块主要的用途是负责给整块开发板进行供电,保证每个模块都可以正常工作。
处理模块主要的用途是负责协议的转换,数据的处理等,以保障通信的畅通。
串口模块以及网口模块主要的用途是负责各网络相关数据信息的收发。
网口模块 电源模块 RJ45 DM9000 处理模块 RS232MAX3232C S3C2440芯片 RS232MAX3232C 串口模块 硬件框图
硬件功能框图
时下嵌入式和以太网的结合正是一个热点关注问题,而嵌入式以太网技术的主要应用领域便是工业控制网络,即工业以太网,具有以太网接口的各种智能化仪器仪表正逐步取代传统的测控设备。
元件介绍
1、嵌入式处理器芯片S3C2440
Samsung 公司推出的 16/32 位 RISC 处理器 S3C2440 为手持设备和一般类型应用提供了高性价比和高性能的微控制器解决方案。为了降低成本,S3C2440 提供了丰富的内置部件,包括:16KB 指令cache和16KB数据cache,外部存储控制器 SDRAM,LCD 控制器(最大支持4K色STN和256K色TFT),提供1通道LCD专用DMA,带4通道DMA并带有外部请求引脚,3通道UART(IrDA1。0,64字节Tx FIFO,和64字节Rx FIFO),2通道SPI,1通道IIC-BUS接口(多主支持)。1。2V内核供电,1。8V/2.5V/3.3V存储器供电,3.3V外部I/O供电,具备16K的I—Cache和16KDCache/MMU微处理器。
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还提供了介质无关的接口,来连接所有提供支持介质无关接口功能的家用电话线网络设备或其他收发器。该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选用DAVICOM公司的快速以太网控制处理器,合成了MAC,PHY,MMU。该处理器配备有标准10 M /100M 自适应,16K 大容量的FIFO,4 路多功能GPIO,掉电,全双工工作等功能。物理层支持以太网接口协议。由于数据有时是以猝发形式收到的,因此,DM9000 还集成有接收缓冲区,以便在接收到数据时能把数据放到这个缓冲区中,然后由数据链路层直接从该缓冲区里取走数据。链路层通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡,它们一起处理
与电缆的物理接口细节数据,它的缓冲区可用来暂时存储要发送或接收的帧.它完全支持IEEE802.3u 规格,支持IEEE802。3x 全双工的流控制。网络驱动功能层次如图3。6。
DM9000以太网控制芯片接口操作相关的接口寄存器,如中断控制寄存器等。 硬件设备媒体层 数据包发送功能子模块(函数dm9000_start_xmit()等) 中断处理函数功能子模块(用于数据包的接受,函数dm9000_rx()等) DM9000网络驱动程序(struct net device) 网络设备接口层 网络驱动功能层
DM9000网络驱动的功能层次
DM9000还提供了介质无关的接口,来连接所有提供支持介质无关接口功能的家用电话线网络设备或其他收发器。该DM9000支持8位,16位和32 -位接口访问内部存储器,以支持不同的处理器.对DM9000读写操作,首先对DM9000正确寻址.AEN(地址允许)是输入引脚片选信号。SA4~SA9是地址总线4~9位,当AEN低且SA9和SA8高,而SA7、SA6、SA5、SA4为低时,则DM9000被选中。DM9000默认I/0基地址为300H.
CMD引脚用于设置COMMAND模式,CMD为高时,选择数据端口。CMD为低时,选地址端口.数据端口和地址端口的地址码由下式决定: DM9000地址端口=高位片选地址+300H+0H; DM9000数据端口=高位片选地址+300H+4H;
DM9000芯片电路引脚见图:
DM9000芯片电路引脚图
二、系统软件数据流程
由现场总线端通过RS232口发送数据到以太网的数据流向,事先约定好HDLC的帧格式和数据传输的波特率。数据通过串口缓冲区和以太网控制芯片缓冲区发送到网上,经过了HDLC解帧,单片机控制封包,添加以太网传输时所需的信息等处理。反之则经过以太网芯片处理,单片机控制解包,HDLC封帧等步骤。最终实现通信可能。
系统软件数据流图如下:
HDLC协议数据 HDLC解帧封帧CRC校验 串 口 缓 冲 区 单片机控制实现 UDP、IP包头和链路层报头与数据的封包解包 以太网控制芯片缓冲 区 以太网控制芯片中处理以太网信息 以太网
软件数据流图
按协议内容的独立性和数据的存储传输可将软件设计划分为四个模块:串口发送与接收;HDLC协议的实现;单片机控制实现UDP协议封包与解包; DM9000芯片对数据传输的控制与处理.
RS232口 串口发送与接收 HDLC协议的实现 单片机控制实现UDP协议封包与解包 DM9000芯片对数据传输的控制与处理 RJ45口
软件功能模块图
因篇幅问题不能全部显示,请点此查看更多更全内容