工具/软件:
我们正在尝试为基于 XDS100v2参考设计的 P650 MCU 设计一个简单的 JTAG 调试器板、因为目前可用的设计方式是这样的。 XDS100v2设计并非无所适从、但我们需要进行大量的 PC 应用开发、并且图中 FTDI 芯片能够非常快速地启动和运行。
我们与 MCU 的连接只具有 JTCLK、JTMS、JTDI 和 JTDO 引脚、而无需其他任何引脚。 我们只需要将 FT2232放到电路板上、而不是 CPLD 上。 但是、理想情况下、我们希望将 FTDI 芯片的端口用于 JTAG 和 UART (多路复用)、并将 PORTB 用于 SPI。 我们可以在由 PORTB 控制的板上放置缓冲器和开关以执行多路复用。 具体思路是在时间 x、CCS 将能够在端口 A 上使用 JTAG、在时间 b、我们的自定义程序配置并使用 Porta 的 UART。
在查看 XDS100v2参考设计后、我有几个问题。
- FT2232会在 UART 模式下启动、并将 RTS 引脚设置为输出。 在我看来、CPLD 还将此引脚连接到输出。 这不会导致 POR 时发生总线争用、或者端口 A 上是否有一些 OE 引脚也通过 GPIOL/H 引脚操作到 CPLD? CPLD 代码非常简单、我找不到该引脚上的代码中使用过任何 OE 的位置。 我确实查看了冷流道2数据表、发现它有全局输出使能引脚来三态描述其输出、但同样地、看起来这些引脚都没有被 GPIOL/H 连接或操作
- 如果我们只打算将4个 JTAG 引脚连接到我们的 DSP、则必须在 GPIOL/H 上操作哪些其他输入引脚才能使连接正常工作?
FT2232引脚最终将连接到数字隔离器、但我们可以在两者之间添加缓冲器或逻辑。 最后、考虑到初始 FT2232引脚在 POR 时的状态以及与 CPLD 的连接、如果我们想添加模拟开关来多路复用 Porta JTAG 和 UART 连接、我看不到一种方法可以避免总线争用。
我与硬件工程师交谈、建议我们可以在引脚上添加高阻值串联电阻器(~800 Ω)。 我们将只在1MHz 运行 Porta。 FT2232和目标 IC 上的所有引脚都将被施密特触发、布线将极短。 如果我们进行上升和下降时间计算、我认为我们可以通过电阻器轻松支持1MHz。 之后、1MHz I2C 可以使用~800 Ω 上拉电阻。 通过将 IC 上的所有 I/O 引脚电流保持在其建议范围内、电阻器将在不同的时间由于同时是输入和输出、因此导致总线争用并导致所有引脚配置缺失。