揭開Zynq Z-7000 SoC從flash啟動的秘密
各位在開發(fā)FPGA產(chǎn)品的時候,不僅需要熟知板子上的硬件,還要在硬件上運(yùn)行代碼,想要觀測硬件上代碼的運(yùn)行是可以通過邏輯分析儀這種硬件調(diào)試儀器來進(jìn)行的。內(nèi)置有Xilinx Spartan-6 FPGA的Digital Discovery提供了高速的邏輯分析功能,能夠讓開發(fā)者觀察和分析板子上的信號流,同時,今天給各位介紹另外一款Xilinx公司芯片的產(chǎn)品Zynq Z-7000 SoC,我們一起來揭開它從SPI接口掛載的flash啟動的神秘面紗。
Zynq板從SPI端口的flash啟動的過程,使用的儀器是Digilent公司的Digital Discovery。使用Digital Discovery而不是邏輯分析儀的原因有兩個,首先,QSPI傳輸是在較高的時鐘頻率下進(jìn)行的,在此案例中很可能就超過了100MHz,所以需要較高的采樣率;其次,Digital Discovery有著512 MB的DDR,能夠存儲更多的采集過來的信號樣本。那么,說了這么多的理論,各位是不是已經(jīng)想知道怎么才能使Digital Discovery和Zynq連接到一起呢?具體的連接方式如圖.1所示,將Digital Discovery的邏輯采樣端口接到Zynq的falsh芯片的相應(yīng)的引腳上,然后將Digital Discovery通過USB跟PC機(jī)相連接,用上位機(jī)Waveforms來進(jìn)行信號的采集和處理。
圖.1 用Digital Discovery邏輯分析儀捕獲Zynq Z-7000 SoC的啟動信號的連接方法
最大的QSPI時鐘頻率大約是100MHz,當(dāng)啟動的時候,整體的啟動時間大約是700ms,這就需要很大的采樣率,Digital Discovery能支持這樣的頻率,268萬條指令在200MHz的傳輸條件下需要1.3秒的時間。設(shè)置在CS信號的下降沿觸發(fā)采樣,數(shù)據(jù)的采樣需要占用大量的計(jì)算機(jī)內(nèi)存,而且處理數(shù)據(jù)的時間也是相對較長的。圖.2展示了整體的QSPI的傳輸波形圖。注意在所獲得波形的最左邊時鐘的頻率從5.4MHz變到了25MHz。
圖.2 Digilent公司的Digital Discovery邏輯分析儀捕獲Zynq Z-7000啟動的全過程
如果想要去理解數(shù)據(jù)傳輸所代表的意思,可以參考Zynq TRM和對應(yīng)flash的數(shù)據(jù)手冊。指令從Zynq傳輸?shù)絝lash通常是通過SPI的D0引腳,第一個指令發(fā)送的是0x03 0x00 0x00 0x20(圖.3的紅色框框部分),此指令的意思是SPI READ,讀的地址是0x20;相應(yīng)的,收到的回復(fù)信號是經(jīng)過SPI的D1引腳獲得的,收到的信號為0x66 0x55 0x99 0xaa(圖.3的藍(lán)色框框部分所示),在Zynq TRM的170頁到179頁解釋了收到的信號的意思是flash告訴Zynq此flash是支持QSPI的,通過觀察發(fā)現(xiàn),在讀指令的地方SPI的時鐘頻率是5.405MHz,這個時鐘的頻率相對較低。在讀指令之后,flash支持QSPI,所有的傳輸都會在四根QSPI數(shù)據(jù)線上進(jìn)行。下一個指令是0x6b,緊跟著的是3byte的物理地址,如圖.4紅色框內(nèi)所示,0x6b代表的是四次讀寫指令,flash回應(yīng)的數(shù)據(jù)在8個時鐘周期之后(圖.4中綠色框內(nèi)所示)能在QSPI信號線上被觀察到,如圖.4藍(lán)色框內(nèi)所示。
圖.3 Zynq發(fā)送給flash的第一個讀信號指令以及flash的反饋信號波形
圖.4 Zynq的四次讀寫指令以及QSPI信號的相應(yīng)
Zynq-7000 AP SoC集成了ARM處理器核和硬件可編程的FPGA于一身,集成了CPU,DSP,ASSP,混合信號處理裝置等在一個芯片上,能夠用于主要的數(shù)據(jù)分析和硬件加速上,有著很好的性能價格比。而Digital Discovery里面使用了Xilinx公司的Spartan-6 FPGA,有著較高的logic-to-pin比率,內(nèi)置MicroBlaze軟核,支持800Mb/s的DDR3,支持豐富的I/O協(xié)議,所以在性能上能夠勝任邏輯分析儀的工作。
用邏輯分析儀來捕獲處理器啟動時候的信號波形不足為怪,但是在這個例子中是使用了Digital Discovery的邏輯分析儀功能,突出的地方就是Xilinx公司的兩款芯片的交互,演繹了本次的啟動信號揭秘之旅。Digital Discovery和Zynq SoC都是很出色的產(chǎn)品,一個是硬件開發(fā)者的便攜式調(diào)試神奇,一個是硬件開發(fā)者的高性能開發(fā)板,是不是想自己親手試一試了呢?
原文鏈接:https://forums.xilinx.com/t5/Xcell-Daily-Blog/Digilent-s-Digital-Discovery-high-speed-logic-analyzer-spies-on/ba-p/801655