|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
前言( F! c& w; L$ R/ f
) A2 o) l' b, d) x+ B; w% D8 t0 p
7 O6 c9 U. C P$ H' U( ycpld(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,通过编译,映射,布局布线,最后生成相应的JED文件,然后通过CPLD厂家提供的下载电缆和下载软件把JED文件下载器件里面,实现用户的功能。在实际应用中,根据设计需要或修复之前设计中的Bug,常常需要在线升级CPLD的内容。目前各厂家都有提供相应的方案,可以在嵌入式系统中通过CPU来更新CPLD。厂家考虑到方案的兼容性,往往实现编程的代码都比较复杂,而且占用内存资源较大。不适合mcu这样的小系统。本文以Lattice XO2系列的CPLD为例,详细介绍JTAG的编程原理及如何用MCU来模拟JTAG编程Lattice XO2 CPLD。理解了JTAG编程原理后,也可以很容易实现模拟JTAG编程其它的CPLD和FPGA。
0 Z" c; c _& T2 V: g
, a. W; I' M' N7 @! R# |; E
' W" t% ^; x5 C1 U! h& p% R+ m一,JTAG介绍
3 V- b7 S' M% o: \( n% ~6 l. H/ c8 V3 ]& g
2 v" z: x; h$ {& F" f6 }* h3 q! t9 o, t5 ]6 B8 |
. b/ \! A$ x& r" z2 P3 z W E4 f+ i( j2 ^& K
4 g, M! `7 L& z) i: a* K# e5 @7 x
0 q' |+ ^: p1 @4 ~! h; d( ~ |
|