亞當泰勒玩轉MicroZed連載35:用MicroZed驅動Adafruit RGB NeoPixel LED陣列(第6節)_第1頁
亞當泰勒玩轉MicroZed連載35:用MicroZed驅動Adafruit RGB NeoPixel LED陣列(第6節)_第2頁
亞當泰勒玩轉MicroZed連載35:用MicroZed驅動Adafruit RGB NeoPixel LED陣列(第6節)_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

亞當泰勒玩轉MicroZed連載35:用MicroZed驅動AdafruitRGBNeoPixelLED陣列(第6節)我們已經完成了以下工作:設計AdafruitNeoPixelLED驅動器、把它集成到Vivado框圖中以及和系統的其它部分相連接,現在,我們需要思考一下將要采用什么樣的驗證方案,也就是說,我們需要做哪些測試來證明這個設計可以成功的工作?通常情況下,這個階段的復雜程度要超過設計本身。這是一個相當簡單的設計案例,所以我將要采用的驗證方案需要完成以下任務:

1.驗證MicroZed、I/O載體板卡以及NeoPixel陣列之間的硬件接口。

2.使用VHDL仿真器對NeoPixel驅動器進行仿真。

3.開發測試軟件對BRAM所有的地址進行讀寫操作,保證PS(處理器系統)能夠正確地訪問存儲器。

4.開發測試軟件去驅動陣列中的第一個NeoPixel,驗證NeoPixel驅動器的功能,然后使用示波器驗證發送到NeoPixel陣列的時序波形。

5.開發測試軟件去驅動NeoPixel陣列中不同位置上的一些像素點(比如陣列中的第二個像素點、中間的像素點以及最后的像素點)。

6.使用一個終端程序去驗證最終版本的軟件是否能對正確的命令、錯誤的命令以及亂序的命令等做出正確的反應。

7.使用一個開發好的GUI來執行最終的功能驗證,保證最終的設計可以按照最初的說明那樣進行工作。上面的這些步驟可能看起來比較復雜。然而,在許多類似這個簡單應用的情況下,實現起來相對來說是比較簡單的。通常情況下,任何測試的第一要素就是要保證硬件能正確工作。(參見我在Xcell第82期發表的文章“設計一個FPGA硬件的基本要素”,以及第85期的文章“進行硬件設計的一種無痛的方法”)。使用MicroZed系統帶來的一個好處是,ZynqSoC中的底層硬件、MicroZed板以及MicroZedI/O載體板卡其本身都是驗證成熟的,這就減少了需要用在系統測試上的時間,可以開始驗證我們的功能需求。(但是,這并不意味這我們將正確地實現SoC的功能)在開始驗證過程(上面的第1點)之前,我們還需要在硬件層次上去驗證下面幾個方面:

1.從IO載體板卡的PMOD連接器輸出到NeoPixel的信號的正確性:最好是在MicoZed板沒有上電的時候,使用萬用表去測量。我們一定要保證NeoPixel陣列的VCC和GND信號是正確連接的。2.用于對NeoPixel陣列進行驅動和供電的IObank的電壓設置正確性:這也可以簡單地用萬用表來測量電壓是否是3.3V。3.當我們證明了物理連接和電源連接后,一個不錯的想法是把MicroZed板子上電,用萬用表檢查NeoPixel陣列供電的穩定性。3v3Bank35供電測試點我上一篇博文主要講的是設計NeoPixel驅動器以及使用ModelSim來對其進行仿真,這已經完成了驗證方案中第2點描述的內容,這樣就可以進行到第3點:驗證ZynqSoC的PS和PL的功能性能以及它們兩者之間的交互。因為我們這許多周—35周,一直在使用MicroZedPS設計,我很有信心把PS正確配置成從SD卡進行boot,以及從DDRRAM執行程序。然而,在這個系列博文中,這是第一次使用BRAM控制器和BRAM,這也是為什么我要開發測試軟件來保證PS能正確地對存儲器進行讀寫的原因。對驅動NeoPixel陣列的系統能力的測試,到了驗證方案的第4和第5點時,已經基本成型了。這兩點有著密切的聯系,是一個測試到另一個測試的自然演進。第一個測試軟件僅僅對一個NeoPixel進行寫操作并檢查時序,我在示波器上看到的波形與VHDL仿真產生的波形具有對應關系,并且NeoPixel能用正確的顏色點亮。測試成功。然后我修改了這個測試代碼,用全色度的紅、綠和藍去驅動一個像素點,保證驅動器能夠正確地設置像素點的顏色。一旦一個像素點可以被驅動,這個程序就很容易修改成用不同顏色驅動特定的像素點,這個是測試控制器能夠正確地驅動LED條上一個特定的像素點。最后,把測試軟件修改成在相同時間,把LED條上所有的像素點都驅動成同樣的顏色,在這個測試中,我選擇使用白色,因為這個顏色需要打開NeoPixel陣列中所有紅色、綠色以及藍色的LED,因此,可以保證從I/O載體板卡驅動過來的最大電流能夠支持這個LED條工作。當這一系列測試結束時,我們有信心能夠驅動NeoPixel陣列。然而,我們還沒有驗證將要用來控制NeoPixel顏色設置的命令接口,我將在下一篇博文中描述測試方案中最后兩點關于串行接口

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論