● JTAG接口:闪存与I/O系统的链接
有了控制调配芯片,闪存与I/O系统之间高速链接的硬件条件就有了,下面要解决的就是互联的通道了,如何创建一个高速链接的通道成为了一个最大的挑战,这里便涉及到了一个国际标准——JTAG协议。
JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等,而Robson模组也不例外。本章节我们将详细介绍JTAG协议,来看看它是如何帮助芯片传输的。
1.jpg 原理:写入方式
通常所说的JTAG大致分两类:一类用于测试芯片的电气特性,检测芯片是否有问题;另一类便是用于Debug;一般支持JTAG的主控芯片内部都包含了这两个模块。直白的说,一个具有JTAG Debug接口模块的控制芯片,只要时钟正常,就可以通过JTAG的接口访问芯片内部寄存器与连接于该主控芯片上的设备,比如迅盘模块上连接于Diamond Lake ASIC的NAND闪存。其原理是:在PCB电路设计好后,即可用程序先通过JTAG进行指令控制,通过TDI送入JTAG控制器的指令寄存器中,再通过TDI将要写入闪存芯片的地址、数据及控制线信号载入BSR中,并将数据锁存到BSC中,最后用EXTEST指令通过BSC将数据写入闪存。 如图:
2.jpg 针脚定义
标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。JTAG的接口是一种非常特殊的4线接口,在电路版上的芯片可以将它们的JTAG接脚通过菊花链的方式连在一起,然后,只需连接到一个“JTAG端口”就可以访问一块电路板上的所有芯片,节省了针脚所占用的空间,由于所有芯片都用一个针脚传输,所以加快了传输的速度。
早期的JTAG是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(Test Access Port,测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。刚才我们也提到过,JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。然而现在,JTAG接口大多被用于实现ISP(In-System rogrammable,在线编程),对flash等器件进行编程。
3.jpg 快速在线编程
对闪存的在线编程有什么好处呢?首先,传统生产流程中先对芯片进行预编程,然后再装到PCB板;而JTAG则不同,其流程为,先将芯片焊接到PCB上,再通过JTAG接口进行编程,从而大大的加快了进度。由于,JTAG接口可对芯片内部的所有部件进行编程,所以日后方便对迅盘模块进行修改。
迅盘技术的内部构造解析至此就告一段落,下面我们会通过10余项专业测试来说明迅盘的性能是否能够给整体系统带来提升,马上进入测试环节。