色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

廣芯微電子UM3506 低功耗MCU芯片 基于FreeRTOS & RISC-V的USB PD協議實現

貞光科技 ? 2023-02-28 10:51 ? 次閱讀

貞光科技是廣芯微電子代理商和解決方案供應商,負責廣芯微電子的低功耗MCU芯片,8位/32位微控制器芯片、無線射頻收發器芯片,數字電源管理芯片和傳感與信號調理專用芯片等產品的銷售和技術服務。樣品申請和訂購聯系我們。

1 FreeRTOS簡介

FreeRTOS是市場領先的面向微控制器和小型微處理器的實時操作系統(RTOS),與世界領先的芯片公司合作開發。FreeRTOS通過 MIT開源許可免費分發,包括一個內核和一組不斷豐富的庫,適用于所有行業領域。FreeRTOS 的構建強調可靠性和易用性。FreeRTOS的主要功能可以歸結為以下幾點:

  • 優先級調度、相同優先級任務的輪轉調度,同時可設成可剝奪內核或不可剝奪內核
  • 任務可選擇是否共享堆棧(co-routines & tasks),并且沒有任務數限制
  • 消息隊列,二值信號量,計數信號量,遞歸互斥體
  • 時間管理
  • 內存管理

1.1 FreeRTOS特點:

FreeRTOS的特點:

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

2 RISC V簡介

RISC-V是加州大學伯克利分校(University of California at Berkeley)設計并發布的一種開源指令集架構,其目標是成為指令集架構領域的Linux,應用覆蓋IoT(Internet of Things)設備、桌面計算機、高性能計算機等眾多領域。

RISC-V讀作RISC Five,意思是第五代精簡指令處理器。取這個名字只是因為美國伯克利研究團隊的David Patterson教授在此之前已經研制了四代精簡指令處理器芯片。

RISC-V是由UC-Berkeley團隊在歷代RISC架構基礎上,總結多個ISA優缺點而重新創建的一種新式ISA, 它采取“開源”的模式對全世界開放,希望成為一切計算設備都可以采用的指令集架構。它的開放性允許它可以自由地被用于任何目的,允許任何人設計、制造和銷售基于RISC-V的芯片或軟件,這種徹底的開放性在處理器領域還是第一次。

2.1 RISC-V的特點

首先是開源的優勢:

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

其次是功能優勢:

  • RISC-V架構的篇幅很短,不用背負向后兼容的歷史包袱;
  • 模塊化的靈活設計,RISC-V可根據特定應用場景對指令集進行裁剪或修改;
  • RISC-V支持可擴展定制指令;
  • RISC-V硬件設計與編譯器實現起來非常簡單。

3 基于FreeRTOS & RISC V內核的PD協議的應用

3.1 UM3506 PD SoC

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

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

圖片

3.2 應用案例

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

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



3.2.1 FreeRTOS移植

3.2.1.1 portmacro.h頭文件

portmacro.h頭文件主要包括兩部分內容。第一部分定義了一系列內核代碼中用到的數據類型,第二部分包含了實現 FreeRTOS移植所需要定義的函數。包括與架構相關的定義、內核調度、臨界區管理、任務優化等。



1.數據類型定義

定義編譯器相關的各種數據類型。

#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.架構相關的定義

定義與處理器或控制器架構相關的宏定義。

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

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

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

#define portTICK_RATE_MS((portTickType)1000/configTICK_RATE_HZ)

//訪問SRAM的字節對齊

#define portBYTE_ALIGNMENT 8

3.內核調度函數

/*聲明該函數定義在其它文件中,實現強制上下文切換,用在任務環境中調用 */

extern void vPortYieldFromISR( void );

#define portYIELD() vPortYieldFromISR()

/*強制上下文切換,在中斷處理環境中調用 */

#define portEND_SWITCHING_ISR(xSwitchRequired)if(xSwitchRequired)\

vPortYieldFromISR()

3.2.1.2port.c源文件

1.堆棧初始化

進行堆棧的初始化,使堆棧處于預知的確定狀態。下面是堆棧初始化的代碼實現。

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

{

/*計算存儲程序狀態寄存器xPSR的堆址,用于MCU在進入或退出中斷時恢復現場*/ register int *tp asm("x4");

pxTopOfStack--;

/*程序狀態寄存器的值保存于堆棧中 */

*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.啟動任務調度

portBASE_TYPE xPortStartScheduler( void )

{

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

*(portNVIC_SYSPRI2) |= portNVIC_PENDSV_PRI;

*(portNVIC_SYSPRI2) |= portNVIC_SYSTICK_PRI;

/*啟動定時器,開始產生系統的心跳時鐘,此處中斷已被關閉 */

prvSetupTimerInterrupt();

/*初始化臨界區的嵌套的個數,準備啟動第一個任務 */

uxCriticalNesting = 0;

/*啟動第一個任務 */

vPortStartFirstTask();

/*執行到vPortStartFirstTask函數,內核已經開始正常的調度 */

return 0;

}

FreeRTOS首先為剛創建的任務分配所需內存,若分配成功,則初始化任務名稱、堆棧深度和任務優先級,然后根據堆棧的增長方向初始化任務控制塊的堆棧。接著,FreeRTOS把當前創建的任務加入到就緒任務鏈表。當進行任務調度時,調度算法首先實現優先級調度。系統按照優先級從高到低的順序從就緒任務鏈數組中選擇當前最高就緒優先級,據此實現優先級調度。若此優先級下只有一個就緒任務,則該任務進入運行狀態,若此優先級下有多個就緒任務 則需采用輪換調度算法實現多任務輪流執行。

3.2.2 項目軟件實現

本項目采用Eclipse IDE,系統上電之后,系統進行硬件和時鐘初始化,MCU和操作系統的工作方式和工作狀態進入準備階段,除了空閑任務,還創建了三個任務:

(1)vUSBPDTask應用于處理PD協議,EMARK信息處理,充電方向,電壓、電流數據采集并計算功率,耗電功率等數據,最高優先級;

(2)vUartRxTask串口數據接收任務,用于系統調試,第二優先級;

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

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

軟件流程圖如下:

圖片

產品效果如下圖:

圖片

本項目產品已經批量生產,實現實時多任務操作的同時縮短開發周期,保證了產品實時處理EMARK信號、準確快速采集電壓電流等信息、顯示流暢,廣受客戶歡迎。

UM3506的DEMO軟件已經做好了FreeRTOS的移植,客戶可以很方便地根據需求創建自己的任務,快速開發產品。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17173

    瀏覽量

    351641
收藏 人收藏

    評論

    相關推薦

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

    、低功耗、易于與外設連接。 二、自定義總線協議RISC-V架構中,除了標準的片上總線外,還可能使用自定義總線協議來滿足特定需求。這些自定義總線
    發表于 12-28 17:53

    risc-v芯片在電機領域的應用展望

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

    Si24R05:125K接收&2.4G收發SoC芯片資料

    Si24R05高度集成的低功耗SoC芯片 ● 具有低功耗、Low Pin Count、寬電壓工作范圍。 ● 內核:采用RISC-V RV32IMAC(2.6 CoreMark/MHz)
    發表于 10-31 16:27

    RISC-V國際人才培養認證中心舉辦“智能工控核心'RISC-V技術與工業網關應用前瞻'”沙龍活動

    超級星期六·共享開源,共謀”“篇在工業互聯網與智能制造高速發展的背景下,RISC-V技術作為開源指令集架構的新星,正逐步成為推動工業控制領域技術變革的關鍵力量。9月21日下午,由RISC-V國際
    的頭像 發表于 09-25 08:06 ?368次閱讀
    <b class='flag-5'>RISC-V</b>國際人才培養認證中心舉辦“智能工控核心&<b class='flag-5'>amp</b>;apos;<b class='flag-5'>RISC-V</b>技術與工業網關應用前瞻&<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,內置PDUSB接口,USB數據+PD功率傳輸“雙管
    發表于 08-30 17:37

    2024 RISC-V 中國峰會:華秋電子助力RISC-V生態!

    &amp;gt;平臺社區負責人劉勇在峰會現場分享了以“RISC-V芯片創新應用與生態”的主旨分享。 (華秋電子&amp;lt;
    發表于 08-26 16:46

    FS201資料(pcb &amp;amp; DEMO &amp;amp; 原理圖)

    電子發燒友網站提供《FS201資料(pcb &amp; DEMO &amp; 原理圖).zip》資料免費下載
    發表于 07-16 11:24 ?0次下載

    risc-vmcu對RTOS兼容性如何

    RISC-VMCU對RTOS(實時操作系統)的兼容性主要取決于多個因素,包括RTOS的版本、RISC-V指令集的實現、以及芯片制造商提供的
    發表于 05-27 16:26

    RISC-VMCU關于USB高速通信設計的難點

    MCU實現高速USB通信時,通常需要外掛專業的高速USB PHY芯片,這不僅占用了MCU的多
    發表于 05-27 16:23

    RISC-VMCU與ARM對比

    開發者提供了豐富的資源和支持,降低了開發難度和成本。 成本 RISC-V :由于RISC-V是開源的,因此使用RISC-VMCU可以顯著降低芯片
    發表于 05-27 15:58

    risc-v多核芯片在AI方面的應用

    RISC-V多核芯片在AI方面的應用主要體現在其低功耗、低成本、靈活可擴展以及能夠更好地適應AI算法的不同需求等特點上。 首先,RISC-V適合用于高效設計
    發表于 04-28 09:20

    中國工程師最喜歡的10大RISC-V芯片

    RISC-V/ARM雙核開發,支持跨內核芯片工程遷移。 沁恒微電子研發多款RISC-V內核IP,包括支持浮點運算V4F,并基于32位通用
    發表于 04-17 11:04

    國產RISC-V MCU推薦

    RISC-V MCU微控制器。片上集成2Mbps低功耗藍牙BLE通訊模塊、2個全速USB主機和設備控制器及收發器、2個SPI、4個串口、14路ADC、觸摸按鍵檢測模塊、RTC等豐富的
    發表于 04-17 11:00

    瑞薩電子采用RISC-V技術MCU R9A02G021

    R9A02G021 48MHz 超低功耗 MCU標志著瑞薩電子進入 RISC-V 領域,擁有令人印象深刻的規格,例如高處理速度、低功耗和多功
    的頭像 發表于 04-16 18:31 ?1854次閱讀
    瑞薩<b class='flag-5'>電子</b>采用<b class='flag-5'>RISC-V</b>技術<b class='flag-5'>MCU</b> R9A02G021

    瑞薩推出采用自研CPU內核的通用32位RISC-V MCU 加強RISC-V生態系統布局

    瑞薩推出采用自研CPU內核的通用32位RISC-V MCU 加強RISC-V生態系統布局 RISC-V MCU為開發人員帶來
    發表于 03-28 19:00 ?596次閱讀
    主站蜘蛛池模板: 天天操狠狠操夜夜操| 中文乱码35页在线观看| 成人无码国产AV免费看| 微福利92合集| 饥渴的护士自慰被发现| 3D内射动漫同人资源在线观看| 欧美MV日韩MV国产网站| 国产成人久久婷婷精品流白浆| 亚洲国产亚综合在线区尤物| 久久综合中文字幕佐佐木希| 草莓视频app深夜福利| 亚洲成av人影院| 美女被爆插| 国产精品久久久久婷婷五月色| 与子敌伦刺激对白亂輪亂性| 欧洲最大无人区免费高清完整版| 国产亚洲精品黑人粗大精选 | 国产成在线观看免费视频| 一二三四在线视频社区| 让人爽到湿的小黄书| 久 久 亚洲 少 妇 无 码| 被六个男人躁到一夜同性| 夜夜穞狠狠穞| 色欲AV精品人妻一区二区麻豆| 久久精品电影院| 国产CHINESE HD精品| 91av欧美| 一个人的视频全免费在线观看www| 日韩精品免费在线观看| 老师紧窄粉嫩| 狠很橹快播| 国产99久久亚洲综合精品西瓜tv| 91香蕉福利一区二区三区| 亚洲AV成人片色在线观看网站| 内射少妇三洞齐开| 久久国产精品永久网站| 国产精品人妻一区免费看8C0M| japonensis护士| 综合色就爱涩涩涩综合婷婷 | 色拍拍噜噜噜久久蜜桃| 麻豆官网入口|