當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]摘要:使用DS89C450型單片機(jī)的I/O口實(shí)現(xiàn)JTAG通信協(xié)議,再用部分I/O口構(gòu)造片選邏輯,來對(duì)一個(gè)系統(tǒng)中多片Xilinx Platform Flash PROM進(jìn)行在系統(tǒng)編程(ISP),以此來更新對(duì)應(yīng)的FPGA的配置數(shù)據(jù)。同時(shí),DS89C450通過在應(yīng)用

摘要:使用DS89C450型單片機(jī)的I/O口實(shí)現(xiàn)JTAG通信協(xié)議,再用部分I/O口構(gòu)造片選邏輯,來對(duì)一個(gè)系統(tǒng)中多片Xilinx Platform Flash PROM進(jìn)行在系統(tǒng)編程(ISP),以此來更新對(duì)應(yīng)的FPGA的配置數(shù)據(jù)。同時(shí),DS89C450通過在應(yīng)用編程(IAP)來更新用戶代碼。將硬件電路設(shè)計(jì)在背板上,實(shí)現(xiàn)插板式機(jī)箱結(jié)構(gòu),方便系統(tǒng)升級(jí)。
關(guān)鍵詞:DS89C450;JTAG;IAP;Xilinx Platform Flash PROM

引言
    可編程邏輯器件(FPGA、CPLD等)廣泛用于現(xiàn)代電子設(shè)計(jì)中,在一個(gè)系統(tǒng)中往往會(huì)用1片以上的可編程邏輯器件。作為最大的供應(yīng)商之一,Xilinx公司的器件獲得了廣泛的應(yīng)用。基于查找表技術(shù)的FPGA在應(yīng)用時(shí)需要外置一個(gè)非易失性存儲(chǔ)器來存儲(chǔ)配置數(shù)據(jù)。如何方便靈活地對(duì)一個(gè)系統(tǒng)中多片F(xiàn)PGA的配置數(shù)據(jù)進(jìn)行升級(jí)是本文討論的問題。

1 系統(tǒng)概述
    Xilinx的Platform Flash PROM包括XCFxS和XCFxP系列,它們都是帶JTAG接口的PROM,都支持JTAG ISP Programming,本文主要以XCF-01S為例。DS89C450型單片機(jī)是一款超高速的高性能單片機(jī),其顯著特點(diǎn)是速度快,一個(gè)機(jī)器周期只需要一個(gè)時(shí)鐘周期;通過使能,可以激活其內(nèi)部的1 KB數(shù)據(jù)存儲(chǔ)器,來作為數(shù)據(jù)緩存;同時(shí)它具有64KB的內(nèi)部程序存儲(chǔ)器,支持ISP、IAP。
    本設(shè)計(jì)主要實(shí)現(xiàn)的功能是:
    ①DS89C450的在應(yīng)用編程(IAP)。通過使用IAP,單片機(jī)用戶代碼的更新和修改將十分方便。
    ②使能DS89C450內(nèi)部1 KB數(shù)據(jù)存儲(chǔ)器,在對(duì)Platform Flash PROM編程時(shí),作為數(shù)據(jù)緩存,這樣將無需在片外擴(kuò)展數(shù)據(jù)存儲(chǔ)器,從而減小了電路板面積,同時(shí)提高了訪問速度,節(jié)省成本。
    ③用DS89C450的P1口的4根線模擬JTAG的時(shí)序邏輯,實(shí)現(xiàn)與Platform Flash PROM的通信;余下的4根線用來構(gòu)造片選邏輯,將整個(gè)電路設(shè)計(jì)在背板上,將串口引出到設(shè)備面板來與上位機(jī)通信。
    ④采用匯編語言開發(fā),使iMPACT下載和單片機(jī)下載互不沖突,方便實(shí)現(xiàn)插板式機(jī)箱結(jié)構(gòu)。
    該設(shè)計(jì)在設(shè)備調(diào)試、遠(yuǎn)程維護(hù)、功能擴(kuò)展和修改等方面將具有很高的靈活性,系統(tǒng)示意圖如圖1所示。


2 DS89C450 IAP的實(shí)現(xiàn)
    DS89C450內(nèi)部集成了64 KB的Flash程序存儲(chǔ)器,64 KB Flash分為2部分,低32 KB區(qū)(地址范圍0000H~7FFFH)和高32 KB區(qū)(地址范圍8000H~FFFFH)。只有高32 KB區(qū)才可以由IAP程序訪問,這個(gè)空間將存放用戶代碼。DS89C450內(nèi)部有一個(gè)存儲(chǔ)器管理單元(MMU),它實(shí)際上就是一個(gè)狀態(tài)機(jī),獨(dú)立于處理器核心而存在,只需向相應(yīng)的特殊功能寄存器中寫入命令、地址、數(shù)據(jù)等,將啟動(dòng)MMU,實(shí)現(xiàn)對(duì)高32 KB區(qū)的擦除、編程、校驗(yàn)以及系統(tǒng)復(fù)位。而在低32 KB區(qū)存的是IAP程序,IAP程序代碼是通過燒錄器燒寫進(jìn)去的。
    IAP程序?qū)⑼ㄟ^串口和上位機(jī)通信,在系統(tǒng)上電后,上位機(jī)發(fā)出是否要更新高32 KB區(qū)代碼的命令,若不更新,則IAP程序立即跳轉(zhuǎn)至8000H處取指令,執(zhí)行高32 KB區(qū)的用戶代碼;若上位機(jī)發(fā)出了更新高32KB區(qū)代碼的命令,IAP程序?qū)⑦M(jìn)入工作狀態(tài),它將首先擦除高32 KB區(qū),然后準(zhǔn)備接收新的用戶代碼(即對(duì)Platform Flash PROM操作的代碼),收到新代碼數(shù)據(jù)之后,將其寫入高32 KB區(qū);新代碼文件全部寫入之后,由上位機(jī)發(fā)出校驗(yàn)命令,IAP程序?qū)⒏?2 KB區(qū)按字節(jié)讀出,并計(jì)算出累加和,作為校驗(yàn)和回送上位機(jī)。
    上述所有操作都是通過讀寫2個(gè)特殊功能寄存器來實(shí)現(xiàn)的,這2個(gè)寄存器是FCNTL(地址:D5H)和FDATA(地址:D6H),圖2給出了編程的流程。



3 DS89C450片上1 KB數(shù)據(jù)存儲(chǔ)器的使用
    無論是在IAP程序更新高32 KB區(qū)的用戶代碼時(shí),還是在刷新Platform Flash PROM內(nèi)的配置數(shù)據(jù)時(shí),在DS89C450和上位機(jī)之間都會(huì)有大量的數(shù)據(jù)傳遞。DS89C450內(nèi)部集成了1 KB的數(shù)據(jù)存儲(chǔ)器,它將用作數(shù)據(jù)的緩存,因此不需要再擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器。同時(shí),采用匯編語言開發(fā),將有效提高資源的利用率。這1 KB數(shù)據(jù)存儲(chǔ)器在默認(rèn)情況下是不可用的,需要設(shè)置相應(yīng)的特殊功能寄存器位來激活。將DME0位(PMR.0)置1激活它,激活之后采用MOVX指令訪問,相比訪問外部擴(kuò)展的數(shù)據(jù)存儲(chǔ)器速度更快。

4 DS89C450與Xilinx Platform Flash PROM
    結(jié)合Xilinx的器件,先簡要介紹JTFAG接口的工作原理。
    JTAG又稱為邊界掃描(boundary scan),是符合IEEE STD 1149.1的通信標(biāo)準(zhǔn),它含有一個(gè)TAP控制器,也就是一個(gè)狀態(tài)機(jī)。所有的指令、數(shù)據(jù)的輸入以及數(shù)據(jù)的輸出都是在狀態(tài)機(jī)的控制下完成的,如圖3所示。


    JTAG接口一般用到了下面4根線:
    TMS——模式選擇輸入,在TCK的上升沿送入TAP控制器,用于狀態(tài)的轉(zhuǎn)換;
    TDI——輸入引腳,指令和數(shù)據(jù)通過它在TCK的上升沿送入TAP控制器;
    TDO——輸出引腳,數(shù)據(jù)在TCK的下降沿由此輸出;
    TCK——輸入時(shí)鐘,為TAP控制器的輸入和輸出提供時(shí)序控制。
    TAP控制器含有1個(gè)指令寄存器和若干數(shù)據(jù)寄存器(數(shù)據(jù)掃描鏈),對(duì)于Xilinx的可編程邏輯器件,其指令寄存器一般為8位。TAP控制器的工作流程是,通過TMS引腳,使?fàn)顟B(tài)機(jī)按照?qǐng)D3所示的轉(zhuǎn)換圖處于某一狀態(tài)下,送入特定的指令,TAP控制器對(duì)指令進(jìn)行譯碼,譯碼結(jié)果將產(chǎn)生相關(guān)動(dòng)作,例如選擇一條數(shù)據(jù)掃描鏈準(zhǔn)備接收數(shù)據(jù),或捕獲功能引腳信號(hào)到數(shù)據(jù)寄存器等。
    本設(shè)計(jì)中,硬件連接圖如圖4所示,每個(gè)JTAG接口都與一片74AHCT245相連,DS89C450的P1.0、P1.1、P1.2、P1.3分別對(duì)應(yīng)TMS、TD-I、TDO、TCK的功能;而P1.4、P1.5、P1.6、P1.7通過譯碼器74HC138構(gòu)造片選邏輯。當(dāng)P1.7為低電平時(shí),譯碼器74HC138所有的輸出引腳/Y0~/Y7均為高電平,所有74AHCT245的/0E腳均為高,因此,所有的JTAG接口均未選中,這時(shí),它們都可以通過Xilinx Impact軟件進(jìn)行操作。這個(gè)狀態(tài)作為系統(tǒng)上電之后的默認(rèn)狀態(tài)。圖4作為示意圖,只畫出了2個(gè)JTAG接口,而最多可以連接8個(gè)JTAG接口。


    當(dāng)需要對(duì)某個(gè)JTAG連接的Platform Flash PROM編程時(shí),上位機(jī)通過串口向DS89C450發(fā)出命令,DS89C450收到正確的命令之后,打開譯碼器的G1門,對(duì)8個(gè)JTAG接口進(jìn)行掃描,將掃描到的IDCODE上報(bào)上位機(jī),空的JTAG接口將掃描到全“1”碼;然后,上位機(jī)送出需更新代碼的板卡地址,DS89C450根據(jù)這個(gè)地址選擇指定的JTAG接口(即選擇了需要更新代碼的PlatformFlash PROM),自動(dòng)升級(jí)也就開始了。升級(jí)結(jié)束,關(guān)閉譯碼器的G1門,回到默認(rèn)狀態(tài)。
    一般情況下,具體到某一塊板卡,其上的JTAG插針,是將Platform Flash PROM的JTAG和FPGA的JTAG串聯(lián)起來的菊花鏈結(jié)構(gòu)。例如,插針的TDI→(TDI,TDO)→(TDI,TDO)→插針的TDO,用括號(hào)內(nèi)的表示XCF01S或FPGA。因此,在圖4中的JTAG接口指的是JTAG插針,而非某個(gè)具體器件的JTAG口?;谶@一點(diǎn),DS89C450要實(shí)現(xiàn)對(duì)Platform Flash PROM的操作,需要將菊花鏈中的FPGA旁路(bypass)。
    要對(duì)Platform Flash PROM的內(nèi)容進(jìn)行更新,上位機(jī)需將新文件(bin格式)按照一定長度的字節(jié)數(shù)分批次送給DS89C450,DS89C450將本次收到的定長數(shù)據(jù)寫入Platform Flash PROM,寫完之后,準(zhǔn)備接收下一幀,依此往復(fù),直到將新文件處理完。
    對(duì)于XCF01S,其扇區(qū)大小為256字節(jié),下面以每次傳輸256個(gè)字節(jié)為例,圖5給出了操作Platform Flash PROM的指令及編程流程。表1為操作Platform FlashPROM的指令。



結(jié)語
    本設(shè)計(jì)的優(yōu)點(diǎn)是低成本、高性能、高靈活性。低成本體現(xiàn)在硬件上,用到的器件少,節(jié)省電路板空間;DS89C450是一款高性能的單片機(jī),速度快,工作穩(wěn)定;高靈活性體現(xiàn)在2個(gè)更新——一是可通過IAP程序更新DS89C450內(nèi)部高32 KB區(qū)的用戶程序,二是可通過DS89CA50內(nèi)部高32 KB區(qū)的用戶程序來更新Platform Flash PROM內(nèi)的數(shù)據(jù)。同時(shí),多片Platform Flash PROM的更新實(shí)現(xiàn)。這樣,整個(gè)系統(tǒng)的更新維護(hù)將十分方便。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉