色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

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

YCqV_FPGA_EETre ? 來源:互聯網 ? 作者:佚名 ? 2018-01-17 09:08 ? 次閱讀

答案是:Digital Discovery

口袋式高速邏輯分析儀

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

事實上,對于一款新的Zynq板卡來說,在啟動序列中QSPI傳輸的速度不是一個明顯的規范,本文教程就將教你如何使用Digital Discovery口袋式高速邏輯分析儀來快速分析啟動序列并確定時序。

01

硬件清單

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

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

  • SOIC測試夾(若有最佳)

  • 杜邦線

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

02

連接Digital Discovery

連接關系如下:

QSPI 信號

QSPI/測試夾引腳

DigitalDiscovery引腳

cs

7

DIO0

clk

16

DIO1

d0

15

DIO2

d1

8

DIO3

d2

9

DIO4

d3

1

DIO5

gnd

10

Gnd

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

03

QSPI腳本

為了將QSPI的信號轉換成數據,在邏輯分析儀的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}

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

04

觸發與采樣

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

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

觸發設置在CS信號的下降沿。

下圖是Waveforms中整個QSPI的傳輸過程。注意圖中采樣信號的短暫中斷,從這個時候起時鐘頻率由5.4MHz變為了25MHz。

05

啟動傳輸

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

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

(點擊可查看大圖)

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

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

(點擊可查看大圖)

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

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

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

(點擊可查看大圖)

然后,FSBL將讀取引導映像文件并分析它包含的不同分區,包括配置Zynq PL部分的bit文件,在ARM中運行的elf文件。

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1629

    文章

    21729

    瀏覽量

    603025
  • 賽靈思
    +關注

    關注

    32

    文章

    1794

    瀏覽量

    131249
  • Zynq板卡
    +關注

    關注

    0

    文章

    1

    瀏覽量

    2064

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

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    文搞懂軟核的固化、啟動和MultiBoot實現

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

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

    冷機啟動板卡時,LMX2572鎖定時間在2分鐘以上。當LMX2572鎖定后重新啟動,鎖定時間在1-3秒內。
    發表于 11-11 08:09

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

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

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

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

    如何在服務器上調試本地FPGA板卡

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

    如何設計一款50HZ陷波電路?

    如何設計一款50HZ陷波電路,有現成的參考電路設計嗎
    發表于 07-30 06:12

    精準時刻,掌控未來:解鎖新代PCIe時鐘板卡

    了先進的技術和卓越的性能,為各類應用場景提供了可靠的時間解決方案。 ? 、銣原子時鐘板卡 TS-ART是一款在PCle板卡上使用銣振蕩器作為本振的時鐘
    的頭像 發表于 06-24 11:12 ?440次閱讀
    精準時刻,掌控未來:解鎖新<b class='flag-5'>一</b>代PCIe時鐘<b class='flag-5'>板卡</b>!

    人工智能模型公司Anthropic近日推出了一款Claude移動端App

    制造Claude 3人工智能模型公司Anthropic近日推出了一款iOS應用程序,并為群組共享模型訪問添加第二個付費層。
    的頭像 發表于 05-08 09:55 ?680次閱讀

    如何挑選一款性價比高的家用路由器

    家庭網絡已經成為人們生活中不可或缺的部分。而選擇一款性價比高的家用路由器對于保障網絡連接質量、提升網絡體驗至關重要。本文將從性能、覆蓋范圍、安全性、易用性和價格等方面,為您介紹如何挑選一款
    的頭像 發表于 04-16 15:14 ?521次閱讀

    如何設計一款四輪智能小車

    如何設計一款四輪智能小車 此部分共分為五個小節,通過這個 Part 的學習,我們將了解機器人的概念和組成,對機器人的整體設計有個明確的思路,然后通過機械結構、驅動系統、傳感系統、控制系統四大
    的頭像 發表于 03-26 10:58 ?770次閱讀
    如何設計<b class='flag-5'>一款</b>四輪智能小車

    板卡控制與plc控制的區別

    板卡控制與PLC(Programmable Logic Controller,可編程邏輯控制器)控制是兩種常見的工業自動化控制方式。雖然在某些方面存在些相似之處,但它們在很多方面有著顯著的區別
    的頭像 發表于 02-05 14:31 ?8059次閱讀

    NVIC_SystemReset()導致系統死怎么解決?

    我用的芯片是psoc6,基于psoc creator4.4,基于CE217633這個示例,在M4 的main函數加入NVIC SystemReset(), 實現系統每隔5秒重新啟動,但系統有10
    發表于 02-01 07:38

    介紹一款基于java的滲透測試神器-CobaltStrike

    Cobalt Strike是一款基于java的滲透測試神器,常被業界人稱為CS神器。
    的頭像 發表于 01-16 09:16 ?964次閱讀
    介紹<b class='flag-5'>一款</b>基于java的滲透測試神器-CobaltStrike

    基于ZYNQ FPGA構建嵌入式的模擬計算板卡

    板卡基于高速400M 采樣AD 和ZYNQ FPGA構建嵌入式的模擬計算板卡, 可用于工業雷達,行業雷達的場合。板卡使用工業級芯片。
    的頭像 發表于 01-09 11:30 ?1259次閱讀
    基于<b class='flag-5'>ZYNQ</b> FPGA構建嵌入式的模擬計算<b class='flag-5'>板卡</b>

    共模電容:又一款EMC濾波神器?

    共模電容:又一款EMC濾波神器?|深圳比創達電子(上)
    的頭像 發表于 12-25 10:54 ?725次閱讀
    共模電容:又<b class='flag-5'>一款</b>EMC濾波神器?
    主站蜘蛛池模板: 亚洲精品国产AV成人毛片| 男女牲交全过程免费播放| 国产成人在线免费观看| MD传媒MD0021在线观看| 6080yy亚洲久久无码| 伊人最新网址| 一品道门在线视频高清完整版| 亚洲国产在线2020最新| 学生妹被爆插到高潮无遮挡| 小寡妇好紧进去了好大看视频| 探花口爆颜射乳交日韩| 十八禁啪啦啪漫画| 我的美女房东未删减版免费观看| 色宅男午夜电影网站| 特级毛片全部免费播放免下载| 色欲AV色欲AV久久麻豆| 天美传媒在线观看完整高清| 少妇内射兰兰久久| 午夜福利电影网站鲁片大全| 性色AV一区二区三区V视界影院| 香蕉精品国产自在现线拍| 午夜国产精品免费观看| 午夜视频在线网站| 亚洲成年男人的天堂网| 亚洲综合国产精品| 最新快播网站| 99在线视频免费观看视频| YELLOW视频在线观看大全| 大肥女ass樱桃| 国产午夜久久影院| 精品亚洲麻豆1区2区3区| 浪潮色诱AV久久久久久久| 女人高潮久久久叫人喷水| 人禽l交视频在线播放 视频| 视频成人永久免费下载| 亚洲成A人片在线观看中文不卡| 亚洲中文在线精品国产| 96精品视频| 成人天堂婷婷青青视频在线观看| 国产精品美女久久久网站动漫| 黑丝制服影院|