好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

软硬件配置方案设计.docx

14页
  • 卖家[上传人]:公****
  • 文档编号:439660638
  • 上传时间:2024-01-23
  • 文档格式:DOCX
  • 文档大小:17.09KB
  • / 14 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 软硬件配置方案设计很多时候我们需要将软硬件完美结合在一起才能达到目标要求 下面就是为您收集的软硬件配置方案设计的相关文章,希望可以帮到 您,如果你觉得不错的话可以分享给更多小伙伴哦!随着现代网络技术的发展,嵌放式系统如单片机、DSP等系统 对接入网络的需求日益增加,例如具有远程抄表功能的电表系统、楞 以进行远程控制的信息电系统等本文采用TI公司的TMS320VC33DSP 芯片设计与Realtek公司的RTL8019网卡的硬件接口电路,并在DSP 中用软件实现TCP/IP协议,使DSP芯片具备上网功能,从而可以用 计算机通过网卡与DSP电路板进行大量数据交换并对其进行控制1、硬件设计DSP与网卡的硬件接口电路图如图1所示DSP的数据总线低16位接ISA网卡的16位数据线,ISA网卡的 IOCS16线接高电平,设置网卡为16位的模式网卡共有20根地址线将A7〜A8、A10〜A19接地,A0〜A6和 A9分别接DSP的A0〜A7,用到的网卡地址为0240H〜025FH,映射到 DSP 的 Page3 空间,地址映射为 C000C0H〜C000DFHDSP的Reset信号用于复位网卡,由于DSP的Reset信号低有 效,而网卡的 Reset 信号高有效,故中间应接非门。

      DSP的Page3和R/W信号用于选能网卡的读写信号IOR、IOW, 实现的逻辑关系如图2所示IORQ是网卡的中断9,通过非门后接DSP的INT1引脚RTL8019 网卡有三种工作方式:第一种为跳线方式,网卡的I/O和中断由跳线决定; 第二种为即插即用方式,由软件进行自动配置 plugandplay; 第三种为免跳线方式,网卡的I/O和中断由外接的93C46里的 内容决定计算机上一是即插即用方式,为了降低软件编程的复杂度,将 网卡设置为跳线方式上述所有的译码逻辑都在EPM7129中实现74ALVC16425是总线驱动芯片,可实现3.3V到5V的电平转换 由于TMS320VC33和EPM7128是3.3V的器件,而ISA总线是5V的, 所以信号线不能直接连接,需要通过74ALVC164245进行电平转换和 隔离2、软件设计2.1 网卡硬件驱动程序的设计 网卡驱动程序主要包括以下几部分:(1) NIC的初始化NIC是网络接口控制芯片,它负责网络上数据的接收和发送 为了能够使NIC启动并处于准备接收或准备发送数据的状态,必须对 相关的寄存器进行初始化这些寄存器包括 CR、DCR、RBCR、PSTART、 PSTOP、 ISR、 IMR、 PAR0〜PAR5、 MAR0〜MAR7、 CURR、 TCP、 RCR 等。

      2) 中断服务程序中断服务程序一般完成两项任务:一是设置中断标志,以使相 关程序能以此发现发生了中断;二取得中断状态寄存器的值,并将引 起中断的具体原因提交给相应的程序,这一过程也是通过设置中断原 因标志完成的需要注意的,中断服务程序开始的时候要保护中断现 场,待程序处理完成后要恢复中断现场;中断服务程序应尽可能短小, 以便在尽可能短的时间内执行完成,因此需要将一些不民要的工作交 给其它程序来完成3)帧发送程序在网络中,帧传输的过程是:发送方将待发送的数据按帧格式 要求封装成帧,然后通过网卡将帧发送到网络的传输线上;接收方根 据接收到的帧的目的地址研究是否将该帧提交给上层应用程序帧的 发送是指将待发送的数据以帧的形式发送到网络传输线上,因此,帧 的发送过程应该包括以下几个步骤:① 装帧;② 将帧送入 NIC 的发送缓冲区;③ 初始化发送控制寄存器;④ 启动 NIC 将该帧发送到网络传输线上4)帧接收程序帧接收是指将网络上的数据帧接收并缓存于网卡的接收缓冲环 中,然后由主机程序将缓存于接收缓冲环的帧读走并存入内存中以备 程序使用从中可以看出,帧的接收过程分成两卡;① 第一步由NIC通过本地DMA将帧存入接收缓冲环;② 第二卡是通过远程DMA并在主机的配合下将接收缓冲环中的 帧读入内存。

      2.2TCP/IP 协议的实现2.2.1DSP中与PC机中实现TCP/IP协议不同TCP/IP协议最先是在UNIX系统中实现的,后来在LINUX、DOS 和WINDOWS系统中也实现了 TCP/IP但是,在UNIX上实现的TCP/IP 协议的源代码并不能直接移植到DSP上来,这是因为PC机和DSP存 在着巨大的差异PC 机的运算速度非常快,一般都有一个多任务的操作系统,可 以多任务并行执行,通过硬中断与中断、消息队列和各种插口实现 ATCP/IP各协议层之间的通信和整个网络的通信而DSP运行速度相 对较慢,缺乏多任务操作系统的平台,只能通过顺序执行加硬件中断 的方式来实现,并且因其还要同时执行数据采集、串口中断等任务, 所以中断程序应尽量短,只完成设置各种状态的标志位,而将相对较 慢的网络数据包的处理放在主程序中执行,以减少各种任务之间的冲 突PC机的内存非常大,现在一般都可达到32〜128M的存储容量, 可以动态地分配和释放内存,很容易实现存储器缓存mbuf、网络控 制块 ncb 等链状结构,且可随意增删;同时能维护多条网络连接,由 于计算机处理速度快,几乎不用考虑缓冲区溢出的问题而DSP内部 RAM 一般只有十几K,加上外部扩展的RAM也只能达到几十K的容量, 一个最大的以太网数据包就有1.5K左右,如果也按PC机的内存管理 方式和数据结构,使用mbuf链,RAM肯定不够用,因此只能在RAM 中分配一个固定的 1514字节的区段来存放接收到的以太网数据包, 接收一包处理一包。

      PC机中TCP/IP协议都是分层次实现的,相互之间都是通过参 数传递进行联系,这样有利于提高程序的模块化和独立性而在DSP 中,由于参数传递会占用过多的程序空间,且降低DSP的执行速度, 所以应尽量减少参数传递,转而使用全局变量和外部变量等来达到值 的传递,因此各程序间的依赖程度大,往往会共享某一些变量和数据PC机上实现了比较完整的TCP/IP协议而在DSP中,由于运 算速度和内存的限制,不可能支持所有的协议,一般只实现需要的部 分,不需要的协议一概都不支持;而且即使需要的协议也不用像在 PC 机上实现那么复杂,可以根据硬件的具体情况和实现的需求进行 必要的简化2.2.2TCP/IP协议的具体实现TCP/IP协议是一个协议簇,包含了很多协议,在DSP上实现的 所有协议如图 3 所示,通常可分为四层(不包括物理层)根据DSP的结构特点和所需要实现的功能,在DSP中实现了 ARP (地址解析协议)、IP (网际协议)、ICMP(Inter控制报文协议)、 UDP (用户数据报协议)和TCP (传输控制协议),并对它们进行了 简化2.2.2TCP/IP协议的具体实现TCP/IP协议是一个协议簇,包含了很多协议,在DSP上实现的 所有协议如图 3 所示,通常可分为四层(不包括物理层)。

      根据DSP的结构特点和所需要实现的功能,在DSP中实现了 ARP (地址解析协议)、IP (网络协议)、ICMP(Inter控制报文协议)、 UDP (用户数据报协议)和TCP (传输控制协议),并对它们进行了 简化在链路层中实现了 ARP每种网络都有自己的寻址机制,以太 网通过以太网地址即通常所说的网卡硬件地址MAX进行寻址的,每个 网卡出厂时都有一个唯一的MAC地址IP地址则仅仅是对于TCP/IP 簇有意义的地址,是一种虚拟地址当赋予IP地址的IP包要在以太 网中传播时,必须将IP地址转化为以太网地址才能进行正确的传输 ARP 协议就是将 32位的 IP 地址动态地映射为48位的以太网地址, 从而保证网络的正确传输ARP协议由两个文件arpin.c和arpout.c 实现arpin.c负责接收网络上广播的arp包,判断arp包的类型是 网络上其它机子的请求包还是返回本机的响应包,判断其合法性并进行相应的处理;arpout.c负责主机向网络发 送数据报时发送arp请求包以及被arpin.c调用响应收到的arp请求 包在网络层中实现了 IP 和 ICMP IP 协议是 TCP/IP 协议簇中最核 心的协议,它提供无连接的数据报传送服务,所有上层协议都要以 IP 数据包格式传输。

      IP 协议由两个文件 ipin.c 和 ipout.c 实现 Ipin.c 负责接收 IP 数据包,收到 IP 包后,首先判断其版本号、数 据长度、目的地址、检验和是否正确,再根据IP首部的协议类型字 段的值交给相应的上层协议处理;ipo ut. c负责发送IP数据 包,接收上层协议传递下来的数据,加上2 0字节的IP首部,正确 设置源IP地址和目的IP地址、协议类型,计算检验和,交给下面 的链路层发送PC机上的IP数据包,当它的长度超过网络的MT U时,允许对它分段;在DSP中,则不支持IP数据包分段,也不 支持IP选项字段ICMP协议负责传递差错报文以及其它需要注 意的信息,且由ICMP首部8位的类型字段和8位的代码字段决定 信息的种类在DSP中只实现了对回显请求(类型代码为80)报 文的处理,从IP层收到ICMP包后,判断其类型代码段是否为8 0如果是,将这两个字段设置为00(回显应答),计算检验和, 再交给IP层发送;如果不是,则予以丢弃从而实现了对ping 功能的支持本文通过DSP与网卡的硬件接口的设计及编程,使DSP实 现了基于以太网的TCP/IP通信,从而使DSP可以通过网线进 行联网,并可以实时地与计算机进行通信,交换大量的数据和控制信 息。

      本文所介绍的技术已经在作者参加的国家" 9 7 3 〃项目〃复杂自 然环境时空定量信息的获取与融合处理的理论与应?quot;的硬件设 计中得到应用,并运行良好传统的嵌入式系统中,设计周期、硬件和软件的开发是分开进 行的,并在硬件完成后才将系统集成在一起,很多情况下,硬件完成 后才开始进行实时软件和整体调试软硬件联合仿真是一种在物理原 型可用前,能尽早开始调试程序的技术软硬件联合仿真有可能使软件设计工程师在设计早期着手调试, 而采用传统的方法,设计工程师直到硬件设计完成才能进行除错处理 有些软件可在没有硬件支持的情况下完成任务的编码,如不涉及到硬 件的算法与硬件相互作用的编码在获得硬件之前编写,但只有在硬 件上运行后,才能真正对编码进行调试通过采用软硬件联合仿真技 术,可在设计早期开始这一设计调试过程由于软件的开发通常在系 统开发的后段完成,在设计周期中较早的开始调试有可能将使这一项 目提早完成,该技术会降低首次将硬件和软件连接在一起时出现意外 而致使项目延期完成所造成的风险在取得物理原型前,采用软硬件联合仿真技术对硬件和软件之 间的接口进行验证,将使你不会花太多的时间在后期系统调试上当 你确实拿到物理原型开始在上面跑软件的时候,你会发现经过测试的 软件部分将会正常工作,这会节省项目后期的大量时间及努力。

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

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.