并行接口

2024-07-27

并行接口(精选五篇)

并行接口 篇1

1 系统工作原理

并行数据转改进型SPI输出接口系统结构如图1所示。并行数据datain从外部输入到数据移位寄存器datars中,也可串行从sdi输入到数据移位寄存器datars中[2]。来自sdi的数据可用来进行收发两端传输过程的握手,检验对方是否正确收到数据。例如,如有必要,对方可将收到数据串行通过sdi发回到datars中,如果该数据与原datain数据相同,则表明发送正确。接收到的sdi数据可从数据缓冲寄存器databuf得到。当datain数据发送完毕,发送完毕标志信号bf置1。当复位信号reset为1时,bf变为低电平,并使nss为低电平,通知对方准备接收数据[3]。

系统工作时钟为clk,并通过sck为对方提供驱动时钟。当数据移位寄存器datars中的数据被全部移出时,移完标志信号bf置1,并使串行输出端口sdo输出为低电平,否则sdo输出为datain数据。这里称之为改进型SPI,其主要特点是在无数据传输时,SDI,SDO为低电平以省电,在数据传输方式上任采用SPI思想,因此当将该设计电路与现有标准SPI进行接口时,需要注意这种区别,界时可将无数据传输时的电平修改一下即可。如果不与其他原SPI标准通信,两个该系统电路即可完成高速通信。

2 程序流程

系统工作流程如图2所示。如以发送端为主设备,接收端为从设备,则系统开始工作时,先通过nss输出低电平使从设备获得一个选通信号,进入工作状态,并向从设备发送系统工作时钟sck,使主、从设备能同步传输数据。此外还使发送完毕标志信号bf置0。

系统有两种数据输入方式:

1) 当复位信号reset为1时,将并行数据锁存输入主设备,此后在reset为0时进行数据的串行输出[4]。

2) 当复位信号reset为0时,不能从并行输入端口输入数据,但可从串行端口输入数据,使该系统不仅具有与并行输出设备进行通信的能力,同时具有与串行设备通信的能力。

串行接收的数据通过并行输出端口databuf从数据缓冲寄存器读出。系统的端口设置的VHDL语言程序如下:

3 程序仿真

在Xilinx公司软件ISE10.1环境下运行程序,从运行程序综合后得到的顶层模块如图3所示中,可清楚地看到系统与并行设备和串行设备之间进行双向数据传输的接口引脚。

图4中为从并行端口输入两位十六进制数据B1(10110001b)后,再从串口输入110000111b后的输入输出波形图。从sdo和databuf输出引脚可见数据在时钟sck驱动下的输出情况[5]。表1则反映了在时钟驱动下,寄存器中数据和输入输出端口上信号的变化过程。

从表1中可见本改进型SPI串行接口的特点:当数据串行从输出端口移出时,同时也在串行从输入端口移入,并冲掉移位寄存器中原有的数据。完成从sdi端口接收一个字节数据,需要在数据传输完成标志bf为高电平后的下一个时钟才能完成[6]。图4为仿真程序运行结果。

4 结束语

随着电子技术的广泛应用,不同设备间进行通信变得越来越频繁和重要,常会遇到不同设备间由于标准不一致,而造成通信困难。该设计可用于解决高速数据的并行传输转SPI方式的串行输出,其数据传输速率与两个电子设备自身内部的工作频率无关。数据传输时,只需发信方将数据送到该系统,再发送一个复位信号reset,数据便可通过该系统传到对方。此外,还可在发送数据的同时,通过sdi接收对方数据,并从databuf端口取出,实现双向通信。

摘要:在进行不同设备间的数据传输时,最基本的要求是连线尽可能少、数据传输速率尽可能快、误码率尽可能低。对此进行了并行数据转换为串行数据的接口电路研究,提出了同步并行传输速率的n倍改进SPI传输方案。其特点是传输速率高、时钟独立、可与并行接口端和SPI串行接口端进行双向通信。测试结果显示系统达到预定功能,其接口电路的实现方法可为数据的高速接口提供新的借鉴。

关键词:FPGA,SPIISE,数据传输

参考文献

[1]刘庆丰,陈金鹰,王舟兵,等.基于FPGA的DVB-S调制器系统设计[J].电视技术,2010,34(1):37-39.

[2]王巍,陈金鹰,郑恭明.基于ZigBee标准的FPGA设计无线收发系统[J].数字通信世界,2008(9):43-44.

[3]陈培均.基于FPGA的802.11b设计[D].成都:成都理工大学,2009.

[4]陈卓.基于FPGA的软件无线电DDC设计[D].成都:成都理工大学,2008.

[5]陈金鹰,孙旭,李灿平.高精度频率测定的ASIC实现[J].成都理工大学学报:自然科学版,2004,34(4):390-394.

并行接口 篇2

在某型雷达系统中, 雷达发射机控制器实时监控发射机各设备状态并采集关键数据, 发送给雷达中心控制计算机, 并根据接收到的控制字完成对发射机点频、调制方式等功能和状态的控制。这就要求在发射机控制器与雷达中心机之间建立高速、可靠的连接。实践中, 两机间的多节点数据传输距离不小于50m, 并且发射机控制器是由PC/104构建的硬件平台, 工作电压为+5V;而中心控制计算机是基于ADSP21060构建的硬件平台, 工作电压为+3.3V。在这种前提下, 两机现有的并口、串口、USB2.0等接口显然不能满足要求, 其他诸如以太网的实时性难以满足要求, 光纤通信通道因多节点的因素构建成本过高。基于此, 本文提出了一种基于双口RAM、总线接口芯片和差分信号传输的并行总线通信解决方案。

数据传输系统方案

由于系统要求的传输距离长,需采用差分平衡传输技术;对于+5V与+3.3V的总线接口,采用美国TI公司总线接口芯片SN74LVTH245A完成混合电压总线I/O,其中,总线接口芯片的电源电压为+3.3V;由于差分驱动与接收芯片的传输方向是单向的,而系统要求双向数据传输,对16位数据总线的高8位和低8位分别进行单向驱动与接收;利用本方案所采用的双口RAM, IDT70V24可分别进行高8位和低8位读写功能,完成双向数据传输。整个数据传输系统框图如图1所示。

数据传输系统设计

系统工作原理可表述如下:由于DSP板工作电压为+3.3V, PC/104板工作电压为+5V,考虑到长线传输的压降,将双机共享的双口RAM放在一块专用的接口板上,该接口板与DSP板设计为板间通信,通信距离不超过50cm,故DSP板即中心控制计算机仅需要普通的总线驱动与隔离就可以完成对双口RAM的读写访问,数据通信速率可达128Mbit/s。

利用IDT70V24高8位数据与低8位数据可分别进行读、写控制的功能特点,将PC/104板即发射机控制器的16位数据总线设计为低8位读、高8位写,这样,PC/104板访问双口RAM的所有信号除低8位数据线为差分接收外,其它所有如高8位数据线、地址线、读、写、片选均为差分输出,所有差分信号经双绞线传输到接口板上后,对应进行差分接收与驱动,将信号还原成+5V信号,所有信号经总线接口芯片SN74LVTH245A完成混合电压总线I/O,然后直接与双口RAM连接,完成对双口RAM的访问,数据通信速率为64 Mbit/s。

在本设计中,对于双口RAM的令牌仲裁/SEM、硬件仲裁/BUSY和中断仲裁/INT,充分利用双口RAM高、低8位读写功能,中心控制计算机写双口RAM低8位,读高8位,发射机控制器写双口RAM高8位,读低8位,有效避免了双机访问双口RAM的读写冲突,使得接口逻辑更为简单、成本更低。发射机控制器访问双口RAM的逻辑框图如图2所示。

解决的关键问题

设计使用差分平衡传输技术,解决了并行通信信号的多节点、长距离传输问题。工程实践中,通信距离为50m,节点6个,在实际设计中,应注意以下几个方面的问题。

首先,理论和实践均证明差分信号对使用双绞线进行传输性能最佳,使用屏蔽双绞线可大大提高传输系统抗电磁干扰的能力。

其次,差分信号的印制板布线是整个设计的难点,实际布线应尽量遵循下列原则:差分信号对应尽量短、走直线,切记差分对内的线间距保持一致;差分信号对一定保持同层布线;两组差分信号对之间的间距最好能达到差分对间距的10倍,条件限制的情况下,在差分对与差分对之间放置接地过孔可有效减少线间串扰。

最后,差分传输需要在接收端进行阻抗匹配,匹配阻抗值等于差分阻抗,其典型值为100Ω,但在设计实践中,匹配电阻应设计为容易调整的形式,具体的阻抗值应根据传输路径的长短和具体的电磁干扰环境进行配置。

基于以上所述,充分利用本设计使用的双口RAM功能特点,A机读低8位,则B机写低8位,A机写高8位,则B机读高8位,不仅使双工的并行通信得到实现,而且从根本上解决了双机共享双口RAM的读、写冲突问题和两侧CPU在工作不稳定时的误操作等问题。从而使得本方案的交叉事务处理设计变得相当简单,令牌仲裁/SEM、硬件仲裁/BUSY和中断仲裁/INT仅需要悬空或上拉即可,减少了设计成本。

总线接口芯片SN74LVTH245A是TI公司专为+5V与+3.3V混合电压系统设计的总线接口芯片,该芯片采用+3.3V供电电源,可驱动TTL电路且不需要任何外围接口电路,使得混合电压接口电路设计变得简单。

结语

本文实现的长距离数据传输系统,已成功应用于某型相控阵雷达中心控制计算机与发射机控制器之间的双工并行通信,通信距离大于50m,数据通信速率最高可达128 Mbit/s。该传输系统工作稳定、数据通信可靠,设计成本低,为大型电子系统设备间通信提供了一种性价比较高的解决方案。

参考文献

[1]刘书明等.ADSP SHARC系列DSP应用系统设计[M].北京:电子工业出版社, 2003

[2]王雪.基于双口RAM的双CPU并行通信的研究与实现[J].微计算机信息, 2007-23:5-2

[3]http://www.idt.com/docs/IDT70V24S_L.pdf

[4]http://focus.ti.com/lit/an/slla014a/slla014a.pdf (LVDS Design Notes)

并行接口 篇3

FLASH卡是大容量数据存储设备, 主要由控制器和FLASH存储器构成。FLASH卡的生产主要分为两个部分:一是卡物理上的连接和封装, 主要由生产线上电装完成;二是卡的固件烧录、初始化、复制、擦除和测试等等。基于PC并行口的FLASH卡生产测试系统的主要目的是测试SD/MMC卡的功能和参数是否正确以及对SD/MMC卡的下载code、初始化、擦除、格式化等生产测试操作。

2. 并行接口板的硬件设计

在研究分析PC并行口的工作模式的基础上, 针对SD/MMC卡生产测试系统的硬件进行设计与实现。PC并行口硬件电路在设计上充分考虑了接口信号的驱动、电平转换以及不同宽度数据总线的扩展, 完成了原理图到实际PCB的设计。

并口板的硬件电路PCB设计流程如下:

2.1 PCB设计准备工作

PC并口板的硬件电路PCB设计的准备工作主要包括:

对电路设计的可能性进行分析;确定采用的芯片、电阻、电容等元器件的数目和型号;查找采用器件的数据手册, 并且选用合适的元器件封装;购买元器件;选用合适的设计软件。

2.2 原理图的绘制

用Protel99 SE绘制, MENTOR GRAPHICS设计PCB。

2.3 元器件的选择及其功能

基于PC并行口的Flash卡生产测试系统的硬件部分的并口板主要由2个SN74HC244、1个SN74HC245、2个4.7k的排阻、1个DCDC等元件组成。其中SN74HC244和SN74HC245的功能是开关电路和驱动信号;排阻是用做上拉电阻使信号的初始状态符合协议;并口板通过USB线供电, 由于PC机USB口的输出电压为+5V, 而协议规定的电压不超过3.6V, 所以需要使用DCDC (电源芯片) 来降低电压;因为要连接PC端的并行口, 所以需要一个25针的D型阳头。同时, 为了测试方便, 还需要一个双排插针, 另外还需要有稳压和滤波用的电容、电阻、Flash卡插座、指示灯等元器件。

2.4 原理图绘制

在做好PCB设计准备工作后, 要对电路进行设计, 开始原理图的绘制。在电路设计软件中设置好原理图环境参数, 绘制原理图。在设置好图纸后, 在绘制原理图中主要包括如下主要部分:

元器件标志、导线、电源、输入/输出端口及说明文字、说明图片等。

该原理图绘制步骤如下:

查找绘制原理图所需要的原理图库文件并加载;如果电路图中的元器件不在库文件中, 则自己启动原理图元器件库, 在原理图元器件窗口中绘制元器件, 然后安装自己绘制的原理图元器件库;将元器件放置到原理图中, 进行元器件的调整布局;元器件连线;对原理图进行注释;对原理图进行仿真, 检查原理图设计的合理性;检查原理图并打印输出。

该并口板能同时作为符合SD/MMC/MMC4.0协议的Flash卡生产测试系统的硬件平台。因为SD/MMC协议和MMC4.0协议有所不同, 所以它们的电路也不一样。

2.5 网络表的生成

设计原理图后, 需要根据绘制的原理图进行印刷电路板的设计, 网络表是电路原理图设计和印刷板设计之间的桥梁和纽带。

在原理图中, 连接在一起的元器件表示管脚构成一个网络, 整个原理图可以提取网络表来描述电路的电气连接特性。同时网络表包含原理图中的元器件封装信息。可以说, 网络表的生成既是原理图设计的结束, 又是PCB设计的开始。在PCB设计中, 导入正确的网络表, 即可以获得PCB设计所需要的一切信息。

2.6 PCB设计

按如下步骤进行PCB设计:

建立封装库-建立映射-打包-启动layout进行布局布线, 把并行接口、Flash卡接口、电源、USB接口、指示灯、测试插针和挑线帽放在板边, 放置排阻、SN74HC244和SN74HC14, 在放置器件时预留电源通道, 生成光绘数据

3. 总结

基于PC并行口的Flash卡生产测试系统的硬件设计在整个设计关系重大。本文在研究分析PC并行口的工作模式的基础上, 从原理图绘制和PCB设计两方面, 针对SD/MMC卡生产测试系统的硬件系统的设计和实现作了详细的论述。

参考文献

[1]吴东坡.Flash存储器技术与应用[J].微电子学与计算机, 1998.

[2]潘立阳, 朱均.Flash存储器技术与发展[J].微电子学, 2002.

并行接口 篇4

关键词:ARM,DSP,FPGA,光纤,接口

1引言

在许多大规模数字信号处理系统的设计中都涉及到多种数据接口、控制端口的设计问题。控制端口一般是标准工业接口,如应用广泛的USB接口、COM口、CAN总线、SPI总线以及用于网络互连的标准Ethernet(以太网)接口,这些接口主要用于传输低速的命令、控制、状态等数字信号,本文介绍的设计使用ARM扩展了DSP系统的此类通信接口。信号处理系统可以通过这些接口传送控制命令,还可以连接自动测试设备(Auto Test Equipment)构成一个自动测试系统(Auto Test System)。数据接口则是用于高速数据传输,是主要的数据通道,而低电压差分信号LVDS(Low Voltage Differential Signaling)与光纤是两种应用广泛的高质量的高速数据信号传输方式。设计采用了高性能FPGA分别构建了基于这两种传输方式的高速数据通道。接口板作为信号处理系统的前端,除了接口功能外,在实际应用中需完成前置高速数据流处理和转换。在并行处理中,还需要对不同通道的数据编码,数据处理完成后再解码,以保证数据的完整与有序。这些数据处理的任务在接口板中由数字信号处理器(DSP)完成。在信号处理系统的应用中,有时需要对原始数据和处理结果进行备份。CPCI(Compact PCI)总线作为广泛应用于雷达、声纳系统信号处理机中的背板总线之一,为此提供了高可靠、高性能的服务。在工作中,主机板可以通过CPCI背板总线对接口板中的数据进行备份,同时也可以发送主控命令和加载应用程序至DSP。

2整体设计方案

本文设计的接口板卡与其他板卡在背板公共总线(CPCI总线)接入的基础上实现数据的输入、输出和预处理,并且具备多种标准通信接口,可以接收和处理控制命令的功能,整体结构如图1所示。

为了便于描述,接口板在功能和结构上可以划分为四个部分:标准通信接口、高速数据接口、CPCI总线接口、以及DSP部分。

标准通信接口部分,本设计采用了ARM7处理器LPC2378作为通信系统的处理芯片,设计了通用异步收发接口和100Mbit/s Ethernet接口。NXP 微控制器LPC2378 使用了一个32 位ARM7TDMI-S内核,可以在高达72MHz的频率下操作。器件内部含有一个10/100Mbit/s的以太网MAC(媒体接入控制器)接口,以太网MAC在独立的AHB总线(ARM内部高速总线)上有16KB 的SRAM ,并通过DMA控制器来加速其性能,同时也大大减轻了CPU的负担。由于ARM的以太网MAC只提供了数据链路层,所以设计选取了国家半导体公司的DP83848作为以太网物理层芯片(PHY)。以太网PHY定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。LPC2378内部还含有512KB 的片内Flash 和58KB 的片内SRAM 存储器,所以设计中没有外接Flash芯片和RAM芯片,这样降低了电路复杂度,提高了设计的可靠性。

高速数据接口部分包括光纤通道和LVDS高速数据通道。光纤通道采用Cypress公司的CY7B923/933作为收发器,可以传输150Mbit/s~400Mbit/s的高速串行数据,实现系统之间远距离的高速数据通信。CY7B923接收串行比特流,通过PLL同步机制进行时钟数据恢复,然后通过8B/10B解码器将串行比特流转化为8bit并行数据输出;而CY7B933将输入的8bit并行数据通过8B/10B编码器转化为10bit的比特流输出。CY7B923/933配对使用就可以实现光纤高速数据通道的物理层链路。LVDS高速数据通道则使用DS90LV047/048完成LVDS差分电平和LVCMOS单端电平之间的转换,可实现400Mbit/s的转换速率。在这些外围芯片实现数据通道的基础上,采用Xilinx公司100万门级的FPGA芯片XC2V1000实现高速数据接口的收发逻辑,并实现数据接口和DSP之间的数据通信。

CPCI总线的接口芯片PLX9056完成板卡和CPCI背板总线系统的通信。在设计中,采用了同样的FPGA芯片XC2V1000实现了PLX9056、DSP芯片以及数据接口FPGA之间的数据通信。此FPGA实现了三个部分的功能:DSP接口,提供一个PCI Local总线到DSP共享总线的界面,完成两套总线之间的逻辑仲裁及读写控制信号等;SDRAM接口,提供一个PCI Local总线到SDRAM总线的界面,包含一个SDRAM控制器,完成两套总线之间的逻辑仲裁及读写控制信号等;数据接口FPGA的配置端口,提供一个数据通道的配置界面,使用户能够在主机中方便地设置数据通道的工作参数。

板卡中还有一颗AD公司TigerSHARC系列的DSP芯片TS101。DSP主要实现三个部分的功能:①对原始数据进行分拆和封装,形成可以识别的数据帧,并在数据处理完成后将不同帧格式封装的数据传输到相应的数据输出接口;②提供了4个高速数据传输接口——LINK口,数据传输总速率达1200MB/s,负责和系统中其他板卡的海量高速数据通信;③执行与处理从标准接口和主控板传输的命令,这些命令可能是系统的复位、启动、停止,也可能数据帧格式的设定,等等。

3FPGA的设计

本设计中使用了2块FPGA芯片,分别是数据接口FPGA和CPCI总线接口FPGA。数据接口FPGA实现了ARM、高速数据接口、DSP芯片之间的数据通信,CPCI总线接口FPGA实现了背板总线系统和接口板之间的数据通信。

3.1数据接口FPGA的设计

数据接口FPGA主要实现如下的功能接口:①ARM外部总线到DSP Cluster总线的互连,提供一个ARM外部总线到DSP共享总线的界面,完成两套总线之间的逻辑仲裁及读写控制信号等;②高速数据接口,它包括光纤接口和LVDS接口模块,以及SDRAM控制器,完成高速数据的接收、发送及缓存;③Register管理模块,提供复位,中断请求,看门狗,系统状态等逻辑。图2给出了数据接口FPGA的各种接口与系统其他部分的关系图。下面着重介绍此FPGA设计中的难点,ARM外部总线到DSP Cluster总线的互连。

ARM外部总线到DSP Cluster总线互连的实现使得ARM系统和DSP系统之间可以相互访问,大大扩展了DSP的通信接口。它主要包含DSP接口和ARM接口两部分。ARM外部总线端的时钟是12MHz,而DSP Cluster总线是100MHz的,时钟的不匹配会给逻辑设计提出很多时序方面的问题。另一方面ARM外部总线是8位的,而DSP数据总线是32/64位,如何匹配数据宽度也是一个问题。而且ARM外部总线端和DSP接口访问的控制时序上也有很大的差别。

图1中显示了本板卡是基于共享总线的结构,DSP,SDRAM、CPCI接口FPGA和数据接口FPGA都挂在DSP的外部总线上,它们之间的通讯必须使用DSP总线。因此我们不难得出这样的结论,DSP总线将可能会成为系统的瓶颈所在。所以在做DSP总线互连设计时,必须要提高总线的使用效率:减少申请DSP总线的次数;每次申请使用DSP总线的时候都要尽可能多地传输数据。

在FPGA的设计中采用了类似Cache的结构来隔离不同总线间的传输。在Cache的两边有两个状态机来控制Cache的读写和总线数据的访问。使用Cache后,DSP共享总线和ARM外部总线端将被去耦合,这样可以使两级总线的数据吞吐量都尽量达到自己的峰值速度。而且Cache越大,越能提高ARM访问DSP的效率,减小总线这个传输瓶颈,从而可以使得高速数据接口与DSP之间传输数据时,申请DSP总线等待的时间大大地缩短。图3是此互连设计的框图,Cache由局部端和DSP/ARM端两个状态机来控制,状态机间通过命令来通信。

3.2CPCI总线接口FPGA的设计

CPCI总线接口FPGA主要实现如下的功能接口:①CPCI总线的主机接口,它包括2个部分:DSP接口,提供一个PCI Local总线到DSP Cluster总线的界面,完成两套总线之间的逻辑仲裁及读写控制信号等;SDRAM接口,提供一个PCI Local总线到SDRAM总线的界面,包含一个SDRAM控制器,完成两套总线之间的逻辑仲裁及读写控制信号等;②数据接口FPGA的配置端口,提供一个数据通道的配置界面,使用户能够在主机中方便地设置数据通道的工作参数;③Register管理模块,提供复位,中断请求,看门狗,系统状态等逻辑。图4给出了CPCI总线接口FPGA的各种接口与系统其他部分的关系图。

CPCI总线主机接口的实现使得背板上的主机系统可以通过PCI总线访问板上的DSP和SDRAM。同样,PCI局部端总线、DSP Cluster总线、SDRAM总线之间存在总线时钟与位宽的不匹配问题:PCI局部端的时钟是66MHz而DSP端的时钟是100MHz,PCI局部端数据总线是32位的而SDRAM数据总线是64位的。基于同样的设计理念,即减小DSP总线传输瓶颈,采用了类似于ARM外部总线到DSP Cluster总线互连的Cache结构设计。只是此处FPGA设计中多了一个SDRAM控制器,它负责将自定义的读,写和特殊操作命令转化为SDRAM主要控制信号线RAS#,CAS#和WE#的组合。

在P4 2GHz板卡,512MB内存,32bit/33MHz PCI总线,主机无其他任务,访问一段64K数据的测试环境下,主机接口的DMA读速度有90MB/s,DMA写有38MB/s。与其他公司的同类型板卡相比,本文的设计直接访问的效率要高很多。

4结束语

本文首先介绍了基于ARM和FPGA的并行信号处理系统接口板的框架,主要描述了系统了各部件的互连方案。然后介绍了接口板的各个功能模块,并给出了详细的实现方法。本文重点介绍了板卡中FPGA的设计方案,提出了ARM到DSP高速互连的设计方法。该板已经在某新型声纳研制项目中使用,配合我们开发的数字信号处理板,AD/DA板,可以构成性能强大信号处理机。

参考文献

[1]Tiger SHARC DSP Hardware Reference,Analog Devices Inc.2002

[2]LPC2364/6/8/78User manual.Philips Semiconductors Inc.October6,2006

[3]张骋,杨力.并行DSP系统的FPGA设计.测控技术,2007增刊

并行接口 篇5

1. AT89S52与ACEX1K30的并行通信接口

AT89S52与ACEX1K30在功能上有很强的互补性。AT89S52单片机具有性能价格比高、功能灵活、易于人机对话、强大的数据处理能力的特点;而ACEX1K30则具有高速、高可靠性以及开发便捷、规范等优点。在设计AT89S52与ACEX1K30的接口时, 将FPDA作为单片机的一个外设。单片机通过串行总线或与FPDA交换数据信息和控制信息。AT89S52以固定的总线方式的读/写时序与FPDA交换信息, 数据交换的速度快。由于目前大多数F PGA器件内部含有丰富的存储器资源, 可配置成单口RAM、双口RAM、FI-FO等, 特别适合单片机采用并行的方式交换数据。为了使单片机能访问FPDA内部的各种资源 (如存储器、锁存器等) , 单片机与FPDA接口的信号线应包括数据总线、地址总线和控制总线。AT89S52单片机的数据总线为D0~D7, 共8根。地址总线的设置应根据FPGA内部的存储器的容量来确定。ACEX1K30内部可配置RAM的总容量小于8KB, 因此, 地址总线由A0~A12组成。为了减少接口信号线的数目, 数据线和低8位地址共用, 通过FPDA内部的锁存器获得低8位地址A0~A7。接口信号线中包含了两根片选信号CS2和CS4, 由图1的地址译码器产生。控制总线包括ALE、。单片机与FPGA的并行通信原理图如图2所示。

在设计单片机与ACEX 1K30, 接口时, 还应仔细考虑高低电平兼容问题。由于AT89S52单片机采用5V电源供电, ACEX 1K30的VCCIO采用3.3V供电。无论是单片机驱动ACEX 1K30, 还是ACEX 1K30驱动单片机, 必须提供合乎标准的电平。根据器件手册提供的数据, 单片机和ACEX1K30的高低电平极限值如表1所示。

从表中数据可知, 当单片机驱动ACEX 1K30时, 满足以下关系式:

当ACEX 1K30驱动单片机时, 满足以下关系式:

从高低电平的兼容性分析, 单片机与ACEX1 K30可以直接相连。

2. AT89S52与ACEX1K30的配置接口

在实验室调试阶段, 一般是通过PC机配置FPGA。调试完成以后, 可以先将FPGA的配置文件固化在Flash ROM, 再由单片机完成配置。采用单片机配置, 不但降低了成本, 而且可将多个不同功能的FPGA配置文件存放在Flash ROM中, 单片机将不同的配置文件加载于FPGA中, 使电路系统的结构和功能将在瞬间发生巨大的改变, 从而使单一电路系统具备多种电路结构功能。

单片机和FPGA总共需要使用5根连线, 在这里使用AT89S52单片机P1口的5根I/O线P10、P1.1、P1.2、P1.3和P1.4, 通过驱动电路后分别与FPGA的DATA0、n STATUS、n CONFIG、CONF_DONE、DCLK等配置型号相连。

配置数据预先写固化在Flash ROM中, 单片机通过并行总线从Flash ROM中读取数据, 通过P1口将配置数据串行移入FPGA。

在调试过程中, R6~R10先不焊, 单片机程序跳过FPGA配置的代码, 由PC机通过ByteBlasterMV下载电缆配置程序。等FPGA设计定型后, 焊上R6~R10, 利用单片机配置FPGA。R6~R10可采用100欧电阻。

单片机配置方式以Flash ROM为基础。允许对这些存储器进行多次编程, 所有其他芯片都无需从已装配的印制电路板上拆卸下来。

2.2单片机配置FPGA程序设计

在用单片机进行配置时, 首先要获取写入Flash ROM的编程文件。对于FPGA来说, MAX+plusII对项目进行编译时会产生一个HEX编程文件。由于HEX文件在各种编译器中都是通用的, 因此利用通用编译器将HEX文件烧写到Flash ROM中。

单片机利用PS方式实现对FPGA进行配置。在该配置方式下, 由一个nCONFIG引脚的由低到高的跳变复位FPGA, 然后等待nSTATUS引脚变为高电平表示复位完成, 接着就在DCLK的控制下将配置数据从DATA0引脚送给FPGA。需要注意的是, 在给FPGA送数据的时候, 先传低位, 再传高位。数据送完后CONF_DONE引脚变为高电平。不过CONF_DONE变为高电平时 (从第10个DATA0开始变低电平) , 表示初始化结束已经进入USER_MODE。由于在配置过程中没有握手信号, 所以对配置时钟的工作频率作了限制, 以确保配置正确无误。对于ACEX 1K器件来说, 其配置时钟的最高频率为33MHz。

3. 结束语

在用单片机配置FPGA时要注意的一个问题是, 单片机启动时, 应不依赖FPGA, 即单片机系统应在FPGA被配置前可独立运行并访问所需资源。由于单片机的FPGA配置程序放在初始化程序中, 运行配置程序时不需要FPGA内在的任何资源, 因此上述要求不难达到。

参考文献

[1]张毅刚, 彭喜元, 董继承。单片机原理及应用[M]。北京:高等教育出版社, 2003.

[2]Atmel Corporation Atmega 128 CHN[M].Hong.Hong:Atmel Corporation, 2005.

[3]Michael D.Ciletti.Verilog HDL高级数字设计[M].北京:电子工业出版社, 2005.

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【并行接口】相关文章:

并行接口板08-27

并行检测05-01

双轨并行05-04

并行配置05-17

并行开发05-22

并行教学07-15

并行调度09-02

并行优化09-12

并行模型09-13

并行编程09-15

上一篇:生产经营行为下一篇:纺织工业废水处理分析