找回密码
 注册
关于网站域名变更的通知
查看: 201|回复: 2
打印 上一主题 下一主题

Altera的FPGA的AS,PS和Jtag配置模式的区别

[复制链接]
  • TA的每日心情
    开心
    2022-1-29 15:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-2-7 09:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    1 FPGA器件有三类配置下载方式:主动配置方式(AS)和被动配置方式(PS)和最常用的(JTAG)配置方式。/ [0 w, Z& i: K
    AS模式(active serial configuration mode):FPGA器件每次上电时作为控制器,由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,从配置器件EPCS主动发出读取数据信号,从而把EPCS的数据读入FPGA中,实现对FPGA的编程配置数据通过DATA0引脚送入 FPGA,配置数据被同步在DCLK输入上,1个时钟周期传送1位数据。8 |7 l& w1 p$ V
    PS模式(passive serial configuration mode):则由外部计算机或控制器控制配置过程。通过加强型配置器件(EPC16,EPC8,EPC4)等配置器件来完成,EPCS作为控制器件,把FPGA当作存储器,把数据写人到FPGA中,实现对FPGA的编程。该模式可以实现对FPGA在线可编程。在下载配置的时候对于Cyclone II的器件,如EP2C8,在JTAG下载方式对应.sof,AS下载方式对应.pof。
    + a: r& Z: @- R% w; Y" LJTAG:JTAG是直接烧到FPGA里面的 由于是SRAM 断电后要重烧,AS是烧到FPGA的配置芯片里保存的 每次上电就写到FPGA里。
    0 j! ^: ~, m  w; M& L一般情况下,Cyclone II开发板上应该有两种下载模式,AS和JTAG。+ |+ f" k7 u- t% E
    AS就是下载.pof文件到EPCS中。而JTAG就是下载.sof文件到FPGA中的RAM中。
    ) M2 j" W' V) Z6 E4 P关于JTAG的原理,大家可以参考OPEN-JTAG 开发小组写的《ARM JTAG 调试原理》。JTAG、BDM 都比较类似,实际上是将仿真功能嵌入到芯片内部,接上比较简单的调试工具就可以进行开发了,省掉了高价的仿真器。
    0 l9 o5 W. Q7 R& RJTAG 调试用到了 TCK、TMS、TDI、TDO 和 TRST这几个脚。其中 TRST 是用来对TAP controller进行复位的,它不是必须的。通过在 TMS脚也可以使 TAP controller复位。4 |, S) u8 W) o% K8 ^( T
    Test Clock Input (TCK)
    & j( z- u5 A0 z; nTCK为 TAP的操作提供了一个独立的、基本的时钟信号,TAP 的所有操作都是通过这个时钟信号来驱动的。TCK在 IEEE 1149.1 标准里是强制要求的。; m9 x7 d0 V  F9 L: z: R
    Test Mode Selection Input (TMS)
    4 q; j4 O7 Q& N3 |& rTMS信号用来控制 TAP状态机的转换。通过 TMS信号,可以控制 TAP在不同的状态间相互转换。TMS信号在 TCK的上升沿有效。TMS在 IEEE 1149.1 标准里是强制要求的。
    / `+ L' R( z  n( u. P. I, sTest Data Input (TDI); [( @1 U$ J& J
    TDI 是数据输入的接口。所有要输入到特定寄存器的数据都是通过 TDI 接口一位一位串行输入的(由 TCK驱动)。TDI在 IEEE 1149.1 标准里是强制要求的。7 U  n* b* ~* F9 o( }
    Test Data Output (TDO)  U9 P; W3 K- O( _" A0 Z1 T
    TDO 是数据输出的接口。所有要从特定的寄存器中输出的数据都是通过 TDO 接口一位一位串行输出的(由 TCK驱动)。TDO在 IEEE 1149.1 标准里是强制要求的。1 F: L+ ~. m* z
    Test Reset Input (TRST)  L5 @; r4 b2 V0 v, v) i7 K
    TRST 可以用来对 TAP Controller 进行复位(初始化)。不过这个信号接口在 IEEE 1149.1标准里是可选的,并不是强制要求的。因为通过 TMS也可以对 TAP Controller进行复位(初始化)。+ S: u' W" O6 a& `
    FPGA在正常工作时,它的配置数据存储在SRAM中,加电时须重新下载。在实验系统中,通常用计算机或控制器进行调试,因此可以使用PS。在实用系统中,多数情况下必须由FPGA主动引导配置操作过程,这时FPGA将主动从外围专用存储芯片中获得配置数据,而此芯片中FPGA配置信息是用普通编程器将设计所得的.pof格式的文件烧录进去。
    * t# a; x5 [. G3 O- m8 z; u' }专用配置器件:EPC型号的存储器% L& R6 a' B/ g0 t
    常用配置器件:EPC1,EPC2,EPC4,EPC8,EPC1441(现在好像已经被逐步淘汰了)等,对于Cyclone II系列器件,ALTERA还提供了针对AS方式的配置器件,EPCS系列.如EPCS1,EPCS4配置器件也是串行配置的。注意,他们只适用于cyclone系列。
    + k! p, z& G1 Z$ j0 E除了AS和PS等单BIT配置外,现在的一些器件已经支持PPS,FPS等一些并行配置方式,提升配置了配置速度。当然所外挂的电路也和PS有一些区别。还有处理器配置比如JRUNNER 等等,如果需要再百度吧,至少不下十种。比如Altera公司的配置方式主要有Passive Serial(PS),Active Serial(AS),Fast Passive Parallel(FPP),Passive Parallel Synchronous (PPS),Passive Parallel Asynchronous (PPA),Passive Serial Asynchronous(PSA),JTAG等七种配置方式,其中Cyclone支持的配置方式有PS,AS,JTAG三种。# T' X7 E5 g+ R  Q  {3 M) F
    2 对FPGA芯片的配置中,可以采用AS模式的方法,如果采用EPCS的芯片,通过一条下载线进行烧写的话,那么开始的"nCONFIG ,nSTATUS"应该上拉,要是考虑多种配置模式,可以采用跳线设计。让配置方式在跳线中切换,上拉电阻的阻值可以采用10K。6 e; Q) o9 s" G$ q
    3 在PS模式下tip:如果你用电缆线配置板上的FPGA芯片,而这个FPGA芯片已经有配置芯片在板上,那你就必须隔离缆线与配置芯片的信号。一般平时调试时不会把配置芯片焊上的,这时候用缆线下载程序.只有在调试完成以后,才把程序烧在配置芯片中, 然后将芯片焊上,或者配置芯片就是可以方便取下焊上的那种,这样出了问题还可以方便地调试。4 _0 u, Y6 B" {' Z: W
    在AS模式下tip:用过一块板子用的AS下载,配置芯片一直是焊在板子上的,原来AS方式在用线缆对配置芯片进行下载的时候,会自动禁止对FPGA的配置,而PS方式需要电路上隔离。
    ; B" `: z6 z" k4 一般是用JTAG配置epc2和flex10k,然后 epc2用PS方式配置flex10k.这样用比较好.(这是我在网上看到的,可以这样用吗?怀疑中)望达人告知.+ I/ r- u* [) L
    5 下载电缆,Altera下的下载电缆分为ByteBlaster和ByteBlasterMV,以及ByteBlaster II,现在还推出了基于USB-blaster.由于BB基本已经很少有人使用,而USB-Blaster现在又过于昂贵,这里就说一下BBII和 BBMV的区别.0 }5 U8 b/ t: |1 _2 A
    BBII支持多电压供电5.5v,3.3v,2.5v,1.8v;! C4 _5 t7 l. X, t0 W2 ~$ a% ?
    BBII支持三种下载模式:AS,可对Altera的As串行配置芯片(EPCS系列)进行编程;PS可对FPGA进行配置 ;JTAG,可对FPGA,cpld,即Altera配置芯片(EPC系列)编程;而BBMV只支持PS和JTAG。" H6 m+ b  S% n* y) `* ?
    6 一般在做FPGA实验板,(如Cyclone系列)的时候,用AS+JTAG方式,这样可以用JTAG方式调试,而最后程序已经调试无误了后,再用 AS模式把程序烧到配置芯片里去,而且这样有一个明显的优点,就是在AS模式不能下载的时候,可以利用Quartus II自带的工具生成JTAG模式下可以利用的.jic文件来验证配置芯片是否已经损坏,方法详见附件(这是骏龙的人写的,摘自坛子,如有版权问题,请包涵).; m8 L& |4 W4 S
    7 Altera的FPGA可以通过单片机,CPLD等加以配置,主要原理是满足datasheet中的时序即可,这里我就不多说了,有兴趣的朋友可以看看下面几篇文章,应该就能够明白是怎么回事了。9 a3 @) E/ c3 f, l; d: o) E$ I
    8 配置时,Quartus软件操作部分:
    / e7 s9 w! B7 k6 ?( d5 J5 h; u$ a(1).assignment-->device-->device&pin options-->选择configuration scheme, configuration mode, configuration device
    8 ~3 w" T( i7 G) \  M0 G, i$ t注:意在不支持远程和本地更新的机器中configuration mode不可选择,而configuration device中会根据不同的配置芯片产生pof文件,如果选择自动,会选择最小密度的器件和适合设计;1 {! M7 D) R5 S( f5 U7 d: z
    (2).可以定义双口引脚在配置完毕后的作用,在刚才的device&pin option-->dual-purpose pins-->,可以在配置完毕后继续当I/O口使用;
    9 K& l/ C; V+ b% \(3).在general菜单下也有很多可钩选项,默认情况下一般不做改动,具体用法参见Altera configuration handbook,volume2,sectionII., A5 W5 u$ \' G8 q" X" F) j1 s
    (4)关于不同后缀名的文件的适用范围:
    / H0 q7 o& G/ d# {( t0 u( m.sof(SRAM Object File)当直接用PS模式下将配置数据下到FPGA里用到,USB BLASTER,MASTERBLASER,BBII,BBMV适用,Quartus II会自动生成,所有其他的配置文件都是由sof生成的。, k% ^) T* W$ e* |! c6 r
    .pof(Programmer Object File)也是由Quartus II自动生成的,BBII适用,AS模式下将配置数据下到配置芯片中
    & b! m0 e% w2 N  x5 t+ [; Q/ i.rbf(Raw Binary File)用于微处理器的二进制文件。在PS,FPP,PPS,PPA配置下有用处。0 v( r8 y: V& X
    rpd(Raw Programming Data File)包含bit stream的二进制文件,可用AS模式配置,只能由pof文件生成。7 p% g9 }0 m+ k  A
    .hex(hexadecimal file)这个就不多说了,单片机里很多。
    9 U9 i: a. y; e/ c.ttf(Tabular Text File)适用于FPP,PPS,PPA,和bit-wide PS配置方式。
    2 L4 e2 I9 q, C% {. i) l+ r4 h.sbf(Serial Bit stream File)用PS模式配置Flex 10k和Flex6000的。1 X$ A$ h2 a" ~3 u! m
    .jam(Jam File)专门用于program, verify, blank-check。5 U& P) U0 I+ I' J5 ]' y+ w6 u
  • TA的每日心情
    慵懒
    2022-1-21 15:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-2-7 09:54 | 只看该作者
    fpga有主动被动和最常用的三种配置模式
  • TA的每日心情
    开心
    2022-1-21 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2022-2-7 14:58 | 只看该作者
    分析的还不错,到位
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-30 05:35 , Processed in 0.109375 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表