- 开场白
首先要感谢本次活动的主办方和赞助方——大联大WPI和面包板社区給了我这个宝贵的测评名额。申请这块开发板的主要原因是我对这款开发板简介里面提到的Anti Ghost Key和2K Report Rate这两个功能点非常的感兴趣,想要体验一下这两个Feature。有可能的话,在这基础上,进一步开发一套游戏装备。
- 开发板开箱
彩盒包装
开发板型号
红色的开发板主体、银色的MicroUSB数据线
USB Audio应用需要的耳机
USB Audio应用需要的耳机
开发板正面
开发板反面
- 开发板介绍
我们来看下开发板上面主要的芯片型号吧。
- 主芯片:NXP LPC55
- Sensor:PWM3389DM
- LDO1:NCP161ASN180
- LDO2:NCP161ASN330
- Audio Stereo:SA8900
- Audio Amplifier:SV3H725
- LED Array:ISD4516VGBC1MAC1
- NFC:LPC8N04
下面这段引用自WPI官方介绍。
本开发套件的核心技术优势:
相关软硬件设计,可提供客户快速开发;
LPC55Sxx硬件加速器开发设计,可以协助Key Scan的运用;
LPC55Sxx对应PixArt PMW3389的光学Sensor的设计及程式;
LPC55Sxx I2S的设计,可以针对不同的Audio Res做不同对应;
主动式RGB LED的相关设计,并有相关DMA控制模式;
后续可搭配其他板子做延伸开发。
- 芯片介绍
如上文所述,开发板背面的贴纸上面写的是NXP LPC55S2X,然后通过查看文档和芯片上的丝印,我们可以了解到开发板上面实际SMT的芯片型号是LPC55S2x系列里面的LPC55S26JBD100,封装是HLQFP100,NXP称之为SOT1570-3。
通过查看Datasheet,我们可以看到这颗芯片是系列里面的次旗舰,对于这款芯片的资源和性能,总的来说就一个词:奢华,奢华到用来做键鼠应用我都觉得有点杀鸡用牛刀。
另外贴一下Cortex M33内核的介绍,这是我认为的LPC55系列相对于之前我们在公开市场常见的STM32F103/303/401等MCU最大的优势。LPC55S2的内核是ARM公司的Cortex M33。下面我就借用ARM公司的官网图片简单介绍一下M33。
- Cortex-M33 =
- Cortex-M3/M4
- + 性能提升(实测大约18%)
- + 专用栈溢出硬件检测
- + 指令集小改进
- + 安全扩展(TrustZone for Armv8-M)
- + MPU开发者模型的友好化改进
- 开发板评测
- Keyboard 测试
开发板上面自带了4*4 按键矩阵。
我用https://blog.seethis.link/scan-rate-estimator/这个网站来测试按键时延。
当然,因为电脑性能、浏览器性能等诸多复杂因素,网站上实际显示的时延值肯定是大于开发板本身能响应的时延值。
- Mouse 测试
开发板上面自带的是台湾原相PixArt的PWM3389光学引擎,这也是一颗公开市场上常见的高端Sensor。
开发板底部用热熔胶贴了一块亚克力板,这样我们就能在测试鼠标垫上比较顺畅的滑动了,不会让开发板本身全是针脚的底面干扰我们的测试。
测试鼠标回报率,我用的是https://zowie.benq.com/en-us/support/mouse-rate-checker.html这个网站和MouseTest这个软件。
再来看下大联大给的demo吧,让我们来看一下整体的代码流程。
首先最开始,是设置系统时钟频率。
这里是将MCU的时钟频率设置为96MHZ,并没有达到MCU最高频率150MHZ。猜想可能设置为96MHZ是为了后面配合其他外设和通讯协议的频率。
然后就是设置音频时钟,以及USB时钟。
在音频时钟这里,是把PLL0设置为24MHz然后给MCLK和I2S用。
接下来是Keyboard模块引脚的初始化。
以及两个SPI协议的初始化。第一个是把SPI0分配给了ISD4516VGBC1MAC1的RGB LED灯用的,第二个是把SPI8分配给了原相科技的PMW3389光学sensor用的。
后面接下来都是声音部分,先是进行了音频解码器SA8900的I2C、MCLK、I2S的初始化。
为了提升效率,LPC5526在与SA8900通讯的时候,为了提升传输效率,这里使用了DMA传输。
这部分代码,最开始是音频解码器SA8900的初始化。
SA8900_MainGain应该是设置增益。
接下来是PWM3389的初始化。
从EZH开始,应该是硬件加速器的KeyScan代码设置了。
但是EZH的这部分代码,原本想查看他的源码,可惜这部分是编译成lib了,无法查看源码。
开发板的简评就先介绍到这里,更详细的功能测试我会找机会继续的,谢谢阅读。