���ɵ�·��������

 �һ�����
 ��Ҫע��

QQ��¼

ֻ��һ�������ٿ�ʼ

����
����: verilog vhdl ISE altera Quartus
�鿴: 4297|�ظ�: 2

����ARM��FPGA���ع�����������

[��������]
���� ������ 2014-3-27 18:19:38 | ��ʾȫ��¥�� |�Ķ�ģʽ
���ع�������ָ���ÿ����õ���Ӳ����Դ�����ݲ�ͬ��Ӧ�������������ظı�������ϵ�ṹ�����Ʒ���������SRAM���յ�FPGA������ʵ���ع�������Ӳ������ԭ�����������ƵĿ��ع�����������ARM��΢��������Ϊ������������FPGAоƬ��ΪЭ�������������������������û����ȸ����������Ƴ���ͬ�����÷��������洢���ع��������ڲ��Ĵ洢���У��ϵ������ع��������Ϳ��԰����󽫲�ͬ���Ʒ�����ʱ��λ��Ŀ���ɱ��������ڣ�ͬʱ�����������ֵ�·����������ʵ����ϵͳ�������ã�����ϵͳ����Ч�ʡ�

1 SVF��ʽ�����ļ�

�ܶ�Ƕ��ʽϵͳ�ж��õ���FPGA��CPLD�ȿɱ�������������Щϵͳ������SVF��ʽ�����ļ��Ϳ��Է�����ͨ��΢�������Կɱ������������������á�Ŀǰ�ɱ���оƬ���̵������������������ɿɱ���������SVF��ʽ�����ļ�������ʸ����ʽ(SVF)��һ������˵���߲�IEEE 1149.1(JTAG)���߲������﷨�淶��SVF��Texas Instruments���������ѳ�Ϊ���ݽ�����׼����Teradyne��Tektronix��JTAG�����豸�����������̲��á�Xilinx�� FPGA�Լ�����PROM��ͨ��JTAG�ӿ���TAP����������SVF��ʽ�ı���ָ�����SVF�ļ���ASCII���乹�ɣ���Ҫ���ϴ��Ĵ洢�ռ䣬���Ҵ洢Ч�ʺܵͣ��޷�ʤ��Ƕ��ʽӦ�á�Ϊ����Ƕ��ʽϵͳ�г������������޵Ĵ洢�ռ䣬����ֱ������SVF�ļ��Կɱ�������������ϵͳ���̣����ǽ�SVF�ļ�ת������һ�ִ洢Ч�ʱȽϸߵĶ����Ƹ�ʽ���ļ��������洢�����ݴ洢���С�Xilinx��˾�ṩ���ڴ������������ļ���iMPACT���ߣ��ù����渽�ڱ�׼Xilinx ISETM�����ڡ�iMPACT�������Զ���ȡ��׼��BIT��MCS���������ļ���������ת��Ϊ���յĶ�����XSVF��ʽ��

�������ǻ��ڡ�ARM������+FPGA���ṹ���ع����������ع��������е�FPGA�ܹ�����ARM�������������������Ŀ���ɱ�������JTAG�ӿڽ��п��ƣ�����������XSVF��ʽ�������ļ���Ϣ������xilinx�������õı���ָ����ݺͿ����ź�(TMS��TDI��TCK����)��Ŀ���ɱ��������� JTAG TAP�������ṩ�����ļ������Ӷ�ִ��������XSVF�ļ���ָ���ı��̺�(��ѡ��)���Բ�����ʹĿ���ɱ��������ڵ�TAP״̬������״̬ת������ָ��������ɨ�赽FPGA�ڲ��߽�ɨ����·ָ���Ĵ��������ݼĴ����С�����һ��Ŀ���ɱ����������ã�ʵ���û���ʱ��Ҫ�����ܣ�����һʱ�Σ��ɸ����û��µ�Ҫ�󣬵����ع��������ڲ��洢���в�ͬ������ϵͳ��������Ŀ���ɱ���������������ʵ����Ӳ�����ã����ٳɱ���

2 �߽�ɨ��(JTAG)ԭ��

2.1 JTAG�ӿڻ����ṹ

  JTAG(Joint Test��Action Group�����ϲ����ж�С��)��һ�ֹ��ʱ�׼����Э��(IEEE 1149.1����)���乤��ԭ�����������ڲ�����һ�����Է��ʶ˿�(TestAccess Port��TAP)��ͨ��ר�õ�JTAG���Թ��߶��ڲ��ڵ����в��Ժ͵��ԡ�TAP��һ��ͨ�õĶ˿ڣ��ⲿ������ͨ��TAP���Է���оƬ�ṩ���������ݼĴ�����ָ���Ĵ���������JTAG�ӿڻ�������оƬ����������(In-System Programmable��ISP)����PLD��FLASH�������������á�JTAG������������ͨ��JTAG�ӿڴ�����һ�����γ�һ��JTAG����ʵ�ֶԸ��������ֱ����Ժ���ϵͳ���á�

JTAG��Ҫ�������ֹ��ɣ�TAP��������ָ���Ĵ��������ݼĴ�������ͼ1��ʾ����׼��JTAG�ӿ������������ߣ�TMS��TCK��TDI��TDO���Լ�1����ѡ�ź�TRST��

   

TCK��JTAG����ʱ�����룬��TCK��������״̬ʱ�������߼�״̬Ӧ���ֲ��䣻

TMS������ģʽѡ�񣬿���JTAG״̬����ѡ���Ĵ��������ݼ��ء����Խ��������ȣ�������TMS���ź���TCK���������ɲ����߼���������TAP��������

TDI�������������룬����������TCK�������ز���������λ�Ĵ���(SR)��

TDO�������������������Խ�����TCK���½��ش���λ�Ĵ��� (SR)�Ƴ����������������뵽TDI������Ӧ�����ֵ��ã�

TRST����ѡ��λ�źţ��͵�ƽ��Ч��

Xilinx��������ʹ��JTAG TAP�ı���ָ���Ͳ���ָ���IEEE 1149.1�ı�׼�У�����CPLD��FPGA�Լ�����PROM�ij���ָ���У���·(BYPASS)ָ�ͨ����1 b����BYPASS�Ĵ�����TDI��TDOֱ�����ӣ��ƹ�(����·)�߽�ɨ�����е�ij��������EXTESTָ�������I��O�������ڲ�������·���룬��ʵ�������������Ӳ��ԣ���ͨ����������Ӧ�ò���ֵ������������IDCODEָ��������ڶ��岿�����͡������̺Ͱ汾���ŵ�32λӲ��������ʶ���룻HIGHZָ�ʹ����������������Ϊ���迹״̬��CFG_IN��CFG_OUTָ������������úͶ������õ��������ߣ�JSTART��������ʱ��=JTAGCLKʱΪ����ʱ���ṩʱ�ӡ�

2.2 Tap״̬��ʱ������

JTAG�߽�ɨ�������ɲ��Է��ʶ˿ڵ�TAP������������TMS��TRST��TCK���Ź���TAP�������IJ�����TDI��TDOλ���ݼĴ����ṩ����ͨ����TDIҲΪָ���Ĵ����ṩ���ݣ�Ȼ��Ϊ���ݼĴ������������߼�������ѡ���Ĵ�����װ�����ݡ������ͽ������Ƴ��Ŀ����źţ��ɲ���ʱ��(TCK)�Ͳ���ģʽ(TMS)ѡ�������źſ��ơ����Ը�λ�ź� (TRST��һ���Ե͵�ƽ��Ч)һ����Ϊ��ѡ�ĵ������˿��źš�

��ͼ2��ʾ�����л���JTAG�IJ���������ͬ����JTAGʱ���ź� TCK�����в����߼��ı仯(����ָ���Ĵ��������ݼĴ�����)����������TCK�������ػ��½��ء��ؼ�ʱ����ϵ�ǣ�TMS��TDI������TCK���������أ�һ���µ�TDOֵ����TCK�½����غ����֣�����һ��������JTAG��ʱ�Ӳ���̫�ߡ�

   

ͼ3��ʾ��IEEE 1149.1��׼������TAP��������״̬ͼ��TAP��������16��״̬������״̬����ΪJTAG�ӿ��ṩ�����߼���TAP״̬ת����ͼ3��ʾ����ͷ�ϵ� 1��0����ʾTMS��TCK�����ص�ֵ(�ߵ�ƽTMS=1���͵�ƽTMS=0)��ͬ��ʱ��TCK������ʱ��TMS��״̬����״̬ת�ƹ��̡�����TDI�����뵽��������������������״̬�仯·����һ��������ָ�ָ���Ĵ����У���һ�����������ݵ���Ч�����ݼĴ������üĴ�����ֵ�ɵ�ǰִ�е�JTAGָ����������TAP����������ָ���Ĵ�����λ(SHIFT-IR)״̬ʱ������ÿһ��TCK�������أ�������TDI��TDO֮����ָ���Ĵ������е���λ�Ĵ�������������������һλ��

   

��TMS����Ϊ�ߵ�ƽʱ����TCK��������TAP���������뵽��EXIT1- IR��״̬����TMSΪ�͵�ƽʱ��TAP�����������ڡ�ָ���Ĵ�����λ��״̬��

3 �ع�����������

3.1Ӳ��ϵͳ����

����Ҫ�����ǿ��ư����û���ͬ�������Ƶ��ò�ͬ�ķ�������Ŀ���ɱ�������������Ҫ����ARM��������FPGA��FLASH�洢���Ͷ������߽ӿڣ������ܲ�����Ҫ�������£�

(1)ARM������ѡ��AT91FR40162S������Ҫ�����ǿ���ģ��JTAG�ӿڵ�FPGA��ȡFLASH�洢���е��ع�������ʵ����ϵͳ���ã�

(2)  FPGAЭ������ѡ��Xilinx��˾SPARTEN3ANϵ�е�XC3S700AN-FGG484���ǻ��ڷ���ʧ�Դ洢��FPGA����������PROM������Ϊ�ⲿ���ߺ�ARM������֮����˫�˿ڣ���Ҫ������ģ��JTAG�ӿ�ʵ��TAP������ʱ�����������÷������ݵIJ���ת�����������ⲿ���ߣ�

(3)FLASH �洢������Ϊ32M��16 b�����ڴ��������ϵ����������Ŷ����ع����÷���������Ҫ���Ĵ洢�����ϴ󣬲���SPANSION��˾S29GL512P(32M��16 b)�Ĵ洢�ռ䣬�����ٶ�Ϊ110 ns�����Դﵽ25 ns����ҳ��ȡ����Ӧ��90 ns������ȡʱ�䣬FBGA��װ��

(4)�ⲿ���߽ӿڣ��ɲ���1·RS 232������������ʵ�ֺ��ⲿͨ�ŵĽӿڣ�

(5)������TCK��TMS��TDI��TDO�����ع���������Ŀ���ɱ��������ṩ������JTAG TAP�������ֱ�����Ŀ������FPGA���ع����úͷ����ع���Ϣ��

3.2�ع�����������ԭ��

ARM ִ�еij�ʼ�����������������¼������У�FPGA�����趨�ȣ�FPGA�趨�ڲ��Ĵ������߼�״̬�ij�ʼֵ���ڲ����������������ȡ�

�ع�������ʾ��ͼ��ͼ4��ʾ��ͼ��ARM������һ����ͨ��ARM���߶�ȡ�ⲿFLASH�е����÷������������в���ת�������������洢��FLASH�洢���У���һ�����ع���������ģ��TAP��������FPGA����ARM���õ�FLASH�洢���ж�ȡ�����ļ�����ִ��ARM������������ָ���������ļ����ع����������Ͷ������ļ��������£���ARM�������Ŀ����£���װ�������ļ���FLASH�ж���һ���ֽڣ��ж�������JTAGָ�Ȼ������ָ���ĸ�ʽ�������Ĵ���������TCK��TMS��TDI��TDO�źţ���ΪĿ���ɱ���������JTAG�ӿڼ�������Ŀ���ɱ���������JTAG�ڴ����ɾջ�������ARM�������Ŀ����£���Ŀ���ɱ�������������ϵͳ���̡����ع���FPGA��֧�־ֲ���̬�ع���Xilinx��˾��Virtex-4ϵ��FPGA��ʵ�֡�

   

4  ����

���Ľ��ܵ��ع��������Ⱦ���ARM΢��������ӵ�еĸ��ٴ������ˡ�����С�����ɶȸߡ������ٶȿ졢�洢�������󡢹��ĵ͵��ص㣬�־���FPGAǿ���IJ��м��������ͷ��������Ķ�̬���ع��ԣ�ʹӲ����Ϣ (�ɱ���������������Ϣ)����������һ������̬���û��޸ġ������ض���Ŀ��FPGAоƬ����һ�������߼��������£���оƬ��ȫ���򲿷��߼���Դ���½��ж�̬���ã��Ӷ�ʵ��Ӳ����ʱ�ָ��ã��������ٵظı�ϵͳ���ܣ���ʡ�߼���Դ����������ģӦ��������
fpga_feixiang ������ 2024-7-10 14:16:57 | ��ʾȫ��¥��
6                             
����Ҫ��¼���ſ��Ի��� ��¼ | ��Ҫע��

�������ֹ���

�ر�

վ���Ƽ���һ�� /1 ��һ��

QQ|С����|�ֻ���|Archiver|fpga��̳|fpga������̳ ( ��ICP��20003123��-1 )

GMT+8, 2025-8-25 12:09 , Processed in 0.065116 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

���ٻظ� ���ض��� �����б�