概 述
HPM APPS是基于HPM SDK開發的上層應用軟件開發套件。提供各種典型通用的應用解決方案,包含了中間件、組件、服務等,供用戶使用評估。
HPM APPS需搭配HPM SDK使用,且HPM APPS和HPM SDK版本一一對應。
在參考方案時,建議先查閱文檔開始。
應用方案
1. LWIP+ADC高性能解決方案
在HPM6700/6400、6300系列微控制器上均支持16位ADC采樣和百兆以太網外設。HPM6300系列支持3個16位的ADC轉換器,可以轉換來自外部引腳以及芯片內部的模擬信號。ADC的轉換精度設置為16位時,最大采樣率2MSPS,ADC的轉換精度設置為12位時,最大采樣率4MSPS。ADC支持讀取轉換模式、周期轉換模式、序列轉換模式和搶占轉換模式。
本方案以HPM6300開發板為例介紹以2MSPS采樣率進行16位ADC采樣并將采樣數據通過ENET LWIP TCP的方式發送到上位機的應用,ADC采樣使用搶占轉換模式、PWM觸發的方式,ENET LWIP TCP每次發送1024個16位采樣數據。
該方案通過PWM特定時刻觸發ADC采樣和觸發HDMA轉換ADC數據,并依靠HDMA鏈式模式,做成循環鏈表,考慮到中斷響應占用CPU資源,在鏈式任務中增加狀態標識,從而不啟用中斷,以此達到ADC采樣及數據轉換全自動完成,無需CPU參與,且將轉換后的數據放到ILM/DLM,CPU零等待訪問。最終達到性能最優。
2. 電源通用軟件架構方案
HPM Power方案是匯總電源MCU的需求,整合成一個通用的軟件結構方案,并提供各類API接口。
HPM Power Driver API 是基于HPM Software Development Kit (HPM SDK) 封裝的針對電源類的驅動API接口。
Power API將硬件上PWM對、PWM、ADC通道抽象成自定義ID序號,上層應用只需關注抽象的ID序號即可。
Power API支持生成各種成對的PWM波形,例如互補、中心對齊相位、邊沿對齊,支持死區插入、故障保護、強制輸出等功能。
Power API同樣支持單路的PWM波形,單路的PWM波形也支持故障保護、強制輸出等功能。
Power API支持將PWM對或單路PWM 和多路ADC綁定,支持配置PWM任意占空比時刻觸發ADC采樣,ADC采樣結束后自動觸發回調。
Power API支持PWM對或單路PWM 配置在PWM任意占空比時刻觸發DMA請求,可借助DMA搬運采樣一組(數量可配)連續的ADC值。
Power API DMA支持鏈式模式,支持雙緩沖模式,可自動周期性PING/PONG模式下的采樣一組(數量可配)ADC值而無需CPU干預,且在每組采樣結束后自動觸發回調,同時自動觸發下一組采樣。
Power API支持設置PWM對/PWM 頻率、占空比、觸發時刻等。
Power API支持創建高精定時器(單位:微秒)。
該方案通過PWM特定時刻觸發ADC采樣,同時在PWM另一特定時刻觸發HDMA操作SPI控制器,并依靠HDMA鏈式模式,做成循環鏈表,由HDMA全自動完成SPI的讀寫任務,將讀到的數據存放到指定內存中,無需CPU參與。
同時HPM ADC控制器也自帶DMA,ADC采樣完成后自帶DMA將采樣的數據存放到指定內存中,CPU也無需參與。
用戶可直接在ADC采樣完成中斷中使用ADC采樣結果及SPI編碼器信息,去做后續閉環算法,最終調整下一周期PWM占空比。
DMA鏈式傳輸通常能夠降低數據傳輸的延時以及將規則的連續任務由DMA自主完成。此方案中ADC搶占采樣、DMA獲取SPI編碼器信息并行執行,從而減少了數據從源到目標的傳輸時間。這對于實時系統和需要快速響應的應用非常關鍵。
4. HPM二級Boot固件升級方案
本方案是定制化的二級Boot升級方案,支持在二級Boot中固件升級,也支持在APP應用中固件升級;
支持升級包制作,支持不同的校驗算法,如:checksum/xor/crc32/sha1/sha256/sm3;
支持ping/pang升級,二級Boot支持remap跳轉,userapp只需一個工程和linker文件;
二級Boot支持版本校驗及智能跳轉;
支持多通道升級,如UART通道/ENET通道/USB DEVICE MSC通道/ USB HOST MST通道,由于usb device msc傳輸不連續性,USB DEVICE MSC通道支持切片組包升級;
通用的Flash分區,可按需靈活分配。
5. Bootrom OTA升級方案
本方案主要介紹如何借助 bootrom 自帶的 SEC_IMG_OFFSET 功能進行 OTA 升級。OTA 升級我們采用 UART xmodem 功能,并且運行的是加密固件。
通常來說,我們只使用啟動鏡像0,但是當我們有 OTA 升級或者是 OTA 加密需求的時候,這個時候我們就需要用到啟動鏡像1。BootROM在啟動時,判斷OTP中的 SEC_IMG_OFFSET 是否為0,如果為0,說明只有一份鏡像;如果不為0,則說明存在第二份鏡像。BootROM通過對比兩份鏡像中的 SW_VERSION 大小,選擇 SW_VERSION 更大的一份作為最新的IMAGE執行,若兩份 SW_VERSION 相等,則認為第一份為最新的IMAGE執行。其中 SW_VERSION 存放在固件容器頭中。其次,我們在實際使用中,通常需要對固件進行加密,此時,會用到 EXIP BLOB 功能, 用于存放加密所需要的密鑰等信息。并且,HPM 全系列都支持 XPI NOR 的原地解密執行,當開啟了 EXIP BLOB 功能后,bootrom 啟動階段會對鏡像原地解密并執行,十分方便。
6. HPM FEMC驅動 8080屏
本方案介紹了如何用FEMC控制器驅動8080屏。將8080屏通過FEMC控制器掛載,如訪問RAM操作,通過讀寫對應地址即可輕松驅動點亮8080屏,并實現高速的刷新率。
在HPM6700/6400、6300系列微控制器上均帶了多功能外部存儲器FEMC控制器。
從8080協議時序圖和SRAM時序圖對比可知,8080并口時序和SRAM時序基本一致。因此,可以使用FEMC控制器來驅動8080屏。
7. LED大屏驅動方案
LED大屏顯示系統利用RGB燈珠構成的點陣模塊或像素單元組成大面積顯示屏顯示字符、圖像等信息,具有低功耗、低成本、高亮度、長壽命、寬視角等優點,近年來隨著LED顯示技術的不斷更新,廣泛應用在各類媒體場合。
LED大屏由無數個LED RGB燈組成,通過實時控制每個LED RGB的亮度及色彩,來顯示不同的圖案。在LED大屏顯示應用中,傳統的核心控制芯片選擇可謂多種多樣,MCU、FPGA或PLD都可以被作為核心控制芯片來進行設計,實現的效果也是各有優劣。
在LED大屏顯示應用不斷拓展的同時,大屏顯示系統對刷新頻率和延遲也提出了更嚴苛的要求:
更高的刷新頻率:刷新頻率越高,顯示的圖像越穩定,眼睛感覺到疲勞可能性就越小;
更低的延遲:整個數據鏈路的延遲進一步降低,減少閃屏或卡頓。
為確保LED大屏高刷新頻率和低延遲,避免閃屏或卡頓的情況,就必須通過高速的鏈路來實時控制這些LED RGB燈。要實現更高刷新頻率、更低延遲的LED大屏系統系統設計,主控芯片的選擇非常關鍵。以MCU為核心的LED大屏顯示控制系統常常被詬病數據處理速度無法滿足實時性要求很高的場合,其實不然。
HPM6750就是先楫半導體開發的采用RISC-V 內核、具有高主頻及創新總線架構的雙核高性能MCU。HPM6750擁有兩個完全獨立的CPU且主頻高達816MHz,模擬外設包括4組共32路精度達2.5ns的PWM、3個12位高速ADC以及1個16位高精度ADC,其性能在市場同類產品中居于領先水平。
不僅如此,對于LED大屏顯示應用,高性能HPM6750能通過雙千兆以太網透傳的方案完美解決高速的鏈路設計。HPM6750支持2個以太網控制器ENET,支持標準以太網MAC,支持10/100/1000Mbps數據傳輸速率,支持RMII和RGMII模式的PHY,ENET以太網控制器自帶DMA,因此在數據接收和發送上CPU負載為0。HPM6750通過以太網控制器,將兩個PHY收到的以太網數據相互透傳,透傳速率達780Mb/s。基于高性能HPM6750的LED大屏顯示方案在對實時控制要求極高的應用中絲毫不遜色于FPGA方案,不僅成本更低而且進一步降低了開發難度。
8. hpm_motor庫
hpm_motor是一個針對電機控制核心算法的庫文件,該庫旨在通過不斷地更新完善,模塊化管理具體功能算法;對用戶來說不用去關心底層如何實現,加速用戶程序開發。
軌跡規劃算法
電機在啟停時,速度存在階躍的情況。電機速度的突變可能會導致電流過載。所以通常用加減速控制算法來規劃電機速度。
libhpm_motor.a中使用的軌跡規劃算法是S型曲線,其核心是通過可變加加速度大小來控制加速度的變化,保證加速度不突變,使得加減速的速度曲線平滑,以此達到電機平穩運行的目的。
9. HPM5300系列旋轉變壓器硬件解碼方案
本方案是結合HPM 5300系列旋變解碼專用外設、針對電機控制領域編碼器為旋變的一種解碼方案。
本方案包括軟件配置、硬件指導設計、白盒測試文檔。
本方案軟件配置主要是通過注釋、白盒測試文檔,告知讀者如何得到5300系列專用旋變外設解碼后的位置。
本方案硬件指導設計主要告知讀者旋變的勵磁放大器和模擬前端電路。
本方案白盒測試文檔主要是基于ABZ編碼器的電機測試平臺,去做性能對比測試。
( 注意:使用本方案的工程師需要對旋變的基礎知識有一定了解。)
10. HPM ADC EVK
HPM6700/6400系列微控制器內置3個12位和1個16位ADC控制器,HPM6300和HPM6200系列微控制器內置3個16位ADC控制器,HPM5300系列微控制內置2個16位微控制器。其中12位ADC支持最高采樣率5MSPS,16位ADC支持最高采樣率2MSPS。支持讀取、周期、序列、搶占多種采樣模式,輸入模式支持單端(12位,16位)和 差分輸入(12位),并且支持可配置分辨率和采樣周期數,以及DMA轉換結果寫入內存中。
針對HPM系列MCU高精度ADC,先楫半導體推出系列ADC EVK用于評估ADC性能,其中包含了ADC EVK硬件設計圖紙,ADC EVK用戶指南,ADC設計指南,以及ADC測試代碼。旨在幫助用戶實現最佳ADC性能。
11. HPM6880 DDR硬件設計建議
上海先楫半導體科技有限公司推出了國產高性能微控制器HPM6800系列,致力于提供單主控的數字儀表及HMI解決方案,其產品主頻高達600MHz,內置RISC-V內核,算力高達1710DMIPS,其具有增強圖像系統如下:
2.5D OpenVG 1.1 GPU
2 個 4 Lane MIPI-DSI/LVDS-Tx 顯示接口
2 個 2 Lane MIPI-CSI/LVDS-Rx 攝像頭接口
LCD 控制器支持多圖層 Alpha-blending
1920×1080 分辨率顯示屏刷新率可達60fps
集成 JPEG 編解碼器可實現快速 JPEG 編碼和解碼, 減輕處理器負荷
包含1個DDR控制器,支持 DDR2-800、DDR3-1333,DDR3L-1333
本文主要介紹HPM6880 單顆DDR2,單顆DDR3l硬件設計要求,并分別提供兩種DDR的DEMO源文件以做參考,建議客戶直接使用DEMO提供的原理圖和PCB進行設計。
12. HPM5300微型伺服驅控一體方案
HPM系列MCU是來自上海先楫半導體科技有限公司的高性能實時RISC-V微控制器,為工業自動化及邊緣計算應用提供了極大的算力、高效的控制能力。上海先楫半導體目前已經發布了如 HPM6700/6400、HPM6300、HPM6200、HPM5300等多個系列的高性能微控制器產品。
HPM5300系列微控制器作為高性能運動控制MCU,具備強勁性能、豐富接口、更小封裝、更低成本、卓越品質等優勢。
針對HPM5300系列MCU,先楫半導體推出本款產品級伺服驅控方案用于評估運動控制性能,本方案囊括了HPM5300系列芯片的大部分使用功能;內置位置、速度控制模式,可以配套各種開環、半閉環和閉環系統滿足絕大部分行業的使用要求。
注:SEI(串行編碼器接口)可以通過編程實現多種通信協議,如Tamagawa編碼器協議、HIPERFACE、Nikon編碼器協議、SSI、BiSS-C 及EnDat2.1/2.2協議等,用戶還可以通過自定義編程支持更多協議。
完 結
在使用過程中有任何疑問或者建議,歡迎在github對應項目中提交。
-
SDK
+關注
關注
3文章
1035瀏覽量
45899 -
HPM
+關注
關注
1文章
23瀏覽量
7741 -
先楫半導體
+關注
關注
10文章
214瀏覽量
2102
發布評論請先 登錄
相關推薦
評論