91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

驚艷就在眼前!來感受先楫MCU八圖層高清顯示

先楫半導體HPMicro ? 2022-07-02 11:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡 介

HPM6700/6400系列 MCU來自上海先楫半導體科技有限公司的高性能實時RISC-V微控制器,為工業自動化及邊緣計算應用提供了極大的算力、高效的控制能力及豐富的多媒體功能。HPM6700/6400自帶的顯示控制系統,包括LCD控制器及2D圖形加速單元,性能也非常強悍,可以輕松驅動1366x768高分辨率的LCD屏,且可達到60fps的高刷新幀率。

本文主要介紹了HPM6700/6400的顯示控制系統,包括LCD控制器和2D圖形加速單元,并使用LVGL圖形庫開發的應用示例,方便開發者快速開發。

LCD 控制器 (LCDC)

HPM6700/6400系列的圖形顯示接口 LCDC 支持連接多種不同種類,不同分辨率的 LCD(TFT) 顯示屏。LCDC 支持 24 位并行數據線,支持時鐘信號 PCLK,支持 HSYNC 和 VSYNC 同步信號。LCDC 可以作為總線主設備讀取片上和片外的存儲器的圖像數據,并發送到外部顯示屏上。LCDC 的特性如下:

支持多達 24 位 RGB 顯示接口;

內置 DMA,作為總線主設備讀取顯存數據;

支持可配置的分辨率顯示屏,刷新率可達 1366x768, 60 fps;

支持多種數據格式輸入 ARGB8888,RGB565,YUV422/YCbCr422,Y8,1bpp,2bpp,4bpp 和 8bpp;

支持多達8 個圖層 Alpha Blending(混合疊加),其中 2 個主圖層支持逐行 YUV422/YCbCr422;

支持最大 pixclk 為 85MHz 。

5e2f22da-f965-11ec-a2f4-dac502259ad0.png

LCDC 功能框圖


2D 圖形加速單元 (PDMA)

本產品支持 1 個 2D 圖形加速單元 PDMA。PDMA 支持處理逐行圖像數據,支持按像素處理多種尺寸,多種顏色格式的圖形;

支持同時取2個圖層的數據,每個圖層獨立啟用控制;

支持圖像格式轉換,包括ARGB8888,RGB565,YUV422H1P 圖像轉換;

支持圖像0°/90°/180°/270°旋轉;

支持水平、垂直的翻轉;

支持圖像縮放,X/Y拉伸、壓縮;

支持圖像截圖。

5e4578dc-f965-11ec-a2f4-dac502259ad0.pngPDMA功能框圖

LVGL 應用開發

1. LVGL 介紹

LVGL(輕巧而多功能的圖形庫)是一個免費的開放源代碼圖形庫,它提供創建具有易于使用的圖形元素,精美的視覺效果和低內存占用的嵌入式GUI所需的一切。

主要特性:

功能強大的構建塊,例如按鈕,圖表,列表,滑塊,圖像等;

帶有動畫,抗鋸齒,不透明,平滑滾動的高級圖形各種輸入設備,例如觸摸板,鼠標,鍵盤,編碼器等;

支持UTF-8編碼的多語言;

多顯示器支持,如TFT,單色顯示器;

完全可定制的圖形元素;

獨立于任何微控制器或顯示器使用的硬件;

可擴展以使用很少的內存(64 KB閃存,16 KB RAM)進行操作;

操作系統,支持外部存儲器和GPU,但不是必需的;

單幀緩沖區操作,即使具有高級圖形效果;

C語言編寫,以實現最大的兼容性(與C ++兼容);

模擬器可在沒有嵌入式硬件的PC上進行嵌入式GUI設計。

可移植到MicroPython

可快速上手的教程、示例、主題;

豐富的文檔教程;

在MIT許可下免費和開源。

2. LVGL移植適配

官方已經移植和適配好了LVGL,代碼結構如下:

?./lvgl庫本身

?./lv_drivers顯示和輸入設備驅動程序

?./lv_examples示例和演示

?Lvgl官方網站(https://docs.lvgl.io)

?Lvgl官方博客站點(https://blog.lvgl.io)

?Sim在線模擬器網站(https://sim.lvgl.io)

?lv_sim_... 適用于各種IDE和平臺的模擬器項目

?lv_port_... 移植到其他開發板

?lv_binding_... 綁定到其他語言

?lv _… 移植到其他平臺

其中,lvgl,lv_examples和lv_drivers是最受維護、關注的核心存儲庫。

5e6604d0-f965-11ec-a2f4-dac502259ad0.png

lv_drivers顯示接口:

要設置顯示,必須初始化 lv_disp_draw_buf_t 和 lv_disp_drv_t 變量。

lv_disp_draw_buf_t 保存顯示緩沖區信息的結構體

lv_disp_drv_t HAL要注冊的顯示驅動程序、與顯示交互并處理與圖形相關的結構體、回調函數。

顯示緩沖器:

關于緩沖區大小,有 3 種情況:

(1)一個緩沖區:LVGL將屏幕的內保存到緩沖區中并將其發送到顯示器。緩沖區可以小于屏幕。在這種情況下,較大的區域將被重畫成多個部分。如果只有很小的區域發生變化(例如按下按鈕),則只會刷新該部分的區域。

(2)兩個非屏幕大小的緩沖區:具有兩個緩沖區的 LVGL 可以將其中一個作為顯示緩沖區,而另一緩沖區的內容發送到后臺顯示。應該使用 DMA 或其他硬件將數據傳輸到顯示器,以讓CPU同時繪圖。這樣,渲染和刷新并行處理。與一個緩沖區的情況類似,如果緩沖區小于要刷新的區域,LVGL將按塊繪制顯示內容

(3)兩個屏幕大小的緩沖區:與兩個非屏幕大小的緩沖區相反,LVGL將始終提供整個屏幕的內容,而不僅僅是塊。這樣,驅動程序可以簡單地將幀緩沖區的地址更改為從 LVGL 接收的緩沖區。因此,當MCU具有 LCD/TFT 接口且幀緩沖區只是 RAM 中的一個位置時,這種方法的效果很好。

顯示驅動器:

一旦緩沖區初始化準備就緒,就需要初始化顯示驅動程序。

lv_disp_drv_t的初始化,需要使用 lv_disp_drv_init(&disp_drv) 進行初始化。最后,要為 LVGL 注冊顯示設備,需要調用lv_disp_drv_register(&disp_drv)。

在最簡單的情況下,僅需要設置 lv_disp_drv_t 的以下兩個字段:

?draw_buf 指向已初始化的 lv_disp_buf_t 變量的指針。

?flush_cb 回調函數,用于將緩沖區的內容復制到顯示的特定區域。刷新準備就緒后,需要調用lv_disp_flush_ready()。LVGL可能會以多個塊呈現屏幕,因此多次調用flush_cb。使用 lv_disp_flush_is_last() 可以查看哪塊是最后渲染的。

其中,有一些可選的數據字段:

?hor_res 顯示器的水平分辨率。(默認為 lv_conf.h 中的 LV_HOR_RES_MAX )

?ver_res 顯示器的垂直分辨率。(默認為 lv_conf.h 中的 LV_VER_RES_MAX )

?color_chroma_key 色彩鍵控支持透明色。(默認為 lv_conf.h 中的 LV_COLOR_TRANSP )

?user_data 驅動程序的自定義用戶數據。可以在 lv_conf.h 中修改其類型。

?anti-aliasing 使用抗鋸齒(anti-aliasing)(邊緣平滑)。缺省情況下默認為 lv_conf.h 中的 LV_ANTIALIAS 。

?rotated 如果 1 交換 hor_res 和 ver_res 。兩種情況下 LVGL 的繪制方向相同(從上到下的線條),因此還需要重新配置驅動程序以更改顯示器的填充方向。

?screen_transp 如果為 1 ,則屏幕可以具有透明或不透明的樣式。需要在 lv_conf.h 中啟用 LV_COLOR_SCREEN_TRANSP 。

要使用GPU,可以使用以下回調:

?gpu_fill_cb 用顏色填充內存中的區域。

?gpu_blend_cb 使用不透明度混合兩個內存緩沖區。

?gpu_wait_cb 如果在 GPU 仍在運行 LVGL 的情況下返回了任何 GPU 函數,則在需要確保GPU渲染就緒時將使用此函數。

其他一些可選的回調,使單色、灰度或其他非標準RGB顯示一起使用時更輕松、優化:

?rounder_cb 四舍五入要重繪的區域的坐標。例如。2x2像素可以轉換為2x8。如果顯示控制器只能刷新特定高度或寬度的區域(對于單色顯示器,通常為8 px高),則可以使用它。

?set_px_cb 編寫顯示緩沖區的自定義函數。如果顯示器具有特殊的顏色格式,則可用于更緊湊地存儲像素。(例如1位單色,2位灰度等)。這樣,lv_disp_buf_t中使用的緩沖區可以較小,以僅保留給定區域大小所需的位數。set_px_cb不能與兩個屏幕大小的緩沖區一起顯示緩沖區配置。

?monitor_cb 回調函數告訴在多少時間內刷新了多少像素。

?clean_dcache_cb清除與顯示相關的所有緩存的回調

lv_drivers顯示接口:

要設置輸入設備,必須初始化 lv_indev_drv_t 變量,類型(indev_drv.type)可以是:

?LV_INDEV_TYPE_POINTER觸摸板或鼠標

?LV_INDEV_TYPE_KEYPAD鍵盤或小鍵盤

?LV_INDEV_TYPE_ENCODER帶有左,右,推動選項的編碼器

?LV_INDEV_TYPE_BUTTON外部按鈕按下屏幕

3. 應用開發

LVGL圖形庫功能控件有很多,這里不在詳細介紹,詳細API介紹查閱LVGL官網。

LVGL主要控件功能有:

5e7c99ac-f965-11ec-a2f4-dac502259ad0.png

使用 lvgl 圖形庫之前,我們還必須初始化 lvgl 以及相關其他組件。初始化的順序為:


?調用 lv_init() 初始化 lvgl 庫;

?初始化驅動程序;

?在 LVGL 中注冊顯示和輸入設備驅動程序;

?在中斷中每隔 x毫秒調用 lv_tick_inc(x)用以告知 lvgl 經過的時間;

?每隔 x毫秒定期調用 lv_task_handler()用以處理與 lvgl 相關的任務。

SquareLine_Studio設計器:

(1)創建項目

5e892f50-f965-11ec-a2f4-dac502259ad0.png

(2)控件布局設計

5ea08560-f965-11ec-a2f4-dac502259ad0.png

(3)代碼生成

5eb0e72a-f965-11ec-a2f4-dac502259ad0.png5ece55bc-f965-11ec-a2f4-dac502259ad0.png

(4)代碼適配工程

5ee02a44-f965-11ec-a2f4-dac502259ad0.png5eec8974-f965-11ec-a2f4-dac502259ad0.png

(5)添加事件響應代碼

運行效果:

5ef66426-f965-11ec-a2f4-dac502259ad0.gif

性能測試:

fps幀率:每秒鐘LCD圖形刷新的幀數;

LVGL會通過內部的tick,定時去刷屏幕;

10即1000ms/10ms=100FPS;

這個宏定義限定了LVGL刷屏幀率的上限,設定滿幀100幀;

使用全尺寸雙buffer。

實測結果:

5f5fef04-f965-11ec-a2f4-dac502259ad0.gif5fe88710-f965-11ec-a2f4-dac502259ad0.png

總 結

本文介紹了 HPM6700/6400 LCD 控制器和2D圖形加速單元模塊,同時介紹了 LVGL 圖形界面庫功能及移植適配要點,并基于 LVGL 圖形界面庫開發驅動點亮LCD屏的應用示例。根據實測結果,LCD 幀率可達到60fps。官方 HPM-SDK 已將LVGL圖形庫移植適配完成,也提供了基于 LVGL 的demo示例,用戶可以非常便捷的使用HPM6700/6400 SDK 來完成LCD相關的應用開發。


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

    關注

    146

    文章

    17984

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    半導體HPM6E8Y:實時控制芯片驅動的機器人關節“芯”時代

    及產品總監費振東帶來了一款實時控制芯片驅動——HPM6E8Y。 ? ? 據費振東介紹,半導體HPM6E8Y系列高性能MCU芯片為機器人關節的高精度運動控制量身打造,具有高性能、高集成度、小封裝及簡單易用等特點。HPM6E8Y
    發表于 05-13 11:50 ?1229次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體HPM6E8Y:<b class='flag-5'>先</b><b class='flag-5'>楫</b>實時控制芯片驅動的機器人關節“芯”時代

    重磅更新 | 半導體HPM_APPS v1.9.0發布

    重磅更新 | 半導體HPM_APPS v1.9.0發布
    的頭像 發表于 05-13 11:29 ?604次閱讀
    重磅更新 | <b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體HPM_APPS v1.9.0發布

    【強勢上新】HPM5E00:EtherCAT運動控制MCU半導體再拓工業總線產品新版圖

    2025年5月6日 上海 |高性能微控制器及嵌入式解決方案提供商“上海半導體科技有限公司”(半導體,HPMicro)正式發布 新一代EtherCAT運動控制
    發表于 05-07 14:07 ?729次閱讀
    【強勢上新】HPM5E00:EtherCAT運動控制<b class='flag-5'>MCU</b>,<b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體再拓工業總線產品新版圖

    【強勢上新】HPM5E00:EtherCAT運動控制MCU半導體再拓工業總線產品新版圖

    2025年5月6日上海|高性能微控制器及嵌入式解決方案提供商“上海半導體科技有限公司”(半導體,HPMicro)正式發布新一代EtherCAT運動控制
    的頭像 發表于 05-06 11:09 ?552次閱讀
    【強勢上新】HPM5E00:EtherCAT運動控制<b class='flag-5'>MCU</b>,<b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體再拓工業總線產品新版圖

    半導體MCU具有哪些優勢?

    半導體(HPMicro)成立于2020年6月,是一家專注于高性能嵌入式解決方案的半導體企業,總部位于上海浦東軟件園。公司聚焦于研發高性能微控制器(MCU)、微處理器及配套外設芯片,并構建了完整
    發表于 04-14 10:04

    【HPMicro inside】半導體RISC-V MCU助力專業音頻技術的國產化突破

    題,匯聚全球音頻產業近百位技術領袖、權威專家及600余家聲學工程、消費電子領域領軍企業,聚焦AI人工智能與音頻技術的深度融合創新。上海半導體科技有限公司(半導體,HPMicr
    的頭像 發表于 03-31 10:39 ?714次閱讀
    【HPMicro inside】<b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體RISC-V <b class='flag-5'>MCU</b>助力專業音頻技術的國產化突破

    半導體hpm_apps v1.7.0上線

    半導體hpm_apps v1.7.0上線
    的頭像 發表于 02-08 13:41 ?660次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體hpm_apps v1.7.0上線

    半導體HPM_SDK v1.8.0 發布

    半導體HPM_SDK v1.8.0 發布
    的頭像 發表于 02-08 13:39 ?652次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體HPM_SDK v1.8.0 發布

    半導體發布高性能HPM6E8Y系列MCU

    近日,上海半導體科技有限公司,國內領先的高性能微控制器及嵌入式解決方案提供商,推出了專為機器人運動與控制設計的高性能MCU產品——HPM6E8Y系列。這一創新產品為當前蓬勃發展的機器人市場帶來了全新的活力。
    的頭像 發表于 01-23 15:40 ?676次閱讀

    半導體HPM OBOX 離線燒錄器正式發布

    在量產燒錄領域,一個令人振奮的消息傳來——終于可以擺脫上位機的束縛,實現更加高效、便捷的量產流程!這一切得益于半導體推出的離線OBOX,一款基于HPM 5361 MCU開發的創新離線燒錄器
    的頭像 發表于 01-16 15:29 ?680次閱讀

    CES 2025:半導體發布高性能機器人MCU

    半導體科技有限公司(半導體,HPMicro)閃耀登場。該公司發布了一款專注于機器人運動與控制的高性能MCU產品——HPM6E8Y系列,為當前火熱的機器人市場注入了新的活力。 HPM6E8Y系列
    的頭像 發表于 01-09 16:14 ?949次閱讀

    怎么從零基礎入門

    適合小白學習嗎,只有一點STM32基礎,網上的資料,好像入門的不多,學習群也不知道在哪里有,買了一塊HPM6E00EVK,現在只能看,無從下手,代碼架構好像也看不太明白,跟HAL庫差別很大,IDE好像也視頻資料不多,難道真的要從開始就放棄了嗎 
    發表于 10-21 13:18

    HPM6E00技術日 | 百人研討共話工業應用創新及發展趨勢

    現場交流氛圍熱烈。 活動開場,半導體市場銷售執行副總裁陳丹率先發言:“從成立之初就一直致力于為中國市場提供具有創新價值的高性能MCU
    發表于 09-02 10:14

    戰略合作丨華秋商城攜手半導體,共創新篇

    2024年7月24日,上海半導體科技有限公司(半導體,HPMicro)正式授權深圳華秋電子有限公司代理商,授權產品為先半導體芯片及
    的頭像 發表于 08-30 12:05 ?1108次閱讀
    戰略合作丨華秋商城攜手<b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體,共創新篇

    半導體hpm_apps v1.6.0上線

    半導體hpm_apps v1.6.0上線
    的頭像 發表于 08-02 08:18 ?1532次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體hpm_apps v1.6.0上線
    主站蜘蛛池模板: 一级毛片美国一级j毛片不卡 | 丁香网五月网 | 日本加勒比高清一本大道 | 亚洲欧美成人网 | 手机在线看片国产日韩生活片 | 国产精品免费久久久免费 | 6080国产午夜精品 | 久久网色 | 午夜美女久久久久爽久久 | 亚洲男人的天堂在线播放 | 亚洲网站在线看 | ts 人妖 另类 在线 | 唐人呦一呦xxxx视频 | 精品免费久久久久久成人影院 | 夜夜精品视频一区二区 | 日韩一卡 二卡 三卡 四卡 免费视频 | 99久久精品费精品国产一区二区 | www.色妞| 亚洲欧美综合一区二区三区四区 | 亚洲骚片| 久久久久久久久久久9精品视频 | 四虎影视4hu4虎成人 | 国产婷婷一区二区三区 | 成人国产亚洲欧美成人综合网 | 日本aaaa| 美女天天操 | 美女网站在线观看视频18 | 激情综合色综合啪啪开心 | 狠狠狠操 | 日美一级毛片 | 网站在线你懂的 | 婷婷97狠狠的狠狠的爱 | 在线免费观看h视频 | 成人久久精品 | 天天干天天插天天射 | 中文字幕一区二区精品区 | 在线五月婷婷 | 成人免费视频一区 | 4hc44四虎www在线影院男同 | 日韩网| 久久99精品福利久久久 |