【导语】下面是小编为大家整理的基于嵌入式Linux平台的多协议路由器的设计(共16篇),仅供参考,大家一起来看看吧。

篇1:基于嵌入式Linux平台的多协议路由器的设计
一般情况下,Ad Hoc网中的路由器为车载式或背负式,所以多协议路由器必须有高集成度和移动性。考虑到以上因素,我们选用了现在最为流行的嵌入式系统设计方法,多协议路由器的硬件平台的微处理器采用Motorola公司的ColdFire嵌入式处理器MCF5272,选择uClinux作为平台的操作系统。这样不仅可以缩短研发周期,而且为软硬件的设计、调试带来极大的方便。
多协议路由器硬件设计如图2中的虚线框图所示。路由器的硬件结构分为两部分:一部分为核心模式(MCF5272)部分,由微控制器模块和存储器模块(包括SDRAM和Flash)组成;另一部分为通信接口模块部分,由异步串行控制和收发模块、以太网控制和收发模块及通用串行总线USB(Universal Serial Bus)接口模块组成。
核心模块部分,微处理器模块主要负责处理数据。存储器模块分为两部分:一部分为Flash(由两片Flash构成,共4MB),作为程序存储器,用于存储操作系统内核、各种路由协议和路由表常量;另一部分为SDRAM,作为数据存储器,用作操作系统和各种路由程序的运行空间。
通信接口模块中,异步串行控制和收发模块用于与多个骨干网节点无线连接的同时,连接多个子网网关PRU(即分组无线控制单元)。以太网控制和收发模块可以实现Internet接入功能。USB接口模块用作连接网络设备控制终端,以及实现路由器对USB设备(如USB标准的移动硬盘,用来存储重要的路由信息)的存储控制。
图2中的PRU(Packet Radio Unit),在这里相当于路由器的辅助处理器,用于对接收到的无线子网分组进行预处理。
3 多协议路由器的实现
3.1 硬件平台的建立
使用嵌入式系统,必须为硬件平台选择一个适合的微处理器,而选择适用于路由器的微控制器MCU一般要考虑以下几个方面:处理速度、总线宽度、集成度以及性价比。综合考虑了上述几个方面,我们最终选用Motorola ColdFire 5272(以下简称MCF52
72)为主控CPU。MCF5272是Motorola推出的一款高集成度的32位ColdFire微处理器,有很强的通信处理能力和较高的性能价格比,很适合用于中小型网络的控制设备。
MCF5272采用ColdFire V2可变长RISC处理器核心和DigitalDNA技术,在66MHz时钟下能达到63Dhrystone2.1MIPS的优良处理能力。其内部SIM单元(System Integrated Module)集成了丰富的通用模块,如10/100Mbps快速以太网控制器、USB1.1接口等,并且能够与常用外围设备(如SDRAM、ISDN收发器)实现无缝连接。
MCF5272内部集成了4KB的SDRAM(静态RAM)、片外扩展的Flash(闪烁存储器)和SDRAM(同步动态RAM)。
MCF5272集成了丰富的外围设备及其接口,主要包括2个通用异步串口收发模块,1个自适应快速以太网媒体接入控制器模块,1个USB控制器(作为从设备)模块。
按照图2所示的路由器设计,需要在MCF5272的基础上进行一定的扩展。多协议路由器需要连接多个子网和骨干网节点,而MCF5272只集成了2个UART控制器,因此在异步串行扩展和收发模块中利用ST 16C554扩展了4个UART控制器,从而保证某个多协议路由器在与其它2个骨干网节点相连的同时,可以与4个子网相连。在USB接口模块中,使用MCF5272集成的USB控制器(从设备)作为网络管理控制终端,另外扩展了1个主USB控制器实现路由器对USB设备的存储控制。利用MCF5272集成的快速以太网媒体接入控制器,扩展一个外部适配器(收发器)后可以实现接入以太网的功能。
经以上步骤,我们得到了多协议路由器的硬件平台。
3.2 操作系统uClinux
由于硬件的限制,嵌入式系统通常只具有极稀少的硬件资源,如主频较低的CPU、较小的内存等。Linux是一种很受欢迎的类Unix操作系统。它免费并开放源代码,在个人计算机、服务器领域应用广泛。更重要的是,Linux采用模块化设计,实际应用中可以定制,因此Linux也适用于嵌入式领域。
MCF5272是一种没有MMU的微处理器,故我们选择了专为嵌入式NOMMU微处理器定制的操作系统uCLinux、uClinux正是Linux的一个嵌入式版本,其内核的二进制映像文件可以做到小于512KB。UClinux支持多任务,支持多种文件系统,具有完备的TCP/IP协议栈,并支持多种网络协议,可满足Ad Hoc网络节点接入Internet的需要。另外,uClinux可移植性很强,用户通过重新配置、编译内核,能很方便地将其移植到多种处理器计算平台。
嵌入式Linux移植技术是从事嵌入Linux开发的一项关键技术,要求开发人员对Linux内核有相当程度的理解,具备修改内核的能力。下面简单介绍uClinux的移植过程。
(1)精简内核
精简内核构造内核的常用命令包括:make config、dep、clean、mrproper、zImage、bzImage、modules、modules_install。可使用这些命令把所有可以去掉的选项都去掉,尽可能地精简内核。
(2)修改硬件相关代码
作为源泉代码公开的操作系统,uClinux源码可以从www.uClinux.org获得。系统启动过程中,需要添加三个文件:crt0_rom.s、sysinit.c和rom.ld。crt0_rom.s可以由crt0_ram.s修改得到,它提供一个ROM矢量表以供CPU上电时读取,初始化CPU寄存器,设置程序堆栈,并最终跳转到uClinux内核。Sysinit.c针对实际情况做必要的'修改,主要就实际占用的片选资源CS0~CS7、SDRAM控制寄存器SDCR、SDTR作一些修改以适应硬件平台。rom.ld文件用于计算ROMFS文件系统的二进制映像romfs.img在ROM中的实际存放地址。
(3)修改启动脚本
在uClinux完成内核初始化之后,由init(void *)内核调用/bin/init,然后执行/etc/re脚本的命令。可以利用这个脚本完成系统上电后的自动配置,或运行用户程序。
图2
(4)内核配置与编译
需要建立一个交叉编译环境来完成内核和应用程序的编译,生成ROMFS文件系统,并最终形成一个固化文件。www.uClinux.org也提供这样一个工具包。正确安装后,就可以进行编译了。首先进入源代码目录uClinuxdist,执行make xconfig,在弹出的对话框中选择“Target Platform Selection”,然后进行相应配置。配置完毕后,在源代码目录执行“make dep”以及“make”,就得到了所要的二进制内核映像image.bin,可以直接下载到硬件平台运行。
3.3 路由器软件
移植成功后的uClinux操作系统只向用户提供了一个最基本的系统平台,针对实际应用还必须编写用户所必需的驱动程序和应用软件。MCF5272集成了2个UART控制器、1个从USB控制器和1个以太网控制器。我们又扩展了1个主USB控制器和4个UART控制器,为这些设备编写相应的驱动程序,并且在uClinux和驱动程序的基础上,实现路由器软件(包括路由模块、协议转换模块和无线网络节点浏览Internet代理模块)。
在路由模块中,可根据具体的情况选择适当的路由协议进行加载。根据实际情况,在骨干网中采用按需路由协议AODV。其基本实现思想是:当骨干网某一路由请求节点有分组发送并发现没有到达目的节点的有效路由时,它将启动路由建立过程,即组建一个路由寻找分组RREQ(Route Request Message)并在网络中泛洪寻址。路由表中有到目的节点有效路由,并组建一个路由响应分组RREP(Route Reply Message)并反向回播给路由请求节点建立路由,否则继续泛洪RREQ分组。如果路由请求节点再收到RREP分组,说明网络中已经建立到目的节点的路由,可以直接发送数据分组,否则可能继续发起下一次路由建立过程,也可以对数据丢弃处理。这里值得注意的是,每一个节点在接收RREQ的时候会反向建立到路由发起节点的路由(反向建链过程),以使得RREP可以沿此路径返回源节点;同时,每个节点在接收RREP的时候会正在向建立到目的节点的路由(正向建链过程)以使得分组可以沿此路径将分组传输给目的节点。在上述寻找路由的过程中,RREQ和RREP中均包含路由信息和节点的序号标识,以用来进行路由更新及避免路由闭环。
结语
近年来,嵌入式系统与Linux系统的有机结合,已广泛应用于网络通信、工业控制、机顶盒 、PDA等诸多领域。本文提出了一种基于嵌入式Linux平台的多协议路由器的设计方案,目前该设计方案已经实现。实践证明,此多协议路由器易于实现、性能稳定、运行效率较高,可应用于分级式Ad Hoc网络。
篇2:基于嵌入式Linux平台的多协议路由器的设计
来源:单片机及嵌入式系统应用 作者:朱雅琼 李建东 盛 敏
摘要:介绍在分级Ad Hoc网络中多协议路由器的地位及功能,在此基础上提出一种多协议路由器设计方案。结合设计方案,介绍实现方案中所采用的Motorola公司的ColdFire嵌入式处理器MCF5272、uClinux操作系统,以及在该平台上运行的路由协议A0DV。
关键词:路由器 MVF5272 uClinux A0DV
引言
随着社会信息化进程和互联网的飞迅发展,对无线环境下提供数据服务的需求变得更加迫切。传统的无线移动网络通常以固定的基础设施为支撑,无法满足人们对日益增长的通信业务的要求,一种新型的无线网络――AdHoc网络应运而生。Ad Hoc网络又称移动自组网、多跳网络,具备细网灵活、快捷,不受有线网络的影响等特点,可广泛应用于军事和救援等无法或不便预先铺设网络设施的场合。此外,Ad Hoc网络朝着网络互连的方向发展,Internet的接入是其中一项主要内容。
Ad Hoc无线网络具有自身的特殊性,在组建实际使用的无线工作网络时,必须充分考虑网络的应用规模和扩展性,以及应用的可靠程度及实时性要求,选择合适的网络拓扑结构。目前Ad Hoc无线网络正朝着大规模方向发展,逐渐呈现分级化的趋势,以两级式的网络为代表。在两级式网络中,拓扑如图1所示。网络分为骨干网、子网两级。子网级中,每个子网都可以构成独立的Ad Hoc网络,可采用不同的路由协议。骨干网由多协议路由器节点和普通节点构成,其中,普通节点主要完成骨干网中的数据和控制信息的分发;而多协议路由器除了具备普通节点的功能外还要负责实现对子网的管理、控制和数据交互,是骨干网的核心设备。
1 多协议路由器的功能
多协议路由器作为骨干网的一个节点,运行一定的`Ad Hoc网络路由协议,实现骨干网络由寻址的功能。
在分级式Ad Hoc网络中,多协议路由器通过和子网网关进行交互实现对子网的管理。子网内的通信类似于一般的Ad Hoc网络;而子网间的通信需要通过子网网关节点和骨干网节点进行中转,可分为两种情况―同一路由器下同构/异构子网间的通信以及不同路由器下同构/异构子网间的通信。为了实现子网间的有效通信,路由器需要完成多种协议之间的相互转换。
Internet接入的需求使得分级式Ad Hoc网络必须存在一个接入点AP(Access Point)。考虑到网络环境,这个功能需要由多协议路由器实现。
综上所述,多协议路由器主要实现骨干网路由寻址、协议转换、Internet接入的AP三大功能。
篇3:基于嵌入式Linux平台的多协议路由器的设计
一般情况下,Ad Hoc网中的路由器为车载式或背负式,所以多协议路由器必须有高集成度和移动
[1] [2] [3] [4]
篇4:嵌入式Linux平台的多协议路由器的设计
引言
随着社会信息化进程和互联网的飞迅发展,对无线环境下提供数据服务的需求变得更加迫切,传统的无线移动网络通常以固定的基础设施为支撑,无法满足人们对日益增长的通信业务的要求,一种新型的无线网络DDAdHoc网络应运而生。Ad Hoc网络又称移动自组网、多跳网络,具备细网灵活、快捷,不受有线网络的影响等特点,可广泛应用于军事和救援等无法或不便预先铺设网络设施的场合。此外,Ad Hoc网络朝着网络互连的方向发展,Internet的接入是其中一项主要内容。
Ad Hoc无线网络具有自身的特殊性,在组建实际使用的无线工作网络时,必须充分考虑网络的应用规模和扩展性,以及应用的可靠程度及实时性要求,选择合适的网络拓扑结构。目前Ad Hoc无线网络正朝着大规模方向发展,逐渐呈现分级化的趋势,以两级式的网络为代表。在两级式网络中,拓扑如图1所示。网络分为骨干网、子网两级。子网级中,每个子网都可以构成独立的Ad Hoc网络,可采用不同的路由协议。骨干网由多协议路由器节点和普通节点构成,其中,普通节点主要完成骨干网中的数据和控制信息的分发;而多协议路由器除了具备普通节点的功能外还要负责实现对子网的管理、控制和数据交互,是骨干网的核心设备。
1 多协议路由器的功能
多协议路由器作为骨干网的一个节点,运行一定的Ad Hoc网络路由协议,实现骨干网络由寻址的功能。
在分级式Ad Hoc网络中,多协议路由器通过和子网网关进行交互实现对子网的管理。子网内的通信类似于一般的Ad Hoc网络;而子网间的通信需要通过子网网关节点和骨干网节点进行中转,可分为两种情况D同一路由器下同构/异构子网间的通信以及不同路由器下同构/异构子网间的通信。为了实现子网间的有效通信,路由器需要完成多种协议之间的相互转换。
Internet接入的需求使得分级式Ad Hoc网络必须存在一个接入点AP(Access Point)。考虑到网络环境,这个功能需要由多协议路由器实现。
综上所述,多协议路由器主要实现骨干网路由寻址、协议转换、Internet接入的AP三大功能。
2 多协议路由器的设计
一般情况下,Ad Hoc网中的路由器为车载式或背负式,所以多协议路由器必须有高集成度和移动性。考虑到以上因素,我们选用了现在最为流行的嵌入式系统设计方法,多协议路由器的硬件平台的微处理器采用Motorola公司的ColdFire嵌入式处理器MCF5272,选择uClinux作为平台的操作系统。这样不仅可以缩短研发周期,而且为软硬件的设计、调试带来极大的方便。
多协议路由器硬件设计如图2中的虚线框图所示。路由器的硬件结构分为两部分:一部分为核心模式(MCF5272)部分,由微控制器模块和存储器模块(包括SDRAM和Flash)组成;另一部分为通信接口模块部分,由异步串行控制和收发模块、以太网控制和收发模块及通用串行总线USB(Universal Serial Bus)接口模块组成。
核心模块部分,微处理器模块主要负责处理数据。存储器模块分为两部分:一部分为Flash(由两片Flash构成,共4MB),作为程序存储器,用于存储操作系统内核、各种路由协议和路由表常量;另一部分为SDRAM,作为数据存储器,用作操作系统和各种路由程序的运行空间,
通信接口模块中,异步串行控制和收发模块用于与多个骨干网节点无线连接的同时,连接多个子网网关PRU(即分组无线控制单元)。以太网控制和收发模块可以实现Internet接入功能。USB接口模块用作连接网络设备控制终端,以及实现路由器对USB设备(如USB标准的移动硬盘,用来存储重要的路由信息)的存储控制。
图2中的PRU(Packet Radio Unit),在这里相当于路由器的辅助处理器,用于对接收到的无线子网分组进行预处理。
3 多协议路由器的实现
3.1 硬件平台的建立
使用嵌入式系统,必须为硬件平台选择一个适合的微处理器,而选择适用于路由器的微控制器MCU一般要考虑以下几个方面:处理速度、总线宽度、集成度以及性价比。综合考虑了上述几个方面,我们最终选用Motorola ColdFire 5272(以下简称MCF5272)为主控CPU.MCF5272是Motorola推出的一款高集成度的32位ColdFire微处理器,有很强的通信处理能力和较高的性能价格比,很适合用于中小型网络的控制设备。
MCF5272采用ColdFire V2可变长RISC处理器核心和DigitalDNA技术,在66MHz时钟下能达到63Dhrystone2.1MIPS的优良处理能力。其内部SIM单元(System Integrated Module)集成了丰富的通用模块,如10/100Mbps快速以太网控制器、USB1.1接口等,并且能够与常用外围设备(如SDRAM、ISDN收发器)实现无缝连接。
MCF5272内部集成了4KB的SDRAM(静态RAM)、片外扩展的Flash(闪烁存储器)和SDRAM(同步动态RAM)。
MCF5272集成了丰富的外围设备及其接口,主要包括2个通用异步串口收发模块,1个自适应快速以太网媒体接入控制器模块,1个USB控制器(作为从设备)模块。
按照图2所示的路由器设计,需要在MCF5272的基础上进行一定的扩展。多协议路由器需要连接多个子网和骨干网节点,而MCF5272只集成了2个UART控制器,因此在异步串行扩展和收发模块中利用ST 16C554扩展了4个UART控制器,从而保证某个多协议路由器在与其它2个骨干网节点相连的同时,可以与4个子网相连。在USB接口模块中,使用MCF5272集成的USB控制器(从设备)作为网络管理控制终端,另外扩展了1个主USB控制器实现路由器对USB设备的存储控制。利用MCF5272集成的快速以太网媒体接入控制器,扩展一个外部适配器(收发器)后可以实现接入以太网的功能。
经以上步骤,我们得到了多协议路由器的硬件平台。
3.2 操作系统uClinux
由于硬件的限制,嵌入式系统通常只具有极稀少的硬件资源,如主频较低的CPU、较小的内存等。Linux是一种很受欢迎的类Unix操作系统。它免费并开放源代码,在个人计算机、服务器领域应用广泛。更重要的是,Linux采用模块化设计,实际应用中可以定制,因此Linux也适用于嵌入式领域。
MCF5272是一种没有MMU的微处理器,故我们选择了专为嵌入式NOMMU微处理器定制的操作系统uCLinux、uClinux正是Linux的一个嵌入式版本,其内核的二进制映像文件可以做到小于512KB.UClinux支持多任务,支持多种文件系统,具有完备的TCP/IP协议栈,并支持多种网络协议,可满足Ad Hoc网络节点接入Internet的需要。另外,uClinux可移植性很强,用户通过重新配置、编译内核,能很方便地将其移植到多种处理器计算平台。
篇5:嵌入式Linux平台的多协议路由器的设计网络知识
引言 随着社会信息化进程和互联网的飞迅发展,对无线环境下提供数据服务的 需求 变得更加迫切,传统的无线移动 网络 通常以固定的基础设施为支撑,无法满足人们对日益增长的通信业务的要求,一种新型的无线网络――AdHoc网络应运而生。 Ad Hoc网络又称移动自
引言
随着社会信息化进程和互联网的飞迅发展,对无线环境下提供数据服务的需求变得更加迫切。传统的无线移动网络通常以固定的基础设施为支撑,无法满足人们对日益增长的通信业务的要求,一种新型的无线网络――AdHoc网络应运而生。Ad Hoc网络又称移动自组网、多跳网络,具备细网灵活、快捷,不受有线网络的影响等特点,可广泛应用于军事和救援等无法或不便预先铺设网络设施的场合。此外,Ad Hoc网络朝着网络互连的方向发展,Internet的接入是其中一项主要内容。
Ad Hoc无线网络具有自身的特殊性,在组建实际使用的无线工作网络时,必须充分考虑网络的应用规模和扩展性,以及应用的可靠程度及实时性要求,选择合适的网络拓扑结构。目前Ad Hoc无线网络正朝着大规模方向发展,逐渐呈现分级化的趋势,以两级式的网络为代表。在两级式网络中,拓扑如图1所示。网络分为骨干网、子网两级。子网级中,每个子网都可以构成独立的Ad Hoc网络,可采用不同的路由协议。骨干网由多协议路由器节点和普通节点构成,其中,普通节点主要完成骨干网中的数据和控制信息的分发;而多协议路由器除了具备普通节点的功能外还要负责实现对子网的管理、控制和数据交互,是骨干网的核心设备。
1 多协议路由器的功能
多协议路由器作为骨干网的一个节点,运行一定的Ad Hoc网络路由协议,实现骨干网络由寻址的功能。
在分级式Ad Hoc网络中,多协议路由器通过和子网网关进行交互实现对子网的管理。子网内的通信类似于一般的Ad Hoc网络;而子网间的通信需要通过子网网关节点和骨干网节点进行中转,可分为两种情况―同一路由器下同构/异构子网间的通信以及不同路由器下同构/异构子网间的通信。为了实现子网间的有效通信,路由器需要完成多种协议之间的相互转换。
Linux平台的多协议路由器的设计(图一)“ width=”485“ height=”245“ />
Internet接入的需求使得分级式Ad Hoc网络必须存在一个接入点AP(Aclearcase/” target=“_blank” >ccess Point)。考虑到网络环境,这个功能需要由多协议路由器实现。
综上所述,多协议路由器主要实现骨干网路由寻址、协议转换、Internet接入的AP三大功能。
2 多协议路由器的设计
一般情况下,Ad Hoc网中的路由器为车载式或背负式,所以多协议路由器必须有高集成度和移动性。考虑到以上因素,我们选用了现在最为流行的嵌入式系统设计方法,多协议路由器的硬件平台的微处理器采用Motorola公司的ColdFire嵌入式处理器MCF5272,选择uClinux作为平台的操作系统。这样不仅可以缩短研发周期,而且为软硬件的设计、调试带来极大的方便。
多协议路由器硬件设计如图2中的虚线框图所示。路由器的硬件结构分为两部分:一部分为核心模式(MCF5272)部分,由微控制器模块和存储器模块(包括SDRAM和Flash)组成;另一部分为通信接口模块部分,由异步串行控制和收发模块、以太网控制和收发模块及通用串行总线USB(Universal Serial Bus)接口模块组成。
核心模块部分,微处理器模块主要负责处理数据。存储器模块分为两部分:一部分为Flash(由两片Flash构成,共4MB),作为程序存储器,用于存储操作系统内核、各种路由协议和路由表常量;另一部分为SDRAM,作为数据存储器,用作操作系统和各种路由程序的运行空间。
通信接口模块中,异步串行控制和收发模块用于与多个骨干网节点无线连接的同时,连接多个子网网关PRU(即分组无线控制单元)。以太网控制和收发模块可以实现Internet接入功能。USB接口模块用作连接网络设备控制终端,以及实现路由器对USB设备(如USB标准的移动硬盘,用来存储重要的路由信息)的存储控制。
图2中的PRU(Packet Radio Unit),在这里相当于路由器的辅助处理器,用于对接收到的无线子网分组进行预处理。
3 多协议路由器的实现
3.1 硬件平台的建立
使用嵌入式系统,必须为硬件平台选择一个适合的微处理器,而选择适用于路由器的微控制器MCU一般要考虑以下几个方面:处理速度、总线宽度、集成度以及性价比。综合考虑了上述几个方面,我们最终选用Motorola ColdFire 5272(以下简称MCF5272)为主控CPU.MCF5272是Motorola推出的一款高集成度的32位ColdFire微处理器,有很强的通信处理能力和较高的性能价格比,很适合用于中小型网络的控制设备,
MCF5272采用ColdFire V2可变长RISC处理器核心和DigitalDNA技术,在66MHz时钟下能达到63Dhrystone2.1MIPS的优良处理能力。其内部SIM单元(System Integrated Module)集成了丰富的通用模块,如10/100Mbps快速以太网控制器、USB1.1接口等,并且能够与常用外围设备(如SDRAM、ISDN收发器)实现无缝连接。
MCF5272内部集成了4KB的SDRAM(静态RAM)、片外扩展的Flash(闪烁存储器)和SDRAM(同步动态RAM)。
MCF5272集成了丰富的外围设备及其接口,主要包括2个通用异步串口收发模块,1个自适应快速以太网媒体接入控制器模块,1个USB控制器(作为从设备)模块。
按照图2所示的路由器设计,需要在MCF5272的基础上进行一定的扩展。多协议路由器需要连接多个子网和骨干网节点,而MCF5272只集成了2个UART控制器,因此在异步串行扩展和收发模块中利用ST 16C554扩展了4个UART控制器,从而保证某个多协议路由器在与其它2个骨干网节点相连的同时,可以与4个子网相连。在USB接口模块中,使用MCF5272集成的USB控制器(从设备)作为网络管理控制终端,另外扩展了1个主USB控制器实现路由器对USB设备的存储控制。利用MCF5272集成的快速以太网媒体接入控制器,扩展一个外部适配器(收发器)后可以实现接入以太网的功能。
经以上步骤,我们得到了多协议路由器的硬件平台。
3.2 操作系统uClinux
由于硬件的限制,嵌入式系统通常只具有极稀少的硬件资源,如主频较低的CPU、较小的内存等。Linux是一种很受欢迎的类Unix操作系统。它免费并开放源代码,在个人计算机、服务器领域应用广泛。更重要的是,Linux采用模块化设计,实际应用中可以定制,因此Linux也适用于嵌入式领域。
MCF5272是一种没有MMU的微处理器,故我们选择了专为嵌入式NOMMU微处理器定制的操作系统uCLinux、uClinux正是Linux的一个嵌入式版本,其内核的二进制映像文件可以做到小于512KB.UClinux支持多任务,支持多种文件系统,具有完备的TCP/IP协议栈,并支持多种网络协议,可满足Ad Hoc网络节点接入Internet的需要。另外,uClinux可移植性很强,用户通过重新配置、编译内核,能很方便地将其移植到多种处理器计算平台。
嵌入式Linux移植技术是从事嵌入Linux开发的一项关键技术,要求开发人员对Linux内核有相当程度的理解,具备修改内核的能力。下面简单介绍uClinux的移植过程。
(1)精简内核M
精简内核构造内核的常用命令包括:make config、dep、clean、mrproper、zImage、bzImage、modules、modules_install.可使用这些命令把所有可以去掉的选项都去掉,尽可能地精简内核。
(2)修改硬件相关代码
作为源代码公开的操作系统,uClinux源码可以从www.uClinux.org获得。系统启动过程中,需要添加三个文件:crt0_rom.s、sysinit.c和rom.ld.crt0_rom.s可以由crt0_ram.s修改得到,它提供一个ROM矢量表以供CPU上电时读取,初始化CPU寄存器,设置程序堆栈,并最终跳转到uClinux内核。Sysinit.c针对实际情况做必要的修改,主要就实际占用的片选资源CS0~CS7、SDRAM控制寄存器SDCR、SDTR作一些修改以适应硬件平台。rom.ld文件用于计算ROMFS文件系统的二进制映像romfs.img在ROM中的实际存放地址。
(3)修改启动脚本
在uClinux完成内核初始化之后,由init(void *)内核调用/bin/init,然后执行/etc/re脚本的命令。
可以利用这个脚本完成系统上电后的自动配置,或运行用户程序。
(4)内核配置与编译
需要建立一个交叉编译环境来完成内核和应用程序的编译,生成ROMFS文件系统,并最终形成一个固化文件。www.uClinux.org也提供这样一个工具包。正确安装后,就可以进行编译了。首先进入源代码目录uClinuxdist,执行make xconfig,在弹出的对话框中选择“Target Platform. Selection”,然后进行相应配置。配置完毕后,在源代码目录执行“make dep”以及“make”,就得到了所要的二进制内核映像image.bin,可以直接下载到硬件平台运行。
3.3 路由器软件
移植成功后的uClinux操作系统只向用户提供了一个最基本的系统平台,针对实际应用还必须编写用户所必需的驱动程序和应用软件。MCF5272集成了2个UART控制器、1个从USB控制器和1个以太网控制器。我们又扩展了1个主USB控制器和4个UART控制器,为这些设备编写相应的驱动程序,并且在uClinux和驱动程序的基础上,实现路由器软件(包括路由模块、协议转换模块和无线网络节点浏览Internet代理模块)。
原文转自:www.ltesting.net
篇6:嵌入式系统的通信规约管理平台设计
嵌入式系统的通信规约管理平台设计
摘要:论述设计通信规约管理平台的必要性与可行性;借鉴操作系统的PCB思想,结合面向对象的方法学提出通信规约管理平台设计的核心思想――用户填写静态规约说明书。规约管理平台根据规约书生成通信规约控制块,由规约控制块控制、管理并适应千差万别规约程序的运行。关键词:平台 规约说明书 CPCB 动态描述静态描述 逻辑描述
引言
众所周知,通信的双方必须遵守相同的协议,报文才能互相识别。目前,不同行业间的通信协议千差万别。为解决不同通信协议间的计算机系统通信问题,人们普遍采用的措施是一个具体规约对应一段程序。如果出现新规约,只能由通信双方共同配合,由一方按另一方的标准修改或增加通信规约来解决问题。这种解决措施使得通信系统的适应能力不强、可维护性差,难以兼容不同规约的设备。
笔者借鉴操作系统进程控制块PCB的思想,通过对各种通信规约的认真分析研究,提出了自己的通信规约管理平台的核心设计思想――用户填写指定格式的静态规约说明书。规约管理平台根据规约书生成通信规约控制块,由规约控制块统一控制、管理,并适应千差万别规约程序的运行。
该平台的设计使得系统能够适应千差万别的通信规约,不用修改程序就能够保证通信系统在线运行情况下,接入各种新设备,以不变的程序应对万变的规约,维护真正做到傻瓜化、智能化。
1 设计通信规约管理平台的可行性
1.1 统一的通信模型(本网网收集整理)
任何两台计算机上的两个应用程序通信,都遵从如图1所示的通信模型。数据流动可以用收到发两个动作来描述。把提出数据请求服务的应用程序称为控制方向、即命令的下行;把提供数据服务的应用程序称为监测方向,即数据的上行。这样,一个完整的规约有控制方和监测方两个方面。控制方向下发送命令,并解析监测方发来的应答或主动上报的数据或状态指示报文;监测方解析命令,根据请求命令组织应答报文并上传。
1.2 通信规约的共性
任何通信规约都具有如下共同特征;帧结构的相似性、数据对象种类和报文长度的有限性、报文流的粒子性、逻辑过程的有穷性、传送原因的可分类性。
(1)帧结构的相似性
每帧报文都有图2所示的传输控制部分。
传输控制部分的目的之一是保证要传输的数据最终能够正确到达目的地。传输控制部分包括同步字对象、长度对象、传输方向对象、源地址对象、目的地址对象、帧号对象、功能符对象、结束符对象、其它对象及校验码十种对象构成。任何具体的规约都是上述对象的全部或基子集的一个具体排列。
数据部分就是用传输控制元素封装起来的传输数据。
(2)数据对象种类和报文长度的有限性
数据对象是通信规约真正要传输的对象。任何一个具体应用,要传输数据对象的种类是有限的,因而人们能够通过具体的通信规约将其进行描述。通信规允管理平台同样也能被描述出来。
任何规约一帧报文的最大长度都是有限的,这样不但可以遏制通信线路上长期被个别设备独占,也减少了错误传的次数与重传时间。一旦要传输的数据超过规定帧长,要分帧发送,接收方根据帧号来组装源数据。
(3)报文流的粒子性
更重要的是任何报文流的最小单位都是一个二进制位,相应报文的最小定义单元也是一个二进制位,这是所有通信规约的共性,不同的是各位间含义不同。任何规约的不同定义都在报文流有不同的确定位置(对位而言),数据发送是以字节为单位的。所以,引入顺序号的概念来描述并指示定义在不同报文中的起始位置(相对于合法报文的第一个同步字)和位数,顺序号属性就成了所有对象的共同属性。描述如下:
*字节序号――定义在一个以字节为单位,合法帧中数据成员占有的逻辑序号,第一个起始符为逻辑序号0(C、C++下标从0开始),根据在数据流中出现的先后顺序递增;
*字节内的起始位号――字节内的开始位号,取值范围0~7;
*位数――用几位表示。
struct CommSerial
{unsigned int SerialByte;
unsigned char ByteStartBit,ByteEndBit}my={2,0,8};
字节顺序号为2,字节内起始位号为0,位数为8,说明是帧中的第三个字节。如果规约用已有定义的字节的空位来定义,顺序号可以重复,但位号不能重复,用累加实现。
(4)逻辑规则的有穷性
逻辑规则包含以下四个方面。
①命令应答关系规则:包括通信双方中,控制方发送的命令和监测方的应答数据对应关系,以及监测方的状态指示和控制方的发送命令关系两个方面。这种对应关系是确定的、有限的和可描述的。
②双方数据发送的时间规则:控制方的自动轮询时间规则、监视方主动上报的时间规则及人工随机干预的控制命令,以上都是有限的与确定的。
③优先级规则:控制方同时出现多种要发送的命令,应按优先级规则进行传送。
④在帧结构的各控制元素一级封装下,数据对象本身又进行了二级封装。这种二级封可按一级封装的方式解决。
(5)传送原因的可分类性
控制方的传输原因有自动轮询、人工随机干预、监视方出现需优先处理的状态或指示;监视方向的传输原因有受召唤与主动上报两种。
综上所述,通信规约管理平台的设计是完全可行的。
图2 通信报文统一抽象格式
2 通信规约管理平台的基本组织方式
管理平台组织方式是将规约按照统一格式分解,以形成规约说明书或规约描述文件,将之放在外存,启动注册命令,管理平台将规约说明书进行系统注册,填入规约注册控制表。运行时,管理平台从规约注意表中提取指定的规约说明书,并找到一个空白规约控制块CPCB,根据规约说明文件填写CPCB,再由CPCB控制管理这个具体规约的运行。空白规约控制块的个数是有限的。一个进程按照CPCB的内容来运行,同时一个进程管理一个硬件通信端口资源,即通信端口的数量决定通信进程的数量。平台可根据运行各规约的实现性要求,来安排一个进程运行CPCB的数量。当然,一个进程依照一个CPCB运行是容易实现的。
2.1 规约说明书
规约说明书由基本情况表、静态描述表、动态描述表、逻辑规则表构成。静态描述表由控制元素对象中不随时间变化而变化的属性信息及其它信息组成;动态描述表用于描述随时间不断变化的控制元素和数据元素信息及其它信息;逻辑描述表由命令应答关系表、应答命令表、时间规则表、优先级规则表、筛选规则表和二级封装规则表组成。
(1)基本情况表
包括规约名称、最大帧长、数据对象个数、命令对象个数和状态指示对象个数,如图3(a)所示。
(2)静态描述
由同步字、传输方向、源地址、结束符及其它6种数据对象构成,如图3(b)所示。同步字标志一帧数据的`开始;传输方向说明当前是工作在控制方向还是标志测方向;源地址说明报文的发送设备地址;结束符标志一帧报文的尾;其它对象指向所有不在上述静态描述之中的控制元素对象链的队首。静态描述中的每个控制元素对象都有本规约内全局统一的标识号(ID)。
(3)动态描述
用于描述随时间具体因素控制而不断变化的信息,它包括帧号对象、校验码对象、报文长度对象、数据对象、请求命令对象、应答命令对象、目的地址对象及其它对象,如图3(c)所示。帧号是完整报文的分帧传送,规约规定的报文帧的帧长是有限的;超限时分帧传送,发送方指明帧号,接受方按帧号重新组装。校验码对象用于传输差错控制,检验一帧报文的合法性。报文长度对象管理并指明有效数据的长度。数据对象按应答命令对象指明的类型组织该类数据。目的地址对于控制方向,指明服务的设备地址,它可能向多个设备轮流请求;对于监测方向,指明请求服务的设备地址。数据对象取决于具体规约的定义。应答命令对换快捷指明应答数据对象的类型。请求命令对象指明控制方向,向目的设备下发请求数据状态对象命令,并组织报文帧。应答命令对象和请求命令对象管理的措施与数据状态对象相同。当然,应答数据状态表和请求命令表是静态的,在此便于说明;而数据状态对象表是动态的。
动态描述中的控制元素对象和数据元素对象也都由本规约内全局统一的ID号来识别;ID号由ID注册管理程序生成,填写规约自己所赂的ID注册表。
(4)静态对象和动态对象公有的属性
①顺序号对象:如前所述,它指明某一元素对象在报文流中的起始位置和所占的连续二进制位数。
②ID号对象是全局统一的,它由六段依次连接而成,即一段、二段、三段、四段、五段、六段。根据ID可以识别提取不同的元素对象,它是各控制元素和数据元素的唯一标识。
一段是注册后的规约ID号,高段的位数由规约ID号位数决定。二段是区分上行与下行,用一位二进制位就可区分。三段用于说明具体的规约是否含有对应的元素对象,它说明的是有与无。四段用于区分源地址、目的地址、传输方向、同步字、其它静态对象、帧号、校验码、报文长度、请求命令符、应答命令符、其它动态对象和数据对象,共12种,用4位二进制位就可区分。五段用于说明四段之中的每一种是否具有原子性,比如同步字就具有原子性。当子种类多于一个同步字时,也相当于一个,要发就全发,不可分割;而请求命令符就不具有原子性,只能发出其子种类之中的一种。原子性是个布尔量,一位二进制就可描述。六段用于说明当上述12种之中任一种超过一个时,就可用第5段描述,比如同步字6个,就得用三位,选取上述12种之中子种类最多的一个和为第五段的位数。
③拷贝、赋值、被拷贝:在报文流中的其它类元素对象中,当出现与已有定义的控制元素对象表示值重复时,引
进对象的拷贝与被拷贝属性。赋值属性说明该元素指的是已独立的定义值。相应的,引入拷贝与赋值操作。
(5)逻辑描述信息
逻辑描述信息由下列表构成:
①控制方发送的命令被监测方收到后,监测方予以应答的数据对象ID对应关系表;
②控制方收到监测方的状态指示后,控制方应响应的发送命令ID对应关系表;
③控制方发送轮询命令ID时间间隔表;
④控制方的人工干预控制命令ID表;
⑤监测方的主动上报数据表、状态ID表;
⑥控制方发送命令ID优先级的规则表;
⑦监测方应答数据与主动上报的ID优先级规则表;
⑧二级封装规则表。
2.2 规约控制埠CPCB
通信平台的某一通信进程在运行时,如未匹配通信规约,则运行空规约。如收到控制台发来的匹配命令,则从规约注册表中提取规约说明书,并从空白CPCB链表中摘下一个,将它链入运行CPCB链表,按照规约说明书的内容填写该CPCB,填写完毕即投入运行。这样,在逻辑规则的控制下,各静态对象和动态对象各司其职而又发送消息协同工作,整个平台就会有条不紊地动作。
篇7:嵌入式系统的通信规约管理平台设计
嵌入式系统的通信规约管理平台设计
摘要:论述设计通信规约管理平台的必要性与可行性;借鉴操作系统的PCB思想,结合面向对象的方法学提出通信规约管理平台设计的核心思想――用户填写静态规约说明书。规约管理平台根据规约书生成通信规约控制块,由规约控制块控制、管理并适应千差万别规约程序的运行。关键词:平台 规约说明书 CPCB 动态描述静态描述 逻辑描述
引言
众所周知,通信的`双方必须遵守相同的协议,报文才能互相识别。目前,不同行业间的通信协议千差万别。为解决不同通信协议间的计算机系统通信问题,人们普遍采用的措施是一个具体规约对应一段程序。如果出现新规约,只能由通信双方共同配合,由一方按另一方的标准修改或增加通信规约来解决问题。这种解决措施使得通信系统的适应能力不强、可维护性差,难以兼容不同规约的设备。
笔者借鉴操作系统进程控制块PCB的思想,通过对各种通信规约的认真分析研究,提出了自己的通信规约管理平台的核心设计思想――用户填写指定格式的静态规约说明书。规约管理平台根据规约书生成通信规约控制块,由规约控制块统一控制、管理,并适应千差万别规约程序的运行。
该平台的设计使得系统能够适应千差万别的通信规约,不用修改程序就能够保证通信系统在线运行情况下,接入各种新设备,以不变的程序应对万变的规约,维护真正做到傻瓜化、智能化。
1 设计通信规约管理平台的可行性
1.1 统一的通信模型
任何两台计算机上的两个应用程序通信,都遵从如图1所示的通信模型。数据流动可以用收到发两个动作来描述。把提出数据请求服务的应用程序称为控制方向、即命令的下行;把提供数据服务的应用程序称为监测方向,即数据的上行。这样,一个完整的规约有控制方和监测方两个方面。控制方向下发送命令,并解析监测方发来的应答或主动上报的数据或状态指示报文;监测方解析命令,根据请求命令组织应答报文并上传。
1.2 通信规约的共
[1] [2] [3] [4] [5]
篇8:基于嵌入式平台的网络化OTDR模拟训练系统设计论文
基于嵌入式平台的网络化OTDR模拟训练系统设计论文
针对教学训练中的实际困难,采用虚实结合的模拟仿真技术,设计了低成本实用性强的网络化 OTDR模拟训练系统,可以方便地实现多型号 OTDR 操作使用模拟训练。
1 系统概述
1.1 系统功能
系统功能是实现光缆线路施工与维护多型号OTDR 操 作 使 用 模 拟 训练 。 目 前 我 们 主要 开发了XXXXXXX、XXXX、XXXXXX3 种典型型号,对于其他型号的 OTDR 可以根据需要在后期进行扩展。工作在PC104 嵌入式平台 OTDR 模拟器,可以逼真每种 OT-DR 实物操作面板、界面、测量工作流程,此外,OTDR模拟器还能够依据主控机下达的任务,准确地生成相应测量波形并进行显示分析。
1.2 系统组成
主要由主控计算机、网络交换机和 3 个 OTDR 模拟训练器组成。主控计算机除了完成任务下达外,还负责完成系统能够对参训人员信息、训练情况进行管理。交换机为一般的计算机网路交换机,实现路由模拟计算机和OTDR模拟器之间的信息传递。
2 硬件设计
系统硬件设计的主要内容就是3种OTDR模拟训练器的设计。
每种 OTDR 模拟器的硬件部分主要包括:专用按键及旋钮面板、凌阳 61 单片机电路板、PC104 工控系统、液晶显示屏及驱动套装。其中,61 单片机电路板负责扫描按键及旋钮信息,并将扫描到的按键或旋钮信息通过 232 串口发往 PC104 工控机,工控机对接收到的按键信息进行处理后,依据所模拟 OTDR 仪表的工作流程和显示方式,力求在模拟器显示屏上呈现与实物一致的显示内容。
3 系统软件设计
系统软件设计主要包括:主控软件、运行在 61 单片机上的键盘与旋钮接口程序以及 3 种 OTDR 模拟器的仿真软件。
3.1 主控软件
主控软件运行在主控计算机上,运行在 WIN-DOWS平台上。该软件主要功能有:① 负责管理参训人员信息;② 模拟产生单盘光缆衰减特性信息数据,多种线路衰减特性和故障信息数据;③ 获取由各个OTDR 模拟器发来的操作信息,根据需要可以在主控机上监视或复现其中任意一个的显示内容;④ 数据管理功能,主要包括对单盘光缆相关参数数据、用户信息、学员信息、训练考核成绩等数据的管理。
3.1.1 显示对象设计
显示对象是一个关于显示的数据和函数的封装,主控端和模拟器端共用的'是一个显示对象。其主要功能是,在主控端实现模拟器端显示内容的监视与复现,在模拟器端实现操作指令的呈现。其主要封装的数据有,波形数据(大小为8 192的int型数组)、模拟器种类标识代码、显示端标识码、显示状态码组等数据;主要封装的函数有显示函数、更新函数、操作指令解析函数等。
3.1.2 数据库设计
系统采用 Access 数据库存储相关数据,应用 A-DO 数据库接口实现访问管理。数据库主要由用户信息数据表,光缆线路特性和故障参数(包括单盘)数据表,显示状态数据表等 12 个表构成。
3.2 OTDR 模拟器面板 61 单片机编程
61 单片机编程实现 3 种 OTDR 模拟器操作面板均与 pc104 之间的接口通信。对应设计有 3 套程序。其功能与工作流程基本一致。
单片机程序在凌阳单片机集成开发环境(μ'nSPIDE1.8.4)中开发,OTDR 模拟器面板 61 单片机编程相对来说比较简单,单片机仅是完成按键以及旋钮状态检测,消抖编码、232串口通信,LED指示灯控制等几项功能。
3.3 OTDR 模拟器仿真软件设计
OTDR 模拟器仿真软件设计有 3 种,分别针对每一种型号的 OTDR,它们的设计基本类似。
OTDR 模拟器仿真 软件 功 能 是模 拟 实 装 OTDR的工作流程。大多数 OTDR 基于嵌入式处理平台设计,软件的工作流程也基本类似,其工作流程是基于判断和跳转的结构化程序工作模式。
4 结束语
系统应用网络通信技术和实物模拟相结合的方法实现了光时域反射的网络化,多型号模拟训练系统设计。本系统可以在主控端任意编辑训练内容,同时将任务下达给多个受训者,可以实现多名受训者的多型号并行训练,此外主控系统还能监视或复现任意一名受训者操作显示情况,可以方便地实现操作案例的详细讲解。此外,由于系统对光缆故障测量仪器的人机交互和结果呈现采用基于 PC104 系统的实物形式模拟,虽然有操作过程的真实感受,但成本相对来说还是比较高,对于经费极度受限训练任务繁重的单位,还可以考虑将系统设计为纯虚拟形式。
篇9:基于ARM平台的MAC协议IP核设计
基于ARM平台的MAC协议IP核设计
摘要:在介绍IEEE802.11MAC协议结构的基础上,给出协议开放的方案和步骤,提出IEEE802.11MAC协议在32位ARM7TDMI微处理器S3C4510B上的一种移植方案,开发出了嵌入式IEEE802.11MAC协议的IP核。同时,围绕着IEEE802.11MAC协议的原理和移植过程中硬件相关部分,介绍ARM平台的结构、可用资源以及ARM的初始化过程等。关键词:IEEE802.11 MAC协议 ARM平台 无线局域网
引言
无线局域网被认为是下一代IT产业发展的是大推动之一,被IT业赋予了极大的希望。无线局域网802.11系列标准的MAC协议是一样的,只是在物理层上有差异,因此对802.11MAC协议的开发,不论是在802.11b流行的今天,还是802.11g可能会成为主流的将来,都是很有意义的。当然,ARM以其先进的体系结构已经成为嵌入式市场的RISC标准,因此基于ARM的IEEE802.11MAC协议的开发是很有现实意义的。
我们的开发流程如图1所示。
PC软件开发是指脱离硬件的嵌入式软件开发阶段。此阶段可以在各种IDE环境下进行开发,并进行软仿真来验证软件的逻辑正确性。然后将开发出来的PC软件结合硬件所需要的硬件相关代码向硬件平台进行移值调试。前两个阶段完成后就得到了开发的最终成品。
1 协议结构
IEEE802.11MAC协议的SDL描述可以分为以下几个功能模块,如图2所示。
*MAC数据服务模块:向LLC层提供MAC层的数据服务接口。(本网网收集整理)
*MPDU生成模块:将MSDU(MMPDU)生成MPDU,并对MPDU分段、加密以及进行排队管理。
*协议控制模块:完成DCF、PCF下的各种协议控制功能,包括RTS/CTS、ACK、ATIM、CF-ACK等,并根据信道状态请求退避,在传送数据挫败后控制重传等。该模块还负责对所有接收到的MAC帧进行分类,按不同的类型送到不同的模块进行处理。
*发送模块:将MAC帧以字节流的形式发送到物理层,完成实际的发送过程。这个模块中要完成对整个发送帧产生CRC校验,向发送的beacon帧中加入时戳用来进行时间同步。这个模块还负责处理底层获得的当前信道的状态,完成协议要求的随机退避功能。
*接收模块:对从物理层接收到的帧进行CRC校验。如果正确接收的话,则进行地址过滤,丢弃目的地址不是自己的帧。如果数据是经过分段的话,还有进行数据分段的重装,然后将接收帧送往协议控制模块进行分类处理。同时,这个模块还要提取接收帧中的信道保留信息,结合信道上有无载波的状况综合判断信道的状态,并把信道的状态送往发送模块来协调退避功能的完成。
*MAC管理实体模块:是管理核心,完成所有的管理功能,包括扫描、入网、认证、解认证、关联、解关联、重新关联、beacon帧的发送、站点状态管理等功能。
*MAC管理服务模块:提供MAC管理接口,包括MIB库的管理,对MIB库的访问,并将管理接口传来的管理服务请求送到MLME模块进行实际处理,将结果返回给管理接口。
2 协议实现
IEEE802.11MAC协议的SDL流程中各模块之间的交互是通过信号的方式来完成的,模块之间通过交互信息来协调工作,并且完成各种MAC帧的结构之间的传递。我们将信号定义为Signal(PID,SID,Param)参数PID用来标准信号的目的模块,SID用来标志信号在目的模块中由哪个函数来处理,参数Param是一个指向存储区的指针,存储区里存放的是信号所要传递的信息。为了能使整个协议在信号的驱动下运行,需要由一个功能实体来完成信号的处理过程。这里采用的是一个循环队列来存放产生的信号,由主循环程序来不断检测队列中的信号,根据信号的PID和SID调用相应模块里的信号处理函数进行处理。
协议中还涉及大量的比较判断和定时操作,当比较成立或定时到期后,进入相应的处理程序。其实,我们可以认为当比较成立或时间到期产生相应的信号,然后由信号处理机制来完成后续的工作。我们所要做的只是定义一个比较队列和一个定时队列,比较操作加到比较队列中,定时操作加到定时队列中,由主循环检测这两个队列。当某个比较判断成立时或某个定时期时从相应的队列中取出,然后再以信号方式加入到信号队列中去。因此我们将比较操作和定时操作分别定义为:
Compare(PID,SID,Param11,Param12,Param21,Param22,Param31,Param32);
Timer(PID,SID,Time);
PID、SID标志比较成立或定时到期时产生的信号,Paramil、Parami2(i=1,2
,3)为比较操作中需要进行比较的几对数据。Time为定时操作中设定的定时值。
上面介绍的机制建构了协议框架,然后在这个框架基础上按照SDL流程编写相应的信号处理函数就要吧实现整个协议。
前期协议开发了验证逻辑上的正确性。我们在Microsoft Visual C++环境下进行开发并进行了软仿真,结果表明所开发的设计在逻辑上是正确可行的。
3 协议向ARM平台的移植
我们所使用的ARM硬件平台ARM anywhere II采用的是三星公司的ARM芯片S3C4510B。S3C4510B是采用ARM7TDMI核的高性价比RISC微控制器,特别适用于网络应用系统。
我们开发了一个软件模块PHY来模拟物理层收敛过程子层(PLCP),对于物理介质依赖子层(PMD)我们没有实现。这并不影响MAC协议的开发。LLC层的数据通过PC串口发送到ARM平台来模拟,数据经过MAC处理后送到PLCP子层,然后由PLCP子层直接发送。数据发送通过ARM的'通用I/O来实现,发送速率由S3C4510B的定时器来控制。
在将802.11MAC协议向ARM平台的移植方案中,有一部分代码的执行是依赖于ARM平台的。这部分代码的移植工作需要特别注意,包括以下几个方面:
①定时器。协议中要求的随机退避过程需要底层周期性的送slot来进行,这个周期性 slot需要用定时器来实现。协议中的网络分析矢量NAV需要用定时器来实现,以判断NAV的状态。协议中定义的几种帧间隔IFS(SIFS、DIFS、PIFS、EIFS)也需要利用定时器来实现。
②外部中断。802.11MAC协议中一个重要部分就是载波监听。当信道状态变化时(由忙到闲,由闲到忙)都要给负责监听信道状态的模块一个指示(CCA),指示当前的信道状态。这个过程可以由S3C4510B ARM芯片的外部中断来很好地实现。由于S3C4510B ARM芯片可以对中断检测方式进行配置,可以将中断检测方式配置为上升沿和下降沿均触发中断,这些就能很好地模块协议的中物理载波监听(CS)。
③I/O。模拟PLCP子层的数据收发,一共用到8个I/O端口,一次发送8位。在发送数据时,还使用了一个I/O端口作为发送指示。这个I/O端口通过信道模拟器连接到其它节点的用来监听信道状态的外部中断引脚上。
④UART。我们用UART来实现PC和ARM的通信。一些管理命令,例如扫描、入网、认证、关联、解认证、解关联,节点的配置信息例如MAC地址等都可以从串口来发送给ARM。另外,所有发送的数据都会通过串口传送给ARM进行发送,所有接收到的数据将通过串口回传给PC。
⑤以太网控制器。以太网控制器在AP中是比较有用的。由于AP之间是通过有线的骨干网(backbone)来进行连接的,从而组成了分布式系统(DS),以太网控制器已经集成了IEEE802.11接口,就为实现这个有线的backbone提供了便利。
4 硬件仿真环境
图3中,IEEE802.11MAC协议和PLCP子层模拟模块都都在ARM平台上,串口通信程序运行在PC上。它和ARM的UART进行通信用于模拟LLC层数据服务和上层的管理服务,同时它还可以显示节点的运行状态和当前的网络状态。
下面介绍一下我们使用的简易信道模拟器的原理。信道模拟器对应每个节点(ARM平台)有一套接口,其中有8个I/O用于数据传输。由于无线信道是开放式的,一个节点发送时其它节点都能收到,因此在信道模拟器中每个节点的8个I/O是两两相通的,这样就能保证一个节点发送时其它节点都能收到。另外,由于要模拟信道上的载波监听过程,我们用到了ARM上的外部中断用做载波监听位(CS),然后用一个I/O发送指示(TR)。这样,信道模拟器上要维持任何一个节点的CS位,都与其它节点的TR有一定的逻辑关系,例如,当一个节点发送时,将其TR置为0(0表示信道变忙,ARM引脚初始电平为高电平1),则这个0应该立即能反映到其它节点的CS位上从而产生中断,其它节点都会知道信道变忙而开始从信道接收数据。同时,当节点发送完毕后将TR置为1,其它节点就会产生中断并且检测到CS位为1从而知道信道变闲,接收结束。
实际的信道模拟支持两个基本服务区(BSS)组成的分布式系统(DS),每个BBS内支持1个AP和2个普通节点。这内部的逻辑关系用可编程逻辑器件实现。
5 移植过程中的注意事项
PHY软件模块模拟PLCP子层,负责完成要求的载波监听和数据收发时的定时控制。这些功能都是采用中断方式实现的,因此要求代码执行速率要快。这里使用汇编语言开发来提供代码的执行效率。
为了获得较高的代码执行速率和快速的中断响应,要求所有协议代码和中断服务程序都在SDRAM中执行。这就涉及到在设计ARM的初始化代码时要正确配置相应的存储区控制寄存器,并且完成代码的搬移和地址的重映射。
图3
ARM的初始化代码包括:
*定义入口点(entry point)。
*定义异常向量表,用来处理各种CPU异常,其中包括中断。
*配置SDRAM和Flash的地址范围、时序等参数,以使这些存储器能正常工作。
*代码搬移。程序代码一般应从Flash调入SDRAM中运行,以提高系统的运行速度。同时,系统及用户堆栈、运行数据也都放在SDRAM中。
*对SDRAM进行地址重映射,从初始时地址空间的高端搬移到0x0开始的位置。
*初始化堆栈。
*初始化存储区。
*根据需要改变处理器工作模式。
*开中断。
*到C程序代码入口点开始执行。
另外,移植过程中还要考虑的一个问题是内存分配的问题。嵌入式系统中对内存的分配,一般来说要求快速可靠并且有效,实际上就是在采用静态分配内存还是动态分配存的问题。如果系统要求对实时性要求高并且不能容忍分配失败,这时就需要采用静态分配内存。采用静态分配一个不可避免的问题就是系统失去了灵活性,必须在设计阶段就预先估计所需要的内存并对其作出分配,并且要考虑到所有可能的情况。我们在移植过程中,考虑到实时生和可靠性是我们的主要目标,并且我们的ARM平台具有较大的存储区,因而采用了静态分配的方式。
结语
目前,嵌入式协议开发已经非常普通,本文只是根据作者的实际经验,介绍了嵌入式802.11MAC协议开发的基本过程。目前开发的协议已经在ARM平台上成功运行,并且性能良好。现在所使用的ARM平台是没有操作系统支持的,所移植的协议硬件依赖性太大,下一步我们将在有操作系统的ARM平台上进行协议移植,通过全长操作系统提供的API接口来提供协议的可移植性。另外,继续优化代码,提高代码效率,提高实时性与可靠性,以更适合于嵌入式应用环境也将是我们下一步的目标。
篇10:基于ARM平台的MAC协议IP核设计
基于ARM平台的MAC协议IP核设计
摘要:在介绍IEEE802.11MAC协议结构的基础上,给出协议开放的方案和步骤,提出IEEE802.11MAC协议在32位ARM7TDMI微处理器S3C4510B上的一种移植方案,开发出了嵌入式IEEE802.11MAC协议的IP核。同时,围绕着IEEE802.11MAC协议的原理和移植过程中硬件相关部分,介绍ARM平台的结构、可用资源以及ARM的初始化过程等。关键词:IEEE802.11 MAC协议 ARM平台 无线局域网
引言
无线局域网被认为是下一代IT产业发展的是大推动之一,被IT业赋予了极大的希望。无线局域网802.11系列标准的.MAC协议是一样的,只是在物理层上有差异,因此对802.11MAC协议的开发,不论是在802.11b流行的今天,还是802.11g可能会成为主流的将来,都是很有意义的。当然,ARM以其先进的体系结构已经成为嵌入式市场的RISC标准,因此基于ARM的IEEE802.11MAC协议的开发是很有现实意义的。
我们的开发流程如图1所示。
PC软件开发是指脱离硬件的嵌入式软件开发阶段。此阶段可以在各种IDE环境下进行开发,并进行软仿真来验证软件的逻辑正确性。然后将开发出来的PC软件结合硬件所需要的硬件相关代码向硬件平台进行移值调试。前两个阶段完成后就得到了开发的最终成品。
1 协议结构
IEEE802.11MAC协议的SDL描述可以分为以下几个功能模块,如图2所示。
*MAC数据服务模块:向LLC层提供MAC层的数据服务接口。
*MPDU生成模块:将MSDU(MMPDU)生成MPDU,并对MPDU分段、加密以及进行排队管理。
*协议控制模块:完成DCF、PCF下的各种协议控制功能,包括RTS/CTS、ACK、ATIM、CF-ACK等,并根据信道状态请求退避,在传送数据挫败后控制重传等。该模块还负责对所有接收到的MAC帧进行分类,按不同的类型送到不同的模块进行处理。
*发送模块:将MAC帧以字节流的形式发送到物理层,完成实际的发送过程。这个模块中要完成对整个发送帧产生CRC校验,向发送的beacon帧中加入时戳用来进行时间同步。这个模块还负责处理底层获得的当前信道的状态,完成协议要求的随机退避功能。
*接收模块:对从物理层接收到的帧进行CRC校验。如果正确接收的话,则进行地址过滤,丢弃目的地址不是自己的帧。如果数据是经过分段的话,还有进行数据分段的重装,然后将接收帧送往协议控制模块进行分类处理。同时,这个模块还要提取接收帧中的信道保留信息,结合信道上有无载波的状况综合判断信道的状态,并把信道的状态送往发送模块来协调退避功能的完成。
*MAC管理实体模块:是管理核心,完成所有的管理功能,包括扫
[1] [2] [3] [4] [5]
篇11:基于Z85C30的多协议串行通信设计
基于Z85C30的多协议串行通信设计
摘要:简要从硬件和软件两方面介绍一种嵌入式的多协议串行通信设计方案。该设计方案采用多协议串行通信控制器Z85C30及外围电路开发,通过软件编程,可满足各种串行通信要求,如异步、按字节同步、按位同步等通信格式。关键词:嵌入式系统串行通信控制器(SCC)Z85C30
引言
我们在嵌入式系统的开发过程中,经常需要设计串行通信口,用以同其它设备或计算机网络交换数据。针对不同的应用场合及不同的通信格式,在硬件设计方面有许多不同的芯片可供选择,如Intel8251A、Intel8274、Intel82530等。采用ZILOG公司的串行通信控制器Z85C30进行设计,和其它器件相比,具有功能强、速度快、外部逻辑少等优点。
1串行通信控制器Z85C30介绍
Z85C30是ZILOG公司推出的一种串行通信控制器(SCC)。它具有双通道,适用于8位、16位处理器的系统,能够完成串行到并行、并行到串行的转换。Z85C30能够处理诸如异步格式、面向字节的同步规程(如IBM双同步规程)、面向比特的同步规程(如HDLC、SDLC);能够产生、检查CRC循环冗余检验码。
Z85C30每个通道有14个写寄存器、7个读寄存器。通过对其编程,可将通信控制器配置满足各种格式,如数据长度、停止位的位数、有无奇偶检验等。
1.1Z850C30主要性能
①同步速率。16MHz时钟下,传输速率达4Mb/s;使用16MHz时钟,传输速率达1Mb/s(FM编码);使用16MHz时钟,传输速率达500Kb/s(NRZI编码)。
②异步性能。每个字符5、6、7或8位;1/2或2位停止位;奇或偶校验;1、16、32、64倍时钟格式;断点产生和测试;奇偶、超载和帧出错测试。
③按字节同步性能。内同步或外同步;1或2个同步字符;自动CRC产生、测试。
④SDLC/HDLC性能。异常中止序列的产生和检测;“0”的自动插入和删除,报文间标志的自动插入,地址段的识别,信息段剩余管理,CRC产生、测试;具有EOP识别/循不入口和出口的SDLC方式;可选NRZ、NRZI、曼彻斯特或FM编/解码;具有时钟恢复能力的数字锁相环;具有自动回波和局部回送的诊断能力。
另外,Z85C30能在SDLC/HDLC方式下更高效地工作,如果有10×19位SDLC/HDLC帧状态FIFO,14位SDLC/HDLC帧计数器,自动SDLC/HDLC标志发送,自动复位SDLC/HDLCUnderrun/EOM标志,自动预置SDLC/HDLCCRC等。
1.2Z85C30主要引脚简介
Z85C30引脚按功能分为7组:数据地址总线、总线时序和复位、控制引脚、中断控制、串行数据、通道控制引脚和时钟引脚,如图1所示。Z85C30引脚定义如图2所示。
D7~D0:数据地址总线,用于传送命令和数据。
RD、WR:读、写信号,用于对Z85C30的寄存器操作,低电平有效。
CE:片选信号。
A/B:A、B通道选择,低电平表示选择B通道,高电平选择A通道。
D/C:数据/控制选择,高电平表示与85C30之间传输的是数据,低电平表示与85C30间传输的是命令信号。
INT:中断请求,低电平有效,当SCC需要申请中断时,该信号有效。
INTACK:中断响应,低电平有效。
IEI:中断允许输入。输入,高电平有效。当有多个中断源时,IEI和IEO一起组成中断顺序链优先级排队电路。
IEO:中断允许输出。输出,高电平有效。
PCLK:时钟输入,用来同步内部信号,是标准的TTL电平信号。
TxD、RxD:发送、接收数据,分A、B两个通道。
TRxC、RTxC:通道时钟,它们能被编程为几种不同的操作械。RTxC能提供接收时钟或传送时钟(在输入方式),能提供传输时钟计数器输出(数据锁相器)、晶体振荡器输出、波特率发生器输出和输入时钟输出(它们都是在输出方式)。RTxC能提供接收时钟、传送时钟、波特率发生器时钟、数字锁相环时钟。
1.3Z85C30的接口时序
RD和WR是总线传输的两个控制信号。CE、D/C、A/B和INTACK用于控制总线传输的类型。总线上传输的地址在有效后,RD和WR才变低。CE、WR和CE、RD锁存地址的时序是一致的`。
(1)读周期时序
在RD和CE有效时,A/B和D/C上的地址被锁存。在此周期内CE必须保持低,并且INTACK必须保持高。Z85X30的总线驱动设备只有在RD和CE都有效地才使能。在读操作用D/C为高时,不会影响指针的状态。当D/C为低且在内部操作完成后,指针复位到0。
(2)写周期时序
在CE和WR有效时,A/B、D/C和数据D7~D0同时被锁存。在此周期内CE必须保持低,并且INTACK必须保持高。在写操作且D/C为高时,不会影响指针的状态。当D/C为低且在内部操作完毕后,指针复位到0。
(3)中断响应周期
当INTACK为低时,进入中断响应周期。这个A/B、D/C、CE、WR信号都被忽略。
1.4Z85X30寄存器访问
访问寄存器有两个步骤,是使用寄存器指针来完成寻址的。为寻址一个指定的寄存器,先通过写入WR0的指针位来指定寄存器。因为Z85X30只有唯一的寄存器设置存在,因此,可以从两个通道中的任意一个将指针写入。当指针写入后,再次的读或写周期(当D/C为低时)将存取刚才指定的寄存器。在读和写周期结束时,指针被复位到0。
对RR8(接收数据缓冲FIFO)的读及对WR8(传送数据缓冲FIFO)的写操作,可以按以上方法进行,也可以在D/C为高时进行存取。当D/C为高时,可以直接对相应的数据寄存器进行存取,并且指针的状态为独立的。这样,允许在一个周期内寻址数据寄存器,并且不影响指针的状态。
2Z85C30与CPU的接口
以下介绍以8051作CPU与Z85C30的接口电路,如图3所示。
Z85C30的时钟选用7.0728MHz。54LS373用来锁存片选信号和Z85C30的地址(用来区分命令、数据寄存器)。因为Z85C30的写时序在数据有效后,才应出现WR的下降沿;在数据无效之前,应出现WR上升沿。用1片D触发器54LS74和2个反相器件来延迟送到Z85C30的WR。由于电路设计为TTL电路,在实际的应用,还需加入TTL-RS232转换电路芯片。
3软件设计
3.1Z85Z30的I/O操作
X85C30有三种基本的I/O操作形式:查询、中断、块操作。这三种I/O操作在初始化和数据传送时涉及到寄存器操作。
查询方式依靠软件查询串行控制器,从而决定什么时候数据应从串行控制器输入或输出。在此模式中,主中断使能位和WAIT/DMA请求位都应编程为0,从而清除任何中断或DMA请求。查询是通过对RR0的状态检测进行的。在此模式中,中断功能失效。在转入数据处理前,必须对RR0读分析,以决定进入怎样的例程。
中断方式中,串行控制器的每一个通道包括三个中断源:接收器中断、发送器中断和外部/状态中断。
块操作方式可将W/REQ输出与WR1中的就绪/请求位配合。通过编程,W/REQ输出在块操作方式中能被定义为WAIT信号,在DMA方式中可作为REQ信号。
3.2软件的编写
不同的应用场合,对Z85C30的初始化流程不同,这就需要对Z85C30的写寄存器赋予相应的初值。
图38051与Z85C30的接口电路
在SCC初始化完成后,即可进行通信。传送缓冲区和接收缓冲区全部为空。软件把第1个传送字符写到传送缓冲器,中断才会产生。第1个传送字符到了SCC的移位寄存器,传送中断产生。然后,SCC继续判断中断,直到报文结束。报文结束时,应执行复位发送中断赋值命令,用来禁止发送请求中断。SCC检测到最后一个字符,中断将停止,直到另外的报文写到传送缓冲器。
寄存器RR2用来说明中断矢量和状态,它从B信道读取。RR3是中断赋值寄存器,用来指示中断的类型,它从A信道读取。
外部/状态中断源包括:断点/异常中断、发送欠载/报文结束中断、CTS中断、同步/搜索中断、DCD中断、零计数中断。它由WR1和WR15设置,只有WR1中外部/状态中断允许位置和WR15中的相应控制位置位后,外部/状态条件才会产生中断。
结语
采用该设计方案,能够满足不同通信格式的要求,软件编程可根据实际情况选用查
询方式、中断方式、DMA传送方式,如需要可以加MODEM控制方式。由于Z85C30功能强大,在许多嵌入式系统、网络设计方面,选用Z85C30作为通信控制器进行开发,完全能够实现其预期的功能。
篇12:基于Z85C30的多协议串行通信设计
基于Z85C30的多协议串行通信设计
摘要:简要从硬件和软件两方面介绍一种嵌入式的多协议串行通信设计方案。该设计方案采用多协议串行通信控制器Z85C30及外围电路开发,通过软件编程,可满足各种串行通信要求,如异步、按字节同步、按位同步等通信格式。关键词:嵌入式系统 串行通信控制器(SCC) Z85C30
引言
我们在嵌入式系统的开发过程中,经常需要设计串行通信口,用以同其它设备或计算机网络交换数据。针对不同的应用场合及不同的通信格式,在硬件设计方面有许多不同的芯片可供选择,如Intel 8251A、Intel 8274、Intel 82530等。采用ZILOG公司的'串行通信控制器Z85C30进行设计,和其它器件相比,具有功能强、速度快、外部逻辑少等优点。
1 串行通信控制器Z85C30介绍
Z85C30是ZILOG公司推出的一种串行通信控制器(SCC)。它具有双通道,适用于8位、16位处理器的系统,能够完成串行到并行、并行到串行的转换。Z85C30能够处理诸如异步格式、面向字节的同步规程(如IBM双同步规程)、面向比特的同步规程(如HDLC、SDLC);能够产生、检查CRC循环冗余检验码。
Z85C30每个通道有14个写寄存器、7个读寄存器。通过对其编程,可将通信控制器配置满足各种格式,如数据长度、停止位的位数、有无奇偶检验等。
1.1 Z850C30主要性能
①同步速率。16MHz时钟下,传输速率达4Mb/s;使用16MHz时钟,传输速率达1Mb/s(FM编码);使用16MHz时钟,传输速率达500Kb/s(NRZI编码)。
②异步性能。每个字符5、6、7或8位;1/2或2位停止位;奇或偶校验;1、16、32、64倍时钟格式;断点产生和测试;奇偶、超载和帧出错测试。
③按字节同步性能。内同步或外同步;1或2个同步字符;自动CRC产生、测试。
④SDLC/HDLC性能。异常中止序列的产生和检测;“0”的自动插入和删除,报文间标志的自动插入,地址段的识别,信息段剩余管理,CRC产生、测试;具有EOP识别/循不入口和出口的SDLC方式;可选NRZ、NRZI、曼彻斯特或FM编/解码;具有时钟恢复能力的数字锁相环;具有自动回波和局
[1] [2] [3] [4]
篇13:基于CAN总线的多ECU通信平台设计
基于CAN总线的多ECU通信平台设计
摘要:介绍CAN总线及其通信协议J1939,并设计基于CAN总线的多ECN通信平台的硬件结构;阐述节点ECN通信的软件设计方法,在仿真试验的条件下实现数据通信的功能。试验表明平台运行稳定可靠。关键词:CAN总线 ECN J1939协议 通信平台
引言
随着集成电路和单片机在汽车上的广泛应用,现代汽车上的电子控制器的数量越来越多,常见的有发动机的电子燃油喷射装置、防抱死制动装置(ABS)、安全气囊装置、电动门窗装置、主动悬架等。电控系统的增加虽然提高了轿车的动力性、经济性和舒适性,但随之增加的复杂电路也降低了汽车的可靠性,增加了维修的难度。从布线角度分析,传统的电子气系统大多采用点对点的单一通信方式,相互之间少有联系,这样必然造成宠大的布线系统。因此,一种新的概念――汽车上电子控制器局域网络CAN,也就应运而生。为使不同厂家生产的零部件能在同一辆汽车上协调工作,必须制定标准。按照ISO有关标准,CAN的拓扑结构为总线式,因此称为CAN总线。CAN总线被设计作为汽车环境中的微控制器通信,在车载各电子控制装置ECN之间交换信息,在车载各电子控制装置ECN之间交换信息,形成汽车电子控制网络。
控制器局域网CAN(Controller Area Network)是一种多主方式的串行通信总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。CAN在汽车上的应用,具有很多行业标准或者是国际标准,比如国际标准化组织(ISO)的ISO11992、ISO11783以及汽车工程协会(Society of Automotive Engigeers)的SAE J1939。CAN总线已经作为汽车的一种标准设备列入汽车的整车设计中。
图1
1 CAN总线特点及其通信协议
1.1 CAN总线简介
CAN通信协议规定了4种不同的帧格式,即数据帧、远程帧、错误帧和超载帧。基于以下几条基本规则进行通信协调:总线访问、仲裁、编码/解码、出错标注和超裁标注。CAN遵从OSI模型。按照OSI基准模型只有三层:物理层、数据链路层和哀告层,但应用层尚需用户自己定义。CAN总线作为一种有效支持分布式控制或实时控制的串行通信网络,应用范围遍及从高速网络到低成本的多线路网络。如:CAN在汽车中的发动机控制部件、ABS、抗滑系统等应用中的位速率可高达1Mbps。同时,它可以廉价地用于交通运载工具电器系统中,例如电气窗口、灯光聚束、座椅调节等,以替代所需要的硬件连接。其传输介制裁为双绞线,通信速率最高可达1Mbps/40m,直接传输距离最远可达10km/5kbps,挂接设备数最多可达110个。CAN为多主工作方式,通信方式灵活,无需站地址等节点信息,采用非破坏性总线仲裁技术,满足实时要求。另外,CAN采用短帧结构传输信号,传输时间短,具有较强的抗干扰能力。
CAN总线与其它通信协议的不同之处主要有两方面:一是报文传送不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,其特点是可在线上网下网、即插即用和多站接收;另外一个方面就是特别强化了数据安全性,满足控制系统及其它较高数据要求系统的需求。
1.2 J1939通信协议
J1939协议是在CAN总线通信协议2.0B(29标识符)之上具体实现了应用层,是SAE为重载卡车和客车制定的通信协议;以CAN 2.0B为基础,物理层标准与ISO11898规范兼容并采用符合该规范的CAN控制器及收发器。J1939协议将CAN标识符划分为如下几个部分:优先级(P)、数据页(PGN)、协议数据单元(PDU)格式、PDU特定域(PS)和源地址(SA)。J1939/71应用层文档定义了车辆控制的各种参数及命令的PGN。
(本网网收集整理)
由此可见,J1939与CAN通信协议的区别在于29位标识符(ID),数据场相同。J1939将CAN的29位标识符(或称辨识别)进行了详细的物理定义。通过PDU将CAN标准格式封装为J1939协议格式。PDU信息帧又由优先权P、保留位R、数据页DP、协议数据单元PF、扩展单元PS、源地址SA和数据场DATA七个部分组成,即CAN的29位标识符加上数据。
2 总体设计
2.1 汽车电控网络结构
汽车内ECU之间的数据传输特征主要差别在于数据传输频率,例如发动机高速运行时,进行的是高频数据传输,每隔几ms就传输1次;而在低速运行时,进行的是低频数据传输,每隔几十ms乃至几百ms才传输1次。然而为了满足实时性要求,就要求汽车内每个控制单元尽可能实现汽车公共数据共享,但又由于每个控制单元对实时性的要求是因为数据的更新速率和控制周期不同而不同的。这就要求其数据交换网是基于优先权竞争的模式,
且本身具有较高的通信速率。CAN总线正是为满足这些要求而设计的。CAN已有国际标准,即高速场合的'ISO11898和用于低速场合的ISO11519-3。
通常的汽车网络结构采用多条不同速率的总线分别连接不同类型的节点,并使用网关服务器来实现整车的信息共享和网络管理。若按照美国汽车工程师协会(SAE)车辆网络委员会标准SAE J2057,将汽车数据传输网划分为三类。这里可用图1简单说明。其中网关是汽车内部通信的核心,通过它可以实现在CAN总线上信息的共享以及实现汽车内部的网络管理和故障诊断功能;将各个数据总线上的信息反馈到仪表板总成上的显示屏上,驾驶者通过仪表板上的信息就可以知道各个电控装置是否正常工作了。
2.2 通信平台硬件设计
在设计中,主控芯片CPU选用51系列的单片机。CAN通信控制器执行完整的CAN协议,完成通信功能,包括信息缓冲和接收滤波,故CAN控制器选用Philips的SJA1000。选用PCA82C250作为CAN总线的收发器,PCA82C250是CAN协议控制器和物理总线之间的接口,在运行环境中具有抗瞬变、抗射频和抗电磁干扰性能,内部的限流电路具有电路短路时对传送输出级进行保护的功能。传输介质采用屏蔽电费,在测控节点与介质之间加入光耦电路,以提高总线接口的抗干扰能力。图2为通信平台硬件框图,图3为控制器与收发器连接接口。
为进一步提高系统的可靠性,需要考虑到系统的冗余设计。由于汽车环境恶劣且干扰因素较多,在CAN_H和CAN_L信号线与地线之间分别并联了两个电容,滤去噪声,使信号传输平稳。双屏蔽电费可设两套,在两套介质上同时进行信息传输。接收方只用一个介质,在冗余和非冗余段的连接临界点进行总线切换。
2.3 软件设计
简单地说,本通信平台所要实现的功能就是,使各个节点(ECU)通过CAN总线实现相互通信,发送接收命令、信息等,并实现数据的共享,从而提高各自的控制性能和运行效率。汽车上CAN数据总线的每个节点(ECU)都有自己的地址和名称相对应。ECU地址指出了数据传送的目的地,而其名称则标识了ECN的基本功能。节点连续监视着总线上发出的各种数据。当所收到的数据地址值与自身地址吻合时,该节点就获得令牌。在通信规约中,唯一获得令牌的该节点有权发送数据,以防止两个或两个以上的节点同时传输数据引起混乱。同时每一个节点都有机会得到令牌,完成数据传输。
本软件设计是基于Keil C语言编写的。程序主要由主模块、中断处理模块及数据通信模块等组成,如图4所示。
图4
主模块完成对硬件初始化、寄存器的配置、SJA1000初始化等;中断处理模块包括数据中断的发送、接收、错误处理及报警处理等;数据通信模块完成数据的请求、发送、接收等。
当一个节点A发送数据请求报文(远程帧),向另外一个节点B请求报文(应答帧)时,节点B接收到请求后,经过判别,而后发送数据(应答帧)。由于数据请求没有数据场,所以相对数据帧长度小很多。经分析验证之后与节点B收到的数据相同,请求数据程序得到验证。
结语
在现代汽车的设计中,CAN总线已经成为构建汽车网络的一种趋势;而汽车网络作为直接与汽车内部各个ECU连接并负责命令的传递、数据的发送及共享,其可靠性和稳定性与整车的性能紧密相关。本文的设计开发是在基于试验条件下搭建的仿真平台,节点之间的通信是通过对等的CAN通信节点进行的。试验表明其运行性能稳定可靠,但实用化仍需要进一步的研究和改进,且程序的通信处理能力、纠错和容错能力有待进一步的提高。
篇14:跨平台、多浏览器页面测试网页设计
当产品走到HTML Coding这块,多浏览器的测试是很重要,也很麻烦的一个环节,现在大家主要是保证IE6,7及Firefox的一致。
browsershots提供了Linux、Windows、Mac os、BSD四个平台下的多个浏览器的页面截图,很强大,
不过我主要就看看Windows和Mac os下的效果就好,选择太多浏览器会导致速度非常慢。
完成后的所有截图:
来自:5key.net/blog/index.php//06/19/test-your-web-design-in-different-browsers/
篇15:基于CAN总线的多ECU通信平台设计
基于CAN总线的多ECU通信平台设计
摘要:介绍CAN总线及其通信协议J1939,并设计基于CAN总线的多ECN通信平台的硬件结构;阐述节点ECN通信的软件设计方法,在仿真试验的条件下实现数据通信的功能。试验表明平台运行稳定可靠。关键词:CAN总线 ECN J1939协议 通信平台
引言
随着集成电路和单片机在汽车上的广泛应用,现代汽车上的电子控制器的数量越来越多,常见的有发动机的电子燃油喷射装置、防抱死制动装置(ABS)、安全气囊装置、电动门窗装置、主动悬架等。电控系统的增加虽然提高了轿车的动力性、经济性和舒适性,但随之增加的复杂电路也降低了汽车的可靠性,增加了维修的难度。从布线角度分析,传统的电子气系统大多采用点对点的单一通信方式,相互之间少有联系,这样必然造成宠大的布线系统。因此,一种新的概念――汽车上电子控制器局域网络CAN,也就应运而生。为使不同厂家生产的`零部件能在同一辆汽车上协调工作,必须制定标准。按照ISO有关标准,CAN的拓扑结构为总线式,因此称为CAN总线。CAN总线被设计作为汽车环境中的微控制器通信,在车载各电子控制装置ECN之间交换信息,在车载各电子控制装置ECN之间交换信息,形成汽车电子控制网络。
控制器局域网CAN(Controller Area Network)是一种多主方式的串行通信总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。CAN在汽车上的应用,具有很多行业标准或者是国际标准,比如国际标准化组织(ISO)的ISO11992、ISO11783以及汽车工程协会(Society of Automotive Engigeers)的SAE J1939。CAN总线已经作为汽车的一种标准设备列入汽车的整车设计中。
图1
1 CAN总线特点及其通信协议
1.1 CAN总线简介
CAN通信协议规定了4种不同的帧格式,即数据帧、远程帧、错误帧和超载帧。基于以下几条基本规则进行通信协调:总线访问、仲裁、编码/解码、出错标注和超裁标注。CAN遵从OSI模型。按照OSI基准模型只有三层:物理层、数据链路层和哀告层,但应用层尚需用户自己定义。CAN总线作为一种有效支持分布式控制或实时控制的串行通信网络,应用范围遍及从高速网络到低成本的多线路网络。如:CAN在汽车中的发动机控制部件、ABS、抗滑系统等应用中的位速率可高达1Mbps。同时,它可以廉价地用于交通运载工具电器系统中,例如电气窗口、灯光聚束、座椅调节等,以替代所需要的硬件连接。其传输介制裁为双绞线,通信速率最高可达1Mbps/40m,直接传输距离最远可达10km/5kbps,挂接设备数最多可达110个。CAN为多主工作方式,通信方式灵活,无需站地址等节点信息,采用非破坏性总线仲裁技术,满足实时要求。另外,CAN采用短帧结构传输信号,传输时间短,具有较强的抗干扰能力。
CAN总线与其它通信协议的不同之处主要有两方面:一是报文传送不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,其特点是可在线上网下网、即插即用和多站接收;另外一个方面就是特别强化了数据安全
[1] [2] [3]
篇16:机载多框架陀螺稳定平台速度稳定环设计
机载多框架陀螺稳定平台速度稳定环设计
针对多框架陀螺稳定平台中谐振频率较低和摇摆台摇摆换向时跟踪误差曲线上出现尖峰问题,提出了一种串联平方滞后超前校正环节和非线性加速度补偿措施,设计了平台速度稳定环.在摇摆台按幅值为,周期为6s的正弦规律运动条件下,稳定精度为,满足指标要求,表明该速度稳定环在实际中是很有效的.
作 者:毕永利 刘洵 葛文奇 李洁 作者单位:中国科学院长春光学精密机械与物理研究所,吉林,长春,130022 刊 名:光电工程 ISTIC PKU英文刊名:OPTO-ELECTRONIC ENGINEERING 年,卷(期):2004 31(2) 分类号:V241.5 关键词:陀螺稳定平台 速度稳定环 谐振频率 加速度补偿文档为doc格式