当前位置:首页 > 申请书大全 > 【基于FPGA的自定义总线MCMB的设计与实现】自定义总线
 

【基于FPGA的自定义总线MCMB的设计与实现】自定义总线

发布时间:2019-07-10 03:58:58 影响了:

  摘 要:针对现在对机载数据采集系统中总线技术的要求,采用Altera公司的CycloneⅢ 系列FPGA EP3C40F484,在数据采集系统中实现了自定义数据采集总线MCMB的设计。通过Modelsim进行功能仿真,并利用QuartusⅡ自带的仿真软件SignaltapⅡ在FPGA上调试验证总线IP核设计的正确性。
  关键词:自定义总线MCMB;机载数据采集系统;Modelsim;QuartusⅡ
  The design and realization of MCMB bus based on FPGA
  ZHANG Zhi-peng, LIU Juan, BAI Bin
  (Xi"an Electronic and Science University School of electronic engineering,
  Shaanxi Xi"an 710071)
  Abstract: In order to meet the requirements of bus technology for data acquisition system,we use the Cyclone III family FPGA EP3C40F484 of Altera company achieving MCMB bus IP core in the AT91RM9200-based data acquisition system. We mainly introduce the realization of the MCMB bus IP core based on Verilog HDL Language,simulated on the ModelSim Software. At last we use SignaltapⅡ to show the design is feasible.
  Keywords: custom bus MCMB; data acquisition system; Modelsim;QuartusⅡ
  机载数据采集系统由于其特殊的应用环境,对数据采集的要求较高。飞机一般都在高速、高空、高温环境下飞行,所以机载数据采集系统不仅要加大系统可靠性和电磁兼容性方面的设计,还要针对数据采集种类多、时间长、数量大、精度高等要求作更多特殊处理。可编程逻辑器件(FPGA)能将传统数据采集系统中的很多外围设备和分立元件集成,减小系统的体积,同时还具备系统在线编程的能力,使系统的维护、开发、更新变得更加方便。这些特性较好的解决了机载系统对产品重量轻、体积小、可靠性高、复杂度高等要求。
  随着计算机技术的发展,出现了许多优秀的总线技术,PCI总线和Wishbone总线就是其中的杰出代表。本文在对PCI总线和Wishbone总线研究的基础上,在FPGA内部设计实现了一种符合应变参数结构、适用于机载大量数据快速稳定传输的总线,在数据采集系统内部以IP核的形式实现了分布式数据采集总线(MCMB总线),真正达到高效、高速的数据双向传输。
  1 数据采集系统的整体设计
  系统整体系统框图如图1所示。
  机载数据采集系统采用模块化的设计思想,将机载分布式数据采集系统分为主控制单元、供电单元、总线中继单元、远程控制单元、传感器单元这几个模块。供电单元负责给整个系统提供所需电源。远程控制单元负责接收主控制器发送的信息并对其进行处理。当需实现远距离传输时,在远程终端处增加中继单元,延长通信距离。传感器负责采集外部实时参数并经远程模块上传至主控制器。主控制器控制整个数据采集系统的工作,一个主控制器可以连接多个远程终端,通过自定义的MCMB总线实现数据的采集和控制,完成对端点数据的采集。下面详细介绍自定义MCMB总线IP核的设计。
  2 MCMB总线IP核整体设计
  MCMB总线IP核的整体设计分为SMC接口模块和MCMB主桥接口模块两个部分。SMC接口模块实现ARM的SMC总线到Wishbone总线的转换,MCMB主桥接口模块实现的是Wishbone总线到MCMB总线的转换。这里我们将对这两个设计部分做详细介绍。
  (1)SMC接口模块
  实现SMC总线到Wishbone总线的转换,SMC总线至Wishbone总线接口转换模块如图2所示。
  该模块的信号转换可以分为以下三种:
  1)数据地址线
  地址线上将SMC总线的地址线SMC_A[15..0]译码成Wishbone地址总线ADR_O[15..0]。数据线上使SMC总线的输入输出复用数据线SMC_D转换成两个分开的单个输入输出信号DAT_O[15..0]和DAT_I[15..0][1]。
  2)控制信号
  当ARM发起SMC总线操作时,我们根据SMC总线操作的类型,译码得到以下输出控制信号:WE_O、CYC_O、SEL_O[3..0]、CTI_O[2..0]、STB_O和BTE_O[1..0]。
  SMC总线的读写命令分别为NRD和NWE。当NWE为低时,表明当前操作是写操作。NRD为低时,表明当前操作是读操作。Wishbone总线的WE_O信号只在写操作时有效,所以当FSC0和NWE都有效时,便将WE_O信号置1,证明这是一个有效的写操作,当FCS0有效但NEW为低时,为读操作[6]。
  CYC_O有效表示Wishbone总线事务的开始。当ARM发起SMC总线操作时,可由SMC总线的FCS0信号译码得到。
  SEL_O[3..0]代表Wishbone数据总线上的有效位。在系统的设计中将SEL_O[3..0]置全1,表明数据线上的每一位数据都一直有效。
  CTI_O[2..0]译码Wishbone总线的操作是单字操作和块操作。选择SMC总线地址线A[17]和A[18],A[17]定义为SMC_LAST;A[18]定义为SMC_BURST。这两个信号用于对CTI_O[2..0]的译码。当进行单字读写操作时,SMC_LAST和SMC_BURST均为低,CTI_O[2..0]译码为111;当进行块读写操作并且不是最后一个数据相时,SMC_LAST为低,SMC_BURST为高,CTI_O[2..0]译码输出010;当进行块传输且为最后一个数据相时,SMC_LAST和SMC_BURST均置为高,CTI_O[2..0]译码输出111,代表块传输操作的结束。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3