一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

對于一款新的Zynq板卡來說,如何開掛啟動程序

YCqV_FPGA_EETre ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-01-17 09:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

答案是:Digital Discovery

口袋式高速邏輯分析儀

當(dāng)新入手一款Zynq開發(fā)板后,一般新手在串口輸出一個hello world,實現(xiàn)功能就可以了。而對于一些對于Zynq有一定了解的老手而言,往往則會去嘗試了解板上硬件的特性和時序,探究hello world輸出背后整個系統(tǒng)是如何運作的。

事實上,對于一款新的Zynq板卡來說,在啟動序列中QSPI傳輸?shù)乃俣炔皇且粋€明顯的規(guī)范,本文教程就將教你如何使用Digital Discovery口袋式高速邏輯分析儀來快速分析啟動序列并確定時序。

01

硬件清單

  • Digital Discovery口袋式高速邏輯分析儀

  • 帶有flash的Zynq開發(fā)板(本文中使用Digilent Zybo作為被測對象)

  • SOIC測試夾(若有最佳)

  • 杜邦線

注:事實上,除了Digital Discovery之外,當(dāng)然你也可以用經(jīng)典的Digilent Analog Discovery 2來操作,后者同樣帶有邏輯分析儀功能。這里更為推薦使用Digital Discovery,有兩個原因:一是由于QSPI時鐘頻率很高,超過100MHz,因此所選的儀器需要具有足夠的采樣率。二是Digital Discovery具有512 MB的DDR,可以完成大規(guī)模數(shù)據(jù)存儲的要求。

02

連接Digital Discovery

連接關(guān)系如下:

QSPI 信號

QSPI/測試夾引腳

DigitalDiscovery引腳

cs

7

DIO0

clk

16

DIO1

d0

15

DIO2

d1

8

DIO3

d2

9

DIO4

d3

1

DIO5

gnd

10

Gnd

在使用如上圖所示的杜邦線進行連接時,要注意保證信號完整性,避免串?dāng)_。在某些時候,需要將某個信號和地線進行纏繞,如圖中的藍色cs信號就使用了接了地的黑線進行了纏繞。

03

QSPI腳本

為了將QSPI的信號轉(zhuǎn)換成數(shù)據(jù),在邏輯分析儀的WaveForm軟件中增添了一個“定制”通道,并使用js語言編寫了一個“解釋器”。代碼如下:

// rgData: input, raw digital sample array// rgValue: output, decoded data array// rgFlag: output, decoded flag arrayvar c = rgData.length // c = number of raw samplesvar pClock = false; // previous cock signal levelvar iStart = 0;   // used to keep track on word start indexvar cByte = 0;   // byte count per transmissionvar cBits = 0;   // bit countervar bValue = 0;   // value variablevar fCmd = true;for(var i = 0; i < c; i++){ // for each sample? ? var s = rgData[i]; // current sample? ? var fSelect = 1&(s>>0); // pin0 is the select signal    var fClock = 1&(s>>1); // pin1 is the clock signal  var fData = 1&(s>>2); // pin2 is the data signal  var fData4 = 0xF&(s>>2); // DIN 2-5 DQ 0-3    if(fSelect != 0){ // select active low    // while select inactive reset our counters/variables    iStart = i+1; // select might become active with next sample    cByte = 0;    cBits = 0;    bValue = 0;    pClock = false;    fCmd = true;    continue;  }  if(pClock == 0 && fClock != 0){ // sample on clock rising edge       bValue <<= 4; // serial data bit, MSBit first? ? ?? ? ? bValue |= fData4;? ? ??? ? ?? ? ? ? ? ?? ? ? cBits++;? ? ?? ? ? if(cBits==2){ // when got the 8th bit of the word store it? ? ?? ? ?  ? cByte++;? ? ?? ? ?  ? // store rgValue/Flag from word start index to current sample position? ? ?? ? ?  ? for(var j = iStart; j < i; j++){? ? ?? ? ?  ? ? ? // Flag change will be visible on plot even when data remains constant.? ? ?? ? ?  ? ? ? // This is useful in case we get more consecutive equal values.? ? ?? ? ?  ? ? ? rgFlag[j] = cByte;? ? ?? ? ?  ? ? ? rgValue[j] = bValue;? ? ?? ? ?  ? ?}? ? ?? ? ?  ? ?iStart = i+1; // next word might start after this sample? ? ?? ? ?  ? ?cBits = 0; ?// reset bit count for the next byte? ? ?? ? ?  ? ?bValue = 0; // reset value variable? ? ?? ? ?  }? ? ??}? ? ??pClock = fClock; // previous clock level}

除了使用定制的“解釋器”外,我們還可以使用標(biāo)準(zhǔn)的SPI來分析那些沒有通過QSPI發(fā)送到指令,例如第一條讀取指令。

04

觸發(fā)與采樣

雖然QSPI的最高時鐘頻率是100MHz,但在啟動過程中的最高頻率僅為25MHz。此外,整個啟動過程大概需要700ms。因此對于同時滿足大量樣本和高速采樣率,這也正是選擇Digital Discovery的原因——200MHz的采樣速度可以在1.3s內(nèi)采樣268M的樣本數(shù)據(jù)。

采樣本身是十分浪費資源的,這個過程需要使用16GB的電腦內(nèi)存,并且需要很長的時間來完成數(shù)據(jù)的處理。

觸發(fā)設(shè)置在CS信號的下降沿。

下圖是Waveforms中整個QSPI的傳輸過程。注意圖中采樣信號的短暫中斷,從這個時候起時鐘頻率由5.4MHz變?yōu)榱?5MHz。

05

啟動傳輸

想要明白所傳輸?shù)臄?shù)據(jù)含義需要閱讀兩個文檔,一是Zynq技術(shù)參考手冊(www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf),另一個是flash memory的數(shù)據(jù)手冊(www.cypress.com/file/177966/download)。

Zynq與flash之間使用SPI協(xié)議進行通信,Zynq發(fā)送通過D0向flash發(fā)送指令。所發(fā)送的第一條指令是0x03 0x00 0x00 0x20,含義是SPI讀,讀起始地址是0x20。Flash通過D1接收0x66 0x55 0x99 0xaa。Flash讀指令的含義在flash memeory的第85頁做了解釋。

(點擊可查看大圖)

在Zynq技術(shù)參考手冊的第170到179頁解釋了所回復(fù)指令的含義,簡單說這組字節(jié)告訴了Zynq內(nèi)存是支持QSPI的。還需要注意到,此時的SPI時鐘是5.405MHz,是一個比較低的速度。

從這點上看,確定了Zynq的內(nèi)存支持QSPI,并且所有的交互都將在這4條數(shù)據(jù)線上完成。例如,下一條指令是0x6b,跟在一個3個字節(jié)的地址的后面。0x6b表示一個quad讀指令,在8個時鐘周期后的QSPI解釋器上看到響應(yīng),這是虛擬字節(jié)。

(點擊可查看大圖)

在本例中,地址是0x1d,讀取7個字節(jié)。這些字節(jié)來自地址0x1d、0x1e、0x1f,它是中斷表的一部分,然后從地址0x20開始讀取4個字節(jié),這是在第一個SPI讀取時讀取的相同字節(jié)。

Znqy將繼續(xù)讀取字節(jié),地址逐漸增加,直到0x45,這是bootROM Header的結(jié)尾。

但是,由于我們無法訪問BootROM的代碼,其余的引導(dǎo)序列就不那么透明了。在某個時候,F(xiàn)SBL(第一階段引導(dǎo)加載程序)將開始運行,最有可能的是當(dāng)SPI時鐘頻率變化到25 MHz的時候,如下所示,也就是在引導(dǎo)過程開始后的84毫秒。

(點擊可查看大圖)

然后,F(xiàn)SBL將讀取引導(dǎo)映像文件并分析它包含的不同分區(qū),包括配置Zynq PL部分的bit文件,在ARM中運行的elf文件。

關(guān)于引導(dǎo)鏡像和啟動過程可以閱讀這一用戶手冊(www.xilinx.com/support/documentation/user_guides/ug821-zynq-7000-swdev.pdf)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618472
  • 賽靈思
    +關(guān)注

    關(guān)注

    33

    文章

    1797

    瀏覽量

    132358
  • Zynq板卡
    +關(guān)注

    關(guān)注

    0

    文章

    1

    瀏覽量

    2138

原文標(biāo)題:如何以開掛的方式來查看Zynq啟動順序?

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    華為首開放式耳耳機FreeArc正式發(fā)布:全天候舒適穩(wěn)固佩戴,運動生活都“

    5月19日,在nova 14系列及鴻蒙電腦新品發(fā)布會上, HUAWEI FreeArc耳耳機正式發(fā)布。作為華為的首開放式耳耳機,以全新的產(chǎn)品形態(tài),給消費者帶來多元化、個性化的選擇
    發(fā)表于 05-20 11:16 ?1845次閱讀
    華為首<b class='flag-5'>款</b>開放式耳<b class='flag-5'>掛</b>耳機FreeArc正式發(fā)布:全天候舒適穩(wěn)固佩戴,運動生活都“<b class='flag-5'>開</b><b class='flag-5'>掛</b>”

    一款入耳式耳機的仿真與分析

    電子發(fā)燒友網(wǎng)站提供《一款入耳式耳機的仿真與分析.pdf》資料免費下載
    發(fā)表于 04-22 15:39 ?5次下載

    如何選擇一款優(yōu)秀的電池綜合測試儀?

    在當(dāng)今的電子設(shè)備與新能源產(chǎn)業(yè)中,電池作為能量存儲的核心部件,其性能的穩(wěn)定與優(yōu)劣直接關(guān)系到整個系統(tǒng)的運行效率與可靠性。因此,選擇一款優(yōu)秀的電池綜合測試儀,對于電池的研發(fā)、生產(chǎn)、質(zhì)量控制以及維護至關(guān)重要
    的頭像 發(fā)表于 04-01 14:07 ?302次閱讀

    純小白,尋找一款直會發(fā)射信號的藍牙

    首先感謝你點進來,我來說說我的使用場景。 我有輛可以遠程聯(lián)網(wǎng)控制的小車,我本身有點健忘,鑰匙基本都是放車上,用手機app解鎖。前幾天接觸到一款自動化軟件,可以自動開屏,解鎖,但觸發(fā)條件好像需要選擇
    發(fā)表于 03-27 21:58

    從零開始馴服Linux():ZYNQ-Linux啟動文件構(gòu)建全解析

    定位問題并優(yōu)化代碼。本教程我們就一起來看一下,如何基于正點原子提供的出廠相關(guān)源代碼,制作ZYNQ開發(fā)板的啟動文件,并成功運行Linux系統(tǒng)。 1.1制作前準(zhǔn)備工作1)、一款
    發(fā)表于 03-20 16:48

    nRF7002是我們獨特的Wi-Fi產(chǎn)品組合中的第一款設(shè)備

    還可以與非Nordic主機設(shè)備結(jié)合使用。 “這對Nordic及其客戶來說是夢想成真,”首席技術(shù)官Svein-Egil Nielsen說,“我們能夠非常迅速地將我們的第一款Wi-Fi芯片推向市場,因為我們有個非常有能力的Wi-F
    發(fā)表于 03-10 15:42

    請推薦一款給ads1211提供AVDD與DVDD電源的芯片?

    你好,請推薦一款給ads1211 提供AVDD與DVDD電源的芯片,謝謝!
    發(fā)表于 01-24 06:46

    文搞懂軟核的固化、啟動和MultiBoot實現(xiàn)

    這也是《FPGA實現(xiàn)串口升級及MultiBoot》系列中的篇文章,作為個專題單獨出來說明。 本篇文章分為三個主題:固化、啟動和MultiBoot實現(xiàn)。 固化分為SPI和BPI FL
    的頭像 發(fā)表于 12-07 11:23 ?2050次閱讀
    <b class='flag-5'>一</b>文搞懂軟核的固化、<b class='flag-5'>啟動</b>和MultiBoot實現(xiàn)

    冷機啟動板卡時,LMX2572鎖定時間在2分鐘以上,為什么?

    冷機啟動板卡時,LMX2572鎖定時間在2分鐘以上。當(dāng)LMX2572鎖定后重新啟動,鎖定時間在1-3秒內(nèi)。
    發(fā)表于 11-11 08:09

    如果設(shè)計一款桌面的機器玩具,最吸引人的外觀與功能要有哪些?

    初步設(shè)想制作如下其中一款,有感興趣的朋友可以幫提提意見。 A一款圓敦敦的音響狀的“個人日程助手”,具備番茄鬧鐘、音樂播放、減壓交互、語言對話、工作日報生成。 B一款迷你瓦利機器人,有
    發(fā)表于 10-19 18:25

    51單片機(一款國產(chǎn)8位高性能Flash的接近感應(yīng)單片機XD08M3232體驗感)

    給大家推薦一款在淘寶上發(fā)現(xiàn)的國產(chǎn)A/D型具有增強型1T8051內(nèi)核8位高性能Flash的接近感應(yīng)單片機XD08M3232,測試下來總體的感覺還是比較強大的,以下是本人試用后總結(jié)下來比較滿意的幾個點
    發(fā)表于 09-25 15:15

    LMH6734可以用哪一款芯片代替?

    麻煩問下,LMH6734可以用哪一款芯片代替,最好是pin-to-pin的
    發(fā)表于 09-09 07:05

    求助,求分享一款可以取代IA2410的運放?

    一款TI的 可以取代IA2410
    發(fā)表于 08-22 06:10

    如何在服務(wù)器上調(diào)試本地FPGA板卡

    的編程和調(diào)試 現(xiàn)在 Vivado 已遠程運行,最后步是對 FPGA 板卡進行編程和調(diào)試。Vivado 的硬件服務(wù)器應(yīng)用程序必須按照上述說明在本地PC上運行。FPGA 還應(yīng)通過其 JTAG
    發(fā)表于 07-31 17:36

    如何設(shè)計一款50HZ陷波電路?

    如何設(shè)計一款50HZ陷波電路,有現(xiàn)成的參考電路設(shè)計嗎
    發(fā)表于 07-30 06:12