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