打印
[综合信息]

华芯微特SWM32SRET6-50控制器应用记录

[复制链接]
309|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
因为项目需要驱动800*480的TFT液晶屏,同时客户对成本比较敏感,经过对比选型,最终确定使用了华芯微特的SWM32SRET6-LQFP64,这款芯片先说说优势:

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

使用特权

评论回复
评论
雨果喝水 2023-7-24 12:30 回复TA
———————————————— 版权声明:本文为CSDN博主「皮皮几」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/liufan2007/article/details/120630287 

相关帖子

沙发
雨果喝水|  楼主 | 2023-7-24 12:30 | 只看该作者
缺点:
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,可以在评论区交流交流。

使用特权

评论回复
板凳
雨果喝水|  楼主 | 2023-7-24 12:30 | 只看该作者
软件方面:
这里必须给华芯微特点赞,库文件做的很简洁,驱动函数接口很实用,不像ST,功能多,对照例程写初始化,基本不用看芯片手册。

使用特权

评论回复
地板
雨果喝水|  楼主 | 2023-7-24 12:31 | 只看该作者
开发工具:

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

使用特权

评论回复
5
雨果喝水|  楼主 | 2023-7-24 12:32 | 只看该作者

使用特权

评论回复
6
雨果喝水|  楼主 | 2023-7-24 12:32 | 只看该作者
如果源码文件使用了中文字符串,编译出现乱码警告,设置如下部分:

使用特权

评论回复
7
tpgf| | 2023-8-8 15:32 | 只看该作者
这种需要驱动液晶屏的 是不是都需要烧写字库啊

使用特权

评论回复
8
nawu| | 2023-8-8 16:04 | 只看该作者
如果楼主没有其他需求的话 这个芯片也完全满足要求了

使用特权

评论回复
9
aoyi| | 2023-8-8 16:20 | 只看该作者
大部分的芯片内部SDRAM的时钟频率一般能达到主频的多少啊

使用特权

评论回复
10
zljiu| | 2023-8-8 16:44 | 只看该作者
当编译出现乱码警告的时候,为什么要这样设置呢

使用特权

评论回复
11
gwsan| | 2023-8-8 17:03 | 只看该作者
为什么要人为修改ram的大小呢 改成多大比较合适呢

使用特权

评论回复
12
tfqi| | 2023-8-8 17:26 | 只看该作者
都有哪些算法可以供我们选择使用呢

使用特权

评论回复
13
yangxiaor520| | 2023-8-9 07:46 | 只看该作者
64引脚用并行控制接口?那你IO够用吗?

使用特权

评论回复
14
shiweicl1314| | 2024-2-23 11:42 | 只看该作者
本帖最后由 shiweicl1314 于 2024-2-29 13:33 编辑

我目前也在为驱动LCD选择合适的MCU犯愁,主要就是一般MCU的RAM不够,然后过来这边想着用SWM32S,不过看到楼主说的SDRAM不支持字节操作同时频率还这么低放弃了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

71

主题

1071

帖子

0

粉丝