一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

廣芯微電子UM3506 低功耗MCU芯片 基于FreeRTOS & RISC-V的USB PD協(xié)議實(shí)現(xiàn)

貞光科技 ? 2023-02-28 10:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

貞光科技是廣芯微電子代理商和解決方案供應(yīng)商,負(fù)責(zé)廣芯微電子的低功耗MCU芯片,8位/32位微控制器芯片、無線射頻收發(fā)器芯片,數(shù)字電源管理芯片和傳感與信號調(diào)理專用芯片等產(chǎn)品的銷售和技術(shù)服務(wù)。樣品申請和訂購聯(lián)系我們。

1 FreeRTOS簡介

FreeRTOS是市場領(lǐng)先的面向微控制器和小型微處理器的實(shí)時(shí)操作系統(tǒng)(RTOS),與世界領(lǐng)先的芯片公司合作開發(fā)。FreeRTOS通過 MIT開源許可免費(fèi)分發(fā),包括一個(gè)內(nèi)核和一組不斷豐富的庫,適用于所有行業(yè)領(lǐng)域。FreeRTOS 的構(gòu)建強(qiáng)調(diào)可靠性和易用性。FreeRTOS的主要功能可以歸結(jié)為以下幾點(diǎn):

  • 優(yōu)先級調(diào)度、相同優(yōu)先級任務(wù)的輪轉(zhuǎn)調(diào)度,同時(shí)可設(shè)成可剝奪內(nèi)核或不可剝奪內(nèi)核
  • 任務(wù)可選擇是否共享堆棧(co-routines & tasks),并且沒有任務(wù)數(shù)限制
  • 消息隊(duì)列,二值信號量,計(jì)數(shù)信號量,遞歸互斥體
  • 時(shí)間管理
  • 內(nèi)存管理

1.1 FreeRTOS特點(diǎn):

FreeRTOS的特點(diǎn):

  • 小型節(jié)能內(nèi)核 大小可擴(kuò)展,可用程序內(nèi)存占用低至 6KB。一些架構(gòu)包括無滴答的節(jié)能模式;
  • 支持 40多種架構(gòu) 代碼庫支持 40多種 MCU架構(gòu)和15多種工具鏈,包括最新的 RISC-VARMv8-M (Arm Cortex-M33)微控制器;
  • 模塊化庫 越來越多的加載項(xiàng)庫,適用于所有行業(yè)領(lǐng)域,包括安全的本地或云連接;
  • AWS參考集成 利用經(jīng)過測試的示例,其中包括安全連接到云所必需的所有庫;
  • MIT許可,有選項(xiàng) FreeRTOS可根據(jù)MIT許可用于任何目的。提供商業(yè)許可,以及安全認(rèn)證。

2 RISC V簡介

RISC-V是加州大學(xué)伯克利分校(University of California at Berkeley)設(shè)計(jì)并發(fā)布的一種開源指令集架構(gòu),其目標(biāo)是成為指令集架構(gòu)領(lǐng)域的Linux,應(yīng)用覆蓋IoT(Internet of Things)設(shè)備、桌面計(jì)算機(jī)、高性能計(jì)算機(jī)等眾多領(lǐng)域。

RISC-V讀作RISC Five,意思是第五代精簡指令處理器。取這個(gè)名字只是因?yàn)槊绹死芯繄F(tuán)隊(duì)的David Patterson教授在此之前已經(jīng)研制了四代精簡指令處理器芯片。

RISC-V是由UC-Berkeley團(tuán)隊(duì)在歷代RISC架構(gòu)基礎(chǔ)上,總結(jié)多個(gè)ISA優(yōu)缺點(diǎn)而重新創(chuàng)建的一種新式ISA, 它采取“開源”的模式對全世界開放,希望成為一切計(jì)算設(shè)備都可以采用的指令集架構(gòu)。它的開放性允許它可以自由地被用于任何目的,允許任何人設(shè)計(jì)、制造和銷售基于RISC-V的芯片或軟件,這種徹底的開放性在處理器領(lǐng)域還是第一次。

2.1 RISC-V的特點(diǎn)

首先是開源的優(yōu)勢:

  • 任何公司和個(gè)人不需任何費(fèi)用就可以自由使用RISC-V,不像ARM指令集需要支付高昂授權(quán)費(fèi),也不像英特爾不開放內(nèi)核,只允許用戶基于微處理器進(jìn)行應(yīng)用開發(fā)。
  • RISC-V的開源會大大降低指令集修改和定制的門檻,在實(shí)現(xiàn)芯片差異化設(shè)計(jì)的同時(shí)降低成本,對發(fā)展自主可控處理器、擺脫壟斷有著十分重要的意義。

其次是功能優(yōu)勢:

  • RISC-V架構(gòu)的篇幅很短,不用背負(fù)向后兼容的歷史包袱;
  • 模塊化的靈活設(shè)計(jì),RISC-V可根據(jù)特定應(yīng)用場景對指令集進(jìn)行裁剪或修改;
  • RISC-V支持可擴(kuò)展定制指令;
  • RISC-V硬件設(shè)計(jì)與編譯器實(shí)現(xiàn)起來非常簡單。

3 基于FreeRTOS & RISC V內(nèi)核的PD協(xié)議的應(yīng)用

3.1 UM3506 PD SoC

廣芯微旗下雙向PD快充控制器芯片UM3506 (TID: 2465),采用軟硬結(jié)合的靈活可編程架構(gòu),全面支持PD3.1 SRC, SNK,雙向DRP和 EMARK功能,其中包括SPR下的PPS和ERP下的AVS動態(tài)電壓模式,同時(shí)還可支持EPR線纜中PD 3.1 EMARK模式。

UM3506芯片采用TCPM/TCPC分層架構(gòu),集成原生的TCPC-like前端模塊,包括用于Type-C接口檢測與控制的數(shù)字邏輯和模擬電路,PD PHY層的分組BMC編解碼以及PD協(xié)議層中對時(shí)序有嚴(yán)格要求的關(guān)鍵功能,同時(shí)創(chuàng)新地集成了基于RISC-V指令集的32位微處理器內(nèi)核,大容量FLASH閃存/SRAM存儲器、增強(qiáng)的外設(shè)接口和豐富的系統(tǒng)資源。

圖片

3.2 應(yīng)用案例

USB PD EMARK數(shù)顯線,自帶0.96寸液晶屏幕,在內(nèi)置EMARK功能從而支持100W功率傳輸?shù)耐瑫r(shí),還可通過屏幕顯示電壓電流等參數(shù),實(shí)時(shí)了解設(shè)備用電信息。通過內(nèi)置16通道12位ADC配合采樣電阻采集電流信息,并采集母線電壓信息。

項(xiàng)目使用FreeRTOS, FreeRTOS的實(shí)現(xiàn)主要由 list.c、queue.c、croutine.c 和 tasks.c 4個(gè)文件組成。list.c是一個(gè)鏈表的實(shí)現(xiàn),主要供給內(nèi)核調(diào)度器使用;queue.c是一個(gè)隊(duì)列的實(shí)現(xiàn),支持中斷環(huán)境和信號量控制;croutine.c和 task.c是兩種任務(wù)的組織實(shí)現(xiàn)。協(xié)程(英文為 croutine)是采用各任務(wù)共享同一個(gè)堆棧, 使 RAM的需求進(jìn)一步縮小,但也正因如此,他的使用受到相對嚴(yán)格的限制。而 task則是傳統(tǒng)的實(shí) 現(xiàn),各任務(wù)使用各自的堆棧,支持完全的搶占式調(diào)度。



3.2.1 FreeRTOS移植

3.2.1.1 portmacro.h頭文件

portmacro.h頭文件主要包括兩部分內(nèi)容。第一部分定義了一系列內(nèi)核代碼中用到的數(shù)據(jù)類型,第二部分包含了實(shí)現(xiàn) FreeRTOS移植所需要定義的函數(shù)。包括與架構(gòu)相關(guān)的定義、內(nèi)核調(diào)度、臨界區(qū)管理、任務(wù)優(yōu)化等。



1.?dāng)?shù)據(jù)類型定義

定義編譯器相關(guān)的各種數(shù)據(jù)類型。

#define portCHAR char

#define portFLOAT float

#define portDOUBLE double

#define portLONG long

#define portSHORT short

#define portSTACK_TYPE unsigned portLONG

#define portBASE_TYPE long

2.架構(gòu)相關(guān)的定義

定義與處理器或控制器架構(gòu)相關(guān)的宏定義。

#define configUSE_16_BIT_TICKS 0 //處理器字長為32位

#define portSTACK_GROWTH -1 //定義堆棧的生長方向逆向生長

//定義心跳時(shí)鐘周期,表示的是相鄰Tick間間隔多少ms

#define portTICK_RATE_MS((portTickType)1000/configTICK_RATE_HZ)

//訪問SRAM的字節(jié)對齊

#define portBYTE_ALIGNMENT 8

3.內(nèi)核調(diào)度函數(shù)

/*聲明該函數(shù)定義在其它文件中,實(shí)現(xiàn)強(qiáng)制上下文切換,用在任務(wù)環(huán)境中調(diào)用 */

extern void vPortYieldFromISR( void );

#define portYIELD() vPortYieldFromISR()

/*強(qiáng)制上下文切換,在中斷處理環(huán)境中調(diào)用 */

#define portEND_SWITCHING_ISR(xSwitchRequired)if(xSwitchRequired)\

vPortYieldFromISR()

3.2.1.2port.c源文件

1.堆棧初始化

進(jìn)行堆棧的初始化,使堆棧處于預(yù)知的確定狀態(tài)。下面是堆棧初始化的代碼實(shí)現(xiàn)。

StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )

{

/*計(jì)算存儲程序狀態(tài)寄存器xPSR的堆址,用于MCU在進(jìn)入或退出中斷時(shí)恢復(fù)現(xiàn)場*/ register int *tp asm("x4");

pxTopOfStack--;

/*程序狀態(tài)寄存器的值保存于堆棧中 */

*pxTopOfStack = (portSTACK_TYPE)pxCode;

pxTopOfStack -= 22;

*pxTopOfStack = (portSTACK_TYPE)pvParameters;

pxTopOfStack -= 6;

*pxTopOfStack = (portSTACK_TYPE)tp;

pxTopOfStack -= 3;

*pxTopOfStack = (portSTACK_TYPE)prvTaskExitError;

return pxTopOfStack;

}

2.啟動任務(wù)調(diào)度

portBASE_TYPE xPortStartScheduler( void )

{

/*讓任務(wù)切換中斷和心跳中斷位于最低的優(yōu)先級,使更高優(yōu)先級可以搶占MCU */

*(portNVIC_SYSPRI2) |= portNVIC_PENDSV_PRI;

*(portNVIC_SYSPRI2) |= portNVIC_SYSTICK_PRI;

/*啟動定時(shí)器,開始產(chǎn)生系統(tǒng)的心跳時(shí)鐘,此處中斷已被關(guān)閉 */

prvSetupTimerInterrupt();

/*初始化臨界區(qū)的嵌套的個(gè)數(shù),準(zhǔn)備啟動第一個(gè)任務(wù) */

uxCriticalNesting = 0;

/*啟動第一個(gè)任務(wù) */

vPortStartFirstTask();

/*執(zhí)行到vPortStartFirstTask函數(shù),內(nèi)核已經(jīng)開始正常的調(diào)度 */

return 0;

}

FreeRTOS首先為剛創(chuàng)建的任務(wù)分配所需內(nèi)存,若分配成功,則初始化任務(wù)名稱、堆棧深度和任務(wù)優(yōu)先級,然后根據(jù)堆棧的增長方向初始化任務(wù)控制塊的堆棧。接著,F(xiàn)reeRTOS把當(dāng)前創(chuàng)建的任務(wù)加入到就緒任務(wù)鏈表。當(dāng)進(jìn)行任務(wù)調(diào)度時(shí),調(diào)度算法首先實(shí)現(xiàn)優(yōu)先級調(diào)度。系統(tǒng)按照優(yōu)先級從高到低的順序從就緒任務(wù)鏈數(shù)組中選擇當(dāng)前最高就緒優(yōu)先級,據(jù)此實(shí)現(xiàn)優(yōu)先級調(diào)度。若此優(yōu)先級下只有一個(gè)就緒任務(wù),則該任務(wù)進(jìn)入運(yùn)行狀態(tài),若此優(yōu)先級下有多個(gè)就緒任務(wù) 則需采用輪換調(diào)度算法實(shí)現(xiàn)多任務(wù)輪流執(zhí)行。

3.2.2 項(xiàng)目軟件實(shí)現(xiàn)

本項(xiàng)目采用Eclipse IDE,系統(tǒng)上電之后,系統(tǒng)進(jìn)行硬件和時(shí)鐘初始化,MCU和操作系統(tǒng)的工作方式和工作狀態(tài)進(jìn)入準(zhǔn)備階段,除了空閑任務(wù),還創(chuàng)建了三個(gè)任務(wù):

(1)vUSBPDTask應(yīng)用于處理PD協(xié)議,EMARK信息處理,充電方向,電壓、電流數(shù)據(jù)采集并計(jì)算功率,耗電功率等數(shù)據(jù),最高優(yōu)先級;

(2)vUartRxTask串口數(shù)據(jù)接收任務(wù),用于系統(tǒng)調(diào)試,第二優(yōu)先級;

(3)vSysLcdHandlerTask顯示任務(wù),可以通過按鍵切換各個(gè)顯示界面,為了在各個(gè)狀態(tài)下顯示界面不被打亂,創(chuàng)建 了g_sys_lcd_info.bus_lock互斥信號量,顯示電壓、電流、功率、充電方向、用電功率等信息,第三優(yōu)先級;

顯示任務(wù)執(zhí)行耗時(shí)最長,vUSBPDTask需要快速響應(yīng),可以搶占其他任務(wù)從而確保PD信息的及時(shí)響應(yīng)和處理,又不影響顯示屏幕的顯示效果。

軟件流程圖如下:

圖片

產(chǎn)品效果如下圖:

圖片

本項(xiàng)目產(chǎn)品已經(jīng)批量生產(chǎn),實(shí)現(xiàn)實(shí)時(shí)多任務(wù)操作的同時(shí)縮短開發(fā)周期,保證了產(chǎn)品實(shí)時(shí)處理EMARK信號、準(zhǔn)確快速采集電壓電流等信息、顯示流暢,廣受客戶歡迎。

UM3506的DEMO軟件已經(jīng)做好了FreeRTOS的移植,客戶可以很方便地根據(jù)需求創(chuàng)建自己的任務(wù),快速開發(fā)產(chǎn)品。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17981

    瀏覽量

    366861
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    沁恒微電子:從互連互通應(yīng)用推動RISC-V落地發(fā)展

    沁恒微電子邀您共襄盛舉沁恒微電子專注于連接技術(shù)和微處理器內(nèi)核研究,基于多層次青稞RISC-V微處理器、多類型物理層收發(fā)器構(gòu)建USB/藍(lán)牙/以太網(wǎng)接口
    的頭像 發(fā)表于 06-26 09:52 ?471次閱讀
    沁恒<b class='flag-5'>微電子</b>:從互連互通應(yīng)用推動<b class='flag-5'>RISC-V</b>落地發(fā)展

    米爾瑞微多核異構(gòu)低功耗RK3506核心板重磅發(fā)布

    近日,米爾電子發(fā)布MYC-YR3506核心板和開發(fā)板,基于國產(chǎn)新一代入門級工業(yè)處理器瑞微RK3506,這款芯片采用三核Cortex-A7+
    發(fā)表于 05-16 17:20

    RISC-V低功耗MCU多電壓域設(shè)計(jì)

    RISC-V低功耗MCU的多電壓域設(shè)計(jì)是一種通過優(yōu)化電源管理來降低功耗的技術(shù),RISC-V低功耗
    的頭像 發(fā)表于 04-27 16:06 ?408次閱讀

    RISC-V低功耗MCU硬件安全特性

    ? ? ? ? RISC-V低功耗MCU通過硬件級完整性校驗(yàn)、抗輻照設(shè)計(jì)、安全啟動鏈等特性,全面覆蓋工業(yè)控制、汽車電子、物聯(lián)網(wǎng)等領(lǐng)域的安全需求,兼顧高可靠性與
    的頭像 發(fā)表于 04-23 15:49 ?394次閱讀

    RISC-V低功耗MCU指令集架構(gòu)(ISA)特點(diǎn)

    RISC-V低功耗MCU通過開源生態(tài)、模塊化架構(gòu)與能效優(yōu)化技術(shù),成為物聯(lián)網(wǎng)、穿戴設(shè)備等領(lǐng)域的理想選擇?。 一、?開源與可定制性? 完全開源免費(fèi)?:RISC-V ISA無需專利授權(quán)費(fèi)用
    的頭像 發(fā)表于 04-23 10:01 ?476次閱讀

    來科技攜手芒科技發(fā)布RISC-V CPU系統(tǒng)仿真平臺

    專業(yè)RISC-V處理器IP及解決方案公司來科技與杭州芒科技深入合作,共同研發(fā)推出來全系列RISC-V CPU系統(tǒng)仿真平臺。幫助下游So
    的頭像 發(fā)表于 03-19 14:36 ?782次閱讀

    微RK3568正式開放RISC-V核心啦,也支持非對稱AMP雙系統(tǒng)!

    ,通過ARM與RISC-V的協(xié)同工作,展現(xiàn)出了強(qiáng)大的性能優(yōu)勢,下面一起來看看! “非對稱AMP”雙系統(tǒng) AMP(Asymmetric Multi-Processing),即非對稱多處理架構(gòu)?!胺菍ΨQ
    的頭像 發(fā)表于 02-27 10:36 ?603次閱讀
    瑞<b class='flag-5'>芯</b>微RK3568正式開放<b class='flag-5'>RISC-V</b>核心啦,也支持非對稱<b class='flag-5'>AMP</b>雙系統(tǒng)!

    基于微電子自研芯片UM3506PD3.1雙向140W 2C+1A彩屏充電寶軟硬件開發(fā)平臺,最大支持300W輸出功率

    )行業(yè)迎來了快速發(fā)展,產(chǎn)品在電容量、充電功率、轉(zhuǎn)換效率(降低自身損耗)以及智能化等方面不斷突破。憑借敏銳的市場洞察力、創(chuàng)新的芯片研發(fā)能力以及多年行業(yè)經(jīng)驗(yàn),
    的頭像 發(fā)表于 02-25 11:21 ?1045次閱讀
    基于<b class='flag-5'>廣</b><b class='flag-5'>芯</b><b class='flag-5'>微電子</b>自研<b class='flag-5'>芯片</b><b class='flag-5'>UM3506</b>的<b class='flag-5'>PD</b>3.1雙向140W 2C+1A彩屏充電寶軟硬件開發(fā)平臺,最大支持300W輸出功率

    關(guān)于RISC-V芯片的應(yīng)用學(xué)習(xí)總結(jié)

    開發(fā)者可以更容易地實(shí)現(xiàn)數(shù)據(jù)加密和隱私保護(hù)。在汽車電子方面,RISC-V芯片的高性能和低功耗特性使其適用于車載信息娛樂系統(tǒng)、高級駕駛輔助系統(tǒng)(
    發(fā)表于 01-29 08:38

    RISC-V MCU技術(shù)

    GD32VF103系列的MCU,是兆易創(chuàng)新出的,用了基于RISC-V的Bumblebee處理器內(nèi)核,主要是給物聯(lián)網(wǎng)還有其他超低功耗的場景用的。這個(gè)系列MCU運(yùn)算主頻能到108MHz,片
    發(fā)表于 01-19 11:50

    RISC-V芯片中使用的各種常用總線釋義

    、低功耗、易于與外設(shè)連接。 二、自定義總線協(xié)議RISC-V架構(gòu)中,除了標(biāo)準(zhǔn)的片上總線外,還可能使用自定義總線協(xié)議來滿足特定需求。這些自定義總線協(xié)
    發(fā)表于 12-28 17:53

    risc-v芯片在電機(jī)領(lǐng)域的應(yīng)用展望

    活、更定制化的解決方案。 在電機(jī)控制領(lǐng)域,RISC-V芯片的高性能、低功耗和可定制性等特點(diǎn)尤為突出。傳統(tǒng)的電機(jī)控制芯片往往采用固定的指令集架構(gòu),難以滿足日益增長的多樣化需求。而
    發(fā)表于 12-28 17:20

    RISC-V國際人才培養(yǎng)認(rèn)證中心舉辦“智能工控核心&amp;apos;RISC-V技術(shù)與工業(yè)網(wǎng)關(guān)應(yīng)用前瞻&amp;apos;”沙龍活動

    超級星期六·共享開源,共謀”“篇在工業(yè)互聯(lián)網(wǎng)與智能制造高速發(fā)展的背景下,RISC-V技術(shù)作為開源指令集架構(gòu)的新星,正逐步成為推動工業(yè)控制領(lǐng)域技術(shù)變革的關(guān)鍵力量。9月21日下午,由RISC-V國際
    的頭像 發(fā)表于 09-25 08:06 ?680次閱讀
    <b class='flag-5'>RISC-V</b>國際人才培養(yǎng)認(rèn)證中心舉辦“智能工控核心&<b class='flag-5'>amp</b>;apos;<b class='flag-5'>RISC-V</b>技術(shù)與工業(yè)網(wǎng)關(guān)應(yīng)用前瞻&<b class='flag-5'>amp</b>;apos;”沙龍活動

    RISC-V Summit China 2024 | 青稞RISC-V+接口PHY,賦能RISC-V高效落地

    RISC-V+USB+Type-C PD Type-C接口特色MCU CH32X035,內(nèi)置PDUSB接口,USB數(shù)據(jù)+PD功率傳輸“雙管
    發(fā)表于 08-30 17:37

    2024 RISC-V 中國峰會:華秋電子助力RISC-V生態(tài)!

    &amp;gt;平臺社區(qū)負(fù)責(zé)人劉勇在峰會現(xiàn)場分享了以“RISC-V芯片創(chuàng)新應(yīng)用與生態(tài)”的主旨分享。 (華秋電子&amp;lt;
    發(fā)表于 08-26 16:46