资料介绍
数据交换区是指程序执行中使用到的各种数据所存放的内存空间。本文提出了在μClinux操作系统下为嵌入式工业网络服务器开辟数据交换萄思想和解决方案。嵌入式工业网络服务器项目的开发目的是构建一个以Client/Server模式工作的工业远程监控系统,其前端是一个嵌入式服务器,它安装在工业现场,可以与三菱PLC组成的控制系统接口,对该系统实施实时监控。其中数据交换区部分起到承上启下的枢纽作用,向上负责对客户端交互现场设备数据,向下负责与接口缓冲区交互设备实时数据。系统以Motorola公司的32位控制器ColdFire5307为CPU,使用2个现代公司的HY57V641620型(4M×16bit)的SDRAM拼成4M×32位的SDRAM,使系统具有16bytes的RAM空间。
1μClinux操作系统
系统选取μClinux操作系统为开发平台,为有2个SDRAM(4M×16bit)的嵌入式工业网络服务器开辟数据交换区。
ColdFire5307微处理器上可以运行很多操作系统,但是可以说μClinux是最合适、性价比最高的操作系统。目前商用的实时操作系统,如VxWorks和Nuclesus等价格比较昂贵,而且需要附加的C编译器和相关的调试工具。而μCOS等免费的实时操作系统又没有很好的文件系统和TCP/IP协议的支持,就嵌入式工业网络服务器的应用特点而言,μClinux内核采用模块化设计,很多功能块可以独立地加载或卸载,在设计内核时可以把这些内核模块作为可选项,编译系统内核时指定。一种较通用的做法是对μClinux内核重新编译,在编译时仔细的选择嵌入式系统所需要的功能支持模块,同时删除不需要的功能模块。通过对内核的重新配置,可以使系统运行所需要的内核显著减小,从而缩减需要的控制器RAM和ROM资源。
μClinux同标准Linux的最大区别在于内存管理,对SDRAM数据交换区的管理就属于内存管理范畴。标准Linux使用虚拟存储器技术,对于μClinux来说,其设计针对没有MMU(memorymanagementunit)的处理器。但μClinux仍然采用存储器的分页管理,系统在启动时把实际存储器进行分页。在加载应用程序时程序分页加载。但是由于没有MMU管理,所以实际上μClinux采用实存储器管理策略(realmemory management)。μClinux系统对于内存的访问是直接的,它对地址的访问不需要经过MMU,而是直接送到地址线上输出,所有程序中访问的地址都是实际的物理地址。μClinux对内存的管理从编译内核开始,从而系统将在启动的初始化阶段对内存进行分页,并且标记已使用的和未使用的内存。系统将在运行应用时使用这些分布内存。另外由于采用实存储器管理策略,用户程序同内核以及其他用户程序在一个地址空间,程序开发时要保证不侵犯其他程序的地址空间,以使得程序不至于破坏系统的正常工作,或导致其他程序的运行异常。 2 数据交换区硬件架构
系统采用Motorola公司的ColdFire5307型32位控制电路为CPU,用2个现代公司的HY57V641620型的SDRAM(4M×16bit)拼成4M×32位的SDRAM,使系统具有16Mbytes的RAM空间。
ClodFire系列微处理器是Motorola公司继其M68K系列微处理器之后推出的新一代内核的32位高位能嵌入式微处理器。ClodFire系列微处理器继承了M68K系列优秀的指令集设计和CISC架构的优点,融入了RISC架构,在速度和架构之间得到了很好的平衡。ColdFire 5307型微处理器运行在外部总线时钟45MHz,内部总线时钟90MHz,速率可达75MIPS。
与Flash存储器相比较,SDRAM不具有掉电保存数据的特性,但其存取速度大大高于Flash存储器,且具有读/写的属性。因此,SDRAM在系统中主要用于程序的运行空间、数据交换区及堆栈区。当系统启动时,CPU首先从复位地址0x0处读取启动代码,在完成系统初始化后,程序代码一般应调入SDRAM中运行,以提高系统的运行速度,同时,系统及用户堆栈、运行数据也都放在SDRAM中。SDRAM具有单位空间存储容量大价格便宜的优点,已广泛应用在各种嵌入式系统中。SDRAM的存储单元可以理解为一个电容器,总是倾向于放电,为避免数据丢失,必须定时刷新(充电)。
嵌入式工业网络服务器项目中的数据交换区根据数据交换匹配置文件生成。向上负责与客户端交互现场设备数据,向下负责与接口缓冲区交互设备实时数据。每个SDRAM由4M×16bit的内部Bank组成,这个Bank的选择由SDRAM外部引脚BA0和BA1来完成,笔者将BA0和BA1都连接在ColdFire5307的高端地址线上;其他信号和ColdFire 5307都一一对应。UDQM和LDQM是SDRAM的高低字节片选信号,因为每个SDRAM都是16位架构,所以将二片SDRAM拼成32位时,除数据线和这二个片选信号之外,其他信号线对二个SDRA来说都是共用的。这二个信号分别接Cold Fire 5307的CAS0、CAS1和CAS2、CAS3。SDRAM与MCF5307的连接如图1所示。
ColdFire5307可以支持二个Bank的SDRAM,在本系统中只使用了第一个Bank,另外一个Bank的控制信号悬空不使用。其中,SDRAM和FlashRom以及其他外设一同使用32位数据总线D0-D31;SDRAM映射到内部物理地址,但是因为SDRAM的特殊性,并不需要所有的地址线信号A0-A31,而是使用其中一部分信号线,这个地址映射的工作由DRAM控制器来完成;RAS0-RAS1是Bank片选信号,本设计中只使用RAS0来片选所使用的SDRAMBank;CAS0-CAS3是SDRAM 32位数据线中4个8位数据线(Byte)独立的片选信号;SCAS和SRAS分别是SDRAM的行、列地址锁存信号;DRAMW是DRAM写信号;BCLK0是系统时钟输出,连接到SDRAM的时钟输入引脚CLK端;SCKE是SDRAM时钟使能信号,来使能输入给SDRAM的时钟信号,高电平时SDRAM自动进入休眠状态。
1μClinux操作系统
系统选取μClinux操作系统为开发平台,为有2个SDRAM(4M×16bit)的嵌入式工业网络服务器开辟数据交换区。
ColdFire5307微处理器上可以运行很多操作系统,但是可以说μClinux是最合适、性价比最高的操作系统。目前商用的实时操作系统,如VxWorks和Nuclesus等价格比较昂贵,而且需要附加的C编译器和相关的调试工具。而μCOS等免费的实时操作系统又没有很好的文件系统和TCP/IP协议的支持,就嵌入式工业网络服务器的应用特点而言,μClinux内核采用模块化设计,很多功能块可以独立地加载或卸载,在设计内核时可以把这些内核模块作为可选项,编译系统内核时指定。一种较通用的做法是对μClinux内核重新编译,在编译时仔细的选择嵌入式系统所需要的功能支持模块,同时删除不需要的功能模块。通过对内核的重新配置,可以使系统运行所需要的内核显著减小,从而缩减需要的控制器RAM和ROM资源。
μClinux同标准Linux的最大区别在于内存管理,对SDRAM数据交换区的管理就属于内存管理范畴。标准Linux使用虚拟存储器技术,对于μClinux来说,其设计针对没有MMU(memorymanagementunit)的处理器。但μClinux仍然采用存储器的分页管理,系统在启动时把实际存储器进行分页。在加载应用程序时程序分页加载。但是由于没有MMU管理,所以实际上μClinux采用实存储器管理策略(realmemory management)。μClinux系统对于内存的访问是直接的,它对地址的访问不需要经过MMU,而是直接送到地址线上输出,所有程序中访问的地址都是实际的物理地址。μClinux对内存的管理从编译内核开始,从而系统将在启动的初始化阶段对内存进行分页,并且标记已使用的和未使用的内存。系统将在运行应用时使用这些分布内存。另外由于采用实存储器管理策略,用户程序同内核以及其他用户程序在一个地址空间,程序开发时要保证不侵犯其他程序的地址空间,以使得程序不至于破坏系统的正常工作,或导致其他程序的运行异常。 2 数据交换区硬件架构
系统采用Motorola公司的ColdFire5307型32位控制电路为CPU,用2个现代公司的HY57V641620型的SDRAM(4M×16bit)拼成4M×32位的SDRAM,使系统具有16Mbytes的RAM空间。
ClodFire系列微处理器是Motorola公司继其M68K系列微处理器之后推出的新一代内核的32位高位能嵌入式微处理器。ClodFire系列微处理器继承了M68K系列优秀的指令集设计和CISC架构的优点,融入了RISC架构,在速度和架构之间得到了很好的平衡。ColdFire 5307型微处理器运行在外部总线时钟45MHz,内部总线时钟90MHz,速率可达75MIPS。
与Flash存储器相比较,SDRAM不具有掉电保存数据的特性,但其存取速度大大高于Flash存储器,且具有读/写的属性。因此,SDRAM在系统中主要用于程序的运行空间、数据交换区及堆栈区。当系统启动时,CPU首先从复位地址0x0处读取启动代码,在完成系统初始化后,程序代码一般应调入SDRAM中运行,以提高系统的运行速度,同时,系统及用户堆栈、运行数据也都放在SDRAM中。SDRAM具有单位空间存储容量大价格便宜的优点,已广泛应用在各种嵌入式系统中。SDRAM的存储单元可以理解为一个电容器,总是倾向于放电,为避免数据丢失,必须定时刷新(充电)。
嵌入式工业网络服务器项目中的数据交换区根据数据交换匹配置文件生成。向上负责与客户端交互现场设备数据,向下负责与接口缓冲区交互设备实时数据。每个SDRAM由4M×16bit的内部Bank组成,这个Bank的选择由SDRAM外部引脚BA0和BA1来完成,笔者将BA0和BA1都连接在ColdFire5307的高端地址线上;其他信号和ColdFire 5307都一一对应。UDQM和LDQM是SDRAM的高低字节片选信号,因为每个SDRAM都是16位架构,所以将二片SDRAM拼成32位时,除数据线和这二个片选信号之外,其他信号线对二个SDRA来说都是共用的。这二个信号分别接Cold Fire 5307的CAS0、CAS1和CAS2、CAS3。SDRAM与MCF5307的连接如图1所示。
ColdFire5307可以支持二个Bank的SDRAM,在本系统中只使用了第一个Bank,另外一个Bank的控制信号悬空不使用。其中,SDRAM和FlashRom以及其他外设一同使用32位数据总线D0-D31;SDRAM映射到内部物理地址,但是因为SDRAM的特殊性,并不需要所有的地址线信号A0-A31,而是使用其中一部分信号线,这个地址映射的工作由DRAM控制器来完成;RAS0-RAS1是Bank片选信号,本设计中只使用RAS0来片选所使用的SDRAMBank;CAS0-CAS3是SDRAM 32位数据线中4个8位数据线(Byte)独立的片选信号;SCAS和SRAS分别是SDRAM的行、列地址锁存信号;DRAMW是DRAM写信号;BCLK0是系统时钟输出,连接到SDRAM的时钟输入引脚CLK端;SCKE是SDRAM时钟使能信号,来使能输入给SDRAM的时钟信号,高电平时SDRAM自动进入休眠状态。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 基于单向传输协议的网络数据交换技术 7次下载
- 组态王与VB数据交换方法 16次下载
- 一种电子政务数据交换模型的设计 12次下载
- 一种基于JCA的数据交换架构 17次下载
- 智能仪表的一种数据交换技术 17次下载
- 多单片机系统中的数据交换 13次下载
- 关于ISA 数据交换的一些小例子 20次下载
- 多单片机系统中的数据交换 20次下载
- 基于任务的数据交换平台 16次下载
- 策略驱动的数据交换模型 5次下载
- 安全数据交换技术在HIS中的应用 14次下载
- 基于时间闸和放行令牌的数据交换技术 17次下载
- 基于实时数据交换技术的数据通信 13次下载
- 直接互连结构在数据交换中的应用分析 25次下载
- 一个系统中多单片机之间的数据交换 13次下载
- 网络交换芯片的工作原理及作用 86次阅读
- srio交换芯片是什么?srio交换芯片的原理和作用 1573次阅读
- 交换芯片是什么 交换芯片的工作原理和作用 1635次阅读
- 以太网交换机怎么用 以太网交换机有什么用 435次阅读
- ZEMAX与MATLAB动态数据交换及其应用 526次阅读
- 如何实现西门子、欧姆龙、三菱、AB等PLC之间数据交换 687次阅读
- 交换机的特点、工作原理及数据交换方式 5778次阅读
- Profinet直接数据交换功能概述 1347次阅读
- S7-1500 CPU支持与其它S7-1500 CPU进行直接数据交换 2678次阅读
- JustWeEngine游戏框架网络事件处理 Http服务器的数据交换 1509次阅读
- 什么是分组交换网_分组交换网的构成 6821次阅读
- 怎样才能实现S7-1500与第三方自动化系统的数据交换? 4927次阅读
- 关于ARM7 S3C4510B上μClinux移植问题 2217次阅读
- 基于FPGA的BIade Server与主板之间PCI数据交换 2026次阅读
- 利用OPC实现VC应用程序与PLC的数据交换 4716次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多