因为项目需要驱动800*480的TFT液晶屏,同时客户对成本比较敏感,经过对比选型,最终确定使用了华芯微特的SWM32SRET6-LQFP64,这款芯片先说说优势:

硬件方面:

优点:

主频120MHZ, 集成TFT控制器,集成8MBtyes的SDRAM,可以静态驱动最大1024*768分辨率的屏,我项目驱动的是800*480的TFT,具有CAN,SPI,SDIO,UART,I2C等长用接口,并且价格很具有优势。外设设计的都很简洁实用,不像ST的外设,为了迎合很多应用场景,外设的功能设计的灵活多变,好是好,但是这样一来,寄存器太多,需要设置的太多,太繁琐,有一些有关联的功能,需要花比较多的时间研读手册,才能找出问题。 华芯微特整个开发下来,给人的感觉就是功能不花哨,能满足大部分的常规应用,写代码的时候,不需要太关注那些寄存器,直接调库,对照例程来,一切OK,经过实际调试,没有发现什么BUG之类的问题。

缺点:

1. 管脚封装最大LQFP64脚,对于外围功能较多的应用需要外部扩展IO口,我的项目中就是由于IO不够,后来扩展了IO芯片,也不知道官方是怎么想的,扩展个100脚的,它不香吗,这样应用的面就更广了,这点真的很窝火。不过,这款芯片的IO的映射功能那是真爽,可以说每个外设都可以映射到每个管脚,不过要注意的是,管脚功能分奇偶分配原则,比如说串口的RXD可以分配到所有奇数编号的引脚PXn上(n=1,3,5,7...),TXD则可以分配到所有偶数编号的引脚PXn(n=0,2,4,6,8...),如果搞反了,就只能改板子了。

2. 内部SDRAM的时钟频率太低,只有四分之一的主频,120MHZ/4 = 30MHZ,基本上驱动个7寸的屏就满带宽了,不过这款芯片的主频可以超频到200MHZ,官方放出的TFT驱动的demo就将主频超频到200MHZ,我实际项目也是用的200MHZ,在2个月的调试的过程中,没有发现什么死机之类的问题。

3. SDRAM只能按照字对齐方式读写,不能半字或者字节方式读写,也是很窝火。真是浪费了这么好的架构。

4. 驱动LCD屏的时候,如果单步调试停止,TFT会停止向SDRAM读写数据,LCD屏会白屏,不过在实际调试的时候,没有太大影响。

5. TFT没有硬件加速单元,而且无法使用DMA传输,这点太窝火了,LittleVGL驱动接口部分,只能使用纯软件打点,占用CPU资源,而且由于只能字访问SDRAM,由于使用的RGB565色彩模式,打点的时候,需要软件判断图形边界,然后做读-改-写的操作,进一步降低了FPS,我将官方的打点函数进行了重写优化,有一定的效果。另外,使用单缓冲刷新时,有比较明显的飘动感和轻微的撕裂感,帧率10帧左右,改成官方的双缓冲方式,还是有飘动感,帧率没有什么变化。并且使用双缓冲是使用纯软件复制的方式。非常耗费CPU资源。后来直接干成了单缓冲方式,有一点撕裂感,但是能接受,关键是可以腾出一块帧显存空间出来,用作它用。另外,相同的硬件配置下,LittleVGL驱动起来没有EMWIN流畅,但是,官方并没有出EMWIN的工程例子,我对EMWIN的底层不是很熟悉,猜测可能是因为SDRAM字访问限制的原因,无法使用EMWIN。 如果有朋友移植到EMWIN,可以在评论区交流交流。

软件方面:

这里必须给华芯微特点赞,库文件做的很简洁,驱动函数接口很实用,不像ST,功能多,对照例程写初始化,基本不用看芯片手册。

开发工具:

可以使用JLINK,也可以使用STLINK,实际项目是使用MDK开发的,没有使用IAR,MDK的环境的设置,可以直接复制官方的工程文件,进行修改即可,现在算法的设置和选择如下图:

如果源码文件使用了中文字符串,编译出现乱码警告,设置如下部分:

基于SWM32的LIttleVGL打点函数优化,下载地址:

优化LittleVGL驱动接口函数 disp_flush

有需要的学习或者有兴趣的朋友可以下载运行测试,如果期待大幅度提升效果的朋友,不要浪费你的资源/C币,谢谢!

华芯微特SWM32SRET6-50控制器应用记录相关推荐

  1. Nano34SR工业级开源智能硬件主板 华芯微特 SWM34SRET6

    Nano34SR是广州枇杷树科技(www.loqtree.com)开发的一款便捷灵活.方便上手的工业级开源智能硬件主板,它从低成本.小体积(普通银行卡片式大小,尺寸54x85mm).高性能方面入手,结 ...

  2. 华芯微特MCU——SWM181

    01SWM181芯片介绍 文章目录 01SWM181芯片介绍 我们来认识一下!SWM181CBT6是什么? 环境搭建教程 板子的使用都是点灯大师开始的! 记得关注噢!会持续推进学习新进度! 我们先来看 ...

  3. H7-TOOL的APP固件升级至V2.05,上位机升级至V2.05,支持CAN助手,新增华芯微特SWM和杰发科技AC78X脱机烧录(2021-05-16)

    说明: 1.增加CAN助手功能. 2.串口助手中新增串口示波器功能. 3.lua增加CAN接口API. 4.lua增加读文件接口API, f_read, f_dir. 5.DS18B20温度表,增加数 ...

  4. 华芯微特SWM320TFT屏人机交互方案手册

    1方案特点概述 TFT屏驱动人机交互方案采用华芯微特科技有限公司(附录简介)的SWM320芯片进行设计,支持输出RGB565格式,可直接读取SD卡内数据显示.最高支持驱动1024x768分辨率显示屏, ...

  5. [0]SWM181-从零开发华芯微特MCU

    [0]从零开发华芯微特MCU--SWM181 感谢韬哥发来的SWM181CBT6开发板,板子是最小系统,我们仅仅是用于熟悉这个芯片,即使上面资源不多,也丝毫不影响我们对这个芯片外设进行开发. 对SWM ...

  6. 华芯微特SWM181学习笔记--GPIO应用与环境搭建

    华芯微特SWM181 系列 32 位 MCU(以下简称 SWM181)内嵌 ARM® CortexTM-M0 内核, SWM181 支持片上包含精度为 1%以内的 24MHz.48MHz 时钟,并提供 ...

  7. RAR 5.50 控制台使用记录

    copy from  WinRAR用户手册,备忘 用户手册 ~~~~~~~~ RAR 5.50 控制台版本 ~~~~~~~~~~~~~~~~~~~ =-=-=-=-=-=-=-=-=-=-=-=-=- ...

  8. Nvidia Xavier平台CAN收发控制器调试记录

    1. 前言 由于需要接收车辆的CAN信息,就需要CAN收发功能: 正好xavier平台自带两路CAN控制器: 以下是驱动调试记录 2. 硬件连接 CAN总线获得数据使用OBD2; 连接2个CAN收发器 ...

  9. 长芯微新品LCM24711热插拔控制器可PTP替代TI TPS24711,更高ESD防护等级

    热插拔,是在带电运行的背板中插入或移除电路板.热插拔的最大风险在于插拔时会产生浪涌电流,紧接着会损毁电路板上的电容.导线和连接器.系统电压也可能会因浪涌电流而下降,使得其他连接着背板的电路板重启. 长 ...

最新文章

  1. kudu接受kafka消息_Kafka 在车好多
  2. Access violation at address 0x77f96c94
  3. SQL Server 重置SA密码语句
  4. 参考基因组中的特殊序列
  5. 2015快捷键在哪里设置_炒股软件的选择通达信软件的基本设置
  6. 将字符串中的URL 解析,获取内容
  7. 我对对象和引用的理解
  8. POJ 3267 The Cow Lexicon
  9. 怎么用PHP修改文字大小,如何利用PHP和CSS改变网页文字大小
  10. 基因表达聚类分析之初探SOM
  11. 基于JAVA+Servlet+JSP+MYSQL的图书馆座位预约系统
  12. 图像、帧、片、NALU
  13. 3dsmax2020软件安装教程
  14. c语言除法计算和取模计算
  15. ubuntu linux 郑码,如何输入间隔号 - dengyz的个人页面 - OSCHINA - 中文开源技术交流社区...
  16. 全国哀悼日,网站黑白素配方法
  17. oland显卡HDMI热插拔问题分析
  18. PAT 甲级 1108 Finding Average (20 分)
  19. ElasticSearch.bat 文件闪退 解决
  20. 交通行业大数据应用和发展现状

热门文章

  1. c语言程序设计学校运动会管理系统,C++实现学校运动会管理系统
  2. 一文读懂|什么是dToF激光雷达技术?
  3. 博云与智领云达成战略合作,携手共研云原生大数据领域
  4. Unity 手游面数控制
  5. 读书笔记_006 《查令十字街84号》
  6. CentOS8安装与配置jdk1.8 与远程分发复制jdk到另一个虚拟机
  7. 用CSS制作大背景网站,以及80个大背景图片网站。
  8. elementUI表格中气泡位置偏移
  9. 迪科斯特拉算法(Dijkstra Algorithm)
  10. ios linux远程控制软件,ios手机远程控制 ToDesk 1.0.9 iOS/iPad 版下载(远程控制软件)-520下载...