on
Ultra96 v1與v2的開箱文
筆者因工作關係有機會接觸到Ultra96 v1及V2板子,最近因有一個需求必須將Ultra96跟雲端伺服器連接,將本地收集到的資料傳到到雲端統計及計算,網路連線的SDK提供很多語言的選擇,包含C/C++,JAVA和Python,因此筆者選擇最容易入門的語言Python作為起始。剛好Ultra96中PYNQ這個Framework剛好適合筆者拿來使用,並且也已經有Jupyter Notebook的支援,使用起來非常方便,不需要重新編譯Linux以支援Python開發,節省了很多時間。
Ultra96 v1與v2的差異
Ultra96 v1跟v2在LPDDR4上的選料有很大的不一樣,故FSBL上的設定有差別,因此無法共用相同開機檔案或是SD images,我們後續再來談此主題。除了LPDDR4外,Ultra96 v1跟v2選料還有哪些的差別:
Ultra96 | v1 | v2 |
---|---|---|
Power solution | TI Power | Infineon Power |
Wi-Fi/Bluetooth | TI | Microchip |
Memory(LPDDR4) | Dual-Rank | Single-Rank |
Clock chip | SiLabs | IDT |
Connectors | Wurth,Alps | TE, Molex |
從外觀上來比較,尺寸大小是一樣的,除了很明顯Wi-Fi/Bluetooth的module從TI改成Microchip外,另外Power on/off的按鍵位置也很明顯不一樣外,其餘大同小異。如下圖紅色圈圈處
Ultra96 v1及v2除了在FSBL配置上會不一樣外,其餘的開發流程是一樣了,幾乎所有的參考設計,只要重新rebuild後都可以用。由於v1已經宣告EOL了,故此系列文章將會以Ultra96 v2為主。有關Ultra96 v1的開箱文可以參考clodnew’s blog.
Ultra96 v2的開箱
目前手頭上Ultra96 v2主板包含其他配件如下:
- AES-ULTRA96-V2-G : Ultra96-V2 Zynq UltraScale+ ZU3EG 主板
- AES-ACC-U96-4APWR : 12V@4A 電源供應器
- AES-ACC-U96-JTAG : USB-to-JTAG/UART轉接器
順帶一提,購買Ultra96 v2時會附上軟體的說明書上面有voucher PN,可以透過此序號到Xilinx官網申請軟體的license,詳細申請流程請參考UG1042。
開機測試
拿到板子後迫不及待想開機測試,直接將SD card插入插槽,把DisplayPort及電源設置完成後開機,竟然完全沒有動作,連Done LED也沒亮,檢查一下Boot Switch的設定也為SD card,只好查看一下SD card內容,發現竟然是空,出廠前並沒有燒錄,只好自己來。
有關已經Ready的SD image有兩種選擇
我的主要目的為可以支援Python的開發環境以及讓我可以安裝Python相關的SDK,因此我選擇直接用Ultra96 v2 Pynq Image,接下來就是把此imageg燒錄到SD card中。
燒錄系統映像檔
此Image有兩個磁碟分區,一為FAT32,另一為Ext4。無法直接複製,建議使用Etcher燒錄至SD card,剛好此軟體是樹梅派建議燒寫映像檔的工具,其優勢在於可以直皆選擇壓縮檔案zip或是gz,燒錄完成後從PC卸載後插回SD插槽後重新開機。
重新開機
按下power on按鍵後,大約2秒左右Done LED(藍燈)亮起,大約18秒左右顯示螢幕會出現Linux開機畫面,大約50秒左右整個Linux GUI開機完成,表示整個SD Image燒錄成功。
螢幕顯示畫面
Jupyter Notebook的連線測試
Jupyter Notebook 是一個建構於網頁應用程式的開源整合開發環境,允許資料科學團隊像是在筆記本計算一般地撰寫程式、顯示程式和視覺化輸出、支援 Markdown 標記語言與 LaTex 數學方程式的文字段落,從 2014 年推出以來風靡資料科學生態圈,現FPGA也支援此開發環境。接下來我們就以Jupyter Notebook來測試剛剛完成的Ultra96 v2的環境
WiFi連線
將Ultra96 v2透過Micro-usb cable連接到Host PC下圖2的位置,並將電源打開後,等待大約50秒左右完整開機後,會在Host PC上多出一個網路裝置 在瀏覽器(Web browser)上直接輸入http://192.168.3.1,進入到Jupyter Notebook的login畫面,輸入xilinx後登入 登入後首頁 進入common目錄內,點擊wifi.ipynb測試網路連線 單擊Run直到3. Test connection 測試Wifi連線,透過ping命令觀察連線封包
ssh連線至Ultra96 v2 board
由於本人後續開發會使用到pip功能來安裝Python相關套件,確認網路連線後,利用ssh連線至Ultra96 v2 board確認Python以及已安裝套件,在windows cmd model下執行
ssh xilinx@192.168.3.1
password:xilinx
確認Python已安裝套件
pip3 list
結語
經過上述步驟後,可確認開發環境沒有問題,接下來可以進行開發工作了