0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

测评分享 | 串口屏居然也可如此“出粽”?

先楫半导体HPMicro 2022-06-08 11:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

正值端午佳节,来自EEWORLD测评活动中的先楫体验官带着他的端午礼物-测评文章前来报到!今天让网友RCSN带我们用HPM6750玩转串口屏a72df16e-e362-11ec-b80f-dac502259ad0.png

此贴是为了后续的lvgl移植做的SPI显示屏驱动接口,由于没有RGB屏幕,只能使用SPI接口的显示屏作为UI显示。查看了官方的SDK代码的SPI例子,发现并没有SPI DMA的例子,只有poll例子。

查看了下手册,HPM6750的所有SPI接口均可达到最大80M频率,由400M频率的PLL1CLK1时钟源,最大分频为5分频得到。

a763e79c-e362-11ec-b80f-dac502259ad0.pnga7aa237e-e362-11ec-b80f-dac502259ad0.png


根据扩展接口定义,本贴使用的是SPI2,加之SPI例子中也是使用SPI2,所以工程中就以SPI2作为显示屏接口。

官方的SPI例子移植为SPI显示屏显示需要注意几个点:

一、时钟源和分频改变

官方使用的SPI时钟源是CLK_24M,也就是SPI最高只能24M频率,这对于能快速刷屏而言,24M频率是肯定不够的,结合上述的时钟分配,可以找到以下的SPI时钟初始化接口board_init_spi_clock,根据以下解释便可得到SPI的频率,最大分频为5,也就是80M,这里的SPI显示屏经测试可以达到80多M,很明显楼主使用5分频即可。

a7eda43c-e362-11ec-b80f-dac502259ad0.png

当为默认的24M频率时候,显示屏分辨率为240*280,图片放于xip flash区域,帧率大概为22fps.

a818621c-e362-11ec-b80f-dac502259ad0.png

二、SPI接口时序和数据格式更改

接口时序更改,官方SDK的SPI例子的timing_config使用的SCLK_DIV是进行过时钟频率比的,也就是说,SPI的CLK频率总是会比SPI的时钟源低,楼主是想SPI的频率与SPI的时钟源同频。时序的初始化接口是spi_master_timing_init,进入接口看下实现

a86d7d42-e362-11ec-b80f-dac502259ad0.png

看下sclk_div=0xff,根据手册可知,当为0xff时候。SPI频率与SPI时钟源同频

a89d972a-e362-11ec-b80f-dac502259ad0.png

这样一来就可以修改以下:

a8d25e88-e362-11ec-b80f-dac502259ad0.pnga90b97de-e362-11ec-b80f-dac502259ad0.pnga93ea4bc-e362-11ec-b80f-dac502259ad0.png

三、传输控制TRANSCTRL配置

这个很重要,如果配置不当,数据就无法传输,先辑的SPI接口配置比较丰富,在主机模式下,SPI不但可以传输命令、地址和数据字段,而且还可以允许软件直接控制 SPI 接口上的信号

a981c5bc-e362-11ec-b80f-dac502259ad0.png

在官方SPI例子当中,使能了命令段和地址段,而显示屏需要的仅仅是数据传输,所以需要把命令和地址段成员给禁用掉。

选择一线或者两线传输,由于所购的显示屏并不需要MISO,所以传输模式设置为只写模式即可。由此改一下代码:

a9b11128-e362-11ec-b80f-dac502259ad0.png

四、提供滴答测试刷屏帧率

若要测试刷屏帧率,则需要记录刷一张图前后的时间差,然后计算帧率。HPM6750不是ARM内核,并没有所谓的滴答定时器,不过先辑也有类似的滴答定时器,也就是机器定时器MCHTMR,由手册和官方例子移植过来即可,设置为1MS滴答。

aa09e636-e362-11ec-b80f-dac502259ad0.png

由此移植便完成,测试下刷屏帧率,取一张图,分别放于RAM和xip flash中。测试刷屏所需时间。

aa419b4e-e362-11ec-b80f-dac502259ad0.png

结果如下,用的spi显示屏240*280分辨率,没用dma,轮询方式SPI,频率为80M,ram和外置的xip flash刷图差距不大,相差1ms以下,可见虽然flash是外置的,但是性能相当可以了。比所谓的叠封spi flash设计好太多。

RAM刷图时间需要26ms左右,大概38fps+

aa6f83e2-e362-11ec-b80f-dac502259ad0.png

xip flash 刷图所需时间大概27ms,大概37fps.

aadee8a4-e362-11ec-b80f-dac502259ad0.png

验证结果是比较完美的,玩了不少国产单片机,就HPM6750这款,性能与宣传的无差多少。特别是xip flash性能。SPI外设也足够强大,在80M的SPI频率,不使用DMA的情况下,刷一整24*280分辨率的屏幕可达到35fps+,这对比其他国产的单片机,相同的SPI频率,可达不到35fps的帧率刷新。

目前官方尚未有SPI DMA的参考例子,待有DMA的再进行更新,不出意外肯定是可以达到50fps+的

仓库已更新SPI显示屏代码,欢迎star和fork。

https://gitee.com/RCSN/hpm6750evkmini_demo

以上为本次测评的全部内容,期待与更多产品测评官们共同解锁“先楫芯”的魅力!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 串口屏
    +关注

    关注

    8

    文章

    599

    浏览量

    39226
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CW32L01​⁠‬​​​⁠⁠⁠​⁠​​​​​⁠‍​‍‌‍​​​⁠​‬‌‬‌1的测评分

    CW32L01⁠‬⁠⁠⁠⁠⁠‍‍‌‍⁠‬‌‬‌1电机驱动开发板 一 、开箱与硬件解析 1. 活动与资源 首先要感谢武汉芯源官方提供的这次宝贵的测评机会。如果你对这块板子或者CW32
    发表于 11-17 08:24

    什么是组态

    —— 像后续要讲的指令和组态,只要采用串口连接方式,就能归为串口范畴,当然它们可选择其
    的头像 发表于 09-04 11:34 441次阅读

    Infineon TLE987x是否有串口的状态寄存器,可以显示串口是处于忙碌状态还是空闲状态?

    Infineon TLE987x 是否有串口的状态寄存器,可以显示串口是处于忙碌状态还是空闲状态(显示当前一帧信号的接收已完全完成)
    发表于 07-15 07:00

    情端午 同心致远——安泰电子端午节系列员工关爱活动顺利举行

    叶飘香,浓情端午端午至,香飘。在这传统佳节来临之际,安泰电子精心准备了系列员工关爱活动,把暖暖的关怀和祝福,送到了每一位员工的心坎上。5月27日,满载心意的端午福利便开启了传递之旅。公司将一份份
    的头像 发表于 05-30 18:04 683次阅读
    <b class='flag-5'>粽</b>情端午  同心致远——安泰电子端午节系列员工关爱活动顺利举行

    实时演示:拓普微串口-进度条

    串口
    SmartLCD
    发布于 :2025年04月14日 09:42:22

    启明智显两位数高性价比4.3寸触摸串口,带WIFI/蓝牙

    Model3E核心板方案触摸串口,工业级设计,2D加速,PNG/JPEG编解码,不到百元呈现复杂炫酷UI
    的头像 发表于 04-03 16:05 603次阅读
    启明智显两位数高性价比4.3寸触摸<b class='flag-5'>串口</b><b class='flag-5'>屏</b>,带WIFI/蓝牙

    如何选择国产串口

    在工业控制、智能设备等众多领域,串口作为重要的人机交互界面,发挥着关键作用。随着国内技术的飞速发展,国产串口以其出色的性能、丰富的功能和高性价比,逐渐成为市场的主流选择。那么,在琳
    的头像 发表于 03-26 18:02 636次阅读
    如何选择国产<b class='flag-5'>串口</b><b class='flag-5'>屏</b>

    串口与安卓到底有什么区别?

    不管是哪个领域,最重要的是找到最适合的技术路径,让屏幕成为功能实现的智慧窗口。串口与安卓并非非此即彼的选择,关键在于与应用场景的适配度。启明智显致力于为企业打造高性价比的智慧显示
    的头像 发表于 03-26 17:48 730次阅读
    <b class='flag-5'>串口</b><b class='flag-5'>屏</b>与安卓<b class='flag-5'>屏</b>到底有什么区别?

    实战演示:拓普微串口 开关按钮

    串口
    SmartLCD
    发布于 :2025年03月17日 11:34:26

    实战演示:拓普微串口 开关按钮制作

    串口
    SmartLCD
    发布于 :2025年03月17日 11:26:34

    Arduino+拓普微串口 轻松实现模拟信号的曲线波形显示#

    串口
    SmartLCD
    发布于 :2025年02月28日 08:39:41

    拓普微-串口视频功能演示

    串口
    SmartLCD
    发布于 :2025年02月26日 10:55:46

    3.5英寸高清智能串口 8位MCU并口通信的COG裸 或带驱动板232串口通信的智能

    3.5英寸高清智能串口 8位MCU并口通信的COG裸 或带驱动板232串口通信的智能
    的头像 发表于 02-18 14:49 766次阅读
    3.5英寸高清智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b> 8位MCU并口通信的COG裸<b class='flag-5'>屏</b> 或带驱动板232<b class='flag-5'>串口</b>通信的智能<b class='flag-5'>屏</b>

    串口如何虚拟联机调试

    串口
    广州大彩串口屏
    发布于 :2025年02月18日 11:02:19