- 开场白
首先要感谢本次活动的主办方和赞助方——大联大WPI和面包板社区給了我这个宝贵的测评名额。申请这块开发板的主要原因是我对这款开发板简介里面提到的Anti Ghost Key和2K Report Rate这两个功能点非常的感兴趣,想要体验一下这两个Feature。有可能的话,在这基础上,进一步开发一套游戏装备。
- 开发板开箱
彩盒包装
![微信图片_20210816045506.jpg 微信图片_20210816045506.jpg](https://static.assets-stash.eet-china.com/forum/202108/16/065821eq6iqakjoqaoqlah.jpg)
开发板型号
![微信图片_20210816045509.jpg 微信图片_20210816045509.jpg](https://static.assets-stash.eet-china.com/forum/202108/16/065833mbexee39a9eselmg.jpg)
红色的开发板主体、银色的MicroUSB数据线
![微信图片_20210816045447.png 微信图片_20210816045447.png](https://static.assets-stash.eet-china.com/forum/202108/16/071559qywde7wmedduewd3.png)
USB Audio应用需要的耳机
![微信图片_20210816045501.png 微信图片_20210816045501.png](https://static.assets-stash.eet-china.com/forum/202108/16/071559dyczm0mlmxzamu01.png)
USB Audio应用需要的耳机
![微信图片_20210816045504.png 微信图片_20210816045504.png](https://static.assets-stash.eet-china.com/forum/202108/16/071559ielnbpy02umw9lge.png)
开发板正面
![微信图片_20210816045536.png 微信图片_20210816045536.png](https://static.assets-stash.eet-china.com/forum/202108/16/071604sypttppzbp12u2p1.png)
开发板反面
![微信图片_20210816045542.png 微信图片_20210816045542.png](https://static.assets-stash.eet-china.com/forum/202108/16/071607di7mhgv2ad6iann2.png)
- 开发板介绍
我们来看下开发板上面主要的芯片型号吧。
![image.png image.png](https://static.assets-stash.eet-china.com/forum/202108/16/071911kewbhsrhz0vzrvbp.png)
![image (1).png image (1).png](https://static.assets-stash.eet-china.com/forum/202108/16/071908idlkhmydhofdmy5x.png)
主芯片:NXP LPC55Sensor: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。
![image (2).png image (2).png](https://static.assets-stash.eet-china.com/forum/202108/16/071908z5z8pqqz0dzznooe.png)
![image (3).png image (3).png](https://static.assets-stash.eet-china.com/forum/202108/16/071909ifgz7aicvaaexzz9.png)
通过查看Datasheet,我们可以看到这颗芯片是系列里面的次旗舰,对于这款芯片的资源和性能,总的来说就一个词:奢华,奢华到用来做键鼠应用我都觉得有点杀鸡用牛刀。
![image (4).png image (4).png](https://static.assets-stash.eet-china.com/forum/202108/16/071909idrqadxdlradjttd.png)
另外贴一下Cortex M33内核的介绍,这是我认为的LPC55系列相对于之前我们在公开市场常见的STM32F103/303/401等MCU最大的优势。LPC55S2的内核是ARM公司的Cortex M33。下面我就借用ARM公司的官网图片简单介绍一下M33。
Cortex-M33 =Cortex-M3/M4 + 性能提升(实测大约18%) + 专用栈溢出硬件检测 + 指令集小改进 + 安全扩展(TrustZone for Armv8-M) + MPU开发者模型的友好化改进
复制代码![image (5).png image (5).png](https://static.assets-stash.eet-china.com/forum/202108/16/071909i8uluozryu0u116u.png)
- 开发板评测
- Keyboard 测试
![微信图片_20210816054123.png 微信图片_20210816054123.png](https://static.assets-stash.eet-china.com/forum/202108/16/071619pojkonoqv8f4skbb.png)
开发板上面自带了4*4 按键矩阵。
![微信图片_20210816054106.png 微信图片_20210816054106.png](https://static.assets-stash.eet-china.com/forum/202108/16/071612u0nk31fwns5fyt7s.png)
我用https://blog.seethis.link/scan-rate-estimator/这个网站来测试按键时延。
当然,因为电脑性能、浏览器性能等诸多复杂因素,网站上实际显示的时延值肯定是大于开发板本身能响应的时延值。
![image (6).png image (6).png](https://static.assets-stash.eet-china.com/forum/202108/16/071910c3f2wacu3wnunwtn.png)
- Mouse 测试
开发板上面自带的是台湾原相PixArt的PWM3389光学引擎,这也是一颗公开市场上常见的高端Sensor。
![微信图片_20210816054443.png 微信图片_20210816054443.png](https://static.assets-stash.eet-china.com/forum/202108/16/071624wwt4oeyqtoeweaoa.png)
![微信图片_20210816054438.png 微信图片_20210816054438.png](https://static.assets-stash.eet-china.com/forum/202108/16/071622m4s8m6sb9bjtvktr.png)
开发板底部用热熔胶贴了一块亚克力板,这样我们就能在测试鼠标垫上比较顺畅的滑动了,不会让开发板本身全是针脚的底面干扰我们的测试。
测试鼠标回报率,我用的是https://zowie.benq.com/en-us/support/mouse-rate-checker.html这个网站和MouseTest这个软件。
![image (7).png image (7).png](https://static.assets-stash.eet-china.com/forum/202108/16/071910eej2hnuunnbp6nrg.png)
![image (8).png image (8).png](https://static.assets-stash.eet-china.com/forum/202108/16/071910jlyzo3wqpmpmpffp.png)
再来看下大联大给的demo吧,让我们来看一下整体的代码流程。
![1.png 1.png](https://static.assets-stash.eet-china.com/forum/202108/16/071558pnp544jzrpjxxogg.png)
首先最开始,是设置系统时钟频率。
这里是将MCU的时钟频率设置为96MHZ,并没有达到MCU最高频率150MHZ。猜想可能设置为96MHZ是为了后面配合其他外设和通讯协议的频率。
然后就是设置音频时钟,以及USB时钟。
在音频时钟这里,是把PLL0设置为24MHz然后给MCLK和I2S用。
![2.png 2.png](https://static.assets-stash.eet-china.com/forum/202108/16/071558vuccafuc4yi9um5a.png)
接下来是Keyboard模块引脚的初始化。
以及两个SPI协议的初始化。第一个是把SPI0分配给了ISD4516VGBC1MAC1的RGB LED灯用的,第二个是把SPI8分配给了原相科技的PMW3389光学sensor用的。
后面接下来都是声音部分,先是进行了音频解码器SA8900的I2C、MCLK、I2S的初始化。
为了提升效率,LPC5526在与SA8900通讯的时候,为了提升传输效率,这里使用了DMA传输。
![3.png 3.png](https://static.assets-stash.eet-china.com/forum/202108/16/071558z04rro4ozougaaor.png)
这部分代码,最开始是音频解码器SA8900的初始化。
SA8900_MainGain应该是设置增益。
接下来是PWM3389的初始化。
从EZH开始,应该是硬件加速器的KeyScan代码设置了。
但是EZH的这部分代码,原本想查看他的源码,可惜这部分是编译成lib了,无法查看源码。
开发板的简评就先介绍到这里,更详细的功能测试我会找机会继续的,谢谢阅读。