
开源协议
:GPL 3.0
描述
简介
最近用着STC32G12K128总感觉用着不得劲,尤其是用着屏幕的时候,虽然有I8080协议,点屏幕可以说相当舒服,不过想移植GUI的时候是真烦,因为内存的缘故,LVGL等GUI根本搞不上去,其他GUI基本都是面向ARM内核的,是真麻烦。更关键的是STC32G的主频有点低,不像ARM系列,起步就是70+Mhz的,屏幕刷新率还是上不去。后来了解到STC又出新芯片了,主频貌似高一点,于是想重新去看看,不过排了一下引脚,发现LCD与SRAM的引脚重复了,都是P0和P2,于是想着放弃了,不过最近逛开源广场的时候看到jlc出了AI8051的活动,于是还是来做吧。
硬件
SRAM
虽然管脚重复了,不过还是先预留着吧,也可以当作技术储备,这次我用的是常见的IS62C256,不过是两片,这是51系列极限的拓展模式了,SRAM的CS管脚通过一个反相器来连接,理论上只要控制管脚够,可以拓展无数个内存颗粒,不过再多的话,意义不大了,想想还是算了。
LCD
这次我用的是中景的3.5寸LCD,驱动芯片是ILI9488,就是下图这款。
用3.5寸主要是因为3.5寸的长度是96mm,刚好10*10cm的免费打样可以塞得下,至于用ILI9488是因为ugfx内带的驱动是这个,到时候移植gui起来方便。
FLASH
这次芯片升级吸引我的点就在于这个了,我又看了一下例程,里面又有QSPI到LCD的例程,这就爽了啊。所以我FLASH用的尽可能大的颗粒,考虑到FLASH超过256M后的封装都是类似QFN的封装,想想还是算了,就用256M了吧,到时候字库和图片就可以放在里面了,华邦的256M的Flash是QFN封装的,最后发现ZD系列有一个SOP封装的,就用ZD系列吧。然后为了到时候可以接逻辑分析仪,所以这次我又把管脚都通过排针拉出来了。
EEPROM
原本的意思是把IIC的管脚拉出来,不过想来IIC都拉出来了,顺手接一个外设吧,就常见的AT24系列的EEPROM芯片,翻了一下库存,发现手里竟然还有128M的EEPROM,刚好不用买了。
TYPEC
这次Typec我接了两个功能,一个是usb一个是uart,所以到时候接的时候大家注意看一下,正反插的时候功能不一样。
仿真接口
因为手上有STCLink,所以我这次用的是四针的公牛座,可以直连STCLink,旁边也加了串口,这样一个STCLink可以直连开发板了。
IO
因为是48角,基本上所有的管脚都用上了,最后剩余8个。P5.6我接了一个LED灯,顺带着加了一个电源灯,P5.7接了一个按键。这样一来就剩6个管脚了,我就全拉出来了。
总结
总得来说这次STC的芯片还是不错的,升级力度真不错,不过随着芯片功能的强大最直接的问题就是芯片的管脚不够了,这次的外设一接48个管脚就剩余几个了。然后是管脚布置,还是希望AI8051的LCM模块能像STC32系列一样可以有P6,P7的复用。感觉外接SRAM的主要问题就是用在LCM上,包括跑GUI。一般而言不加GUI也不缺内存,跑GUI内存又不够了,很蛋疼。不过AI8051的内存上来以后已经能达到LVGL的最低要求了,但是LVGL需要用C99的标准Keil的C51和C251不支持,emmm,后面看看VsCode吧。
实物图
PCB的渲染图是这样的
下面是做出来的实物图
灯已经正常点亮了,过几天再搞显示屏吧
测试
QSPI
发送0x38开启QSPI模式,然后分别测试读取SR1与SR2的流程,效果OK的
I8080
波形如下,都是OK的
显示效果可以看下面的视频
设计图

BOM


评论