999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

JTAG并口下載設(shè)計(jì)

2013-06-13 11:33:08張立強(qiáng)劉寶娟
微處理機(jī) 2013年1期
關(guān)鍵詞:指令

張立強(qiáng),宋 玲,劉寶娟

(中國(guó)電子科技集團(tuán)公司第四十七研究所,沈陽(yáng)110032)

1 引言

利用并口下載電纜實(shí)現(xiàn)JTAG下載,把并口的有效端口和JTAG端口連接起來(lái),實(shí)現(xiàn)了數(shù)據(jù)寫(xiě)入、數(shù)據(jù)讀出、控制器的信號(hào)輸入、時(shí)鐘的傳輸。在狀態(tài)機(jī)的正確狀態(tài)下進(jìn)行指令匹配和數(shù)據(jù)傳輸。并在保證數(shù)據(jù)下載正確的前提下,達(dá)到下載速度的最優(yōu)化。

2 JTAG下載設(shè)計(jì)與實(shí)現(xiàn)

2.1 并口和JTAG管腳關(guān)系

計(jì)算機(jī)的標(biāo)準(zhǔn)并行端口是25針的母接頭端口。這25只管腳并不是都被用到。這些管腳分別用于數(shù)據(jù)的傳輸、檢查打印機(jī)的狀態(tài)及控制打印機(jī)。數(shù)據(jù)端口保存了寫(xiě)入數(shù)據(jù)和輸出端口的一個(gè)字節(jié)信息。每位數(shù)據(jù)都是并行傳送的,它通常是以字節(jié)(8位)為單位進(jìn)行數(shù)據(jù)傳輸。并口的Pin2(TCK)、Pin3(TDI)、Pin8(TMS)分別對(duì)應(yīng)數(shù)據(jù)寄存器的第0位、第1位、第6位。并口的Pin11(TDO)對(duì)應(yīng)狀態(tài)寄存器的第7位。Pin18到Pin25是引腳GND。

2.2 測(cè)試訪問(wèn)端口TAP控制器

TAP控制器是一個(gè)有限狀態(tài)機(jī),一共有16個(gè)狀態(tài)。測(cè)試訪問(wèn)狀態(tài)機(jī)的目的是選擇指令寄存器和數(shù)據(jù)寄存器,使其連接到TDI和TDO之間。

邏輯測(cè)試單元有一個(gè)指令寄存器和三個(gè)數(shù)據(jù)寄存器,三個(gè)數(shù)據(jù)寄存器為:旁路寄存器(BYPASS),識(shí)別碼寄存器(IDCODE),邊界掃描寄存器(BOUND)。指令決定使用哪個(gè)寄存器。指令寄存器為4位,指令由TDI引腳串行輸入。如圖1所示。

1位旁路寄存器(BYPASS)為TDI-TDO提供了一個(gè)最短的串行通路。在板級(jí)測(cè)試期間,可以通過(guò)這條通路繞開(kāi)不需測(cè)試的設(shè)備。這可以提高測(cè)試速度。32位識(shí)別寄存器(IDCODE)提供了設(shè)備的制造商、版本號(hào)等信息。邊界掃描寄存器(BOUND)保持引腳的狀態(tài)或引腳需要的數(shù)據(jù)。邊界掃描寄存器為一個(gè)串行的移位寄存器,每個(gè)單元分配給芯片的相應(yīng)引腳。

圖1 測(cè)試單元的結(jié)構(gòu)

在這些指令中時(shí)鐘的上升沿對(duì)TDI和TMS進(jìn)行采樣。所有的輸出TDO都是在下降沿產(chǎn)生的。

2.3 JTAG下載流程

JTAG并口編程的實(shí)質(zhì)就是首先將EXTEST指令串行移入可編程芯片上JTAG器件的指令寄存器,然后控制JTAG器件的TCK和TMS引腳使其進(jìn)入SHIFT-DR狀態(tài),再將數(shù)據(jù)串行移入到JTAG器件的邊界掃描寄存器,最后控制JTAG器件的TCK和TMS引腳使其進(jìn)入U(xiǎn)PDATE-DR狀態(tài),將位流寫(xiě)入FPGA。指令裝載完成后,只要不更改指令,就不需要再進(jìn)行指令移位了,此時(shí)只需要進(jìn)行數(shù)據(jù)移位,所以數(shù)據(jù)移位是編程的主要操作。狀態(tài)轉(zhuǎn)換如圖2所示。

圖2 TAP控制器的16種狀態(tài)切換圖

首先對(duì)狀態(tài)機(jī)復(fù)位,使JTAG單元從任何的未知狀態(tài)回到TEST-LOGIC-RESET狀態(tài),讓TMS至少保持連續(xù)6個(gè)周期的高電平后,回到TESTLOGIC-RESET狀態(tài)。程序代碼片段如下:

for(n=0;n<6;n++)

send_bit(0,1);//連續(xù)6個(gè)周期的高電平

TMS加一個(gè)周期的低電平,轉(zhuǎn)到RUN-TEST/IDLE狀態(tài)。TMS加兩個(gè)周期的高電平轉(zhuǎn)到 SELECT-IR狀態(tài)。加兩個(gè)周期的低電平后轉(zhuǎn)到SHIFT-IR狀態(tài)。程序代碼片段如下:

send_bit(0,1);

send_bit(0,1);

send_bit(0,0);

send_bit(0,0);//轉(zhuǎn)到SHIFT-IR狀態(tài)

開(kāi)始加載CFG_IN指令,指令碼是0101,加載一個(gè)周期的高電平轉(zhuǎn)到EXIT1-IR。程序代碼片段如下:

send_bit(1,0);

send_bit(0,0);

send_bit(1,0);

send_bit(0,0);

send_bit(0,1);//加載CFG_IN指令

TMS加載兩個(gè)周期的高電平轉(zhuǎn)到SELECT-DR狀態(tài),再加載兩個(gè)周期的低電平后轉(zhuǎn)到SHIFTDR。程序代碼片段如下:

send_bit(0,1);

send_bit(0,1);

send_bit(0,0);

send_bit(0,0);//轉(zhuǎn)到SHIFT-DR狀態(tài)

開(kāi)始寫(xiě)配置寄存器選項(xiàng) COR,寫(xiě)入指令后SHUTDOWN置1。寫(xiě)START指令到CMD指令寄存器。寫(xiě)清CRC指令寄存器。然后加載三個(gè)周期的高電平轉(zhuǎn)到SELECT-IR,再加載兩個(gè)周期的低電平轉(zhuǎn)到SHIFT-IR狀態(tài)。程序代碼片段如下:

send_bit(0,1);

send_bit(0,1);

send_bit(0,1);

send_bit(0,0);

send_bit(0,0);//轉(zhuǎn)到 SHIFT-IR 狀態(tài)

加載 JSTART指令到指令寄存器,指令碼是0011,加載一個(gè)周期的高電平轉(zhuǎn)到EXIT1-IR狀態(tài)。程序代碼片段如下:

send_bit(0,0);

send_bit(0,0);

send_bit(1,0);

send_bit(1,0);

send_bit(0,1);//加載JSTART指令

加載兩個(gè)周期的高電平,再加載兩個(gè)周期的低電平轉(zhuǎn)到SHIFT-DR狀態(tài)。程序代碼片段如下:send_bit(0,1);

send_bit(0,1);

send_bit(0,0);

send_bit(0,0);//轉(zhuǎn)到SHIFT-DR狀態(tài)

加載17個(gè)時(shí)鐘周期關(guān)閉時(shí)序。程序代碼片段如下:

for(n=0;n<17;n++)

send_bit(0,n==16);

加載三個(gè)周期的高電平和兩個(gè)周期的底電平轉(zhuǎn)到SHIFT-IR狀態(tài),加載CFG_IN指令。在SHIFTDR狀態(tài)寫(xiě)AGHIGH指令到CMD寄存器中,產(chǎn)生GHIGH_B信號(hào)。寫(xiě)COR使得SHUTDOWN狀態(tài)是0。寫(xiě)完指令后,加載三個(gè)周期的高電平和兩個(gè)周期的低電平,狀態(tài)轉(zhuǎn)到 SHIFT-IR狀態(tài)。加載JSTART指令后轉(zhuǎn)到SHIFT-DR狀態(tài)。加載17個(gè)時(shí)鐘周期關(guān)閉時(shí)序轉(zhuǎn)到SHIFT-IR狀態(tài),加載CFG_IN指令。在SHIFT-DR狀態(tài)寫(xiě)AGHIGH指令到CMD寄存器中,產(chǎn)生GHIGH_B信號(hào)。寫(xiě)COR使得SHUTDOWN狀態(tài)是1。寫(xiě)完指令后,加載三個(gè)周期的高電平和兩個(gè)周期的低電平,轉(zhuǎn)到SHIFT-IR狀態(tài)。加載JSTART指令。轉(zhuǎn)到SHIFT-DR狀態(tài),加載17個(gè)時(shí)鐘周期關(guān)閉時(shí)序。轉(zhuǎn)到SHIFT-IR狀態(tài),加載CFG_IN指令。轉(zhuǎn)到SHIFT-DR狀態(tài),加載二進(jìn)制位流文件,進(jìn)行編程下載工作。位流全部移進(jìn)后,轉(zhuǎn)到SHIFT-IR狀態(tài),加載JSTART指令。加載兩個(gè)周期的高電平和兩個(gè)周期的低電平后轉(zhuǎn)到SHIFT-DR狀態(tài)。加載17個(gè)周期的低電平后,再加載兩個(gè)周期的高電平和一個(gè)周期的低電平,狀態(tài)機(jī)轉(zhuǎn)到RUN-TEST/IDLE狀態(tài)。程序代碼片段如下:

send_bit(0,1);

send_bit(0,1);

send_bit(0,0);

JTAG編程下載完成。

2.4 測(cè)試與驗(yàn)證

JTAG下載程序在多款可編程芯片上進(jìn)行了測(cè)試,位流能成功進(jìn)行下載,電路的功能經(jīng)驗(yàn)證完全正確。

3 結(jié)束語(yǔ)

JTAG并口編程很好的實(shí)現(xiàn)了位流文件到FPGA的下載,并對(duì)下載成功與否做出了明確的判斷。通過(guò)指令回讀出狀態(tài)寄存器的狀態(tài),用于對(duì)比下載前后FPGA的狀態(tài)變化。

[1][美]Dhananjay.V.Gadre.并行端口編程[M].北京:中國(guó)電力出版社,2000.

[2]何希順,張躍,何榮森.嵌入系統(tǒng)中的JTAG接口編程技術(shù)[J].電子技術(shù)應(yīng)用,2001,27(12):9-12.

猜你喜歡
指令
聽(tīng)我指令:大催眠術(shù)
ARINC661顯控指令快速驗(yàn)證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
殺毒軟件中指令虛擬機(jī)的脆弱性分析
巧用G10指令實(shí)現(xiàn)橢圓輪廓零件倒圓角
中斷與跳轉(zhuǎn)操作對(duì)指令串的影響
科技傳播(2015年20期)2015-03-25 08:20:30
基于匯編指令分布的惡意代碼檢測(cè)算法研究
一種基于滑窗的余度指令判別算法
歐盟修訂電氣及電子設(shè)備等產(chǎn)品安全規(guī)定
家電科技(2014年5期)2014-04-16 03:11:28
MAC指令推動(dòng)制冷劑行業(yè)發(fā)展
汽車零部件(2014年2期)2014-03-11 17:46:27
主站蜘蛛池模板: 在线五月婷婷| 国产xx在线观看| 91美女视频在线| 色亚洲激情综合精品无码视频| 久久久久国产精品熟女影院| 91色综合综合热五月激情| 色婷婷电影网| 一本无码在线观看| 亚洲人成在线精品| 午夜影院a级片| 国产成本人片免费a∨短片| 麻豆精品久久久久久久99蜜桃| 亚洲成综合人影院在院播放| 91亚洲视频下载| 欧洲在线免费视频| 亚洲无码精品在线播放| 久久9966精品国产免费| 91日本在线观看亚洲精品| 首页亚洲国产丝袜长腿综合| 日韩免费毛片| 玖玖精品视频在线观看| 午夜毛片免费观看视频 | 午夜日b视频| 91网址在线播放| 欧美高清日韩| 亚洲 欧美 日韩综合一区| 久久精品无码一区二区日韩免费| 激情综合婷婷丁香五月尤物| 久久91精品牛牛| 国模视频一区二区| 在线观看欧美国产| 亚洲中字无码AV电影在线观看| 国产精品自拍露脸视频| 国产福利免费视频| 亚洲国产清纯| 中文字幕人成乱码熟女免费| 精品视频在线观看你懂的一区| 亚洲国产精品一区二区高清无码久久| 久久久久亚洲av成人网人人软件| 国产a v无码专区亚洲av| 美女黄网十八禁免费看| 国产精选自拍| 亚洲欧美精品一中文字幕| 国产成人精品综合| 在线观看91精品国产剧情免费| 91视频青青草| 岛国精品一区免费视频在线观看| 国产精品美乳| 日本黄网在线观看| 又爽又大又光又色的午夜视频| 一级毛片免费高清视频| 日本欧美成人免费| 欧美一区二区啪啪| 人妻精品久久久无码区色视| 在线播放真实国产乱子伦| 欧美啪啪网| 成色7777精品在线| 97视频免费在线观看| 国产97视频在线观看| 青青青草国产| 亚洲视频四区| 午夜欧美在线| 黄色成年视频| 国产chinese男男gay视频网| 黑人巨大精品欧美一区二区区| 四虎成人在线视频| 亚洲人妖在线| 天天摸夜夜操| 亚洲制服丝袜第一页| a级毛片一区二区免费视频| 久久国产精品麻豆系列| 国产美女自慰在线观看| 91视频区| www.91在线播放| 欧美色伊人| 国产精品lululu在线观看| 国内精品小视频在线| 亚洲美女视频一区| 亚洲啪啪网| 青青青国产视频| 亚洲AV无码久久精品色欲| 国产极品粉嫩小泬免费看|