1539|5

1418

帖子

6

资源

版主

[先楫HPM6750测评之四]SPI外设验证两种刷屏性能 [复制链接]

本帖最后由 RCSN 于 2022-5-8 19:05 编辑

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

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

image.png

 

image.png

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

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

 

  一、时钟源和分频改变

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

image.png        

  当为默认的24M频率时候,帧率大概为19fps

 

1652007804(1).png

      当设置为66M频率时候,还没使用DMA,SPI轮询方式可达到30fps+. 这个速度相对其他国产的MCU而言,同等频率可高太多了

1652007900(1).png  

  

        

个人签名

1084534438 欢迎交流  [加油,一切皆有可能]


回复

1418

帖子

6

资源

版主

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

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

 

image.png

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

 

image.png

 

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

 

image.png

 

          数据格式更改,根据显示屏手册进行相同的数据配置即可。修改以下格式

  image.png

 

image.png    

      

个人签名

1084534438 欢迎交流  [加油,一切皆有可能]


回复

1418

帖子

6

资源

版主

  三、传输控制TRANSCTRL配置

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

image.png

        在官方SPI例子当中,使能了命令段和地址段,而显示屏需要的仅仅是数据传输,所以需要把命令和地址段成员给禁用掉。选择一线或者两线传输,由于所购的显示屏并不需要MISO,所以传输模式设置为只写模式即可。由此改一下代码:

 

     1652009595(1).png    

个人签名

1084534438 欢迎交流  [加油,一切皆有可能]


回复

1418

帖子

6

资源

版主

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

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

 

     1652009866(1).png      

个人签名

1084534438 欢迎交流  [加油,一切皆有可能]


回复

1418

帖子

6

资源

版主

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

1652009985(1).png      

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

 

           RAM刷图时间需要29ms左右,大概34fps

 

1652010047(1).png

   xip flash 刷图所需时间大概31ms  ,大概32fps.

 

1652010085(1).png  

个人签名

1084534438 欢迎交流  [加油,一切皆有可能]


回复

1418

帖子

6

资源

版主

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

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

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

1652011123(1).png  

个人签名

1084534438 欢迎交流  [加油,一切皆有可能]


回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

最新文章 更多>>
    推荐帖子
    OP07的输出电流

    本帖最后由 萤火 于 2017-12-21 22:39 编辑 各位老师,我想设计一个传感器的供电电路,要求供电电压稳定,供电电压为10V,电 ...

    诚聘嵌入式工程师

    岗位职责: 1. 参与项目启动、开发、实施、结束全过程; 2. 充分理解业务需求说明书描述内容; 3. 参与系统概要设计和详细 ...

    下载有礼|精华课件汇编:泰克半导体器件研究交流会暨吉时利测试测量年度研讨会

    活动详情:下载有礼|精华课件汇编:泰克半导体器件的表征及可靠性研究交流会暨吉时利测试测量年度研讨会 活动时间:即日 ...

    IKS01A3驱动移植,STM32G474RE的LPS22HH气压温度检测

    测量LPS22HH气压和温湿度通过串口打印 430151 /* Includes --------------------------------------------------- ...

    【工程源码】基于FPGA的Verilog代码命名六大黄金规则

    Verilog代码命名六大黄金规则 FPGA开发圈  关于Verilog代码中命名的六大黄金规则。   1. 系统级信号的 ...

    2022得捷电子创新设计大赛+ESP32-S2-KALUGA1开箱贴

    本帖最后由 _冷却 于 2022-6-15 19:15 编辑 目前收到三件物料: 1.ESP32-S2-Kaluga-1开发套件 整体外观 614501 ...

    关闭
    站长推荐上一条 1/8 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表