您的位置 首页 新能源

PLD和FPGA有什么区别与联络?PLD高速通讯USB搬运技能剖析

PLD和FPGA有什么区别与联系?PLD高速通讯USB转移技术分析-PLD(Programmable Logic Device)是可编程逻辑器件的总称。早期的PLD多属于EEPROM或乘积项(Prod

  PLD和FPGA有什么区别与联络?

  PLD(Programmable Logic Device)是可编程逻辑器材的总称。前期的PLD多归于EEPROM或乘积项(Product Term)结构。FPGA(Field Programmable Gate Arry)是指在线可编程逻辑阵列,最早为Xilinx公司推出。多为SRAM结构或查表结构,需外接装备用的EPROM下载。Xilinx将SRAM结构或查表结构,需外接装备用的EPROM下载的PLD称之为FPGA。把Flash、EEPROM结构或乘积项结构的PLD称为CPLD。 Altera把自己的PLD产品MAX系列/FLEX/ACEX/APEX系列称为CPLD。因为FLEX/ACEX/APEX系列也是SRAM型,需外接装备用的EPROM下载,许多人把Altera的FLEX/ACEX/APEX系列产品也称为FPGA。

  PLD高速通讯USB搬运技能剖析

  可编程逻辑器材(PLD)是20世纪70年代在AS%&&&&&%规划的基础上开展起来的一种划时代的新式逻辑器材。自PLD器材面世以来,制作工艺上选用TTL、CMOS、ECL及静态RAM技能,器材类型有PROM、EPROM、 E2PROM、FPLA、PAL、GAL、PML及LCA等。PLD在功用和规划上的开展,首要依赖于制作工艺的不断改进,高密度PLD是VLSI集成工艺高度开展的产品。80年代末,美国ALTERA和XILINX公司选用EECMOS工艺,别离推出大规划和超大规划的杂乱可编程逻辑器材(CPLD)和现场可编程逻辑门阵列器材(FPGA)。这种芯片在抵达高集成度的一起,所具有的运用灵敏性和多组态功用是以往的LSI/VLSI电路无法比拟的。自从跨入90年代以来,可编程逻辑器材CPLD/FPGA得到了飞速开展,向高集成度、高速度和低价位方向不断跨进;不只具有电擦除特性,并且呈现了边际扫描及在线编程等高档特性;其运用范畴不断扩大,可用于状况机、同步、译码、解码、计数、总线接口、串并转化等许多方面,并且在信号处理范畴的运用也活泼起来。运用CPLD能够进步体系集成度、下降噪声、增强体系可靠性并下降成本。

  本文首要介绍ATMEL公司的CPLD芯片ATF1508AS的特色及运用。ATF1508AS是运用ATMEL老练的电擦除技能完结的高功用、高密度的杂乱可编程逻辑器材(CPLD),与ALTERA公司的EPM7000系列引脚彻底兼容;能够将EPM7000的POF文件转化为合适ATF1508AS的工业规范JEDEC编程文件,下载到ATF1508AS芯片中。

  1 ATF1508AS的特色

  ATF1508AS是运用ATMEL老练的电擦除技能完结的高功用、高密度的杂乱可编程逻辑器材(CPLD)。它有128个逻辑宏单元和最大100个输入,能很容易地集成一系列TTL、SSI、MSI、LSI和传统PLD的逻辑功用。ATF1508AS的增强型路由开关矩阵增加了可用的门数和规划改动时引脚确定的成功率,这是十分重要的。ATF1508AS有96个双向I/O引脚和4个输入引脚。这4个输入引脚也能够用于大局操控信号、大局寄存器时钟、大局复位和大局输出答应。

  128个宏单元中的每一个都发生一个躲藏的反应回路到大局总线,每一个输入引脚、I/O引脚也都汇入大局总线。每个逻辑块的开关矩阵从大局总线中挑选 40个独立的信号,每一个宏单元也发生一个返送逻辑项到部分总线。宏单元之间的级联逻辑能够快速有用地完结杂乱的逻辑功用。ATF1508AS包含八个这样的逻辑链,每一个都能经过扇入最多40个乘积项完结逻辑项求和。

  ATF1508AS是在体系编程(ISP)器材。它用工业规范的4脚JTAG接口(IEEE规范1149.1),彻底与 JTAG的鸿沟扫描描绘言语(BSDL)兼容。ISP答应器材不必从印刷电路板上拿走就可编程;除简化出产流程外,ISP也答应经过软件进行规划修正。

  ATF1508AS的引脚坚持电路供给对一切输入和I/O引脚的设置。当任何引脚驱动到高电平或低电平,紧接着引脚被悬空时,引脚将坚持从前的高电平或低电平状况。这种电路避免没有用到的输入和I/O线悬空而成为中心的电压值,这会导致不必要的功耗和体系噪声。引脚坚持电路去除了对外部上拉电阻的需求和直流功耗。

  ATF1508AS的加密特性能够维护ATF1508AS的规划内容。两个字节(16位)的用户信号可被用户存取,能寄存工程名、部件号、版别或日期等,并且用户信号的存取不受加密熔丝的状况影响。

  ATF1508AS具有上电复位特性。在上电期间,一切的I/O引脚将为三态,直到VCC抵达上电电压,这样可避免在上电期间发生总线竞赛。ATF1508AS的寄存器规划成在上电时复位,从VCC上升到VRST后的细小的延时,一切的寄存器将复位到低电平,输出状况要根据缓冲器的极性设置。这种特性关于状况机的初始化是比较要害的。

  2 ATF1508AS的宏单元

  ATF1508AS的宏单元如图1所示。它的宏单元十分灵敏,足以支撑高杂乱逻辑功用并且高速作业。宏单元包含五个部分:乘积项和乘积项挑选多路复用器、或/异或/级联逻辑、触发器、输出挑选和使能、逻辑阵列输入。没有用到的宏单元可由编译器制止以下降功耗。

  (1)乘积项和乘积项挑选矩阵

  每一个宏单元有5个乘积项,每个乘积项作为它的输入从大局总线和部分总线接纳一切信号。乘积项挑选矩阵(PTMUX)按需分配这5个乘积项到宏单元的逻辑门,也担任分配操控信号。乘积项挑选矩阵的编程是由规划编译器决议的,编译器将挑选优化的宏单元装备。

  (2)或/异或/级联逻辑

  ATF1508AS的逻辑结构是为有用地支撑一切的逻辑而规划的。在一个宏单元内,一切的乘积项能够被布进或门,发生一个5输入的与/或求和项。经过附近的宏单元扇入额定的乘积项,能够扩展到40个乘积项而只要很小的延时。宏单元的异或门答应有用地完结比较和算术功用,其间异或门的一个输入来自或运算的求和项,另一个输入能够是一个乘积项或一个固定的高电平或低电平。关于组合逻辑输出,固定电平答应极性挑选;关于时序逻辑,固定电平答应运用反演规矩(摩根规律的推论)化简乘积项。异或门也能够用于仿真T型和JK型触发器。

  (3)触发器

  ATF1508AS的触发器有十分灵敏的数据和操控功用。触发器的输入能够来自于异或门、一个独自的乘积项或直接由I/O口输入。挑选独自的乘积项答应在一个组合逻辑输出宏单元内生成一个躲藏的寄存器反应(这个特性是由fitter软件主动完结的)。除D、T、JK和SR类型外,ATF1508AS的触发器还可装备为锁存器。在这种形式中,当时钟为高时,数据经过;当时钟为低时,数据锁存。

  时钟信号能够是大局CLK信号(GCK)和一个独自的乘积项。触发器在时钟的上升沿改动状况。当GCK信号作为时钟信号时,宏单元的一个乘积项能够挑选作为时钟答应信号。当运用时钟使能功用时,使能信号(乘积项)为低时,一切的时钟边缘将被疏忽。触发器的异步复位信号(AR)能够是大局复位信号(GCLEAR)、一个乘积项或不运用。AR也能够是GCLEAR和一个乘积项的逻辑或输出。异步置位信号(AP)能够是一个乘积项或不运用。

  (4)输出挑选和使能

  ATF1508AS宏单元的输出能够挑选为寄存器型和组合型。躲藏的反应信号能够是组合或寄存器信号而不论输出是组合型仍是寄存器型。输出使能多路复用器(MOE)操控输出使能信号。假如是简略的输出操作,任何缓冲器都能够永久使能。假如引脚用作输入,缓冲器也能够永久制止。在这种装备下,一切的宏单元资源依然可用,包含躲藏的反应信号、扩展器和级联逻辑。每一个宏单元的输出使能信号都能够挑选一个大局输出使能信号。该器材有6 个大局输出使能信号(OE)。

  (5)逻辑阵列输入

  逻辑阵列输入包含大局总线/开关矩阵和返送总线:

  ◇ 大局总线/开关矩阵

  大局总线包含一切的输入和I/O引脚信号以及一切128个宏单元的躲藏反应信号。每个逻辑块的开关矩阵将大局总线的一切信号作为其输入。在软件的操控下,这些信号中最多能够有40个被挑选作为逻辑块的输入。

  ◇ 返送总线

  每一个宏单元能够发生一个返送乘积项。这个信号衔接到部分总线上,并且对16个宏单元有用,它是宏单元一个乘积项的反极性。每个部分总线的16个返送项答应发生高扇入求和项(最多21个乘积项),而只要很小的延时。

  3 规划软件支撑

  ATMEL公司供给了CPLD的规划软件,并且许多第三方的工具软件也支撑ATF1508AS的规划,能够用多种高档描绘言语和格局进行逻辑描绘,如CUPL、ABEL、VHDL等。因为ATF1508AS与ALTERA公司的EPM7000系列是彻底引脚兼容的,因而能够运用 ALTERA公司的MAXPLUSII软件。它能进行VHDL言语的编译和归纳,运用便利,功用强大。MAXPLUSII归纳后发生合适ALTERA的 CPLD编程的POF文件,运用POF2JED软件(ATMEL公司供给),就可将POF文件转化为合适ATF1508AS的工业规范JEDEC编程文件,下载到ATF1508AS芯片中。

  4 器材编程

  ATF1508AS器材是运用4脚JTAG协议在体系编程(ISP)的。ATMEL供给了ISP硬件(下载电缆)和软件,以答应从PC对ATF1508AS进行编程。若要答应ISP编程支撑“主动测验设备(ATE)”向量,有必要经过ATMEL的ISP软件生成串行向量格局(SVF)文件,也可转化为除SVF外的其它ATE测验格局。ATF1508AS器材也能够用规范的第三方编程器来编程,这时JTAG ISP口能够被制止然后答应这四个额定的I/O引脚用于逻辑功用。

  ATF1508AS还有一个特性便是假如因为任何原因编程进程被中止,则器材将被确定以避免输入和I/O引脚被驱动。在这种状况下,输入和I/O引脚缺省下为高阻状况。在编程器材时,输入和I/O引脚也将为高阻状况。此外,引脚坚持电路设置在器材编程期间将坚持曾经的状况。 ATF1508AS器材出厂时被初始化为已擦除状况,能够直接用来ISP编程。

  5 运用实例

  (1)运用ATF1508AS进行串并转化

  本体系运用ATMEL公司的ATF1508AS进行串行数据到并行数据的转化,在进行数据采会集,用到Crystal半导体公司出产的24位高精度Σ-△模/数转化器CS5321/CS5322组件。该组件终究输出字长为24位的2的补码格局的串行数字信号,将其转化为并行数据能够便利与单片机的接口。串并转化可选用移位寄存器来完结。对完结6通道24位采样,若选用移位寄存器,则需求8位移位寄存器,共3&TImes;6=18片,别的还要用几片译码器。这样,会使芯片数量大增,占用大片电路板面积,使体系的体积增大。本体系运用ATF1508AS来完结6通道24位数据的串并转化,可将大部分数字逻辑规划(包含组合逻辑和时序逻辑)集成在一个芯片内,大幅削减芯片数量,减小体系体积。

  因为ATF1508AS内部有128个宏单元,并且24位串并转化需求24个移位寄存器,因而不能一起进行6通道的串并转化,只能分时复用。本体系分3次进行串并转化,每次转化2个通道,等候单片机读取2个通道的并行数据后再进行剩余的转化。部分串并转化VHDL程序如下(硬件描绘言语是VHDL,软件是ALTERA公司的MAXPLUSⅡ软件和ATMEL公司的POF2JED软件,下载软件是ATMEL公司的ATMISP,下载电缆是ATMEL公司的专用电缆):

  s2p : process(SCLK1M,DRDYIN,WORKING,RESET)

  begin

  if WORKING=‘1’ or RESET=‘1’ then

  shift_enable 《= ‘0’;

  state 《= s0;

  elsif SCLK1M‘event and SCLK1M=’0‘ then

  count1 《= count1+1;

  case state is

  when s0 =》if DRDYIN=’0‘ then

  shift_enable 《= ’1‘;

  count1 《= (others=》’0‘);

  int_reg 《= ’1‘;

  state 《= s1;

  elsif READOK=’1‘ then

  int_reg 《= ’1‘;

  end if;

  when s1=》shift_reg0《=shift_reg0(22 downto 0) SOD(0);

  shift_reg1《=shift_reg1(22 downto 0) SOD(1);

  if count1=23 then

  shift_enable 《= ’0‘;

  int_reg 《= ’0‘;

  state 《= s2;

  else

  int_reg 《= ’1‘; end if;

  when s2 =》 if shift_enable=’1‘ then

  shift_reg0《=shift_reg0(22 downto 0) SOD(2);

  shift_reg1《=shift_reg1(22 downto 0) SOD(3);

  if count1=23 then

  shift_enable 《= ’0‘;

  int_reg 《= ’0‘;

  state 《= s3;

  else

  int_reg 《= ’1‘; end if;

  elsif READOK=’1‘ then

  shift_enable 《= ’1‘;

  count1 《= (others=》’0‘);

  end if;

  when s3 =》if shift_enable=’1‘ then

  shift_reg0《=shift_reg0(22 downto 0) SOD(4);

  shift_reg1《=shift_reg1(22 downto 0) SOD(5);

  if count1=23 then

  shift_enable 《= ’0‘;

  int_reg 《= ’0‘;

  state 《= s0;

  else

  int_reg 《= ’1‘; end if;

  elsif READOK=’1‘ then

  shift_enable 《= ’1‘;

  count1 《= (others=》’0‘);

  end if;

  end case;

  end if;

  end process;

  (2)运用ATF1508AS进行高速USB通讯

  USB是近年来运用在PC范畴的新式接口技能,具有运用便利、速度快、衔接灵敏、支撑热插拔等特色。USB1.1协议界说在高速下12 Mb/s、低速下1.5 Mb/s的传输速度。若要抵达高速12 Mb/s(相当于近1 MB/s)的速度,就要大约1μs传输1个字节。但因为USB的操控传输、过错检测以及单片机自身速度的约束,很难抵达这么高的速度,因而,有必要选用 DMA方法才干抵达真实的高速传输,运用CPLD就能够完结相似DMA方法。单片机担任解说USB的操控传输,当要进行从外存取数送到USB接口芯片时,单片机让出总线,由CPLD完结该作业。CPLD发生外存的读取时序和地址、片选信号,一起发生USB接口芯片的写时序和地址、片选信号,这样就能够主动完结外存数据到USB接口芯片的作业,并且速度很快,不需求单片机干涉。以下给出RAM的读取时序、地址信号和USB接口芯片写时序的VHDL程序片断:

  rram1 : process(SCLK2M) — RAM_OE(RAM读时序)

  begin

  if SCLK2M’event and SCLK2M=‘1’ then

  if read=‘0’ then

  ram_oe_reg 《= ‘1’;

  cpld2_counter 《= (others=》‘0’);

  elsif read=‘1’ then

  cpld2_counter 《= cpld2_counter+1;

  if cpld2_counter》0 then

  ram_oe_reg 《= not ram_oe_reg;

  end if;

  end if;

  end if;

  end process;

  rram2 : process(SCLK2M,WORKING,RESET) — ADDRESS(RAM地址信号)

  begin

  if WORKING=‘1’ or RESET=‘1’ then

  adr_reg 《= (others=》‘0’);

  elsif SCLK2M‘event and SCLK2M=’0‘ then

  if read=’1‘ and ram_oe_reg=’1‘ and cpld2_counter》2 then

  adr_reg 《= adr_reg+1;

  end if;

  end if;

  end process;

  wd12 : process(SCLK2M) –USB芯片读时序

  begin

  if SCLK2M’event and SCLK2M=‘0’ then

  if read=‘0’ then

  d12_wr_reg 《= ‘1’;

  elsif read=‘1’ and cpld2_counter/=129 then

  d12_wr_reg 《= not d12_wr_reg;

  end if;

  end if;

  end process;

  结束语

  CPLD器材的优势在于缩短开发出产周期,现场灵敏性好,并且跟着电子技能的开展,其集成度越来越高,速度越来越快,价格也逐步下降,因而商场开展很快。ATMEL公司的ATF1508AS是高功用、高密度的杂乱可编程逻辑器材,运用便利,具有很高的性价比,因而具有宽广的运用远景。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/181293.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部