新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于NiosⅡ的1553B总线通讯模块设计与开发

基于NiosⅡ的1553B总线通讯模块设计与开发

作者:时间:2015-01-16来源:网络收藏

  2.4 以太网接口设计

本文引用地址:http://www.amcfsurvey.com/article/268250.htm

  以太网控制器选用DM9000A,芯片为48管脚的LQFP封装,支持处理器接口以字节/字模式的I/O命令操作内部存储器数据,集成10/100M带有AUTO-MDIX的接收器,支持用于全双工流控制的IEEE802.3x标准,提供IP/TCP/UDP校验和生成以及校验过程,可选的EEPROM配置。

  DM9000A与控制器和RJ45连接器的连接如图4所示。DM9000A与控制器有两种数据总线宽度的连接方式,即8位/16位模式,论文选用16位操作模式。DM9000A通过TX+、TX-、RX+和RX- 4条线与自带隔离变压器的RJ45转换器相连。RESET引脚为DM9000A的复位引脚,低电平有效;X1外接25 Hz时钟频率。

  

 

  2.5 接口设计

  BU-61580与控制器的接口形式非常灵活,本文根据需求和资源情况选择16位缓冲连接方式。为了提高本模块的抗干扰性,论文采用变压器耦合方式。BU-61580的外围电路连接图如图5所示。

  

 

  3 模块软件设计与开发

  3.1 软件结构设计

  软件结构层次由NiosII处理器系统硬件、设备驱动程序、HAL API、μC/OSII、LwIP协议栈、系统初始化和应用程序7部分组成,如图6所示。

  

 

  1)NiosII处理器系统硬件:模型的核心,包括在中实现的NiosII软核处理器和硬件外设;2)设备驱动程序:管理以太网、组件和其它外设的软件函数;3)HAL API:硬件抽象层应用程序接口,对设备驱动程序提供标准化的接口,对外层提供类似于POSIX的API;4)μC /OSII:实时操作系统层,为LwIP协议栈、任务和嵌入式Web任务提供多任务和任务间通讯服务;5)LwIP协议栈:通过套接字API为应用程序和应用系统初始化提供网络服务;6)系统初始化:包括μC/OSII、LwIP协议栈和1553B组件初始化函数,也包括所有应用程序的任务、信号量、队列和事件性标志等实时操作系统任务间通讯资源的创建;7)应用程序:最外一层是建立的各项应用任务。

  应用程序工作过程如下:首先进行系统初始化,然后进入工作等待状态。以太网任务等待客户端通过以太网发来的数据包,当有数包到达时,经物理层处理后交于TCP/IP层处理。在TCP/IP协议层之上,建立了3个套接字接口来侦听套接字连接:嵌入式Web端口、PING端口和1553B端口。对于1553B任务,根据客户端不同的请求,将启动不同的任务来完成相应的数据命令的发送或状态的读取。

  3.2 基于μC/OSII的LwIP协议实现

  轻量型IP(Light Weight IP,LwIP)协议是用于嵌入式系统开放源代码的TCP/IP协议栈。LwIP在保持TCP协议主要功能的基础上减少对RAM的占用,非常适合在嵌入式系统中使用。

  LwIP协议栈在设计时就考虑了移植问题,把所有与硬件、OS和编译器相关的部分独立了出来,因此LwIP在μC/OSII上移植只需修改目录下的文件即可。

  3.3 1553B总线协议任务的实现

  为方便对BU-61580芯片操作,开发了BU-61580的驱动程序。驱动程序包括BU-61580芯片的初始化函数、BC发送接收命令函数、BC发送发送命令函数、BC发送接收/发送命令函数、BC发送不带数据字的方式命令函数和BC发送带数据字的方式命令函数。

  参考嵌入式Web服务器的实现方式,基于LwIP和μC/OSII建立了端口号为8000的1553B套字接口任务,流程如图7所示。

  

 

  首先建立1553B任务接口守护进程,创建TCP套接字,绑定端口,将TCP套接字转换成侦听套接字,进入循环结构,等待接受用户的连接请求。当有客户端请求连接端口8000时,调用套接字数据接收函数recv()将客户端发送的数据读取过来,将数据映射到定义的结构体变量alt_avalon_BU61580*bdev上;用请求解析函数int 1553B_request(alt_avalon BU61580*bdev)根据messagemode判断需要采取什么操作方式:然后BU-61580的发送数据函数将数据内容写到相应的寄存器或存储器内,启动BC发送;如果调用读取数据函数,则将存储器或寄存器地址传递给读取函数,将读取到的数据调用函数int 1553B_transmit(&bdev[i],i)经以太网打包后发送给客户端。

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


通信相关文章:通信原理


存储器相关文章:存储器原理




关键词: NiosⅡ 1553B FPGA

评论


相关推荐

技术专区

关闭