




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 远程温度监控 项目设计方案 1 项目设计方案 本设计的系统框图如下所示: 图 实施方案: 实现对 温度传感器进行温度的采集,通过 览器 访问 以查看到温度的情况,然后在通过 子上的 喇叭连接) 进行控制,来模拟对温度的控制。 用户用 览器访问板子的 务器,然后发送命令对板子进行控制。 监测温度:将温度以网页的形式显示出来,网页每两秒刷新一次 并监测温度,如果大于预设值则驱使 出报警。 升加 1 C:用户点击该按钮即可实现对 控制,是喇叭发出声响,来模拟对温度的控制。 降低 1 C:用户点击该按钮即可实现对 控制,是喇叭发出声响,来模拟对温度的控制。这三者的频率都不一样。 统 框图如下: 温度传感 器 务器 喇叭 2 图 统 框图 3 2 开发环境 介绍 实验板是公司设计的 列实验板之一,采用了恩智浦公司基于 核、单电源供电、 装的 有 实验板上提供了一些键盘、数码管、 叭等常用功能部件,还具有 口电路、 储器电路、 路、 线电路、 接口、 线电路、 口电路以及 10M/100M 以太网电路。另外,用户也可以更换兼容的 行仿真调试,如 。还为用户引出 I/O 接口以及地址和数据总线接口,极大地方便了用户进行 32 位 入式系统的开发实验。 绍 系统采用 芯片 16 位的存储宽度,因此芯片的 与总线的连接。片选信号使用 样本片 配置为外部静态存储器的地址范围为 00如下图所示: 图 4 用电平为 取时间 70装形式为 48 脚的 装。 共提供了 35 个扇区,其中 4 34 号扇区为 64 32扇区的操作为字节模式或字模式。字节模式时,每个扇区的存储单元大小为 8模式时,扇区的存储空间寻址范围小一半,但每个地址单元的数据大小为 16 对 储器的数据读操作跟普通的 一样的。但进行写、擦除、查询等操作时要使 用写入组合命令字来实现。 命令字见下 图 。 图 如:当要查询芯片的生产厂商 时,在字模式下,前三个周期分别向地址000写入数据 000四个周期从地址 0 处即可获得厂商 or 列芯片具备外部存储器接口,通过外部存储器控制器( 以扩展两组共 8 个 存储器组(静态存储器 态存储器 对于外扩的 ,则可以使用 令读取数据,但是不能使用 是需要根据 片写操作时序进行控制,实现 擦除编程。 5 绍 总线的连接与 连接不同,地址线只用了 22 做时钟使能和地址使能信号,数据线只用 8 位作为 。分别与总线连接。片选信号使用 样本片 配置为外部静态存储器的 地址范围为 00硬件连接图如下: 图 9存储容量为 256M 8 256,采用块页式存储管理。 8个 I/址、命令的复用端口。 芯片内部存储布局及存储操作特点 一片 其数据存储分层为: 1 64 128K + 4k) (2K + 64) (2K + 64)B x 64 (128K + 4K) (2K+64)B x 64x 2048 2112 64每一页中,最后 64个字节(又称 于 重要芯片引脚功能 I/7:复用引脚。 可以通过它向 址、 6 状态信息。 命令锁存允许 。 地址锁存允许 。 片选择 。 允许 。 允许 。 写或擦除期间,提供写保护 。 R/B:读 /忙输出 。 条命令都有一个或多个执行周期,每个执行周期都有相映代码表示该周期将要执行的动作。 主要命令有: 、 、 D、 详细介绍如下: 1. : 功能:表示将要读取 且将内置指针定位到前半部分的第一个字节。 命令代码: 00h 2. : 功能:表示将要读取 且将内置指针定位到后半部分的第一个字节。 命令代码: 30h 3. D: 功能:读取 命令代码: 90h 4. 功能:重启芯片。 命令代码 : . 功能:对页进行编程命令 , 用于写操作。 7 命令代码 : 写入 80写入模式 ),接下来写入地址和数据 ; 最后写入 10 6. 能:块擦除命令。 命令代码:首先写入 60后输入块地址 ; 接下来写入 表示擦写结束 . 7. 能:读取内部状态寄存器值命令。 命令代码: 70h 太网接口介绍 以太网模块包含一个功能齐全的 1000太网 体访 问控制器),这个以太网 太网模块的功能包括大量的控制寄存器组、半双工或全双工操作、流控制、控制帧、用于重新发送的硬件加速功能、接收包过滤以及 用分散 行自动的帧发送和接收操作,分担( 来自 大量操作。以太网模块和 该系统用于访问以太网 制和状态信息。 的其它所有 信均在另一个 系 统上完成,从而有效地将以太网活动与系统的其它部分分开。以太网 可以通过外部存储器控制器来访问片外存储器以及 的 是,当使用以太网 外的存储器,尤其是片外存储器时,将减慢以太网访问存储器的速度并增加 太网模块使用 体独立接口)或 化的 议以及片上 体独立接口管理)串行总线来连接片外的以太网 太网模块特点 以太网标准支持: 1000件,包括 10 100 100 00 完全遵循 准 完全兼容 双工流控和半双工背压技术( 灵活的发送帧和接收帧选项; 支持 8 存储器管理: 独立的发送和接收缓冲区存储器,映射到共用的 带有分散 /集中式 通过缓冲和预取来实现存储器通信的优化。 以太网增强的功能: 接收进行过滤; 发送和接收均支持多播帧( 广播帧( 发送操作可选择自动 可选择在发送操作时自动进行帧填充( 发送和接收均支持超长帧传输,允许帧长度为任意值; 多种接收模式; 出现冲突时自动退避( 重新传送帧信息; 通过时钟切换实现功率管理; 支持 “唤醒 ” 的功率管理功能以便将系统唤醒,该功能可使用接收滤波器或魔法帧( 测滤波器来实现。 物理接口: 通过标准的媒体独立接口( 标准的简化 口来连接外部特性可通过软件来选择; 通过媒体独立接口管理( 口可访问 太网模块 初始化 复位后,以太网软件驱动程序需对以太网模块进行初始化。在初始化过程中,软件需完成: 将软件复位条件从 通过 选择 配置发送和接收 括描述符数组; 配置 使能接收和发送数据通道。 9 件 开发环境的介绍 操作系统: P , 。 使用 软件: 虚拟机软件 口工具 叉编译工具: 使用 源 码 :: 10 3 移植 系统的 移植是本项目的最重要的工作,系统的移植完成了,该项目可以说完成了很大的一部分。 系统的移植包括两大部分的移植工作: 移植和 移植。 其中 移植又包括下面三部分的工作: ( 1)、 移植; ( 2)、 移植; ( 3)、网卡驱动的移植; 统的移植包括下面四部分的工作: ( 1)、 移植; ( 2)、 件系统的制作; ( 3)、网卡驱动的移植; ( 4)、 务器的移植; 本章先介绍 移植,第四章介绍 统的移植。 介 在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的 软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通常, 严重地依赖于硬件而实现的,因此,在嵌入式世界里建立一个通用的 乎是不可能的。 常用的 。通常要在特定的嵌入式平台上使用这些 要做一定的编程移植工作 。 称 一个遵循 款的开放源码项目。从8步发展演化而来。从 顺利过渡,很大程度上归功于 维护人德国 件工程中心 人精湛的专业水平和持着不懈的努力。当前, 目正在他的领军之下,众多有志于开放源码 植工作的嵌入式开发人员正如火如荼地将各种不同系列嵌入式处理器的移植工作不断展开和深入,以支持更多的嵌入式操作系统的装载与引导。 源码目录、编译形式与 核很相似,事实上,不少 码就是相 应的 核源程序的简化,尤其是一些设备的驱动程序,这从 码的注释中就能体现这一点。但是 仅仅支持嵌入式 统的引导,当前,它还支持 嵌入式操作系统。其目前要 11 支持的目标操作系统是 。这是 一层含义,另外一层含义则是 了支持 列的处理器外,还能支持 诸多常用系列的处理器。这两个特点正是 目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。就目前来看, 列处理器支持最为丰富,对 支持最完善。 其主要特点有: 开放源码; 支持多种嵌入式操作系统内核,如 支持多个处理器系列,如 较高的可靠性和稳定性; 高度灵活的功能设置,适合 试、操作系统不同引导要求、产品发布等; 丰富的设备驱动源码,如串口、以太网、 盘等; 较为丰富的开发调试文档与强大的网络技术支持。 代码的目录结构 : 目 录 特 性 解释说明 台依赖 存放开发板相关的目录文件 台依赖 存放 台依赖 示某种体系结构,如 放对 系结构通用的文件, 放对 系结构通用的文件等。这类目录共有 12 个。 用 头文件和开发板配置文件 用 通用的多功能函数实现 用 通用的库函数实现 用 存放网络程序 用 存放文件系统程 序 用 硬盘接口程序 用 通用的设备驱动程序,如串口、 12 用 存放上电自检程序 用例程 一些独立运行的应用程序的例子,如 具 存放一些制作映像的工具,如 档 开发使用文档 源代码包含对几十种处理器、几百种开发板的支持,对于特定的开发板,配置编译只需要改动其中平台依赖的部分程序即可。 责初始化硬件环境,把后跳到 的 去执行。 初始化流程,尤其是 到的全局数据结构 gd、初始化,以及设备和控制台的初始化。 :在 录下的代码都是严重依 赖于目标板的。对于不同的 说, 可以有相对通用的代码。但是板子的构成却是非常多样的,主要的差别是内存地址、 围芯片如网络等等。以上几个文件分别用于 的低级初始化、 动、网络驱动等。如果要给开发板修改驱动程序或添加新的设备驱动程序,即添加在此处。 个头文件中主要定义了两类变量。一类是选项,前缀是 来选择处理器、设备 接口、命令、属性等,主要用来决定是否编译某些文件或者函数。另一类是参数,前缀是 来定义总线频率、串口波特率、 址等参数。这些常数参量主要用来支持通用目录中的代码,定义板子资源参数。 这两类宏定义对 移植性非常关键,开发板上的相关硬件设备的启用与否,是通过编译条件判断 # #选择配置编译的。 命令也要通过这个配置头文件来进行配置:比如要添加 令,就必须添加 然 不会被编译了。 两个文件跟 内存分配有关。 的 定义了 编译的链接脚本文件,定义了链接生成 像时各程序段的起始地址、内存分配、对齐方式等。 13 级的编译配置文件。使用该文件可以配置录 中的哪些文件被编译进映像中。 对于 台来说, 动流程主要是在两个文件中: 引导代码 ,相当于常说的 的 责初始化硬件环境,把 载到 去,然后跳到相关入口中去执行。 成的主要工作有: 定义程序入口; 一个可执行的 须有一个并且只能有一个唯一的全局入口点。通常这个入口放 在 0址。 是依靠一个 号来定义的。 设置异常向量 ( 异常向量表,也可称为中断向量表,必须是从地址 0 开始连续的存放。如 系结构中包括复位 (未定义处理( 软件中断 (预取指令错误 (数据错误 (保留、以及 异常模式。 初始化硬件环境; 代码中依次顺序为:进入 式,擦除 I/D 闭 件 ,关闭中断 ,设置 钟和存储器。相关代码见源代码中的 程。 内存重定位; 转到 C 语言函数入口执行; 的 函数是 行的第一个 C 语言函数,完成系统初始化工作,进入主循环,处理用户输入的命令。这里只简要列出其主要执行的函数流程: /* 给全局数据变量 排空间 */ (_ ; (0, ; /* 给开发板数据变量 排空间 */ ( ; 0, ; _ _。 /* 顺序执行 组中的初始化函数 */ 14 *+ (*) != 0) ); /*配置可用的 (); /* 初始化堆空间 */ _ /* 重新定位环境变量, */ ); /* 从环境变量中获取 址和 以太网接口 址 */ ; /* 设备初始化 */ ); /* 跳转表初始化 */ ); /* 完整地初始化控制台设备 */ ); /* 使能中断处理 */ ); /* 通过环境变量初始化 */ (s = ) != s, 16); /* 循环不断执行 */ ;) ); /* 主循环函数处理执行用户命令 - 15 配置和编译 程的可配置性和移植性可以分为两层:一是由目录顶层的 实现,配置工程要包含的文件和文件夹,用什么编译器等等。二是由目标板的配置头文件来实现源码级的可配置性,通用性。主要使用的是 #类来实现的。 源码是通过 组织编译的。运行 令以后,所有子目录的编译连接都由顶 层目录的 件来确定,首先由顶层目录下的 置开发板定义,然后递归的调用各级子目录下的 后把编译过的程序链接成像。 在执行 前,先要执行 (工程进行配置,以确定特定于目标板的各个子目录和头文件。 $( 的一个伪目标,它传入指定的 数去执行 本。 这个脚本的主要功能在于连接目标板平台相关的头文件夹,生成 件包含板子的配置头文件。使得 根据目标板的这些参数去编译正确的平台相关的子目录。 执行 可完成目标板的配置,并写入 顶层。 件中的相关代码为: : $($(:_ 层的 要定义交叉编译器、 依赖的目标文件、映像编译的依赖关系等。缺省的编译目标为 括 像的 式)、 像的原始二进制格式)、 像的 式)、像的符号表)一共四个文件。 过 令按照 赖于 3 种映像格式都可以烧 写到 ,但需要看加载器能否识别这些格式。一般 为常用,直接按照二进制格式下载,并且按照绝对地址烧写到 就可以了。 自带地址定位信息。 移植 够支持多种体系结构的处理器,而且它能够支持的开发板也已经越来越多。由于 序是完全依赖于底层硬件平台的,所以在一块新电路板上使用 16 序时,需要做一定的移植工作。 开始移植 前,先要熟悉硬件电路板和处理器。确认 否已经支持新电路板的处理器和 I/O 设备。假如 经支持一块非常相似的电路板,那么移植的过程将会非常简单。 移植 作主要是:添加开发板硬件相关的文件、配置选项,然后配置编译。 开始移植之前,需要先分析一下 经支持的开发板,比较出硬件配置最接近的开发板。选择的原则是,首先处理器相同,其次处理器体系结构相同,然后是以太网接口等外围接口。还要验证一下这个参考开发板的 少能够配置编译通过。 我们是用 司提供的 源码进行移植,主要的工作包括 动,网卡驱动的移植以及一些相关文件的修改。 $ $ cd /,它只是打印一些信息 无关紧要。 /x %x %xrn, In 67: in 67: (is 67: it 67: in 67: in : * 错误 1 将 /, 关的。我们没有用到 其注释掉。 /; /; /到此即可编译通过, 可以在串口打印出启动信息。 17 or 动的移植 的配置信息: /* # of # of on /* in #* #* , 现在板子用的是 子上有两个 小为 500址是 0一个是外部 小为 1址是 0们把编译好后的 写到内部 。 它们的操作函数在 实现。我们对 相应的修改即可。修改相应的 始化 的信息, 主要是扇区大小分布和一些相关信息。 如下所示: j, k; 0; 0; ( 0* 512 - 12 0 27; 0, 27); 0j = 0, k = 0; j #* * 21 * 22 P0 25 */ #1 (= ( =(1 () 1: : /* by * ; */ 25;/* 22 卡 驱动 移植 络上层协议通过调用 数实现以太网控制器的初始化、发送、接收数据和停止功能。对于不同的网络控制器, 驱动开发就是对这几个函数的编写。 以太网的移植是相对来说是比较难的,它是用 芯片。 动部分 : / 向 / 读 ; / 接收缓冲区初始化,此处使用的是 6 / 发送缓冲区初始化,功能同上类似 ; /发送 /接收 /和接收数据 供了几个接口函数,移植的工作是完成这几个函数: /以太网初始化 /发送数据 /接收数据 /设备停止 ( 1) 设置 ( 2) 初始化硬件:使能 设置 位所有的 23 初始化 置最大入口个数、冲突窗和间隙, 立,复位物理层,使能链路层速率自动协商机制,检查链路状态,试验并配置 100M/10半双工工作模式,建立接收和发送缓冲,使能广播功能,打开中断,打开接收和发送。 过以太网发送一个数据块。主要完成下面的操作: ( 1) 准备空闲缓冲区; ( 2) 将数据移动到缓冲区中; ( 3) 取下一个要发送数据的索引 。 过以太网接收一个数据块。主要完成下面的操作: ( 1) 判断是否已经收到一个帧; ( 2) 若收 到帧,则接收。接收操作包括:接收帧,获得帧的大小,将帧传给协议层。 ( 1) 物理复位; ( 2) 所有的 ( 3) 关闭 板子的 为 网掩码为 以太网地址为 0:1a:0:00:00。如下所示: 图 上架设好 务器( 由于 配置成 100时候,会有一些问题,因此将将 0后就可以使用 译好的镜像通过网线下载到 更详细的介绍 见源代码。 简单介绍一下所用的配置文件 # 000k 8400#.; # #* 32 MB #
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 森林生态补偿与林权流转合作协议
- 网络影视作品版权代理合作协议
- 绿色建筑电气系统设计、安装及性能验收协议
- 重型工业仪器定期校准认证与风险评估合同
- 生物制药洁净厂房空气净化系统租赁与安全检测合同
- 航空货运代理航空货物清关代理承包协议
- 海外留学行李保险与全球托运质量监管协议
- 《社会保险知识普及教学课件》
- 《慢性肾衰竭》课件2
- 《农业机械操作培训》课件
- 中华人民共和国民营经济促进法
- 临床类面试真题及答案
- 夫妻间借款协议合同
- 【8地一模 初二会考】2025年安徽省亳州市利辛县中考一模地理试题(含解析)
- ktv服务员合同协议书范本
- 2025年中国心电电极片市场调查研究报告
- 监管方式(贸易方式)与征免性质与征免方式对应关系及其代码和解释
- 广东省退休年龄新规定
- 2025-2030医疗设备器械行业市场发展分析及投资前景研究报告
- 城投公司竞聘试题及答案
- 西部计划面试题目及答案
评论
0/150
提交评论