基于FPGA的可复用通信接口设计

发布者:Zhenxiang最新更新时间:2011-10-28 关键字:FPGA  可复用通信接口 手机看文章 扫描二维码
随时随地手机看文章

  1、引言

  长期以来,外围设备与主机CPU速度之间的不匹配始终困扰着人们,影响了计算机系统更迅速的发展。 随着计算机处理能力及存储规模的迅速增长,这个问题表现得更加突出。虽然已经采取了各种软、硬件的 方法,不断地改善着CPU与I/O设备之间的接口性能。然而,在许多应用中接口问题依然是制约系统性能的 瓶颈。对于特定的设计,设计者面对纷繁芜杂的接口标准,一般根据系统所需的成本及功能选择合适的标 准产品,这可能导致接口标准冲突和引起互用性问题;或许重新选择与接口兼容的标准器件,但又可能会 造成不满足功能需要或成本要求等。

  FPGA技术的迅速发展使得接口问题有了好的解决方案。例如,现有的高性能接口IP及高速物理I/O的 FPGA,可满足10Gb/s以上的通信系统的要求;而且用FPGA解决接口不兼容器件间的通信问题。因此本文 将提出一种新的基于FPGA 的SPI 接口设计方法。

  SPI(Serial Peripheral Interface)串行外设接口总线[1]是一种同步全双工串行通信接口总线。由于其连线 简单使用方便,故得到广泛应用。在实际开发应用中,若主控制器无SPI接口或需要与多个具有SPI接口的 外设通信,就要使用主控制器的I/O口通过软件来模拟,这就在很大程度上限制了其应用且给数据传输带来 不便。在FPGA技术迅速发展的时代,解决这个问题最方便的办法就是集成一个SPI核到芯片上。

  这里根据业界通用的SPI总线的标准,设计一种可复用的高速SPI总线。设计过程中很多变量都采用参 数形式,具体应用于工程实践时根据实际需要更改参数即可,充分体现了可复用性。

  2、 SPI 总线原理

  SPI 总线由四根线组成:串行时钟线(SCK),主机输出从机输入线(MOSI),主机输入从机输出线(MISO), 还有一根是从机选择线(SS),它们在与总线相连的各个设备之间传送信息,其连接方式如图1。


  图1.SPI总线示意图

  SPI 总线中所有的数据传输由串行时钟SCK 来进行同步,每个时钟脉冲传送1 比特数据。SCK 由主机产 生,是从机的一个输入。时钟的相位(CPHA)与极性(CPOL)可以用来控制数据的传输。CPOL=“0”表示SCK 的静止状态为低电平,CPOL =“1”则表示SCK 静止状态为高电平。时钟相位(CPHA)可以用来选择两种 不同的数据传输模式。如果CPHA =“0”,数据在信号SS 声明后的第一个SCK 边沿有效。而当CPHA=“1” 时, 数据在信号SS声明后的第二个SCK 边沿才有效。因此,主机与从机中SPI 设备的时钟相位和极性必须 要一致才能进行通信。

  SPI 可工作在主模式或从模式下。在主模式下,每一位数据的发送/接收需要1 次时钟作用;而在从 模式下, 每一位数据都是在接收到时钟信号之后才发送/接收。1个典型的SPI系统包括一个主MCU和1 个或几个从外围器件。

  3、设计原理

  Verilog HDL 是一种硬件描述语言,他可以用来进行各种级别的逻辑设计,可以用来进行数字逻辑系统 的仿真验证、时序分析和逻辑综合等,应用十分广泛。本文使用Verilog设计 SPI接口模块,实现可IP复用 的通用结构。根据SPI总线原理,可用几个功能模块来实现微处理器与从设备之间的双向数据传输。

  3.1. 系统架构设计

  根据SPI 总线的原理,本设计的SPI Master同SPI协议兼容,在主机侧的设计相当于wishbone总线[2]规 范兼容的slave设备,总体架构可分为以下3个功能模块[3]:Clock generator、Serial interface、Wishbone interface

  3.2. 模块设计

  3.2.1 .时钟产生模块spi-clgen设计

  SPI时钟分频模块中的时钟信号的来源是外部系统提供的时钟clk_in,模块会根据各个不同接口的时钟 分频因子寄存器,产生相应的时钟输出信号clk_out。由于SPI没有应答机制,为了能够保证时序的可靠性, 特别设计了一个无论对于奇分频还是偶分频都异常可靠的时钟生成模块产生传输所需要的串行时钟。

  此模块重点考虑了奇分频的情况,为了节省资源对奇分频的做改动同时也能实现偶分频的情况。对输入主 时钟的同步奇整数分频,可以简单地用一个Moore机来实现,编码采用Moore机增加了可靠性。

  master核系统输入时钟clk-in通过divider分频产生clk-out,通过改变divider的值,可以实现任意分频的时钟 输出[4]。其频率表达式如下:


  用verilog语言描述时钟产生模块,用ISE综合后,其生成电路如图2所示。



  图2.时钟产生模块电路

  3.2.2. 串行接口模块spi-shift设计

  数据传输模块是SPI的核心模块。此模块负责把并行进来的数据串行传出,串行进来的数据并行传出。 本文设计的shift与通常的SPI移位模块设计不同,原因在于这里考虑了寄存器的复用,以使用较少硬件资源 来增大一次传输数据的位数,从而提高数据传输的整体速率。对于并行进来的数据位宽比较长,比如128 位的数据时,为了提高传输的速度,本文设计工作中牺牲了资源改进了以前的保守的SPI模块。SPI MaSTer 核在主机侧作为slave设备接收数据,同时作为master设备发送数据。此模块verilog代码经ISE综合后如图3 所示。


  图3.串行接口模块电路

  3.2.3. 顶层TOP模块

  本文在分析协议的基础上建立了高速可复用SPI总线的基本结构,包括时钟生成模块,数据传输模块, 并用上层TOP模块调用底层的两个模块。顶层模块的重要作用就是让分模块能够顺利的运作起来。所以此 SPI核的顶层模块要写入控制字,通过状态机控制调用时钟生成模块和数据传输模块正常运行。其经ISE综 合后如图4所示。



  图4.顶层TOP模块电路

  4、仿真与验证

  仿真与验证是IP核设计中非常重要的一部分,因为它直接关系着IP的可用性。将用verilog 描述好的SPI 接口电路用ISE进行综合,然后用modelsim 软件进行仿真[5]。在建立测试平台时,首先要建立模拟Wishbone 协议的master模块,同时建立模拟SPI协议的slave模块,再将接收/发送数据和地址进行比较、校验。因此 Spi-top Testbench总体架构可分为:Wishbone master model、SPI master core、SPI slave model 三个模块。

  为了简单仿真8bit数据传输,首先进行复位,然后设置寄存器,再进行寄存器校验,无误之后进行8bit 数据传输,在tx上升沿发送数据,rx下降沿接收数据,仿真波形如图5所示。同理可以仿真64bit、128bit等 数据传输仿真波形。


  图5. 8bit数据传输仿真波形

  用ISE软件进行编译,将生成的网表文件通过JTAG下载到xilinx 公司的spartan3 系列FPGA运行,在ISE 的辅助分析下得到了正确的结果。

  5、结束语

  随着半导体技术的进步,FPGA 的价格越来越便宜, 工作频率越来越高,使用FPGA 实现SPI 通信 接口是切实可行的。

  本文作者创新点:设计过程中很多变量都采用参数形式,具体应用于工程实践时根据实际需要更改参 数即可,充分体现了可复用性。由于SPI对传输时序要求非常严格,所以本文工作中设计了一种比较可靠, 稳定的时钟生成模块,它对于奇偶分频的情况分别考虑,从而避免了以往SPI总线中对系统时钟奇分频时 会出现分频出的时钟不稳定的问题。数据传输模块采用较简洁的并串互转结构,一次最多可传输128位, 速度是遵守SPI协议的同类器件里较快的。并且从128位到8位可选具体一次要传输多少位,有别于以往一 次传输的位数为定值的情况。

关键字:FPGA  可复用通信接口 引用地址:基于FPGA的可复用通信接口设计

上一篇:FPGA并行数字序列传输与接口技术应用
下一篇:1-Wire温度传感器的快速编程

推荐阅读最新更新时间:2024-05-02 21:40

专访Altera副总裁胡勇冕 SoC FPGA瓜分嵌入式大饼
为插旗高性能嵌入式系统,现场可编程闸阵列(FPGA)大厂Altera推出整合安谋国际(ARM)Cortex-A9双核心中央处理器(CPU)的28奈米(nm)系统单晶片(SoC)FPGA--Cyclone V和Arria V,提供嵌入式系统开发商微处理器(MPU)之外的新选择,对既有MPU厂商形成不小威胁。 Altera产品暨企业传讯副总裁胡勇冕表示,新款Cyclone V和Arria V SoC FPGA,整合符合市场运算处理需求的800MHz双核心Cortex-A9处理器,可符合高效能嵌入式系统应用需求,为该公司扩大嵌入式市场版图的重要利器。未来将锁定智慧电网(Smart Grid)、太阳能逆变器(Solar Inverter)、
[嵌入式]
九寨沟、新疆地震突如其来,地震仪到底发展到啥程度了?
这两天,想必大伙一定被两则地震消息给刷屏了,一个是08月08日21时19分发生在四川阿坝州九寨沟县发生7.0级地震;另一个是8月9日7时27分,在新疆博尔塔拉州精河县发生 6.6级地震。有网友疑问,为什么 地震仪 不能提前预测并大幅度减少伤亡呢?地震仪的技术到底发展到什么程度了?   今天的《 方案馆 》,与非小编就和大伙说一说关于地震仪的故事。   发展史 说到地震仪,不知道大伙是不是和小编一样,“张衡”两个字瞬间跳到眼前。张衡是我国东汉时代的科学家在公元132年就制成了世界上最早的“地震仪”,准确的说是 地动仪 。此仪器据说能判定地震发生的方位,那个没有电子仪器的年代,这玩意当真有用吗?     地动仪的核心部件就是一个青
[嵌入式]
Altera为IBM电源系统提供基于FPGA的加速功能
   Altera最新版Altera面向 OpenCL的SDK支持IBM电源系统服务器作为OpenCL系统主机。客户现在可以采用 Altera FPGA 实现高性能计算解决方案,针对IBM电源系统CPU和加速器电路板来开发OpenCL代码。在许多应用上与基于CPU的标准服务器相比,FPGA用户可以看到性能提高了5-20倍。 此外,Altera公司宣布完全支持OpenPOWER联盟,这一开放开发联盟使IBM Power微处理器可以根据许可证下给其他公司进行开放协作和开发。Altera公司打算尽快正式加入该联盟 ,现在等候完成管理文件和开启会籍。 增加IBM电源系统进一步加强了Altera基于FPGA的异构计算产品,而且还支持所有其
[嵌入式]
基于EDA技术的FPGA设计计算机应用
对传统电子系统设计方法与现代电子系统设计方法进行了比较,引出了基于EDA技术的现场可编程门阵列(FPGA)电路,提出现场可编程门阵列(FPGA) 是近年来迅速发展的大规模可编程专用集成电路(ASIC),在数字系统设计和控制电路中越来越受到重视。介绍了这种电路的基本结构、性能特点、应用领域及使用中的注意事项。对基于EDA技术的FPGA进行了展望。指出EDA技术将是未来电子产品设计技术发展的主要方向。   集成电路技术和计算机技术的蓬勃发展,让电子产品设计有了更好的应用市场,实现方法也有了更多的选择。传统电子产品设计方案是一种基于电路板的设计方法,该方法需要选用大量的固定功能器件,然后通过这些器件的配合设计从而模拟电子产品的功能,其
[模拟电子]
基于FPGA通信接口模块的设计
  某新型设备分为两个相互分离的部分:射频及信号处理部分(简称“前端”)、数据处理及系统控制部分(简称“后端”),两部分之间相距较远。前端由多个模块组成,均受后端中心机的控制,并且还需向中心机传输模块状态信息。为保证两部分之间的通信并尽量简化通信线路设计,需要在前端设置通信接口模块,负责前端各模块与中心机之间的通信。文中设计了一个通信接口模块,通过光纤接口与中心机连接,实现了对前端受控模块的远程控制和状态监测。   中心机和前端受控模块之间相距较远,而且需要传输较大的数据量。一般的485串行接口已无法满足要求,而光纤具有传输速度快、传输距离远、抗干扰能力强和重量轻等优点,在高速通信中得到了广泛应用。因此这里选择光纤作为通信介质
[单片机]
基于<font color='red'>FPGA</font>的<font color='red'>通信接口</font>模块的设计
基于FPGA的电梯控制系统设计
摘要:介绍了基于FPGA的四层电梯控制系统的设计。该系统采用Altera公司的CycloneⅡ系列FPGA芯片EP2C5T144作为主控制芯片,采用Verilog-HDL编程描述,实现对电梯的智能控制,经仿真验证,完成所要求功能。该设计采用模块化编程,升级可实现任意多层电梯系统,具有很强的适应性和实用性。 关键词:电梯控制;FPGA;Verilog;控制模块 0 引言 随着社会的发展,电梯的使用越来越普遍,对电梯功能的要求也不断提高,其相应控制方式也在不断发生变化。电梯的微机化控制主要有:PLC控制、单板机控制、单片机控制、单微机控制、多微机控制和人工智能控制等。随着专用集成电路ASIC设计技术和EDA技术的发展,可编程逻
[嵌入式]
基于<font color='red'>FPGA</font>的电梯控制系统设计
基于平台的FPGA显示设计方案节省系统成本
  如今数字显示设备中引起成本变化的主要因素是显示屏。在设计阶段,不断推进基于平台的显示设计的决策可以大大减少采购成本。如果能支持多种显示屏尺寸,原始设备制造商(OEM)能从一个供应商那里得到较大的折扣。为了支持多种显示屏供应商的规范,OEM可以创建竞争形势以得到较低的价格。这两种方案节省的开支大于由于需要额外的器件而引起价格的上升,例如能实现基于平台设计的FPGA。此外,多个供应商的支持降低了连续供给的风险。 基于平台的显示设计的一些考虑   为了采用基于平台的方法获取最佳的成本节省和灵活性,系统设计者为系统挑选器件时须遵循下列准则:不同地方的对图形处理器的要求不同,可编程特性支持全球的多种标准和格式,加速终端产品
[电源管理]
基于平台的<font color='red'>FPGA</font>显示设计方案<font color='red'>可</font>节省系统成本
Altera Stratix II FPGA达到军用温度级标准
2007年3月29号,北京 ——Altera公司(NASDAQ: ALTR)今天宣布,其90nm高性能Stratix II FPGA器件系列所有封装型号均达到军用温度级标准。 Altera的Stratix和StratixII器件能够可靠地工作在商用、工业和军用温度级范围内,符合严格的规范标准。公司将工业级StratixII器件的工作范围扩展到-55°C至+125°C,达到军用温度级。与专用军事器件相比,标准工业器件应用在军事领域在价格和使用寿命上有很大的优势。StratixII系列的EP2S15、EP2S30、EP2S60和EP2S90等型号均支持军用温度工作范围。 Altera亚太区市场总监梁乐观认为:“对于军事应用设计人员而言
[新品]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved