软硬件配置方案设计_第1页
软硬件配置方案设计_第2页
软硬件配置方案设计_第3页
软硬件配置方案设计_第4页
软硬件配置方案设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 第 页软硬件配置方案设计软硬件配置方案设计一随着现代网络技术的进展,嵌放式系统如单片机、DSP等系统对接入网络的需求日益增加,例如具有远程抄表功能的电表系统、楞以进行远程掌握的信息电系统等。本文采纳TI公司的TMS320VC33DSP芯片设计与Realtek公司的RTL8019网卡的硬件接口电路,并在DSP中用软件实现TCP/IP协议,使DSP芯片具备上网功能,从而可以用计算机通过网卡与DSP电路板进行大量数据交换并对其进行掌握。1、硬件设计DSP与网卡的硬件接口电路图如图1所示。DSP的数据总线低16位接ISA网卡的16位数据线,ISA网卡的IOCS16线接高电平,设置网卡为16位的模式

2、。网卡共有20根地址线。将A7A8、A10A19接地,A0A6和A9分别接DSP的A0A7,用到的网卡地址为0240H025FH,映射到DSP的Page3空间,地址映射为C000C0HC000DFH。DSP的Reset信号用于复位网卡,由于DSP的Reset信号低有效,而网卡的Reset信号高有效,故中间应接非门。DSP的Page3和R/W信号用于选能网卡的读写信号IOR、IOW,实现的规律关系如图2所示。IORQ是网卡的中断9,通过非门后接DSP的INT1引脚。RTL8019网卡有三种工作方式:第一种为跳线方式,网卡的I/O和中断由跳线决断;第二种为即插即用方式,由软件进行自动配置pluga

3、ndplay;第三种为免跳线方式,网卡的I/O和中断由外接的93C46里的内容决断。计算机上一是即插即用方式,为了降低软件编程的繁复度,将网卡设置为跳线方式。上述全部的译码规律都在EPM7129中实现。74ALVC16425是总线驱动芯片,可实现3.3V到5V的电平转换。由于TMS320VC33和EPM7128是3.3V的器件,而ISA总线是5V的,所以信号线不能径直连接,需要通过74ALVC164245进行电平转换和隔离。2、软件设计2.1网卡硬件驱动程序的设计网卡驱动程序主要包括以下几部分:1NIC的初始化NIC是网络接口掌握芯片,它负责网络上数据的接收和发送。为了能够使NIC启动并处于预

4、备接收或预备发送数据的状态,需要对相关的寄存器进行初始化。这些寄存器包括CR、DCR、RBCR、PSTART、PSTOP、ISR、IMR、PAR0PAR5、MAR0MAR7、CURR、TCP、RCR等。2中断服务程序中断服务程序一般完成两项任务:一是设置中断标识,以使相关程序能以此发觉发生了中断;二取得中断状态寄存器的值,并将引起中断的详细缘由提交给相应的程序,这一过程也是通过设置中断缘由标识完成的。需要留意的,中断服务程序开始的时候要爱护中断现场,待程序处理完成后要复原中断现场;中断服务程序应尽可能短小,以便在尽可能短的时间内执行完成,因此需要将一些不民要的工作交给其它程序来完成。3帧发送程

5、序在网络中,帧传输的过程是:发送方将待发送的数据按帧格式要求封装成帧,然后通过网卡将帧发送到网络的传输线上;接收方依据接收到的帧的目的地址讨论是否将该帧提交给上层应用程序。帧的发送是指将待发送的数据以帧的形式发送到网络传输线上,因此,帧的发送过程应当包括以下几个步骤:装帧;将帧送入NIC的发送缓冲区;初始化发送掌握寄存器;启动NIC将该帧发送到网络传输线上。4帧接收程序帧接收是指将网络上的数据帧接收并缓存于网卡的接收缓冲环中,然后由主机程序将缓存于接收缓冲环的帧读走并存入内存中以备程序运用。从中可以看出,帧的接收过程分成两卡;第一步由NIC通过本地DMA将帧存入接收缓冲环;第二卡是通过远程DM

6、A并在主机的协作下将接收缓冲环中的帧读入内存。2.2TCP/IP协议的实现2.2.1DSP中与PC机中实现TCP/IP协议不同TCP/IP协议最先是在UNI*系统中实现的,后来在LINU*、DOS和WINDOWS系统中也实现了TCP/IP。但是,在UNI*上实现的TCP/IP协议的源代码并不能径直移植到DSP上来,这是由于PC机和DSP存在着巨大的差异。PC机的运算速度特别快,一般都有一个多任务的操作系统,可以多任务并行执行,通过硬中断与中断、消息队列和各种插口实现ATCP/IP各协议层之间的通信和整个网络的通信。而DSP运行速度相对较慢,缺乏多任务操作系统的平台,只能通过顺次执行加硬件中断的

7、方式来实现,并且因其还要同时执行数据采集、串口中断等任务,所以中断程序应尽量短,只完成设置各种状态的标识位,而将相对较慢的网络数据包的处理放在主程序中执行,以减削各种任务之间的冲突。PC机的内存特别大,现在一般都可达到32128M的存储容量,可以动态地安排和释放内存,很简单实现存储器缓存mbuf、网络掌握块ncb等链状结构,且可任意增删;同时能维护多条网络连接,由于计算机处理速度快,几乎不用考虑缓冲区溢出的问题。而DSP内部RAM一般只有十几K,加上外部扩展的RAM也只能达到几十K的容量,一个最大的以太网数据包就有1.5K左右,假如也按PC机的内存管理方式和数据结构,运用mbuf链,RAM确定

8、不够用,因此只能在RAM中安排一个固定的1514字节的区段来存放接收到的以太网数据包,接收一包处理一包。PC机中TCP/IP协议都是分层次实现的,相互之间都是通过参数传递进行联系,这样有利于提高程序的模块化和独立性。而在DSP中,由于参数传递会占用过多的程序空间,且降低DSP的执行速度,所以应尽量减削参数传递,转而运用全局变量和外部变量等来达到值的传递,因此各程序间的依靠程度大,往往会共享某一些变量和数据。PC机上实现了比较完整的TCP/IP协议。而在DSP中,由于运算速度和内存的限制,不可能支持全部的协议,一般只实现需要的部分,不需要的协议一概都不支持;而且即使需要的协议也不用像在PC机上实

9、现那么繁复,可以依据硬件的详细状况和实现的需求进行须要的简化。2.2.2TCP/IP协议的详细实现TCP/IP协议是一个协议簇,包含了许多协议,在DSP上实现的全部协议如图3所示,通常可分为四层不包括物理层。依据DSP的结构特点和所需要实现的功能,在DSP中实现了ARP地址解析协议、IP网际协议、ICMPInternet掌握报文协议、UDP用户数据报协议和TCP传输掌握协议,并对它们进行了简化。2.2.2TCP/IP协议的详细实现TCP/IP协议是一个协议簇,包含了许多协议,在DSP上实现的全部协议如图3所示,通常可分为四层不包括物理层。依据DSP的结构特点和所需要实现的功能,在DSP中实现了

10、ARP地址解析协议、IP网络协议、ICMPInternet掌握报文协议、UDP用户数据报协议和TCP传输掌握协议,并对它们进行了简化。在链路层中实现了ARP。每种网络都有自己的寻址机制,以太网通过以太网地址即通常所说的网卡硬件地址MA*进行寻址的,每个网卡出厂时都有一个唯一的MAC地址。IP地址那么仅仅是对于TCP/IP簇有意义的地址,是一种虚拟地址。当给予IP地址的IP包要在以太网中传播时,需要将IP地址转化为以太网地址才能进行正确的传输。ARP协议就是将32位的IP地址动态地映射为48位的以太网地址,从而保证网络的正确传输。ARP协议由两个文件arpin.c和arpout.c实现。arpi

11、n.c负责接收网络上广播的arp包,判断arp包的类型是网络上其它机子的恳求包还是返回本机的响应包,判断其合法性并进行相应的处理;arpout.c负责主机向网络发送数据报时发送arp恳求包以及被arpin.c调用响应收到的arp恳求包。在网络层中实现了IP和ICMP。IP协议是TCP/IP协议簇中最核心的协议,它提供无连接的数据报传送服务,全部上层协议都要以IP数据包格式传输。IP协议由两个文件ipin.c和ipout.c实现。Ipin.c负责接收IP数据包,收到IP包后,首先判断其版本号、数据长度、目的地址、检验和是否正确,再依据首部的协议类型字段的值交给相应的上层协议处理;负责发送数据包,

12、接收上层协议传递下来的数据,加上字节的首部,正确设置源地址和目的地址、协议类型,计算检验和,交给下面的链路层发送。机上的数据包,当它的长度超过网络的时,允许对它分段;在中,那么不支持数据包分段,也不支持选项字段。协议负责传递差错报文以及其它需要留意的信息,且由首部位的类型字段和位的代码字段决断信息的种类。在中只实现了对回显恳求类型代码为报文的处理,从层收到包后,判断其类型代码段是否为。假如是,将这两个字段设置为回显应答,计算检验和,再交给层发送;假如不是,那么予以丢弃。从而实现了对功能的支持。本文通过与网卡的硬件接口的设计及编程,使实现了基于以太网的通信,从而使可以通过网线进行联网,并可以实时

13、地与计算机进行通信,交换大量的数据和掌握信息。本文所介绍的技术已经在参与的国家项目繁复自然环境时空定量信息的猎取与融合处理的理论与应?quot;的硬件设计中得到应用,并运行良好。软硬件配置方案设计二传统的嵌入式系统中,设计周期、硬件和软件的开发是分开进行的,并在硬件完成后才将系统集成在一起,许多状况下,硬件完成后才开始进行实时软件和整体调试。软硬件联合仿真是一种在物理原型可用前,能尽早开始调试程序的技术。软硬件联合仿真有可能使软件设计工程师在设计早期着手调试,而采纳传统的方法,设计工程师直到硬件设计完成才能进行除错处理。有些软件可在没有硬件支持的状况下完成任务的编码,如不涉及到硬件的算法。与硬

14、件相互作用的编码在获得硬件之前编写,但只有在硬件上运行后,才能真正对编码进行调试。通过采纳软硬件联合仿真技术,可在设计早期开始这一设计调试过程。由于软件的开发通常在系统开发的后段完成,在设计周期中较早的开始调试有可能将使这一项目提早完成,该技术会降低首次将硬件和软件连接在一起时涌现意外而致使项目延期完成所造成的风险。在取得物理原型前,采纳软硬件联合仿真技术对硬件和软件之间的接口进行验证,将使你不会花太多的时间在后期系统调试上。当你的确拿到物理原型开始在上面跑软件的时候,你会发觉经过测试的软件部分将会正常工作,这会节约项目后期的大量时间及努力。软硬件联合仿真系统由一个硬件执行环境和一个软件执行环

15、境组成,通常软件环境和硬件环境都有自己的除错和掌握界面,软件通过一系列由处理器启动的总线周期与硬件的交互作用。本文以一个MiniWeb卡的开发介绍一种软硬件联合仿真系统。该方案的核心是采纳一个51单片机仿真引擎GoldBullISS51以下简称ISS51,ISS51是51单片机开发环境KeiluVision2的一个插件,ISS51具有连接Keil和硬件仿真环境Modelsim的接口,可以实现软硬件同步仿真。在该系统中,Keil作为软件调试界面,Modelsim作为硬件仿真和调试界面,ISS51负责软件执行、监控软件断点、单步执行、内存和寄存器数据返回给Keil、CPU总线时序产生和捕获、内部功

16、能模块如定时器,串口的运行等功能。MiniWeb卡介绍MiniWeb卡是一个运行在单片机上的Web服务器,提供网口连接,有大容量文件系统,提供TFTP和HTTP服务。尽管软件系统比较繁复,但优化编译后,执行代码还不足25K,为后续升级留下了足够空间。51CPU采纳SST89系列,这种CPU具有ISP功能,可以通过RS232串口,径直将目标码下载到CPU。DMA掌握规律是一个可编程规律器件,采纳的是ALTERA的CPLDEPM240,主要功能是实现外围器件之间的DMA传递。由于51CPU进行IO访问是很低效的,需要24个时钟周期才能进行一次IO访问,在外围设备之间转移数据那么需要更多的时钟周期,

17、运用DMA掌握规律可以达到3个时钟周期就能转移一个字节。本系统中处理多种网络协议,需要大量报文收发和文件系统访问,采纳DMA可以极大地提高51单片机的数据处理速度。DMA通道主要有MAC芯片与RAM之间的数据块转移,SMARTMEDIA和RAM之间的数据块转移。网卡芯片采纳的是A*88796,主要的优点是可以和51CPU方便地接口;支持100M以太网,速度高;有较大的接收报文缓存,能够平滑网络流量,减削因51CPU处理速度慢导致的报文丢弃和重发。SMARTMEDIA是一个移动存储卡,主要用于存储文件,MiniWeb卡支持8M到256M的SMD卡。文件系统是MiniWeb卡的新开发模块,文件系统

18、的测试主要通过TFTP来进行,为此MiniWeb卡上的TFTP服务程序进行了非常设计,支持格式化SMARTMEDIA,猎取剩余空间,猎取文件名列表,上传、下载和删除文件。软硬件联合仿真的须要性:MiniWeb卡软件模块多,软件开发风险较大。软件对硬件的依靠较强,FLASH存储器的访问驱动、网卡驱动、DMA驱动,需要软硬件协同调试。文件系统的开发,在仿真环境下更简单和快捷。比如在仿真结束时,可以将SMARTMEDIA仿真模型中的数据倒换到磁盘文件中,在仿真开始时,将磁盘文件中的数据加载到SMARTMEDIA仿真模型中,在定位文件系统的问题时,这一个功能很有用。采纳软硬件联合仿真,便于系统前期设计

19、。51单片机的外部RAM访问效率较低,内存拷贝、外部器件之间的数据块转移很糜费时间。将大量数据的拷贝操作或数据块校验、比较操作在CPLD内实现,可以大大改进51单片机处理数据的技能。通过软硬件联合仿真,可以评估CPLD处理数据对性能的改进。MiniWeb卡软硬件联合仿真系统:软硬件联合仿真主要解决的问题是系统功能设计与验证,它不解决电源、滤波电容、总线电平兼容问题。做系统仿真,首先要对硬件系统建模。我们关注的是系统设计的正确性和可执行性。系统中的串口只是用来支持ISP下载软件,软件部分没有对串口做任何操作,所以系统仿真可以不必考虑。网卡芯片A*88796,厂商没有提供仿真模型。它与CPU的接口

20、符合ISA接口标准,软件对A*88796的操作是依据NE2000标准网卡芯片设计的,由此我们建立了一个网卡芯片的仿真模型。我们设计了一个MACBFM来仿真网卡芯片的ISA接口,NE2000定义的寄存器在C模型中实现,MACBFM与NE2000寄存器C模型通过PLI接口交换数据。SRAM仿真模型是很简单猎取的,许多器件生产商都提供Verilog仿真模型,但器件生产商提供的Verilog仿真模型都包含繁复的延时掌握代码,这会影响仿真速度。依据阅历,我们可以确保SRAM在单板设计中被正确应用,不会产生时序问题,所以我们可以采纳一个简化的SRAM仿真模型,这是我们自己设计的,有效代码只有十几行。51C

21、PUBFM负责单片机管脚时序的产生和捕获。51CPUBFM是与ISS51紧密捆绑的,由ISS51安装程序提供。SMARTMEDIA是三星公司提供的仿真模型,我们运用的也是三星公司的同类型存储卡。该模型可以用于验证软件操作SMARTMEDIA的正确性和DMAController的接口时序。DMAController是MiniWeb卡硬件开发的一部分,将规律设计代码应用于仿真,既能检测规律设计的正确性,又能使整个仿真系统得以正常运转。虚拟网卡做系统仿真,需要输入来自真实世界的激励,并将仿真系统的输出传递到真实世界。即便是不能连接到真实世界,也应当提供模拟真实世界的输入,并对仿真系统的输出进行检测和

22、分析。对于MiniWeb卡来说,它和真实环境是通过网口连接的。运用虚拟网卡技术,能够将图3中的MACCModel与虚拟网卡进行通讯。对于运行在Windows系统上的应用程序来说,它并不知道网卡是虚拟的还是真实的,应用程序通过虚拟网卡收发数据,事实上是与仿真系统在进行网络通信。这样就可以运用TFTP向MiniWeb卡仿真系统传递网页文件,运用IE阅览MiniWeb卡仿真系统中的网页,MiniWeb卡的全部功能都能够被检验。运用网络臭探器Sniffer可以监控虚拟网卡的报文流,方便协议调试。仿真加速技术软硬件联合仿真,影响仿真速度的瓶颈在HDL代码部分的仿真。假如不设法提高HDL代码部分的仿真速度,软件调试就特别低效。提高硬件仿真速度的方法之一是软件硬件仿真采纳事项同步,只在CPU访问IO时保持软件和硬件是同步的。仿真加速方法之二是硬件仿真系统时钟休眠。对于MiniWeb卡来说,只有DMAController是受时钟掌握的,软件没有操作DMAController的期间,DMACont

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论