高速接口论文范文

2024-07-12

高速接口论文范文(精选10篇)

高速接口论文 第1篇

串行LVDS的优势

串行LVDS输出格式减少了ADC和FPGA之间所需的数字I/O数量,节省了FPGA引脚、电路板面积和成本。此外,通过在数据转换器上采用串行接口,数据转换器所需的引脚数量也大大减少了,从而可实现尺寸小得多的封装尺寸。这种优势在有多通道的设计中得到了充分的显现。采用串行LVDS接口还是采用并行接口则取决于应用能否承受较大的功耗,以及FPGA是否有能力处理高速数据流。LTC2195是一款16位、125Msps双通道ADC,具串行LVDS输出,每通道功耗仅为216mW。不过,与使用双通道并行输出版本LTC2185(参见图1中的完整产品系列图)相比,串行LVDS接口每通道多消耗31mW功率。这个16位高速ADC系列提供了卓越的76.8dB基带SNR性能以及90dB SFDR,同时在使用1.8V电源时,功耗非常低。

就高速ADC而言,协调数据时钟、帧时钟和数据时,通常发送器和接收器均需要一个锁相环(PLL),以正确协调数据时钟。在GHz速率时,这种协调非常困难,而且数据传输速率主要受到接收器的限制。所以,在高于1GHz时,一般不采用这种6线串行发送方法,从而限制了ADC的速率或说限制了ADC的分辨率。

就一个16位高速ADC而言,这就将采样频率限制到62.5Msps。为了实现更高的采样频率,每个ADC通道可以采用两个或4个“线道”。使用双“线道”时,串行数据速率减半,奇数位和偶数位分开,进入两个串行数据流差分对。采用双“线道”模式时,16位125Msps ADC将提供1Gbps的串行输出数据速率。LTC2195串行LVDS系列多提供一种4“线道”模式,允许低得多的500Mbps数据传输速率,在该模式时,每通道使用4个差分对,总共有20条线,其中包括差分帧和时钟对(参见图2)。这允许与廉价低速的FPGA连接。为了正确理解所需的数字输出线数量,再看一下采用并行LV D S输出的情况,这时每通道将需要32条线。现在,市面上已经有具双数据速率(DDR)LVDS输出的ADC了,这类ADC每通道图1仅需要16条线。使用这种器件,输出端的数据速率将是采样频率的两倍。诸如LTC2185等双通道16位ADC还提供可供选择的DDR CMOS输出,这将所需数据线的数量减少到每通道仅为8条。当考虑使用诸如16位125Msps LTC2165这类单通道高速ADC时,提供串行LVDS接口就不再有意义了,因为在所需数据线的数量上没有差别。DDR CMOS采用8条并行输出线,而双“线道”串行LVDS(由于采样率高于62.5Msps,所以需要)也采用8条线(4条线用于数据,4条线用于数据时钟和帧时钟)。此外,串行LVDS增大了设备的功耗,这是便携式应用担忧的一个问题。

就高通道密度医疗应用而言,凌力尔特现在提供8通道14位125Msps ADC LTM9011-14,这款新的低功率器件采用紧凑型140引脚11.25mm x9mm BGA封装,提供73.1dB的信噪比(SNR)性能以及高于-90dBc的通道隔离。为了实现最佳性能,也为了节省空间,该器件还靠近芯片集成了所有必要的旁路电容。

对于在ADC和逻辑器件之间布设高速数字线的挑战,数字设计师也许太熟悉了。设计师必须极其小心地确保在高速走线之间有足够的间隔,以及确保数字信号不跨越模拟边界。布局不佳会导致数字开关噪声反馈回ADC的模拟输入,从而引起系统总体性能下降。LTM9011系列提供了直通式引出脚配置,从而减少了布设数据I/O线所需占用的电路板面积,并简化了布局,可最大限度地减少与数字反馈相关的问题(参见图4)。

JESD204高速串行接口

8B/10B编码最初是由IBM于1980年发明的,该编码无需帧时钟和数据时钟,这使得在高于2GHz的串行数据速率时,能实现单条传输线对通信。8B/10B编码的独特特性允许将数据时钟嵌入于数据本身之中,并通过初始帧同步,用COMMA(逗号)字符与帧一起保持。为了以标准化方式实现这种编码的数据转换器接口,JEDEC规范JESD204定义了所需的协议和电特性,这使得新一代更快、更准确的串行ADC得以实现,如凌力尔特公司具77.6dB SNR和1 0 0 d BS F D R的1 6位、1 0 5 M s p s A D CLTC2274。JESD204接口利用很多高性能F P G A上提供的Ser Des端口,腾出了通用I/O用于其他功能。缺点是ADC上的电流模式逻辑驱动器的电流消耗比LVDS驱动器大得多。另外,还必须有足够的Ser Des端口可用,以容纳所有ADC接口。

结论

高速接口论文 第2篇

3.1 USB接口编程

固件程序主要是实现USB通信。TUSB3210采用SIE来管理USB通信。当主机与芯片进行USB通信时,会产生外部中断0,通过中断矢量寄存器判断。Setup_packed_Int、Input_endpoint0_Int、Output_endpoint0_Int这三个中断主要用于与主机建立连接、进行控制传输或中断传输;Input_endpoint1_Int、Output_endpoint1_Int这两个中断主要在批量传输时使用。在固件中分别执行不同的中断程序来实现USB的数据传输。

Void EX0_int(void) interrupt 0 //外部中断0

{

EA=DISABLE; //关中断

switch (bBECINT)(//确定中断ID

case VECINT_OUTPUT_ENDPOINT0:

bVECFINT=0x00;

Ep0QutputInterruptHandler;

break;

case VECINT_INPUT_ENDPOINT0:

bBECINT=0x00;

Ep0InputInterruptHandler();

break;

case VECINT_OUTPUT_ENDPOINT1:

bVECINT=0x00;

Ep 1 OutputInterruptHandler();

Break;

case VECINT_INPUT_ENDPOINT1:

bVECINT=0x00;

Ep1Inpu

tInterruptHandler();

break;

case VECINT_SETUP_PACKET_RECEIVED:

SetupPacketInterruptHandler();

bUSBSTA=USBSTA_SETUP;

bVECINT=0x00;

break;

default:break; //不知道中断ID

EA=ENABLE; //开中断

}

3.2 主机软件设计

笔者首先开发TUSB3210在主机中的驱动程序。用WinDK3.0开发了Win下的驱动程序,实现了控制传输、中断传输和批传输的标准接口函数。

在应用程序开发中,可用VC++编制应用程序。可以把USB设备当成文件来操作,利用CreateFile得到USB句柄,用DeviceIoControl来进行控制传输,用ReadFile、WriteFile进行批量传输。程序实例如下:

HANDLE m_hUsbSample; //USB句柄

m_hUsbSample=CreateFile(.USBSampl0,GENERIC_READ|

GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULI,OPEN_EXISTING,0,NULL); //打开USB句柄

DeviceIoControl(m_hUsbSample,IOCTL_USBSAMPL_REBOOT, NULL,0,NULL,0,&length,NULL); //控制传输

WriteFile(m_hUsbSample,pBuffer,writelength,&writelength,NULL); //批量输出传输

ReadFile(m_hUsbSample,pBuffer,64,&lgngth,NULL); //批量输入传输

CloseHandle(m_hUsbSample); //关闭USB句柄

使用上述函数编制USB高速数据采集卡的主机软件。

高速固态硬盘接口NVMe 第3篇

NVMe接口极大地增强了闪存存储器的性能,为此,固态硬盘必须安装类似Marvell88NV1140这样完全兼容NVMe命令的新一代控制器。

固态硬盘接口速度对比

相对于三星850 Pro之类很好的AHCI固态硬盘,英特尔的NVMe原型能够实现更高的传输速率 1 和每秒执行更多次的输入、输出操作 2 。

直接连接CPU的存储装置

NVMe的设计可以充分发挥固态硬盘的性能:数据流直接通过PCI-E在存储器芯片与CPU之间传输,并且可以通过多个PCI-E通道并行传输数据流。相反AHCI则是为缓慢的磁盘进行的优化:适配器将确保通过SATA线传输的数据能与缓慢的磁盘保持同步,而这只能成为固态硬盘的瓶颈。

比较NVMe和AHCI

与AHCI不同,NVMe为多核CPU和通过PCI-E并行传输数据进行了优化:每个核心的队列中保存和读取的命令分开,这可以缩短反应时间,提高数据传输速度。

NVMe固态硬盘:英特尔公司的DC P3700已经可以在服务器上使用,可实现2.8GB/s和1.9GB/s的读取和写入速度。

SATA线缆和AHCI接口是影响固态硬盘性能的主要瓶颈,新的NVM Express(NVMe)接口将让大家真切体验到闪存的速度究竟有多快。

固态硬盘是目前速度极快的一种数据存储设备。众所周知,如果想加快Windows操作系统的速度,那么只需购买一个固态硬盘并将其作为系统驱动器即可,这对系统速度的提升可以说是立竿见影的。但是,并不为众人所知的是,固态硬盘中的闪存性能实际上并没有得到充分的发挥,如果不是通过速度缓慢的SATA电缆连接系统,固态硬盘的速度可以更快。SATA接口的速度被限制在600MB/s,此外,SATA涉及到另一个高级主机控制器接口(Advanced Host Controller Interface,简称AHCI),这是一个诞生于2004年的技术标准,落后于当前相关的电脑技术有十多年。当年英特尔制定这一技术标准主要服务于通过磁性在金属盘上存取数据的机械硬盘,与使用闪存存储数据的固态硬盘完全毫无关系。

使用AHCI标准,硬盘驱动器控制器不能直接发送数据给CPU,数据必须经由主机总线适配器(AHCI HBA)中的芯片组进行迂回。在这里主机总线适配器主要起着让速度极快的CPU和速度缓慢的磁盘之间能够保持数据同步的作用,而实际上固态硬盘并不需要它。对于固态硬盘来说,最佳的方案是直接与CPU通信,并且尽可能地采用并行传输让数据传输速度达到其极限。由于AHCI的缘故,固态硬盘在近年来一直给人一种发展迟缓的感觉:2011年最好的固态硬盘中三星840 Pro的传输速率达到520MB/s,相对于比当前同系列产品的最新型号850的速度只慢了20MB/s。可以预料,接下来该系列新一代产品860 Pro推出时,其传输速率并不会有太大的改变。这种僵局只有在使用一个新的接口时才有可能被打破。能够打破这一僵局的接口将在2015年亮相:NVM Express(NVMe)是专为闪存存储设备设计的接口,它的设计完全不会对固态硬盘的速度造成影响。

GB/s级的传输速率

用于服务器的NVMe控制器目前已经投入使用,并且Marvell在2015年年初已经推出了一款型号为88NV1140的控制器,这款面向个人用户的控制器更小巧、更节能、更高速,并为移动设备进行了优化。而另一款Marvell的控制器88SS1093,则是用于台式电脑的产品,它能够支持固态硬盘以3GB/s的速率读取数据。但是,要实现这一速度,固态硬盘不可以继续使用SATA接口,而必须切换到PCI-E接口。一直以来,PCI-E主要用于显示卡,但实际上固态硬盘也可以从中获益:一个PCI-E连接可以直接与CPU通信,并且它包含几个通道。因此,通过PCI-E连接固态硬盘可以在一个通道上传输数据到CPU。并通过另一个通道接收来自CPU的数据,也就是说,固态硬盘可以同时发送和接收数据。

目前,已经有几个可以用于台式电脑的PCI-E项目,例如RevoDrive 350可以通过8个通道传输数据,然而由于Revodrive仍然通过AHCI来传输数据,所以虽然通过4个控制器组成磁盘阵列,但是它的传输速率只能够达到1.5GB/s,与NVMe相比这明显不是一个最佳的方案。

为多核系统优化

读取和写入操作的执行通常是由许多独立的步骤组成的,每一个步骤通常可以读取或改写4K字节的数据块。操作系统的输入、输出调度器和硬盘驱动器上的控制器负责与CPU协同完成这些操作,对于AHCI来说,如果有必要,它可以通过指令队列来执行输入、输出的操作,最多可以使用32个指令队列。一般来说,这种级别的工作强度可以让一个CPU内核保持忙碌的操作状态。然而,AHCI无法将工作分配到多个CPU内核,因为这需要能够同步多个核心的队列并匹配已经完成的操作,操作方式完全不同。而且,AHCI仅为调度程序提供一个中断用于启动和结束数据的传送。

多核CPU、多PCI-E通道和固态硬盘控制器同时控制多个存储器芯片,这就是目前新一代电脑的现状。为确保这一组合完美地执行操作,NVMe增加了队列的数目和每个队列的命令数量到65536。此外,NVMe还引入了两种不同类型的队列:提交队列中的是固态硬盘控制器必须执行的命令,完成队列中的则是已完成的任务。队列对被分配给每一个核心,确保多核CPU可以满负荷运行。此外,NVMe还允许将多个队列对分配给每一个核心,每一个队列对具有不同的优先级。同时,调度程序被允许发送中断信号到每一个核心,这些措施不仅优化了数据的传输,也减少了在读取和写入操作启动时的延迟。

多通道ADC的高速接口设计 第4篇

现代电子对抗系统多使用多通道处理平台实现信号的测向、定位。随着电子技术的发展,电子设备的小型化、低功耗设计成为一个趋势,系统设计中经常使用多通道ADC组建多通道采样处理平台[1]。TI公司的ADS6445采样器是4通道14位125 Msps高速同步采样器[2],适用于多通道同步采集系统的设计,芯片接口使用8对高速串行差分线传输采样数据,每对差分线最高传输速率高达1 Gbps,实现如此高速的接口传输除了要注意物理设计外,还要保证数据采集的时钟沿应处于最佳采样位置。在使用FPGA实现与高速数据接口时,使用普通的DDR接口和解串逻辑不能稳定的实现高速解串。Xilinx公司Vertex5系列的FPGA的高速IO支持最高1.25 Gbps的传输速率,具备高速片同步(ChipSync)技术[3],利用这一技术通过实时调整I/O延时、收发校准的方法,能够有效保证数据传输的同步性和可靠性[4]。

1 设计方案

1.1整体设计

以某采样卡为例来说明高速接口的设计,采样卡硬件结构如图1所示。

采样卡主要由1片4通道采样器ADS6445、1片Vertex5系列FPGA和CPCI总线接口芯片等组成。ADC的采样率为112 MHz,4路并行采样数据通过8:1的高速串行转换后以LVDS-DDR(一种差分电平双沿锁存数据传输方式)的电平传输,ADC与FPGA之间接口单线传输速率达到896 Mbps。高速LVDS-DDR串行数据首先进入FPGA的SelectIO将双线差分LVDS信号转换成单端FPGA内部信号,然后经片同步模块实现Dmux 1:8的解串,解串后的4路并行采样数据在区域时钟clk驱动下锁存入FPGA内部FIFO,通过全局时钟clk’驱动FIFO的另一端口读出采样数据后才可在FPGA内部实现存储、处理等功能。

整个高速接口设计的关键是高速解串模块的设计,它是以Vertex5系列FPGA的片同步技术为基础,通过接口时序控制实现的。整个接口的时序调整都是通过计算机的CPCI总线控制的,这样与在FPGA程序内部调整时序的方式相比大大减少了调试时间。

1.2FPGA的片同步技术

为了支持高速源同步接口的设计,Xilinx公司在其高端Vertex4/Vertex5系列FPGA中引入了片同步技术(ChipSync)。Xilinx Vertex5中的ChipSync主要由IODELAY延时调整模块、ISERDES解串模块、OSDRDES并串转换模块及时钟网络组成,其特点如下:

① 内嵌 64级每级78 ps的可调延时器[5],方便应用于高速信号时序调整;

② 具备高速加串/解串模块,可实现位宽为2、3、4、5、6、7、8和10的串并数据变换[6];

③ 特有的区域时钟网络在物理接口区域可驱动高达710 MHz的时钟。

1.3物理设计规则

在印制电路板上设计高速传输线时首先应考虑信号完整性设计,在布局布线时要注意保持高速传输线参考平面的完整性和阻抗的连续性,保证一定的线间距减少串扰[7]。

除了考虑信号完整性问题以外还需要注意FPGA的走线规则。根据Vertex5系列FPGA的结构特点Xilinx建议在设计高速源同步接口时同一组信号线应连接在同一时钟区域的管脚上,时钟信号连接在“CC”特性的专用时钟管脚上通过FPGA内部的BUFR可导入高速区域时钟网络。

1.4接口工作原理

ADS6445使用LVDS-DDR方式传输数据,芯片输出同步时钟的频率为数据速率的一半即448 MHz,高速时钟和经过BUFR后的4分频时钟进入FPGA的区域时钟网络,为解串器提供时钟驱动。

高速数据的解串是一个自适应调整的过程,程序控制ADC发送训练序列,以接收数据与发送训练序列对比校验为判定依据,通过IODELAY调整延时搜索最佳锁存位置实现比特对齐,通过滑动调整ISERDES串并变换的节点位置实现字节对齐。

1.4.1 比特对齐

整个比特对齐过程会测量出一个完整的数据眼图(以78 ps数据时延为步进),最后会找到该眼图的中心点[8],如图2所示[9]。

在比特对齐的搜索过程,为找到数据眼图的中心时刻,必须正确搜索眼图的起始点和终止点,在实际工作环境中需要重点考虑数据的抖动。在图2中的第2步计算时,如果没有数据抖动,则此时刻就应该判决为数据的起始点,如果考虑抖动,算法在发现第一次跳变点后还应该继续搜索下去,直到第3步中搜索到稳定的跳变区域才能记为眼图的起始点。

1.4.2 字节对齐

比特对齐后就找到了数据的最佳锁存时刻,但是解串后并行数据位的顺序与发送端有可能不同。字节对齐就是利用ISERDES单元的比特滑动(BITSLIP)功能实现顺序的滑动调整。字节对齐开始时先要在发端发送已知的特殊码字,通过在接收端不断的进行数据校验和顺序调整找到正确的解串顺序。

2高速接口时序分析

数据传输眼图的张开宽度对于精确实现在眼图中心对数据采样极为重要。理想眼图宽度为数据速率的周期(对于实际工作时896 Mbps的数据TPERIOD=1.116 ns),在实际传输过程中有很多因素会减小眼图的宽度。

在发送端,影响眼图主要因素是ADC输出时钟及数据本身的抖动TADCJ,发送数据眼图宽度为:

TTX_EYE=TPERIOD-TADCJ。 (1)

高速数据在印制板上传输过程中,因布线等原因产生传输抖动TPCBJ。接收时钟进入FPGA内部时钟网络并经过BUFR分路驱动传输时会引起额外的时钟抖动TRCKJ。如果使用IODELAY模块调整FPGA管脚处传输延时,对于数据来说调整一级延时会引入TDELAYJ,对于时钟来说TDELAYJ为0,而且由于IODELAY的工作特点,还会引入一个75 ps的时序抖动TQ_ERR。在接收端,数据眼图的宽度为:

ΤRX_EYE=ΤΤX_EYE-ΤRCΚJ-[ΝΤAΡ×ΤDELAYJ]-ΤQ_ERR, (2)

式中,NTAP为延时调整级数。

在896 Mbps的高速接口中,通过发送端ADS6445手册给出的抖动数据可以计算发端数据眼图宽度[10]:

TTX_EYE=1 116-350=766 ps。 (3)

在接收端,通过PCB仿真及Xilinx给出的数据计算出接收数据眼图宽度:

ΤRX_EYE=766-100-[9×8]-75=519ps, (4)

其中延时调整级数为9 taps,转换为延时调整级数为:

TRX_EYE_TAP=519ps÷78ps/tap≈6 taps。 (5)

从时序分析中可以看出高速数据传输眼图宽度达到了6级tap,能够通过ChipSync技术实现稳定的数据锁存。

3 仿真与试验

高速接口的FPGA程序是在Xilinx ISE10.1i编译环境下实现的,通过编写测试激励文件在ModelSim 6.5a软件下进行了功能仿真。在仿真时,调整输入时钟和数据的相对时延来模拟实际的工作环境,最后通过输入不规则的串行数据依据接口解串结果对程序的正确性进行了验证。

在CPCI调试平台上对采样板的高速接口进行了调试并通过采样波形验证了接口的正确性,其中采样的一路数据接口在比特对齐过程中不同延时的测试结果如表1所示。

从测试结果可以看出896 Msps高速数据传输眼图宽度为6 taps,与分析结论一致。

4 结束语

结合实际应用介绍了一种多通道ADC与FPGA的高速接口,对接口实现的关键技术进行了深入分析。这种高速接口采用了Xilinx的ChipSync技术,以在线时序调整和收发校准的方式实现了数据最佳锁存和高速解串,降低了硬件设计复杂度,减少了调试工作量。测试结果表明该高速接口在极高的数据速率上工作稳定,并已应用于实际工程。这种高速接口方式也可应用在其他点对点的高速数据传输系统,具有很好的设计参考价值。

摘要:针对多通道高速采样器ADS6445的高速串行数据接口特点,提出了一种高速接口的实现方法。使用Xilinx Vertex5系列FPGA接收采样串行数据,利用FPGA的片同步技术通过在线时序调整实现了高速解串;对高速接口的组成及工作原理、片同步技术的特点、设计规则进行了简要介绍,描述了高速接口的时序调整过程;对高速接口的适应能力进行了分析,最后通过仿真及试验验证了接口工作的正确性。

关键词:片同步,多通道ADC,高速接口,SERDES,FPGA

参考文献

[1]杨洁茹,王春.一种折叠式宽带信道化电子对抗接收机[J].安徽电子信息职业技术学院学报,2008,7(5):37-38.

[2]李燕春.高速信号处理终端设备的设计[J].电讯技术,2011,51(8):66-69.

[3]孙海涛,马小兵,陈兵,等.一种基于片同步技术的高速接口电路设计方法[J].测试技术学报,2008,22(5):442-448.

[4]武荣伟,苏涛,翁春蕾.一种基于片同步技术的高速接口电路设计方法[J].重庆邮电大学学报,2010,22(2):205-206.

[5]Xilinx.Virtex-5 FPGA Data Sheet-DC and SwitchingCharacteristics[M].San Jose:Xilinx,2008:33-35.

[6]Xilinx.Virtex-5 FPGA User Guide[M].San Jose:Xilinx,2008:351-357.

[7]崔迎炜,张晓林.软件无线电中的高速设计技术[J].北京航空航天大学学报,2004,30(1):55-58.

[8]刘丽格,李天宝,石鑫刚.一种板间高速传输系统的设计与实现[J].无线电通信技术,2011,37(4):53-55.

[9]Xilinx.16-Channel DDR LVDS Interface with Per-Channel Alignment[M].San Jose:Xilinx,2006:14-16.

高速接口论文 第5篇

关键词:SSI;光电编码器;工控机;数据采集

SSI(Synchronous Serial Interface)即同步串行接口,具有传输速度快、连线简单、抗干扰能力强等优点,在光电编码器等各种传感器上得到了广泛的应用[1,2]。工控机即工业控制计算机,具有计算机CPU、硬盘、内存、外设及接口,并有操作系统、控制网络和协议、计算能力、友好的人机界面,工控机以低成本、高性能、高可靠性等优势成为工业控制等领域的主流计算机。

工控机一般不提供SSI接口,很难直接采集SSI接口的编码器等传感器数据。SSI接口转换器多将SSI数据转换成异步串行总线等低速现场总线,这大大限制了数据采集的实时性;市场上也有国外提供PCI或ISA接口的SSI接口卡,但价格昂贵且驱动程序较为复杂。工控机上多配备数字量输入/输出卡。本文采用数字量输入/输出卡控制SSI并行接口模块SSI208P,实现了一种SSI接口的低成本、高速数据采集方法。

1 SSI208P模块介绍

SSI208P模块可将SSI数据高速转换成并行数据,采用DIP28封装,内部集成了SSI同步时钟发生模块、数据串并转换模块、接口控制逻辑模块、输出控制模块以及收发驱动(TTL-RS422电平转换)模块等功能模块,其功能框图如图1所示。

采用SSI208P模块对SSI接口数据的读取操作就变得类似于对A/D、D/A或存储器读取数据的操作,非常简单。SSI208P模块还能将格雷码转换成二进制码。通信速率可配置,当通信速率配置为2 MHz时,对于16位精度的编码器,系统数据更新率不低于100 kHz,可以满足高速伺服控制系统的需求。

SSI208P控制时序如图2所示。CONVST上升沿启动一次SSI编码器数据收发过程。CONVST电平升高后,125 ns内SSI208P模块开始向编码器发送一帧同步时钟脉冲信号,脉冲的个数由编码器的精度决定,同时转换结束管脚EOC变高。发送脉冲期间管脚EOC保持高电平状态,转换结束EOC管脚电平变低后,即可从D0~D7并行读取编码器数据,每次读取八位,由A1、A0控制输出数据高低位,0表示读取最低八位、1表示读取最高八位,例如对于16位编码器只需读取两次(A1、A0分别为00、01),最多可以读取32位数据。编码器并行数据读取结束后将CONVST管脚置低,准备启动下一次转换。

2 硬件设计

数字量输入/输出卡与SSI并行接口模块SSI208P及SSI光电编码器之间的硬件连接原理图如图3所示。图中数字量输入/输出卡扩展了四路SSI编码器。数字量输入/输出接口由研华公司的多功能PCI数据采集卡PCI-1716提供,该采集卡除了提供16路模数转换通道和2路数模转换通道外,还提供了16路数字量输入和16路数字量输出通道[3]。四通道光电编码器为16位格雷码输出格式。接口板上采用了四片SSI208P芯片,SSI时钟速率和编码器数据格式的设置都由接口板完成。PCI-1716的数字量输入端口的信号电气特性为:输入逻辑高电平:2.0~5.25 V;输入逻辑低电平:0.0~0.80 V;输出逻辑高电平:2.4 V(最小);输出逻辑低电平:0.4 V(最大)。参考SSI208P管脚的电气特性可知,PCI-1716和SSI208P的管脚可以直接连接。

采用PCI-1716的输入端口DI0~DI7连接四片SSI208P的数据线D0-D7,由于SSI208P在没有片选信号的情况下数据线是高阻态的,因此数据线可以共用。PCI-1716的输出端口DO1连接四片SSI208P的启动转换管脚START,可以同时控制四路SSI编码器。PCI-1716的输出端口DO0连接四片SSI208P的地址选择管脚A0,因编码器为16位,A1接地。PCI-1716的四个输出DO2-DO5分别连接四片SSI208P的片选管脚CS。IO卡的四个输入DI9-DI11分别连接四片SSI208P的转换结束指示管脚/END。使用PCI-1716的18个IO口就可以实现四路光电编码器的时序控制和数据采集。

3 软件设计

编程采用Borland C++ Builder,调用PCI-1716的驱动程序操作各输入输出端口,在各输入输出端口上产生满足SSI208P的控制逻辑即可启动转换,采集数据。由图2可以看出SSI208P模块的启动转换控制和数据读取操作比较简单,软件流程如图4所示。

相应的软件代码如下:

static PT_DioReadPortByte ptSsiSta,ptSsiVal;

// 编码器状态和编码器数据结构声明

USHORT SSI_STA,SSI_VAL;

// 编码器的状态和数据变量声明

int SSI_VAL1,SSI_VALL,SSI_VALH;

// 编码器1各数据变量

PT_DioWriteBit Bit_Start, Bit_A0, Bit_CS1, Bit_CS2, Bit_CS3, Bit_CS4;

// 各控制端口变量声明

……

ptSsiVal.port = 0; //端口0用于读取编码器数据

ptSsiVal.value = &SSI_VAL;

ptSsiSta.port = 1; //端口1用于读取编码器状态

ptSsiSta.value = &SSI_STA;

Bit_START.port=0; //输出端口0.1位启动转换

Bit_START.bit=1;

Bit_A0.port=0; //输出端口0.0位地址线A0

Bit_A0.bit=0;

……

Bit_START.state=0;//START上升沿启动转换

Bit_START.state=1;

DRV_DioWriteBit(DriverHandle,&Bit_ Start);

For(int i=0;i<1;i++);//延时至少125ns

DRV_DioReadPortByte( DriverHandle,

(LPT_DioReadPortByte)& ptSsiSta);

while((ptSsiSta&0x01)!=0) //等待转换结束

DRV_DioReadPortByte( DriverHandle,

(LPT_DioReadPortByte)& ptSsiSta);

Bit_CS2. state =1; //片选2-4置高

DRV_DioWriteBit(DriverHandle,&Bit_ CS2);

……

DRV_DioWriteBit(DriverHandle,&Bit_ CS4);

Bit_CS1. state =0; //片选1置低

DRV_DioWriteBit(DriverHandle,&Bit_ CS1);

Bit_A0. state =0; //读取编码器低8位

DRV_DioWriteBit(DriverHandle,&Bit_ A0);

DRV_DioReadPortByte( DriverHandle,

(LPT_DioReadPortByte)&ptSsiVal);

SSI_VALL= SSI_VAL&0xFF;

Bit_A0.state =1; //读取编码器次低8位

DRV_DioWriteBit(DriverHandle,&Bit_ A0);

DRV_DioReadPortByte( DriverHandle ,

(LPT_DioReadPortByte)&ptSsiVal);

SSI_VALH= SSI_VAL&0xFF;

SSI_VAL1= (SSI_VALH<<8)| SSI_VALL;

//数据拼接

……

4 结束语

本文基于SSI并行接口模块SSI208P和数字量输入/输出接口扩展卡,给出了一种工控机高速采集多通道SSI光电编码器数据的低成本实现方案。试验证明,在同步时钟设置为500 kHz的情况下,转换读取四路16位SSI光电编码器的时间小于100 μs,可用于实时性要求很高的应用场合。该方案已经成功运用于某车载武器系统的火控分系统中,运行稳定可靠。

参考文献

[1] 靳红涛, 赵勇进, 陈朝基. 一种SSI接口光电编码器数据并行采集设计方法[J].电子技术, 2008, (5).

[2] 张子蓬, 王淑青, 刘辉. SSI接口的绝对值角度编码器值的读出方法研究[J]. 工业控制计算机, 2005, (12).

[3] PCI-1716/1716L安装使用手册[M].

作者简介

高速接口论文 第6篇

关键词:FPGA,LVDS,DDR,高速数据传输

1 引 言

在数据采集处理系统及其他相关应用领域, 由于ADC器件性能和DSP处理能力的提高,多通道输出信号经A/D变换后,采集的数据需要通过数据总线送给DSP进行数据压缩、存储等实时处理。因此,数据总线接口的传输速率成为数字信号处理的关键因素之一。LVDS接口具有高速、低功率、抗干扰性能好等特点,在差分PCB导线对或平衡电缆上传输速率可以达到几百Mbps甚至上Gbps,并且具有低电压、低辐射、低功耗、低成本和可内含时钟等优点。LVDS技术正逐渐成为宽带高速系统设计的首选接口标准。(1)

本文基于图1实现了一种基于FPGA的LVDS差分接口传输技术,采用DDR双倍数据率技术提高数据传输速率,利用Altpll内部的锁相环产生速率可灵活调整的时钟,实现了400 MHz的DDR速率。完成了高速图像数据通过Altera CycloneΠ EP2C5FPGA[1]的LVDS接口的传输。

2 基于FPGA的LVDS接口实现

传统芯片间通信方式多采用TTL、LVCMOS等单端接口电路标准,这种方式易受干扰,无法提高数据传输速率,若是提高带宽,则须扩展数据通道,这样便会增加系统成本,而且还会带来数据同步等一些复杂问题[2]。

本文采用CyclonΠ系列EP2C5Q208FPGA,它支持高速LVDS接口,利用其I/O接口的LVDS驱动器把FPGA内部逻辑信号转换为低压差分信号对,经过传输线传送到对方差分接收电路接收。在CyclonΠ系列FPGA中,使用LVDS接口只需在其配套的Quartus Π软件中引脚分配时选择I/O standard为LVDS标准并将其分配为LVDSp即差分正极,软件将自动产生其对应的LVDSn负极引脚[3,4]。

本系统AD采集板与DSP板之间信号传输至少需要5m长的电缆连接,为保证数据传输可靠性,电路的设计应注意以下三点(如图2所示)。

(1)FPGA发送端通过LVDS驱动器发送差分信号txout,在差分线上分别串接一个120Ω的电阻,再在其间并接一个170Ω的电阻,削弱差分信号的幅值,防止信号产生振荡[5];

(2)FPGA接收端在差分线间并接一个100Ω的终端电阻,电流主要通过终端电阻形成回路,从而也在接收器的输入端形成差分接收的信号电压。

(3)PCB布线时,防止LVDS高速信号串扰和互扰,避免其他信号耦合到LVDS传输线上,应将LVDS信号和其他信号分别布在两个信号层上。

3 LVDS接口数据发送与接收模块设计

为了实现基于LVDS接口的数据传输,实现ADC数据采集板和DSP处理板间FPGA互相通信,使用移位寄存器和DDR IOE实现数据的并转串和串转并,完成数据的传输。

3.1 LVDS接口发送模块

ADC采集板接收模拟量,通过高速AD9432转换为数字量进入FPGA中的FIFO进行缓冲。FIFO是由FPGA中的RAM块组成,通过传输逻辑控制,将ADC采样存储的数据下传给LVDS接口模块。FPGA内部逻辑控制状态如图3所示。

LVDS接口发送端原理如图4所示。

系统输入时钟inclk为100MHz,通过锁相环altpll产生100MHz和400MHz的clk_slow和clk_fast时钟及locked时钟锁定信号。在clk_slow下降沿时将从FIFO读回的八位数据data[7..0]分奇偶位通过两个D触发器同步后进入到两个移位寄存器Shift Register中。载入使能信号由每4个clk_fast产生一次,当载入使能信号load为高时将数据放入移位寄存器,在clk_fast上升沿时将移位寄存器中的并行数据串行移出。DDIO_OUT模块将两路串行SDR单速率信号,转换为一路DDR信号,通过FPGA内部的LVDS驱动器以LVDS信号的形式下传。

3.2 LVDS接口接收模块

DSP数据处理板将接收的LVDS信号通过FPGA内部的LVDS接收器转换为TTL电平,通过判断接收的Locked信号有效后,锁相环与接收到的时钟同步, DDIO_IN模块开始工作,将一路DDR信号转换为两路串行SDR单速率信号。两路串行数据通过两个rx_Shift_Register移位寄存器实现串转并,通过D触发器及clk_slow同步后下发并行数据到DSP进行处理。LVDS接口接收端原理如图5所示。

4 实现结果

以下是在QuartusΠ软件下的Signal TapΠ Logic Analyzer逻辑分析仪中捕捉到的发送端波形图(图6(a))以及经过LVDS接口传输后得到的灰度图像图(图6(b))。Data是从FIFO中读出的经过AD采集后的并行数据,并行数据经过shiftout_A、shiftout_B两个移位寄存器串化处理后,进入DDROUT模块以双倍的下发速率下发串化后的数据tx_out。

5 结束语

本文介绍了LVDS接口在FPGA中的实现,同时实现了FPGA中的LVDS接口在图像数据采集系统与图像数据处理系统间的高速数据传输,降低了板间的数据传输时间,满足了数据传输所需的带宽要求,布线简单,具有较强的可重构能力,为板间数据传输提供了良好的设计方案。基于FPGA的LVDS接口可适用于通讯、雷达、电子对抗等高速数字信号处理设备中,具有广泛的应用前景。

参考文献

[1]董秀洁,杨艳,周游.FPGA/CPLD选型与设计优化[J].化工自动化及仪表,2009,36(3):60-63.

[2]王晓君,宇文英,罗跃东.基于FPGA的CPCI和LVDS接口技术及应用[J].半导体技术,2007,32(3):248-251.

[3]陈伟,宋燕星.基于LVDS技术的高速数字图像传输系统[J].电子测量技术,2008,31(11):172-174.

[4]宋燕星,袁峰,丁振良,等.LVDS技术在高速多信道数据传输中的应用[J].电子技术应用,2006,(10):75-76.

高速接口论文 第7篇

USB3.0属于一种串行电缆总线, 采用双总线拓扑结构, 不需要等应答包需要就能够在同一方向同时发送多个包, 能够兼容其他版本的USB, 同时能够抑制数据传输中遇到的一些干扰信号。USB3.0的两条总线是用电缆及连接器并连起来的, 总线采用星型的拓扑方式, 超速总线采用分层的通信架构。它的双总线结构一般是由USB3.0设备、USB主机及USB外设设备组成[1]。

USB3.0之所以能够实现超高速的数据传输, 主要是因为采用了8b/10b的编解码方式, 这种编解码方式保证了编码过程中的DC平衡, 数据传输过程中“0”、“1”的个数基本相同, 不会超过连续的5位的“0”或者“1”。具体的编码原理如下所示:将连续的8位数据分为高3位和低5位, 并在两组数据之中加1位控制数据, 从而组成一组10位数据, 解码过程中将这10位数据变换为Control+8bit信息, 正是因为这两位控制信息的存在, 使得USB3.0具有向下兼容的模式。USB3.0支持同步传输、块传输、中断传输及控制传输四种传输类型, 块传输之中具备超高速流模式。

二、系统硬件设计

本文设计的高速数据采集系统在工作的过程中, 首先等待与待采集信号对应的开关控制信号选通, 然后将其送入到信号调理电路模块中进行整形、滤波、去燥、去漂移等等处理, 处理完成之后送入到 A/D 转换器进行模数转换, 之后利用FPGA实现FX3 传输模块与采集模块的数据传输, 存储模块的数据经FX3提取采集之后通过高速传输模式可以传送给USB3.0接口, 最终完成整个数据采集传输的过程。实际的使用过程中, 首先通过USB接口将数据采集传输系统与计算机连接起来, 系统驱动初始化之后, 经由 I2C, FX3芯片可以获取到USB接口的固件程序, 芯片内部寄存器初始化之后, 将外围电路状态设置好, 上位机就能够识别数据采集及传输系统[2]。

本文设计的高速数据采集系统由硬件及软件两部分组成, 前端设计有信号调理模块、电源模块、数据采集模块、高速数据传输模块、控制模块及其他辅助功能模块组成。其中控制模块的核心是FPGA, 数据采集模块的核心是A/D转换器、高速数据传输模块的核心是USB。

为了实现数据的A/D 转换, 该采集系统之中共设计了3个16路模拟开关, 考虑到系统设计建设成本问题, 加上PCB成品本身体积不宜太大, 因此本次设计中引入多路复用开关, 采用分时复用的方法从而实现A/D 转换芯片共享。本次设计的采集电路一共能够采集48路不同频率的模拟信号, 这也需要引入多路开关。

ADG706芯片具有高精度、低功耗、高准确度的优点, 包含有单路16选1的多路选择器, 每一路开关之间切换的时间低至50ns。本文设计的数据采集通道一共有48路, 因此一共需要三片ADG706芯片。

开关外围电路连接图

采集及前段处理电路工作过程中, 首先将A3-A0 的状态送到地址总线, 让模拟开关的某一块使能端EN变为高电平之后, 选通一路模拟信号, 对这一路信号进行滤波降噪、分压、跟随处理之后, 送入A/D 转换芯片之后进行离散采样处理。

 数据采集卡在采集数据的过程中, 采集量一般都是一些变化特别细微的非电平量或者电平量, 如果前期处理不当, 会影响数据采集的精度及准确度。因此本次设计时, 在数据采集模块加了一个信号调理电路群, 对48路采集输出信号进行放大、缓冲、滤波等处理。处理完成之后, 数据采集完成, 能够在计算机上将采集数据信息还原, 以供用户的分析利用。采集的数据信号经过信号调理电路之后, 经过稳压、滤波及降噪等处理, 信号的采集精度及准确度都明显提升。

模数转换器选择是整个数据采集系统设计的关键, A/D模数数据转换器选择时需要重点关注其转换精度、采样速度、通道数、输入电压范围、转换接口等等问题, 其中转换精度主要与系统被测信号的范围及系统要求总精度有关, 本系统精度要求为16位, 因此模数数据转换器选择16位的A/D芯片即可。系统的采样速度可以根据采样定理及最高采用速率来定, 本系统的最高采样率为120k Hz。此外, 为了满足高速的数据采集要求, 需要选择具有并行接口的A/D芯片。考虑到相关的技术指标及实际的应用需求, 本次设计中系统采集部分的核心器件是一种高速逐次逼近型A/D转换器。该A/D转换器支持8/6/4路同步采样输入, 使用过程中采用5单电源供电, 支持真双极性模拟输入电压, 所有的采样通道都能够以200k SPS的速率进行数据采用。同时该芯片内部自带一个高输入、低噪声的信号调理电路, 输入端集成了一个滤波器, 该滤波器具有40d B抗混叠抑制特性, 因此系统前段只需要设计一个一阶的低通滤波器, 配置一个电压跟随电路就能够将采样信号中的高频干扰过滤。

USB3.0接口本身具有电源电压供电的能力, 因此整个采集系统的硬件部分可以考虑采用USB3.0接口进行供电, 但该接口的标准电压为5V, 并不能完全满足所有模块的电压供给, 因此, 电源选择时需要考虑系统内部相关模块的电压需求及芯片过压保护及高压干扰等等问题。本次设计的采集电路的硬件部分外接了一个15V的电源电压, 为调理电路供电, 同时为了满足系统芯片的不同供电电压值要求, 系统设计时集成了一块电源电压管理芯片, 该芯片具有较强的电源管理的能力。

三、系统软件设计

信号采集传输系统的软件设计主要包括三部分内容, 即FPGA 驱动程序、FX3 固件程序及AD控制模块程序, 其中FPGA 内部结构的逻辑设计时需要将其划分为不同的模块, 分别进行erilog HDL编程, 各部分功能实现之后将其连接起来。

系统软件部分主要由USB接口控制器、数据控制器、PLL、A/D控制模块几部分组成。A/D控制主要通过对A/D芯片的功能管脚进行时钟控制完成, 该系统的时钟频率为50MHz。

A/D采集中首先对A/D芯片进行初始化, 初始化时启动A/D转换的片选信号CS、读信号RD、控制信号CVA/CVB, 将它们均置为高电平, 然后将控制信号CVA/CVB置为低电平一段时间后再置为高电平, 启动转换之后, 芯片会自动的将忙信号置为高电平, 3us左右, 如果忙信号持续置低, 说明此时模拟信号转换完成, 如果是高电平在在此等待。转换完成之后, 将读信号及片选信号拉为低电平, 过一段时间之后将读信号置为高电平, 此时数据信号线DB0~DB15上的数据即为第一通道数据, 然后将16个引脚的数据读回FPGA中, 实现一个通道数据的采集过程。第二个通道信号数据采集时, 首先将读信号置为低电平, 待第二个通道数字量送到AD数据信号线DB0~DB15上之后将读信号置为高电平, 然后将16个引脚的数据读回FPGA中, 第二个通道数据的采集完成, 此后其他6个通道数据采集按照这个过程进行。

USB接口控制程序开发时, USB设备的枚举、重枚举、初始化、电源管理、USB协议的实现等等工作均由固化程序完成。一般来说、固化程序可以存在于外扩的ROM或者芯片内部之中, 本次设计中主要将其存储在EEPROM中。EZ-USB FX3配置完成后, 芯片上电, 之后就能够顺利接收上位机发送的命令, 实现数据的超高速采集及传输。FX3固化程序可以完成应用程序的初始化参数配置、应用线程创建启动、错误处理、外部设备接口配置、DMA引擎配置、数据流设置等等功能。

结束语

本文就USB3.0进行了简单的介绍, 重点从硬件设计及软件设计两部分就基于USB3.0的高速信号采集系统的设计方法进行了分析探讨, 该采集系统将USB3.0与FPGA协议相结合, 能够实现高速率、高精度、高准确率的多通道数据采集传输。本文分析的内容比较简单, 希望能够为类似信号采集系统的设计工作提供参考。

摘要:信号采集系统是现代工业向自动化、智能化方向发展的产物之一, 目前已经广泛的应用于工业生产之中。USB接口具有性价比高、即插即用优点, 在数据传输领域优势明显, 本文主要将USB3.0与FPGA协议相结合, 开发出一套基于USB3.0接口的高速信号采集系统, 下文就该系统的设计流程进行简单的探讨分析。

关键词:USB接口,FPGA协议,高速信号采集系统

参考文献

[1]赵健博.基于FPGA和USB3.0的高速CMOS图像数据采集系统设计[D].吉林大学, 2015 (06) .

高速接口论文 第8篇

关键词:RocketIO,RapidIO,Fibre Channel,嵌入式应用

0 引 言

近年来,多种新兴的高性能互连技术相继出现,如RapidIO,PCI Express,Fibre Channel 和InfiniBand等,它们大都采用基于报文交换的点到点互连结构替代传统并行总线结构,提供了高带宽、低延迟、可扩展的I/O互连,很大程度上克服了传统并行总线结构的种种弊端。其中RapidIO 属于系统内部互连技术,主要针对高性能嵌入式系统内部互连,它可以作为处理器总线、本地I /O 总线,还可以跨越背板连接处理器、存储器和外部设备。RapidIO 技术被定义为一种高性能,低引脚数,基于报文交换的互连体系结构,能广泛满足嵌入式系统应用的需求,支持芯片到芯片和板到板之间的互连技术[1]。光纤通道(Fiber Channel,FC)是一种高速串行传输协议,具有高带宽、高实时性、高可靠性、扩展性好、传输速率高、抗干扰性强、拓扑结构和服务类型灵活、支持多种上层协议和底层传输介质等特性,且可以在一路传输线上实现高达2.5 Gb/s的速率,具有相对于万兆以太网,PCIe更高的传输速率[2]。

在嵌入式应用方面,主流的FPGA 中都已对差分信号提供了硬件支持,并且在片上集成了固化的Rocket IO 模块,以提供高超高速的串行通信支持。RocketIO位于数据传输协议的物理层,用以实现最基本的数据通信环境。

本文从Xilinx的Virtex5系列FPGA的RocketIO高速串行收发器的工作原理入手,分别阐述了在一片FPGA上利用RapidIO 协议和Fibre Channle协议实现高速信号传输的方法,并分析了RocketIO接口在硬件设计上需要注意的问题。

1 RocketIO介绍

RocketIO为FPGA中内嵌的硬核资源,是一种高速串行收发器,采用两对差分线来进行数据的发送和接收,可以实现两个单工或一对全双工的数据传输,通信码率可以达到600 Mb/s~3.125 Gb/s。RocketIO收发器发送和接收串行差分信号,工作于2.5 V的直流电压下,采用CML(Current Mode Logic)模式[3],内部带有50 Ω或75 Ω的匹配电阻,采用串行数据收发,可以在高频条件下很好地避免数据间的串扰。

RocketIO收发器结构[4]如图1所示,主要包括PMA和PCS两个子层,PMA子层中集成了SERDES,发送和接收缓冲,时钟发生器及时钟恢复电路。SERDES是一个串并转换器,负责FPGA中本地的32位并行数据(也可以是16位或8位)与Rocket IO接口的串行数据之间的转换。时钟发生器及时钟恢复电路用于将时钟与数据绑定发送及将时钟从接收到的数据流中恢复出来,从而避免了在高速传输条件下时钟与数据分开传输所带来的时钟抖动等问题。PCS子层负责8 b/10 b编码解码和CRC校验,并集成了负责通道绑定和时钟修正的弹性缓冲。8 b/10 b编码可以避免数据流中出现连0连1的情况,便于时钟的恢复。通道绑定通过在发送数据流中加入字符来将几个RocketIO通道绑定成一个一致的并行通道,从而来提高数据的吞吐率。弹性缓冲可以解决恢复的时钟与本地时钟不一致的问题,并进行数据率的匹配,从而使得通道绑定成为可能。

2 RocketIO在高速信号互连中的应用

以某信号处理模块FC接口板卡为例,该模块是一种高性能、具有高速串行接口、采用统一互连网络的通用信号处理接口模块,信号传输速率达到几千兆位每秒,这时就需要具有足够高传输速率的信号传输机制对信号进行转发。实现与主机板卡通信时,采用RapidIO传输协议;实现系统网络间通信时,则可使用Fibre Channle光纤通信协议。而RocketIO对多种高速传输协议的支持,可以使得RapidIO协议、Fibre Channle协议在同一片FPGA 内实现,提高了系统的集成度,并使得信号的处理机制更加灵活。在本文的设计中,以 Xilinx的Virtex5系列FPGA为平台,采用了RapidIO传输协议来实现与主机板卡的通信,采用Fibre Channle协议来实现系统网络间通信。本文涉及的接口模块架构如图2所示。

2.1 应用RapidIO协议实现板间互连

RapidIO是一种基于高性能包交换的开放式互连技术,主要功能是完成系统内部芯片到芯片和板到板之间的高速传输数据,能够提供高带宽、低时延、软件独立和高容错性的数据传输解决方案[1]。同时支持点对点或点对多点的通信、DMA操作、消息传递模式交换数据以及多种拓扑结构等功能。

RapidIO采用3层分级体系结构[1],分别为物理层、传输层、逻辑层。物理层规范在整个分级结构的底部,包括器件级接口的细节,如包传输机制、流量控制、电气特性和低级错误管理。传输层规范在中间层,定义RapidIO地址空间和在端点器件间传输包所需的路由信息。逻辑层规范定义全部协议和包的格式,它们为端点器件发起和完成事物提供必要的信息。

RapidIO串行物理层,通常称为串行RapidIO,是针对板上或通过背板的器件间的电气连接。串行物理层定义器件间的全双工串行链路,在每个方向上使用单向差分信号。RapidIO串行物理层实现链路训练、链路初始化,支持RapidIO器件间的包传送,包括包和控制符号的传送、流量控制、错误管理和其他器件到器件的功能。RapidIO 物理层核与RocketIO收发器连接逻辑结构框图如图3所示。

由于RapidIO逻辑层包被定义为一连串的比特,并且与物理层实现无关,所以RapidIO 协议在串行与并行接口,铜线与光纤介质下都能正确工作。

其中RapidIO 串行物理层有如下特征:

(1) 采用8 b/10 b编码方案将发送时钟嵌入到数据中。

(2) 在每个方向上支持一个串行差分对或支持4个并列的串行差分对。

(3) 使用专用的8 b/10 b码(称为K码)来管理链路,管理流量控制、包定界和错误报告。

(4) 支持每通道1.25 Gb/s,2.5 Gb/s和3.125 Gb/s波特率(数据速率分别为1.0 Gb/s,2.0 Gb/s和2.5 Gb/s)的传送速率。

2.2 应用Fibre Channel协议实现系统间互连

光纤通道技术是综合计算机通道和数据网络概念提出的一个不同于传统的通道和网络结构的互连方案,采用通道技术控制信号传输,使用仲裁或交换方式处理共享冲突,并采用了基于信用的流量控制策略。

Fibre Channel模型分为5层[2],分别为:FC-0,FC-1,FC-2,FC-3和FC-4 。FC-0层定义了连接的物理端口特性,包括介质和连接器、驱动器、接收机、发射机等的物理特性、电器特性和光特性、传输速率以及其他的一些连接端口特性。在本设计中,FC-0层处理由光电收发器实现光信号与电信号转换;FC-1层是信号编码和解码层,FC-1层处理由FPGA的RocketIO完成串并/并串转换、8 b/10 b编解码、有序集及位同步等; FC-1层使用8 b/10 b编码方式,这意味着每传输10 b数据,实际得到8 b的有效数据,其他两位是冗余位。信号可以被编码成2种字符集:K字符集(特殊的控制信号和命令)和D字符集(普通数据)。FC-2层是帧协议层,是FC用来识别、解释和处理FC网络信息流的核心层。FC-2层规定信息单元的组成格式、原语序列协议、端口类型、服务类型、数据的分段与重组、流量控制、差错恢复策略、节点初始化、节点的注册和节点的注销等功能。FC-0,FC-1和FC-2层这3层共同组成了FC物理层。FC-3层是FC的公共服务层,定义了如带宽频率分片、搜索组和多播等通用服务。FC-4:该层是FC协议模型的最高层,在本系统的设计中,使用了匿名签署消息传输协议(FC-AE-ASM)来满足系统中数据的传输需要。

在FC核的嵌入式应用中,使用一个或2个RocketIO收发器来提供1 Gb/s,2 Gb/s或4 Gb/s的接口速率,利用FPGA中的8 b/10 b编解码器、CRC产生和校验单元以及接收弹性缓冲进行设计。FC核内部提供了32 b宽的Client接口,FC帧数据采用32 b/s访问。FC核的时钟在配置时已固定,分别可采用53.125 MHz和106.25 MHz。

FC核与RocketIO收发器连接逻辑结构框图[5]如图4所示。

3 RocketIO接口的信号完整性设计

在实际应用中,参考时钟、电源供电以及高速传输线路的设计与布局是影响数据传输效果的最重要因素。为了保证Rocket IO能可靠工作,在RocketIO接口设计过程中需要注意以下的问题[6]:

(1) 电源供电。该系列FPGA器件中每个RocketIO高速串行收发器包括5类电源引脚, 分别为MGTAVCCPLL, MGTAVCC, MGTAVTTRX, MGTAVTTTX, MGTAVTTRXC,这些引脚对噪声的影响都非常敏感,为了保证高速电路能够可靠工作,RocketIO需要和周围的噪声源进行隔离。因此需要对RocketIO收发器进行专门的供电,且每个供电引脚必须有独立的LC滤波网络,其连接关系如图5所示。

(2) 高速信号。RocketIO高速串行收发器采用高速差分信号线,由于所传输的差分信号频率很高,高速差分对走线应当有最高的优先级,两根差分信号线必须在长度上尽量匹配,长度失配会产生共模噪声和辐射,严重的失配会产生时钟抖动和不可预知的时序问题,差分线必须尽量匹配,端接电阻50 Ω和75 Ω可选,50 Ω用于芯片和芯片之间互连,75 Ω用于芯片和电缆之间互连;高速差分线不要打孔,要布在电路板中同一层。

(3) 参考时钟。RocketIO不能使用经过数字时钟管理模块(DCM)倍频的参考时钟,因为DCM倍频会引入过大的时钟抖动,在RocketIO的高速数据传输条件下会引起不必要的错误。RocketIO的时钟由差分时钟输入后,只经过一级BUFG,将时钟引入FPGA的全局时钟树,然后直接连入到RocketIO的参考时钟引脚上。

4 测试验证

在完成硬件设计后,可利用ChipScope Proh分析工具测试RocketIO的工作性能,通过内置在收发器内的误码率测试器,设置RocketIO为串行闭环方式,并运行软件进行测试即可得到实时的数据传输状态。如图6所示可观察到链路上的传输特性,并可得误码率可达到10-12,符合设计指标要求。

5 结 语

本文从Virtex5系列FPGA的RocketIO高速串行收发器入手,根据接口设计需要阐述了应用RapidIO 协议和FC协议实现高速传输的设计思想及工作原理。并分析了高速传输在硬件设计过程需要注意的一些问题,为高速接口设计的研究奠定了基础,具有一定的科研价值和实践意义。

高速接口论文 第9篇

一、高速ECT数据采集系统硬件接口设计的必要性

ECT系统的硬件主要包括传感器阵列、C/V转换电路、采样和控制电路、USB通讯模块以及图像重建计算机5个部分, 每个部分在系统运行过程中都起到了不可替代的作用。比如说C/V转换电路, 系统采用的主要是差分采样法, 这种方法具有不需要过滤器、抗杂散电容等优点, 此外, 这种方法还能够很好的消除电子;而系统中最重要的部分则要属USB通讯模块, 其是硬件设计中的关键技术之一, 但就我国目前USB通讯模块的现状来看, 所提供的串口通信速率较低, 满足不了实时传输数据的需求, 从根本上影响了整个系统的运行效率。因此, 加强ECT系统中高速通讯模块的硬件接口设计已经成了当务之急。

二、ECT系统中高速通讯模块的硬件接口设计特点

随着我国科学技术的不断发展, ECT系统中的相关技术也得到了不断的完善与优化。由于ECT系统所涉及的硬件设施比较复杂, 结构也多种多样。因此, 在对ECT系统中高速通讯模块的硬件接口进行设计的时候, 为了能够从根本上提高数据信号的采集和处理能力, 提高数据之间的通讯速度。在ECT系统中, DSP所采用的是ADSP—2188芯片, USB接口芯片采用的则是CY7C68013芯片, 这不仅提供了高度集成的解决方案, 而且还能够加快通讯模版的开发工作。该系统的主要特点是集成了多种硬件设备, 其中主要包括增强型的8052内核一个、USB收发器一个、USB2.0智能串行接口引擎一个, 以及存储器和通用可编程接口等。该系统本身具有高度集成、对固件实现灵活加载以及量子FIFO数据传输模式。因此, 能够在很大程度上提高数据的传输效率。CY7C68013的功能方框图如图1所示:

通过上图我们可以得知, 本系统在通讯模块中所采用的是SlaveFIFO模式, 这种模式工作于异步方式, 为了能够充分实现让USB接口和DSP直接对FIFO进行共享, 在模块设计的时候, 将AUTOOUT和AUTOIN分别设置为两个缓冲端点。USB芯片中的微控制器增强型8051不参与数据的传输工作, 但是却可以以随机存储器的方式访问FIFO。可以说, 在整个系统中, CY7C68013芯片对于提高数据之间通讯速度方面工作起到了不可或缺的作用。

三、ECT系统中PC与DSP传输通道的设计方案

数据在进行传输的过程中, 必须要经过DSP与PC的数据传输通道, 而系统的设计情况如何将直接影响到数据的传输速度。一般来说, 数据在通过DSP与PC主机之间的通道进行传输的时候, 其过程主要是:A/D转换器输出的数字信号通过并行接口输入到DSP, 系统会根据数据输出的实际情况在FIFO设置一个缓冲区, 并且设置一定的储存额度, DSP则通过16位并行数据总线把采集到的数据存储在这个缓冲区中, 当输出的数据在缓冲区中达到了系统设定的数值额度, 那么SIE就会立即将其进行处理, 由收发器通过USB总线将输出的数据送到PC主机上。DSP与PS之间的传输通道具体情况如图2所示:

四、DSP与USB芯片的硬件接口设计方案

CY7C68013工作于SlaveFIFO模式下与DSP的接口示系统中的各个接口都具备各自的使用价值和功能。首先, 该系统中所采用的CY7C68013芯片的供电电压为3.3V, 提供电压的方式可以分为两种, 一种是由USB总线5V向3.3V转换, 这个时候需要在系统中增加一个对电源进行转换的模块, 另一种方法是由DSP向系统提供;其次, CY7C68013与DSP的接口系统中, XTALIN和XTALOUT管脚所接的是24MHz晶振, 匹配22pF电容, 经过芯片内部倍频电路可产生48MHz频率, 并且同时将其提供给系统中的微处理器;接口中所采用的#SLCS是SlaveFIFO的一个片选, 对其进行控制的主要是DSP外部片选, 如果系统中没有其他芯片需要控制, 在对其进行设置的时候, 可以将其短接地, 但是设置中应该注意, 在对相关的端点缓冲区进行选择的时候, 应尽量将其设置在高位地址上;此外, 系统中的FD是16位数据总线, 在系统实际运行过程中, 还可以根据实际情况的需求通过寄存器设置成8位或者16位。

最后, 在对高速信号的电路板进行设计的时候, 需要注意的是系统中所涉及的各个元件的布局情况, 其中主要包括信号的走线、板层的布置以及板子材料的选择等, 都应该根据系统的实际需求来进行合理布置和选择。根据ECT系统设计的相关规范, 在对其进行具体设计的时候, 应该做到以下几点: (1) USB2.0控制芯片和晶振所放的位置应该安排在上层板上; (2) 对于D+和D—的设计, 应该尽可能确保其处于平行线上, 如果系统中遇到转弯的地方, 应该使用135度角, 同时保持信号线下面底层的完整性; (3) 对D+和D—的布线长度进行合理设计, 一般来说都应该不小于3英寸, 长度匹配误差应该控制在50mil以内。

五、结语

综上所述, 随着我国科学技术的不断发展, 在未来的时间里, 必然会有越来越多的先进技术被应用到ECT系统中。因此, 相关技术人员需要不断提升自身的综合素质, 将先进技术在系统中所起到的作用充分发挥出来, 以此来从根本上提高数据信号的采集和处理能力, 从而促进我国工业领域的可持续发展。

摘要:随着我国工业发展脚步的不断加快以及科学技术的不断发展, ECT技术凭借着自身诸多优势被应用到了诸多工业领域当中, 并且具有良好的发展前景。本文通过对ECT系统中高速通讯模块的硬件接口设计进行详细分析, 从而为今后ECT系统的应用提供一定的参考依据。

关键词:ECT系统,高速通讯模块,硬件接口

参考文献

[1]郑伟军, 王保良, 黄志尧, 李海青.ECT系统中高速通讯模块的硬件接口设计[J].《仪器仪表学报》.2006 (S1)

高速接口论文 第10篇

ADI公司的DSP器件(ADSP-TS101)具有浮点实时处理能力强、并行性好等优点,从而广泛被弹载信号处理系统选用[1]。其作为弹载主处理器,在导弹的系统试验中,需要利用上位机对其中的大数据量的软件变量进行实时监控和记录,这就需要一个上行传输给上位机的高速通信接口,数据上行的数据率需要大于6 MB/s。同时这个通信接口还需具有双向特性,通过数据下行可实现在线程序加载与烧写。 这样的通信接口,还需具备设备连接简单、通用性强等特性,并能实现远程(大于3 m)数据传输。

ADSP-TS101自身的外总线接口和链路口(Linkport接口),虽速度很快,但连接复杂,难以长线传输,并不具备上述需求特征[2]。可以通过在DSP的Linkport总线接口上增加FPGA实现的适配电路,扩展USB 2.0接口,实现上述应用需求。下文将介绍具体的实现方案。

1 系统总体方案

系统实现的总体方案如图1所示。

在本方案中,USB接口芯片选用Cypress公司的CY7C68013A。该芯片是Cypress公司FX2系列USB 2.0集成微控制器之一。集成了USB 2.0收发器、SIE、增强8051微控制器和GPIF,是一种优秀的高速USB外设控制器。内置的8051微控制器独立于USB数据通道,由SIE实现大部分USB 1.1和USB 2.0协议;USB FIFO和外部从FIFO映射到相同的8个512 B RAM模块,实现内部传输和外部传输的无缝连接,可以较低的代价获得较高的带宽;8.5 KB内部RAM空间,可运行较为复杂的固件,实现软件对硬件的配置。GPIF是由用户可编程有限状态机驱动的柔性8/16位并行口,可编程GPIF向量组成一个GPIF波形,匹配受控接口的时序[3]。

ADSP-TS101作为弹载主DSP芯片,含4个链路口,每个链路口可在时钟双沿以8位进行双向数据传输,速率高达[4]250 MB/s。通过该接口,DSP每个处理帧将预观测的变量结果以DMA的方式打包向上位机发送。

FPGA实现ADSP-TS101的Linkport接口与CY7C68013A之间的双向数据缓冲和接口协议转换。考虑到CY7C68013A中的FIFO容量较DSP的一个处理帧预发送或接收的数据量较小,故在FPGA中设置上行和下行各一个大容量FIFO,用于数据缓冲,以减少对DSP中并行流水运行的程序的打扰。这里,由于DSP链路口的瞬时数据率远高于USB芯片的传输速率(理论上限为60 MB/s)[5],故FIFO的DSP端口的数据传输为:一个处理帧只操作一次,而USB芯片端则分成多次操作。

限于篇幅,下文将重点对传输数据率要求高、设计难度大的上行通道的设计进行详细描述。

2 FPGA的模拟Linkport口设计

FPGA需要模拟Linkport口的接口时序,其与DSP的硬件连接关系图如图2所示。

Link协议通过8位并行数据总线完成双向数据传输,与数据总线配合的还有相应的时钟信号线LxCLKIN,LxCLKOUT[6]。

2.1 Linkport口的传输协议

Linkport口传输数据时,每8个周期传送一个4字组(16 B),在时钟的上升沿和下降沿均传送一个字节。在传送过程中,发送端将检测接收端的LxCLKOUT信号,仅当接收端将它的LxCLKOUT置为高时,即接收端处于接收方式,且有空闲的缓冲时,发送端才可以启动下一个传送过程。

传送启动过程如图3所示,发送端驱动信号LxCLKOUT为低电平,以此向接收端发出令牌请求,发出令牌请求后,发送端等待6个周期,并验证LxCLKIN是否依旧为高,若是则启动传送过程。传送过程启动一个周期以后,接收端将发送端的LxCLKIN驱动为低,以此作为连接测试。若接收完当前4字组后接收端无法再接收另外的4字组,则接收端保持LxCLKIN为低。这种情况下,缓冲空闲后LxCLKIN信号被禁止。若缓冲为空,则接收端将置LxCLKIN为高电平。

作为同步信号,LxCLKOUT信号由发送端驱动。数据在LxCLKOUT的上升沿和下降沿处锁存到接收缓冲中,发送和接收缓冲都是128 b宽。LxCLKIN信号由接收端驱动,发往发送端,它通常用作“等待”指示信号,但LxCLKIN信号也可以用作连接测试信号,保证接收端能正确地接收当前传送数据。

当LxCLKIN信号用于等待指示信号时,接收端驱动LxCLKIN信号为低电平。若LxCLKIN信号保持低电平状态,则发送端可以完成当前的4字组传送,但无法启动下一个4字组传送。若还有其余的数据需要传送,发送端需将LxCLKOUT置低,并等待接收端将LxCLKIN驱动为高电平。如果在第12个时钟沿到来之前LxCLKIN变为高电平,则紧跟着传送的将是新的4字组[7]。

2.2 FPGA内的Linkport口逻辑设计

由于Link协议采用双时钟沿传输数据,而同步FPGA系统中,一般只采用单一时钟的上升沿完成操作,因此需要将FPGA系统工作频率SCLK设定为Link时钟的2倍。然后将该时钟的两分频输出作为LxCLKOUT信号,有效数据则在SCLK的上升沿更新。

FPGA中的Linkport口接口模块电路与ADSP-TS101的Linkport口完全兼容,且采用了双向双倍数据传输DDR技术,能实现双向双倍的数据传输。FPGA中的Link口接口模块电路如图4所示。

图5是FPGA内实现DSP数据上行的Linkport口接收时序仿真图(基于Modelsim仿真软件)。

Link口协议的一大特点就是在收发数据时可以选择是否需要校验位VERE比特,VERE的启用或关闭可以通过ADSP-TS101中的寄存器来设置[8],也可以通过FPGA模块中的Verein信号置高或置低来设置。该设计在FPGA中设置VERE信号的启用或关闭。当VERE启用后,FPGA模块中的输出信号Rx_Vere_Bad用于表征最后接收的128 b数据是否正确。由于使用VERE有两个好处,一是能保证数据的完整性;二是能减小在两个时钟不严格一致的系统中传输数据时产生数据重叠的可能性。因而在设计中采用了带数据校验的传输方式。

3 USB传输设计

3.1 传输方式的确定

CY7C68013A芯片具有GPIF模式和从属FIFO(Slave FIFO)模式两种接口工作模式[9]。在本设计中,USB数据传输存储模块负责完成存储算法产生的大量数据的高速传输,由于不涉及到对外部电路的控制,所以不选用GPIF模式,而选择Slave FIFO模式进行连接。在数据传输时,用Slave FIFO接口模式,批量传输,自动输入(AUTOIN)方式,使用EP6端口作为上行输入缓冲区。CY7C68013A的Slave FIFO接口模式如图6所示。

3.2 EZ-USB FX2时序设计

在本设计的FPGA中,设计了如图6的外部主控制器的功能逻辑。由于DSP端Linkport口数据传输速率很高,而在USB端的速率可能无法跟Linkport口的数据率相匹配,故在FPGA中开辟一个2 KB的FIFO,经由Linkport上传的数据首先传送到FIFO中,之后再经由USB口上传至主机。为了保证数据传输的完整性,设计USB的数据传输速率为DSP Link口的1/8。在此,对FPGA逻辑应用Modelsim软件进行了仿真,仿真结果如图7所示。

图7中,在LxCLKIN时钟的上升沿和下降沿将DSP_Data中的数据写入到FPGA的FIFO中,然后再把FIFO中的数据从数据线USB_Data中输出给EZ-USB FX2的FD数据线,最后经由USB传送给主机。图中USB_Data的数据率明显只有DSP_Data数据率的1/8,是符合设计要求的。

在上传传输时,采用异步自动输入方式[10]。EZ-USB FX2芯片FIFO异步写时序如图8所示。根据此时序,在本设计中,FPGA输出的USB_Data信号提供给USB的FD数据线,FPGA输出的USB_SLWR提供给USB的SLWR,USB端便能在SLWR的下降沿把数据线FD中的数据写入到FX2芯片FIFO中,并由USB传送给主机。

4 结 语

本文重点对DSP扩展USB接口的数据上行通道的硬件设计进行了详细论述。本系统经测试验证,通过该扩展USB接口,配合定制的上位机软件,DSP数据上传PC机的速率平均达到8 MB/s以上,连接可靠稳定,满足对DSP变量实时监测的数据率需求,同时可通过此接口完成程序的加载与烧写功能。仅需一台带USB接口的PC机,就能完成弹载DSP系统的实时测试与在线程序加载,简捷、通用、方便,具有显著的工程实用价值。

摘要:弹载信号处理机的DSP系统需要高速、简便的上位机接口实现大数据量的变量实时监控和在线程序加载功能。USB接口以其简单、高速与通用的优势成为优选。介绍一种基于USB接口芯片(CY7C68013A)和FPGA实现的ADSP-TS101扩展USB接口的设计方法,该方法利用DSP的Linkport接口,以DMA方式进行高速数据交换,目前该设计已成熟、可靠地应用于某弹载信号处理系统。

关键词:USB,DSP,Linkport,PC机接口,高速数据交换

参考文献

[1]费涛.基于TS-101的雷达导引头信号处理机硬件设计[J].制导与引信,2006(2):22-25.

[2]王经纬.Tigersharc′s linkport红外图像数据通信的设计与实现[J].中国测试技术,2008(4):72-75.

[3]吴金才.基于DSP和USB的数据采集与处理系统研究[D].北京:清华大学,2005.

[4]刘书明,苏涛,罗军辉.TigerSHARC DSP应用系统设计[M].北京:电子工业出版社,2004.

[5]王水鱼.基于FPGA和USB的数据采集系统的设计[J].微型机与应用,2010(22):18-21.

[6]岳伟.基于TS101芯片的雷达数据处理硬件设计[J].计算机测量与控制,2008(1):92-93.

[7]周广超.高频雷达信号处理机系统设计及基本信号处理软件研制[D].哈尔滨:哈尔滨工业大学,2006.

[8]张晶.无线电信号频谱监测的多DSP模块的设计与实现[D].北京:北京工业大学,2005.

[9]王红凯.基于CY7C68013A的USB接口系统设计[J].现代机械,2008(1):77-79.

上一篇:化境说下一篇:中国股权交易市场观察