基于tcp-ip的终端数据采集与传输模块的设计大学毕业论文

上传人:沈*** 文档编号:205163953 上传时间:2023-04-28 格式:DOC 页数:64 大小:1.05MB
返回 下载 相关 举报
基于tcp-ip的终端数据采集与传输模块的设计大学毕业论文_第1页
第1页 / 共64页
基于tcp-ip的终端数据采集与传输模块的设计大学毕业论文_第2页
第2页 / 共64页
基于tcp-ip的终端数据采集与传输模块的设计大学毕业论文_第3页
第3页 / 共64页
点击查看更多>>
资源描述
(输入章及标题)燕山大学 毕业设计(论文)基于TCP/IP的终端数据采集与传输模块的设计学院(系)里仁学院 年级专业 04级电子信息2班 学生姓名 宗瑞山 指导教师 卢辉斌 答辩日期 2008.6.22 III燕山大学毕业论文任务书学院:里仁学院 系级教学单位:电子工程系 学号041304021041学生姓名宗瑞山专 业班 级电子信息工程二班题目题目名称基于TCP/IP的终端数据采集与传输模块的设计题目性质1.理工类:工程设计( );工程技术实验研究型( );理论研究型( );计算机软件型( );综合型( )。2.管理类( );3.外语类( );4.艺术类( )。题目类别1.毕业设计( ) 2.论文( )题目来源科研课题( ) 生产实际( )自选题目( ) 主要内容1) 功能设计及功能说明2) TCP/IP协议分析3) 嵌入成绩设计与分析基本要求1) 设计模块的主要功能2) 主要的TCP/IP协议实现方法及功能分析3) 接口定义参考资料1) 计算机网络协议2) TCP/IP协议原理分析3) 导师给定的其他材料周 次14周58周912周1314周1516周应完成的内容资料准备,整体设计功能设计与总体分析程序设计调试总体试验与系统形成撰写论文指导教师:卢辉斌职称:教授 08年3月22 日系级教学单位审批: 年 月 日燕山大学本科生毕业设计(论文)摘 要随着USB第一个协议的推出,USB规范稳健发展,USB接口也被广泛应用。如今,USB已经成为PC上的标准接口,并且大有取代并口和串口之势。在数据采集与传输方面,USB主机通过以太网传输是一个前沿的课题。为了适应现代数据采集系统朝着强实时,多参数,高精度方向的发展,以及克服传统单片机数据采集系统无法适应安全性高, 实时性强场合的缺点,本次设计了一种基于TCP/IP终端数据采集与传输模块的系统。本系统以ARM7系列的LPC2210为处理核,以C/OS-II为操作系统。该系统采用了串口,USB,以太网3种与PC机的通讯方式,以适应不同场合的需要,非常方便。本次设计主要分为硬件设计与软件设计两部分,其中硬件部分主要包括以太网模块和USB主机模块的设计,软件部分主要包括C/OS-II嵌入式操作系统的移植,以太网口驱动和TCP/IP协议栈的实现,USB主机驱动和USB协议栈的实现。关键词LPC2210 ;嵌入式 ;C/OS-II ;TCP/IPAbstract. With the USB launched the first agreement, USB stable development of standardized, USB interface has been widely applied. Today, USB has become the standard interface on a PC and replace the great potential of serial and parallel port. In data collection and transmission connection, USB host via Ethernet transmission is a cutting-edge issues. In order to adapt to modern data collection system in the strong real-time, multi-parameter, high-precision direction of development and overcome traditional SCM data acquisition system can not adapt to safe, real-time occasions the shortcomings of this design, which is based on TCP / IP terminal data acquisition and transmission modules of the system. ARM7 family of the system to the LPC2210 to deal with nuclear, C / OS-II for the operating system. The system uses a serial port, USB, Ethernet and PC three kinds of means of communication to meet the needs of different occasions, very convenient. The design of the hardware design can be divided into two parts and software design, hardware, including some of the major Ethernet module and USB host module design, software, including some of the major C / OS-II Embedded operating system migration, Ethernet mouth Driver and TCP / IP protocol stack to achieve, USB drives and USB host stack of achievingKeywordsLPC2210;Embedded;C/OS-II;TCP/IP22燕山大学本科生毕业设计(论文)目 录摘 要IAbstractII第1章 绪论11.1 课题背景11.1.1嵌入式系统21.1.2 嵌入式微处理器21.2 本次设计的内容31.3 本次设计的意义31.4 本次论文的主要工作与章节安排4第2章 系统的总体设计52.1 微处理器的选择52.2 嵌入式操作系统的选择62.3 系统软硬件方案设计72.3.1 硬件设计方案72.3.2 软件设计方案82.4 本章小结8第3章 系统硬件设计93.1系统硬件的总体设计93.2 单元电路设计103.2.1电源电路103.2.2 存储模块电路113.2.3 JTAG接口电路133.2.4 以太网接口电路143.2.5 USB主机电路153.2.6 其他电路设计173.3本章小结18第4章 系统软件的设计194.1系统初始化模块194.1.1 系统运行环境的初始化194.1.2 应用程序的初始化194.2 C/OS-II在LPC2210的移植204.2.1 OS_CPU.H文件的移植204.2.2 OS_CPU.C文件的移植214.2.3 OS_CPU_A.S文件的移植224.3以太网部分软件模块244.3.1 TCP/IP协议及相关函数254.3.2 TCP/IP协议栈实现284.4 SL811HS驱动及USB主机软件设计294.4.1 SL811HS与LPC2210通信驱动驱动HCD294.4.2基于SL811HS的USB主机协议软件实现294.5 其他部分的软件实现314.6 本章小结31结 论32参考文献33致谢34附录1I附录2VI附录3X附录4XIX附录5XX附录6XXI燕山大学本科生毕业设计(论文)第1章 绪论1.1 课题背景1994年底,以Intel为首的7家公司推出了USB(Universal Serial Bus,通用串行总线)第一个规范协议,专用于中、低速的计算机外设与PC机的数据传输。自此,USB规范稳健发展,从最初的1.0版本到现在的2.0版本,最高数据传输速率已经达到480 Mbps,USB接口也被广泛应用。如今,USB已经成为PC上的标准接口,并且大有取代并口和串口之势1。但是,由于在USB拓补结构中,居于核心地位的是主机,任何一次USB的数据传输都必须由主机发起和控制,所有的USB设备都只能和USB主机建立连接,任何两个USB设备之间无法直接进行通信。目前在市场上能够购买到和使用的都是USB设备,例如优盘、mp3、USB移动硬盘、数码相机等,而目前的USB主机都是基于PC的,这样所有的USB设备都只能在PC上使用,脱离了PC,USB设备就无用武之地,所以,如何将USB设备应用于非PC领域成了当务之急;人类进入信息化社会后,Internet已经成为现代社会最重要的基础信息设施之一,是信息流通的重要渠道。通过Internet,数以百万计的智能温度传感器、压力传感器、大气污染传感器、智能摄像机、各种机器及设备的智能控制器,将监控我们的城市、工厂、大气、家庭甚至我们的身体本身,因此,USB如何通过网络通信也是刚刚兴起的一个热点,特别是USB主机通过以太网传输是一个前沿的课题。在工农业控制、数据采集中,串口还扮演着很重要的角色。成千上万的设备,如检测器、感应器、读卡机等,他们中很大一部分是使用传统串口进行通信,而随着我国工业现代化步伐的加快,对提高生产效率、控制质量和降低成本的要求越来越高,串行通信固有的传输速率低、距离有限、布线繁杂等缺点逐渐展现出来,但是不能一下全部淘汰,对于这些领域的串口设备来说,让这些设备连上以太网也将是一种趋势。1.1.1嵌入式系统以往我们按照计算机的体系结构、运算速度、结构规模、适用领域,将其分为大型计算机、中型机、小型机和微计算机,这种分类沿袭了约40年。近10年来随着计算机技术的迅速发展,实际情况产生了根本性的变化。例如70年代定义的微计算机演变出来的个人计算机(PC),如今已经占据了全球计算机工业90%的市场,其处理速度也超过了当年大、中型计算机的定义。随着计算机技术和产品对其它行业的广泛渗透,以应用为中心的分类方法变得更为切合实际。也就是按计算机的嵌入式应用和非嵌入式应用将其分为嵌入式计算机系统和通用计算机系统。嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软硬件可剪裁、适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各个行业的具体应用相结合后的产物,是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。现在,嵌入式系统以其小型、专用、易携性、可靠性高的特点,已经在工业控制、交通管理、信息家电、家庭智能管理系统、POS网络以及电子商务、环境监测、机器人等各领域得到了广泛的应用。1.1.2 嵌入式微处理器嵌入式微处理器是指以应用为型的嵌入式处理器,据不完全统计,全世界嵌入式处理器的品种已有上千种之多。其中,我们最为熟悉的是8051结构的产品。嵌入式系统的处理器可以分为两大类:一类是采用通用计算机的CPU为处理器,如X86系列;另一类为微控制器和DSP,微控制器具有单片化、体积小、功耗低、可靠性高、芯片上的外设资源丰富等特点,成为嵌入式系统的主流器件。由于ARM芯片强大的处理能力和极低的功耗,现在越来越多的公司在产品选型的时候考虑到使用ARM处理器。采用RISC架构的ARM 微处理器一般具有如下特点:(1)体积小、低功耗、低成本、高性能;(2)支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;(3)大量使用寄存器,指令执行速度更快;(4)大多数数据操作都在寄存器中完成;(5)寻址方式灵活简单,执行效率高;(6)指令长度固定2。 1.2 本次设计的内容本次设计主要是对串行通信、以太网协议和USB主机设计进行研究,并在此基础上设计了一个以ARM7TDMI系列的LPC2210作为硬件MCU, 以C/OS-II作为操作系统的嵌入式系统,实现了这几个协议的移植以及串口到网口,USB到网口的数据传输和USB主机在非PC领域应用的实现。具体的工作内容为:(1)研究和分析LPC2210的结构以及搭建基于LPC2210的硬件平台;(2)研究和分析C/OS-II源代码,编写C/OS-II到ARM的移植代码; (3)分析和研究TCP/IP协议结构;(4)在嵌入式TCP/IP协议的基础上,构建嵌入式系统接入网络的实现;(5)研究和分析了USB主机协议;(6)实现完成了USB与以太网数据的透明传输。1.3 本次设计的意义本次设计通过对硬件与软件的设计最终实现USB与以太网数据的透明传输,其意义体现在以下几个方面:(1)有效解决了设备的远程监控、数据采集的难题 通过嵌入式以太网技术易于将远程设备、智能仪表、传感器的信息与企业的信息管理系统集成,提高了管理水平和决策能力,有效地对现场实时、全面的进行监控和数据采集。(2)USB主机为脱离PC进行USB设备控制提供了技术支持 无论生活消费品还是工业控制中,优盘、mp3、USB移动硬盘、数码相机、USB打印机、数据采集分析仪等USB产品已经越来越普遍,USB主机设计使它们的使用不再受到地点的限制。(3)通信平台使多种协议相互间通信变得方便 在大量的终端电子设备上,如门禁终端、远程抄表、远程监控等,需要嵌入各种通信接口,以便设备之间、设备与主机之间进行互通信。常用的通信方式:USB,IEEE1394,Ethernet/Fast Ethernet,蓝牙,RS232等。本课题拟设计一种通用通信平台,具有常用的以太网接口、USB接口,并且还可以在此平台上进行扩展。1.4 本次论文的主要工作与章节安排本次论文的主要工作是通过对C/OS-II、USB主机、以太网协议进行研究,在此基础之上设计基于以太网的便携式通信平台,来实现USB主机与网口间的数据传输。本次论文的章节安排如下:第1章 绪论主要介绍论文的研究背景和相关研究领域的一些内容。第2章 描述述了微处理器和嵌入式操作系统的选择,得出系统的总体设计方案。第3章 通过对各个单元电路的设计最终完成硬件的总体设计。第4章 通过对各部分软件的分析最终完成系统的软件设计。第2章 系统的总体设计根据嵌入式的一般设计方法,可以将系统分为硬件设计和软件设计两部分。硬件部分主要完成微处理器与串口、以太网、USB等模块间的接口电路设计,以及控制信号的处理;软件部分主要完成串口与网口间、USB与网口间的双向数据传输,以及USB主机驱动实现,这其中包括硬件系统的启动实现,由于系统需要运行多任务,一个嵌入式操作系统必不可少,TCP/IP协议实现以太网数据包的收发,串口驱动程序完成串行数据的收发,USB主机驱动程序完成对USB设备的控制和数据收发。2.1 微处理器的选择微处理器是系统的控制核心,其性能的好坏直接决定了多协议处理系统性能的优劣。因此微处理器的选择是系统设计首先考虑和重视的问题。微处理器的选择主要考虑以下几个方面的因素:(1)微处理器的速度 它以时钟周期或机器周期表示,一般以实际应用要求为准,在本系统中需要对串口、USB和以太网数据进行及时的收发,以及USB主机对USB设备进行控制,对处理器的速度有一定的要求。(2)微处理器的位数 目前常用的有8位、16位和32位微处理器。8位微控制器主要为低价应用而设计,通常由集成的内存和输入输出设备组成,性能很低,只能完成一些基本的任务;16位微控制器被用于比较精密的应用,这些应用通常需要的字长或是独立的内存和输入输出设备;32位产品是目前的应用主流,能提供较高的性能,各个嵌入式处理器厂商都将它作为重点。为了保证数据一定的精度,本系统选用32位微处理器。(3)指令系统 指令系统强意味着指令丰富(基本指令数多),指令功能强。这给程序设计带来极大的方便,而且可以缩短系统处理数据的时间,有利于整个系统性能的提高。(4)是否内置调试工具 处理器如果内置调试工具可以大大缩小调试周期,降低调试的难度。(5)电源的种类及功耗大小 ARM7系列的功耗非常低,而且有休眠模式和掉电两种更加低功耗的模式3。基于本系统对数据处理及时性和数据精度方面的考虑,选择了32位的ARM7系列处理器。LPC2210是基于一个支持实时仿真和跟踪的32位ARM7TDMI-S CPU的微控制器。片内128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。LPC2210具有如下的特点:(1)16/32位144脚ARM7TDMI-S微控制器;(2)16K字节片内静态RAM;(3)通过外部存储器接口可将存储器配置成4组,每组容量高达16M字节,数据宽度为8/16/32位;(4)串行Boot装载程序通过UARTO将实现在系统下载和编程;(5)EmbeddedICE-RT接口使能断点和观察点,当前台任务使用片内RealMonitor软件调试时,中断服务程序可继续执行;(6)嵌入式跟踪宏单元(ETM)支持对执行的代码进行无干扰的高速实时跟踪;(7)8路10位A/D转换器,转换时间低至2.44 s, 2个32位定时器(带4路捕获和4路比较通道)、6路输出的PWM单元、实时时钟和看门狗;(8)多个串行接口,包括2个16C550工业标准UART、高速I2C接口(400 Kbit/s)和2个SPI接口;(9)片内晶振频率范围1-30 MHz,通过片内PLL可实现最大为60 MHz的CPU操作频率;(10)向量中断控制器,可配置优先级和向量地址;(11)多达76个GPIO口(可承受5 V电压),12个独立外部中断引脚;(12)两个低功耗模式:空闲和掉电;(13)可通过外部中断将CPU从掉电中唤醒;(14)可通过使能/禁止外部功能来优化功耗;(15)双电源:CPU操作电压范围为1.65-1.95 V(1.8 V8.3%),I/O操作电压范围为3.0-3.6 V(3.3 V10%)。2.2 嵌入式操作系统的选择随着嵌入式操作系统自身的发展,其稳定性、可靠性及其强大的功能等特点使其在嵌入式系统领域中应用越来越广泛。目前的嵌入式操作系统很多,但在众多的嵌入式操作系统中C/OS-II是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统,是一种专门为微控制器设计的操作系统,具有简洁易学、可移植性强、而且源码可以免费得到等优点。故本课题选用它作为操作系统4。2.3 系统软硬件方案设计本次设计选择了LPC2210的ARM处理器作为系统的处理核心,选择了C/OS-II操作系统作为系统的开发平台。系统可分为硬件设计和软件设计两部分。2.3.1 硬件设计方案硬件部分是实现整个系统功能的基础,是整个设计实现的关键。主要设计包括:(1)处理器模块设计 处理器模块是整个系统的核心部分,主要完成以下功能:在串口数据、USB数据和以太网IP数据之间建立数据链路;通过对以太网控制芯片的控制读写实现对IP数据包的接收与发送(2)USB主机模块设计 对主机和设备的各种状态进行管理和控制;利用串行引擎接口SIE来完成数据串行/并行化,具体来说就是将主机输出的并行数据转换成串行数据,而将设备发来的串行数据转换成并行数据;每隔1ms产生一个帧起始包SOF来将USB总线的时间划分为一个个的帧,而所有的USB数据传输任务都是在以帧为单位的时间间隔内进行的;提供根Hub及主机系统接口,用于提供与USB设备的连接点以及与核心CPU之间的通信接口,这里选择了Cypress公司的SL811HS芯片,它也是市场上用量比较大的USB主机芯片,产品成熟。(4)以太网接口模块 该模块主要由以太网接口部分和以太网控制部分构成。以太网接口部分完成的是协议转换系统与以太网接口电路的功能,控制器对所有模块均有控制作用,使整个接口电路能协调地配合后续电路完成以太网的收发功能。以太网控制部分由RTL8019AS的远程DMA和本地DMA完成数据的收发。2.3.2 软件设计方案软件设计是整个系统设计的重要组成部分,软件部分的设计主要有:(1)硬件系统启动代码的实现。(2)C/OS-II嵌入式操作系统的移植。(3)以太网口驱动和TCP/IP协议栈的实现。(4)USB主机驱动和USB协议栈的实现。2.4 本章小结本章对对微处理器和嵌入式操作系统的选择依据作了简单的描述,微处理器选择了性价比较高的ARM7系列的LPC2210,嵌入式操作系统选择了公开源代码的且扩展性、安全性都比较高的C/OS-II;最后对系统整体的硬件方案和软件方案作了简单的分析,从而为以下章节打好基础。第3章 系统硬件设计3.1系统硬件的总体设计嵌入式系统的硬件部分主要包括微处理器,存储器,输入输出等部分。此嵌入式数据采集系统主控芯片为ARM7系列的LPC2210。在数据通讯方面整个系统可以通过串口,USB,以太网三种方式与PC进行通讯,可以满足大部分场合的需要。本次设计的硬件系统框图如图3-1:LPC2210微处理器转换器USB主机芯片D形串行接口USB接口5V电源LCD接口JTAG口FLASH16MbitSRAM4Mbit以太网接口以太网控制器12C存储器键盘稳压器图3-1硬件系统框图在硬件的各个组成部分之中处理器是其中的核心部分,通过第一章的简单介绍,本次设计所采用的是微处理器是飞利浦公司的LPC2210。其内部结构和各个引脚功能可以在周立功关于LPC2210的介绍中得到hen详细的说明,此处就不再介绍。其他各部分的功能描述如下:(1)串行接口电路用于LPC2210系统与其他应用系统串行通讯;(2)网络接口电路用于以太网收发数据;(3)USB主机电路用于对USB设备进行控制;(4)电源电路分别为5 V-3.3 V、5 V-1.8 V的LDO转换器,给LPC2210及其他需要3.3 V电源的外围电路供电:系统也提供5 V供电;(5)2 Mbytes外部FLASH存储器可存放用户应用程序、嵌入式操作系统或其他在系统掉电后需要保存的用户数据等;(6)I2C接口电路对E2PROM进行控制;(7)SRAM外部存储器扩展作为系统运行时的主要区域;(8)JTAG接口可以对芯片内部的所有部件进行访问,通过该接口可以烧写FLASH和对系统进行调试、编程等5。以下将详细介绍硬件设计的各个单元。3.2 单元电路设计3.2.1电源电路LPC2210的I/O口供电电源为3.3 V,内核及片内外设供电电源为1.8 V;一共有四组电源输入:数字3.3 V、数字1.8 V、模拟3.3 V、模拟1.8 V。由于不使用A/D功能,模拟电源和数字电源可以不分开供电。从周立功的LPC2210的使用说明中更可以得到其1.8 V消耗电流的极限是70 mA,其它部分无需1.8 V的电压,要求3.3 V电源系统能够提供600 mA电流。根据以上可以画电路图如图3-2:图3-2电源电路图3.2.2 存储模块电路对于大部分微控制器来说,存储器系统不是必需的,但如果微控制器没有片内程序存储器或数据存储器时,就必须设计存储器系统。这一般通过微控制器的外部总线接口实现。RAM不具有掉电保持数据的特性,但其存取速度大大高于Flash存储器,且具有读/写的属性,因此RAM在系统中主要用作程序的运行空间,数据及堆栈区。RAM的存储单元可以看成一个总是倾向于放电的电容,为避免数据丢失,必须定时刷新(充电PreCharge)。因此,要在系统中使用RAM就要求处理器具有刷新控制逻辑,或在系统中另外加入刷新控制逻辑电路。LPC2210及其它一些ARM芯片在片内具有独立的RAM刷新控制逻辑,可方便的与RAM接口。本次设计采用的RAM是美国ISSI公司的成产的高速SRAM器件IS61LV25616AL,其管脚描述如表3-1:表3-1 IS61LV25616AL管脚功能管脚功能A0-A17地址输入I/O0-I/O15数据输入/输出CE芯片使能OE输出使能WE写使能VCC电源GND地NCFlash存储器是一种可在系统(In-System)进行电擦写,掉电后信息不丢失的存储器。作为一种非易失性存储器,Flash在系统中通常用于存放程序代码、常量表以及一些在系统掉电后需要保存的用户数据等。LPC2210没有片内FLASH,只有片内RAM,在本次设计中 片外FLASH选用SST公司的1M16位的CMOS多功能Flash(MPF)器件SST39VF1601,其编程或擦除操作电源电压为 2.7 V-3.6 V,提供了固定的擦除和编程时间,与擦除/编程周期数无关其管脚描述如表3-2:表3-2 SST39VF1601管脚功能符号管脚名称功能A0-A19地址输入 存储器地址。扇区擦除时,A11-A19用来选择扇区块。擦除时,A15-A19用来选择块DQ0-DQ15数据输入/输出 读周期内输出数据;写周期内输入数据。写周期内数据内部锁存,OE或CE为高时输出为三态CE芯片使能为低时芯片使能OE输出使能为低时输出使能WE写使能为低时输入使能VCC电源2.7-3.6 VVSS地NC不连接悬空根据LPC2210的地址分配本次设计使用BANK0和BANK1的地址空间,通过跳线将CS0和CS1分别分配给SRAM或FLASH。在程序调试时,分配SRAM为BANK0地址,因为BANK0可以进行中断向量重新映射操作。当最终代码的固化到FLASH时,分配FLASH为BANK0地址,SRAM为BANK1地址,因为BANK0可以用来引导程序运行6。根据以上画出电路的连接图如图3-3和图3-4:图3-3 IS61LV25616AL 电路图图3-4 SST39VF1601 的电路图3.2.3 JTAG接口电路JTAG技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP(测试访问口:Test Access Port),通过专用的JTAG测试工具对内部节点进行测试。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。JTAG接口还常用于实现ISP(在系统编程:In System Programmable)功能,如对FLASH器件进行编程等。通过JTAG接口,可对芯片内部的所有部件进行访问,因而是开发调试嵌入式系统的一种简洁高效的手段。本次设计采用的是采用了20针的JTAG接口。其20针JTAG脚定义如表3-3:根据周立功的LPC2210应用说明,在RTCK引脚接一个4.7 Kohm的下拉电阻,使系统复位后,LPC2210内部JTAG接口使能,这样就可以直接进行JTAG仿真调试了。根据ARM公司提出的标准20脚JTAG仿真调试接口说明可以得到JTAG 信号的定义及与 LPC2210 的连接图如图3-57:表3-3 20针JTAG脚定义引脚名称描述1Vtref目标板参考电压,接电源2Vcc接电源3nTRST测试系统复位信号 4,6,8,10,12,14,16,18,20GND接地5TDI测试数据串行输入7TMS测试模式选择9TCK测试时钟11RTCK测试时钟返回信号13TDO测试数据串行输出15nRESET目标系统复位信号17,19NC图3-5 JTAG与 LPC2210 的连接图3.2.4 以太网接口电路以太网的接口芯片的功能是处理主机访问网络媒体的操作,吧把来自上层的数据包封装成帧,再编码成信号,发送到网络上。或者把从网络上接到的信号组合成帧,送往OSI模型的上层设备处理8。本设计方案的网络接口芯片选用与NE2000兼容的10M网卡芯片由台湾Realtek公司生产的RTL8019AS。选用此芯片的主要原因是它软件移植性好,接口简单,价格便宜,带宽充裕。RTL8019AS 是高度集成以太网控制器,它能够简单的解答即插即用 NE2000兼容适配器,这种适配器具有二重和功率下降特性。通过三电平控制特性,RTL8019AS是已制的对网络设备 GREEN PC 理想的选择。全二重功能能够模拟传播和接收在双绞线到全二重以太网交换机。这个特性不仅强带宽从 10 到20MBPS,而且避免了由于以太网频道争夺特性导致的读出多路存取协议的问题。微软公司的即插即用功能能减轻用户较差的营业收入而注意适配器资源,如IRQ,输入输出,和存储器地址等等。然而,为了特殊的应用而得不到即插即用功能的兼容性,RTL8019AS支持JUMPER 和JUMPERLESS 选项。为了提供完全解决即插即用方案,RTL8019AS在集成10BASET 收发器,BNC,和AUI接口之间的自动检测功能。此外,8条IRQ总线和16条基本地址总线为大资源情况下提供了宽松的环境。支持16k,32k,和64k 字节BROM 和闪存接口。它仍然提供页面模式功能, 这种功能能支持在仅16k字节内存系统空间下的4M字节的BROM.此外,BROM 的无用命令被用来释放BROM内存空间。RTL8019AS用16k字节SRAM设计在单片芯片上,它的设计不仅提供了更多友好的功能,而且节省了SRAM 存储资源。RTL8019AS拥有三种等级的掉电模式。本次设计的电路设计为16位总线方式对RTL8019AS进行访问,即LPC2210的数据总线D0-D15与芯片的SD0-SD15连接;让芯片工作为跳线模式,即JP脚5 V;芯片的I/O地址为0x00300-0x0031F,所以RTL8019AS的SA6、SA7、SA10-SA19接地,SA9接电源,SA8与LPC2210的地址总线A22相连,SA5与LPC2210的外部存储器BANK3片选CS3相连,当SA8为1,SA5为0时,选中RTL8019AS,即其操作地址为0x83400000-0x8340001F;由于RTL8019AS的工作电源为5 V而LPC2210的I/O电压为3.3 V,所以在总线上串接了470欧姆的保护电阻用以分压。其电路图见附录4。3.2.5 USB主机电路本次设计要实现USB主机功能采用传统成熟的主机功能的芯片与高性能CPU或MCU的搭配。MCU采用LPC2210,采用的USB主控/设备芯片是CYPRESS公司的SL811HS。本次选用SL811HS的主要原因是SL811HS有以下特点:(1)作为USB主机或者设备的接口控制器,在我们的嵌入式USB主机系统中仅利用其作为主机控制器的功能;(2)支持USB协议2.0,提供全速和低速两种USB总线速度方式;(3)片上集成了SIE、单端根HUB,USB收发器和256字节的SRAM;(4)256字节的内部RAM除了前16个USBA和USBB两组寄存器外,其余240个字节可以作为数据缓冲,支持乒乓数据传输功能;(5)硬件自动产生帧开始标志和循环冗余校验码;(6) 3.3 V工作电压,兼容5 V电平。SL811HS提供了数据、地址和控制信号线,使得芯片能够和一般的单片机,DSP以及ARM芯片进行通信,并受到CPU的控制。主/从机控制器正是USB主机结构中的USB主机控制器部分;SIE(Serial Interface Engine) 主要实现数据的串/并转换;中断控制器通过检测各种USB总线的状态变化,以中断信号的方式报告给外部的核心CPU;256字节的内部RAM一来提供了存储数据的缓冲区,二来作为各种内部寄存器的定义,通过寄存器对USB设备的各种状态进行检测;时钟发生模块外接晶振来为整个SL811HS芯片提供时钟;集成的根Hub提供USB设备的连接点。CPU对于SL811HS的状态进行检测和控制等操作都是基于寄存器实现的,因此从硬件的角度来看,系统软件的编程就是对其一系列的寄存器和缓冲区的读写访问。SL811HS片内256字节的RAM区,其片内寻址范围为0x01-0xFF,其中低地址的16个字节是SL811HS定义的寄存器,而其余的240个字节则是存储缓冲区。各寄存器信号详细说明如下:(1)主/从模式选择 27引脚,CON1短接时选择从机模式,断路时选择主机模式;(2)数据总线 D0-D7,连接CPU的DATA0-DATA7数据总线即可;(3)外部晶振选择 7引脚,CM信号,接高选择外部12 MHz晶振,接低表示选择外部48 MHz晶振,本系统中接高,选择外部12 MHz晶振;(4)读写控制信号 nWR,nRD,分别接CPU的nWE和nOE信号线;(5)复位信号 nRST,外接复位电路引脚即可,可同CPU共用一个复位信号;(6)DMA信号 2,3引脚分别为DMA确认和请求信号线,在本系统中未使用DMA功能,悬空即可;(7)片选信号 nCS,接CPU的nCS2引脚,映射后SL811HS内存首地址为0x02000000;(8)地址/数据选择 信号1引脚,由CPU地址总线引脚ADDR23控制;(9)时钟信号 13,14引脚为时钟信号输入,具体时钟电路将在后继章节详细介绍;(10)中断信号 SL811HS的中断信号输出直接接CPU的外部中断信号EINT0即可;(11)差模信号 9,10引脚为差模信号线,它们分别通过15K欧姆的电阻下拉至低电平,这是USB主机和根Hub的下行端口的特征;在DATA+和DATA-与下行端口之间串接电阻是为了保证阻抗匹配9。其电路图见附录5。3.2.6 其他电路设计(1)I2C电路 为了保存IP地址和一些数据,设计时选用了具有I2C接口的E2PROM器件24C04。根据方向位(R/W)状态的不同,I2C总线上存在两种类型的数据传输:主发送器向从接收器发送数据以及从发送器向主接收器发送数据。(2)键盘 本系统设置了3个按键,使用CPU的外部中断口检测按键是否按下。电路如图如图36,KEY2-KEY4按键分别接CPU外部中断引脚EINT1-EINT3,当按键按下时,引脚被置低,触发外部中断,执行相应中断程序,3个按键的功能分别为读取文件,写入文件,删除单个文件。KEY1是复位键,当按下复位按键时,SP708S输出低,导致74HC125导通,信号nTRST、TRST输出低电平,使系统复位。图36 键盘电路图3.3本章小结本章根据LPC2210的内部结构和地址分配比较详细的说明了各个硬件模块的设计,为软件模块的编写打下了基础。第4章 系统软件的设计4.1系统初始化模块系统的初始化部分包括下面两个级别的操作:(1)系统运行环境初始化,包括异常中断向量初始化、数据栈初始化以及IO初始化等;(2)应用程序初始化,例如C语言变量的初始化等10。4.1.1 系统运行环境的初始化 系统启动时,中断、堆栈等应用环境都未设置,因此高级语言例如C等不能执行,而汇编可以直接面对处理器内核及硬件控制器,因此一般嵌入式系统启动代码都是用汇编语言编写,之后引导进入C程序。启动代码完成的功能有:(1) 设置代码入口及异常中断向量表;(2) 初始化各模式下堆栈和寄存器;(3) 初始化存储器;(4) 地址重映射等操作;(5) 片内外设等初始化。4.1.2 应用程序的初始化一个简单的可执行程序的映像结构通常如表41所示,映像一开始总是存储在ROM/flash等非易失性存储器中,其RO部分既可以在ROM/Flash里面执行,也可以转移到速度更快的RAM中去;而RW和ZI这两部分必须要转移到可写的RAM里去。所谓应用程序执行环境的初始化,就是完成必要的从ROM/flash到RAM的数据传输和内容清零。表4-1 映像结构表映像各层名称说明ZI(zero initialized R/W Data)只定义了变量名的全局变量RW(R/W Data)定义时带初始值的全局变量RO(Code+RO Data)编译结果在系统初始化完成之后,程序将执行权交给主函数main(),在main()执行与系统功能相关的操作,至此整个系统启动完毕。4.2 C/OS-II在LPC2210的移植所谓移植,就是使一个实时内核能在某个微处理器或微控制器上运行。为了方便移植,大部分的C/OS-代码是用C语言写的;但仍需要用C和汇编语言写一些与处理器相关的代码,这是因为C/OS-在读写处理器寄存器时只能通过汇编语言来实现。由于C/OS-在设计时就已经充分考虑了可移植性,所以C/OS-的移植相对来说是比较容易的。移植工作主要集中在与处理器相关的3个文件:OS_CPU.H,OS_CPU.C,OS_CPU_A.S。其中OS_CPU.H文件主要包含与编译器相关的数据类型定义、堆栈类型定义、两个宏定义和几个函数说明。OS_CPU.C包含与移植有关6个C函数OSTaskStkInit()、OSTaskCreateHook()、OSTaskDelHook()、OSTaskSwHook()、OSTaskStatHook()、OSTimeTickHook()。除第一个任务堆栈初始化外的5个函数为钩子函数,需要声明,没有实际内容,由系统函数调用,以便用户能在操作系统中加入自己需要的功能。OS_CPU_A.S中包含与移植有关的4个汇编语言函数为OSStartHighRdy()、OSCt
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!