最近事情有些多,公众号没有坚持更新,大家见谅。前两天收到了华芯微特提供的一块开发板,今天抽时间测试了一下,感觉效果还不错,分享给大家。
之前做了一个7寸触摸屏控制器的项目,用的STM32F429IGT6+SDRAM芯片的方案。去年涨价前这款单片机的价格大概是30元左右,现在一查,单价已经超过200了,实在用不起了。。。
所以就想着找一个便宜点的方案。无意中看到了华芯微特的一个芯片SWM32SRET6,芯片特点如下:
1.Cortex-M4内核
2.最高工作频率:120MHz;
3.超大内部存储器:512K Flash、128K RAM;
4.丰富串行接口:最多4路UART、2路I2C、2路SPI、1路CAN;
5.丰富并行总线:支持SRAM、SDRAM、NOR Flash;
6.TFT-LCD控制器:支持RGB、MPU,最高分辨率1024*768;
7.内置8MB的SDRAM;
8.SDIO接口:支持SDIO接口协议;
9.DMA控制器:支持存储器、外设间的数据搬运。
其中芯片内置TFT-LCD控制器、8MB的SDRAM,非常适合做GUI的应用。内置SDRAM,省去了外接SDRAM芯片复杂的布线,也节省了MCU的引脚。于是找官方申请了一块开发板测试。看了一下开发板原理图,正好与手上的7寸屏接口一样,可以直接接上测试。
测试过程也比较顺利,我使用的是Keil的开发环境,首先需要安装芯片对应的库。官方已经提供,直接双击安装即可。之后打开测试工程,可以看到工程目录中包含了芯片的库文件、启动文件,以及移植的LittleVGL、FatFS文件系统等。与其它CortexM内核的单片机开发流程基本一样。
之后根据自己的显示屏时序修改一下程序,找到显示初始化的函数,根据显示屏的手册修改以下几个参数即可:
编译之后无错误,通过Jlink下载后观察效果。
测试程序的功能是将SD卡的几张图片加载到SPI-Flash(首次运行),再从SPI-Flash加载到SDRAM,然后几个图片依次播放刷屏。这里测试的是RGB565接口的800*480分辨率的显示屏,刷新速度还不错。测试效果如下:
只运行了一下测试程序,感觉还可以。其它的还有待测试。综合评价一些这个芯片,有其特点(内置SDRAM),也有其不足(Flash不够大,没有USB接口),做一些简单的GUI程序以及控制比较合适。
当然华芯微特也有其它系列的芯片,M0内核、M4内核都有。他们没有追求与ST的软硬件兼容,这使得开发人员转换方案可能需要点时间,但是当前ST及国产兼容方案的芯片价格飞涨,不兼容的芯片反而显得性价比比较高了,是个不错的选择。
公众号"嵌入式技术开发"