新闻中心

EEPW首页>手机与无线通信>设计应用> 基于FPGA的TCP/IP通信协议与Matlab通信系统的研究

基于FPGA的TCP/IP通信协议与Matlab通信系统的研究

作者: 时间:2012-09-02 来源:网络 收藏

整个设计具体操作如下:

本文引用地址: //m.amcfsurvey.com/article/154018.htm

  (1)在EDK的集成开发环境XPS(Xilinx Platform. Studio)中,处理器功能单元,外围总线结构,终端外设以及相应的地址映射和默认的驱动等都可以在BSB(Base System Builder)中完成。在Microblaze的基本构建中其主要设置如下:使用Single Processor System系统,Local Memory为16k,系统时钟频率为62.5MHz,定时器和以太网中断必须连接到处理器的中断控制器上,另外,本设计还用到的GIOP、 Ethernet MAC、DDR、SDRAM控制器等,其间用到的驱动,都是用xilinx提供的自带默认的相应驱动。

  (2)最后XPS自动生成微处理器硬件规范MHS(Microprocessor Hardware SpecificaTIon)和描述软件系统结构的微处理器软件规范MSS(Micro-processor Software Specification)文件以及一些相关的文件。这些文件都可以手动进行修改,从而是使整个系统更加的优化。

  (3)生成的系统最后生成bit文件,把其文件下载到目标板子上。

  2.2 Simulink接收模块的搭建

  Simulink中中的接收模块,其终端的地址,端口的设置要与上的以太网的IP地址、端口的设置一致,这就为/IP接收模块指定了要的地址即完成了接收模块/IP的相关配置,也就完成了中以太网的接收模块的搭建,在 Simulink中,具体的模块设计如图3所示。

具体的模块设计

数据通过此模块可以较直观地用图形动态显示。

  3 系统的软件平台及网络的实现

  3.1 软件内核和

  本设计主要选择了Xilinx公司的精简嵌入式操作系统Xilkemel,它是Xilinx提供的用于EDK系统的小型、模块化的嵌入式操作系统内核,它支持Microblaze核,与EDK形成的硬件系统无缝连接,具有可定制、CPU资源占用较小、运行速度快等特点,是MicroBlaze嵌入式软核的理想操作系统,其整体的开发流程如图4所示。

开发流程

  网络通讯我们采用TCP/IP协议,该通讯协议采用四层(应用层、传输层、互连网络层、网络接口层)层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求,系统分为两部分实现:

  第一部分为物理层和MAC层,本设计中用LAN83C185来实现物理层,MAC层由Xilinx公司的Ethernet MAC IP核,并作为整个MicroBlaze系统硬件的一部分在内实现。

  第二部分是运输层和网际层,主要由软件代码实现。TCP/IP网络通信软件允许用户远程注册到另一个系统中,并从一个系统复制文件到另一个系统,虽然Xilkernel本身不带有文件处理系统和TCP/IP协议栈,但它与Xilinx公司的LwIP库具有良好的接口,加上系统支持库 LibXilMFS可形成一个比较完整的嵌入式系统,其特点是内核配置功能都已集成到EDK工具中,使用简单、方便,内核启动静态创建线程,而动态分配内存,可加载或卸载不同功能模块来实现内核的高扩展性。

  本设计主要采用LwIP3.OOb(Light weight Internet Protocol stack)协议模块套用于嵌入式系统的开放源代码TCP/IP协议栈中,LwI-P3.00b提供二种API模式:Socket模式和RWA模式,由于 Socket模式开发难度不大,只要启动Xemacif input thread线程,从中断响应的过程中接收数据包并转移到LwlP的tepip thread中就可以。所以方便考虑我们决定上层协议部分协议模块采用Socket模式,因此需在MSS文件里对LwIP进行例化(包括相应的 LwIP参数设置)从而减少存储器利用量和代码编写。

  3.2 网络通信程序的实现与设计

  网络通信程序主要完成从超极终端发送数据,传到Simulink中的ICP/IP接收模块。下面是主要的网络通信程序:

  Server_thread()函数是Xilkernel的第一个线程,初始化LwIP协议栈。

  ServerAppThread()函数可完成MAC、IP、掩码以及网关的配置,并完成Socket应用。

tcp/ip相关文章:tcp/ip是什么




评论


相关推荐

技术专区

关闭