# SWM34_HMI_Core_Board **Repository Path**: Muub/SWM34_HMI_Core_Board ## Basic Information - **Project Name**: SWM34_HMI_Core_Board - **Description**: SWM34 HMI核心板测试程序 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-08-16 - **Last Updated**: 2026-03-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
因最近有对人机交互的需求,对比了各种厂家的芯片,发现了一款极具性价比的屏驱MCU——华芯微特SWM34SVET6,自带8MB的SDRAM免去了复杂的SDRAM布线更方便驱动RGB接口屏幕,关键不到15元的价格也极其诱人,所以趁立创彩色丝印活动制作了这款SWM34SVET6-HMI开发板。
• SWM34S系列采用安谋科技"星辰"STAR-MC1内核,最高工作频率150MHz,512KB Flash,64KB SRAM,2、8、16MB SDRAM
• 1个RGB565接口(64Pin),1个RGB888接口(100Pin),JPEG硬件解码器,DMA2D
• USB OTG*1,I2C*2,SPI*2,UART*4,I2S*2,CAN*2,SDIO*1
• 5个32位高级定时器,3个比较器,4个运放,1个DAC,2个12位19通道SAR ADC
• 3.0-3.6V工作电压,-40℃-85℃工作温度范围,LQFP48/QFN80/LQFP64/LQFP100封装
(唯一感觉少了个VBAT外部供电,掉电时RTC无法继续工作)
项目地址:
https://oshwhub.com/hty12138/swm34svet6-development-boards主控芯片为预留出更多可用的IO口,采用RGB565接口输出,引出两路串口方便后续外设调试。因没有VBAT外部供电,所以未留出LSE时钟接口。
根据芯片数据手册可知VDDA12与CAP之间接1uF电容并靠近29脚,22引脚用作ISP在系统编程模式:当芯片上电后检测到ISP引脚持续5ms以上高电平后进入ISP模式,默认使用B12(RX)和B14(TX)作为串口通信使用。
通过手册知,SWM34S容忍5V的IO比较少,仅N4/N5/D15,所以就未使用CH552G-DAPLink电路,改用排针接口下载。
① 芯片供电
采用德州仪器的TLV62569DBVR进行5V降压供电,一款2.5-5.5V输入,0.6-5.5V/2A/1.5MHz输出的DC-DC电源芯片。
用不到4毛钱的价格即可以获得高达2A的电源供电,而且芯片与矽力杰的SY8089A1AAC电路几乎相同,无脑囤100K、22.1K、2.2uH和电源芯片就行了。
② 屏幕供电
因为喜欢用裸屏开发,所以开发板需要增加屏幕供电电路来对RGB屏幕实现供电。本次使用耀元鸿7寸RGB屏幕,根据屏幕手册可知屏幕需要VDDA、VGH、VGL、VCOM、DVDD四种不同电压供电。
根据厂家指导手册,屏幕供电使用拓尔微的STI3508电源芯片,STI3508支持2.5-7V输入,高达28V/3A/1MHz的可调升压输出,采用150K、10K电阻进行分压获得10.6V的供电电压。然后经过BAT54S双二极管的升压电路与负压电路获得所需的VGH、VGL电压。VCOM则使用两个电阻分压获得。
③ 背光供电
背光电路使用拓尔微的STI9287进行供电,通过改变R45阻值大小进行屏幕背光调节,通过IO口控制芯片EN使能引脚进行屏幕调光。
通信接口设计了一路USB转串口通信,方便直接使用数据线进行日志信息打印;一路USB-OTG电路,方便对USB功能开发(因对USB开发不熟悉,CC引脚接线有待验证);一路485通信,使用螺钉式接线端子方便外接传感器进行组网通信。可换用SSP485N无极性RS-485收发器芯片更加方便接线。
EEPROM使用英锐芯的AD24C02,I2C总线上若不需要挂载过多器件,使用3毛钱无法修改I2C地址的串行电可擦除存储器即可。(无上拉电阻,使用时IO口配置为开漏上拉即可使用)
Nor-Flash使用一片带QSPI接口的W25Q128方便进行内存映射,另一片则使用SPI接口的ZD25WD20CTIGT进行字库图片等数据的存储。SD卡座则使用XKTF-0803-0,一款小巧的拔插式Micro SD卡座。
RGB屏幕接口用了三个FPC座子,1个40Pin接口适用反客科技7寸(800*480)屏幕,另一个40Pin接口适用4.3寸RGB屏幕,50Pin接口则适用7/10.1寸RGB屏幕。因PCB空间有限,4.3寸与10.1寸屏幕的触摸接口暂未预留。
① 音频输出:使用FM8002A进行单通道音频输出。
② 时钟电路:因SWM34S芯片无VBAT外部供电,则增加了一个DS1302时钟芯片提供时间数据。因DS1302支持2-5.5V供电所以使用超级电容作为备用电源供电。
③ IO输入输出部分:附有蜂鸣器、LED状态提示电路、三路ADC采集电路与7路ULN2003驱动电路,通过排针与螺钉式接线端子进行连接。
参考华芯微特官方例程与反客科技SWM34S开发板例程,对工程参考并移植,修改为自己熟悉的工程目录框架。
在实际使用时发现开发板预留电源接口不够多,串口通信或ADC采集时没有参考GND接口,后续有待提高。
• 反客7寸(800*480分辨率)屏幕测试
• 4.3寸(480*272分辨率)屏幕测试
• 7寸(1024*600分辨率)屏幕测试(屏幕分辨率较大时,刷屏状态会比较明显)
• 基础测试:lvgl_conf.h中默认显示刷新周期改为1ms,最大170FPS左右,刷新流畅。
• 单缓冲配置:触摸响应快但是滑动时界面刷新非常卡顿。
• 全屏幕双缓冲:触摸响应变慢不适合快速触摸的UI,屏幕刷新撕裂感减轻。
通过读取SD卡内的avi文件播放,撕裂感低。
SWM34S内部资源有64KB SRAM,512KB Flash,8MB SDRAM。SRAM可作普通程序运行缓存使用,而屏幕显存与LVGL资源可配置到SDRAM空间去,内部Flash有512KB,存储大量图片字库等文件是远远不够的,可以通过SD卡或者Nor Flash先存储素材资源,程序运行时可以将数据读取到SDRAM而加快程序运行。
在需要大存储的程序中,参考官方例程与反客科技的配置,图片字库数据需要分散加载配置,将数组指定到片外Flash,然后通过外部Flash下载算法下载到W25Q128,通过配置的sct分散加载文件,将Flash数据上电先存储到SDRAM然后执行程序。
总之,华芯微特这款SWM34单片机还是十分值得学习的,虽然被Cube MX惯坏了但是SWM34的例程还是很容易理解的,开源的LVGL例程也很值得学习,通过学习这款单片机不用再像STM32H743那样无脑存ROM了,合理的资源分配也成为开发思维进阶的一个新门槛。后续对SWM34的应用继续学习研究。