nanoDLA是实验室推出的开源逻辑分析仪,使用Cypress CY7C68013A(以下简称FX2LP)芯片方案实现(这是颗将近20年的经典芯片),最高可支持24Mhz 8通道同时采样,一般来说24Mhz的采样率,可以大概采样5Mhz左右的信号频率,这已经可以应对大多数场景的波形分析了,应对普通的uart、i2c、低速的spi协议已经绰绰有余,当然有更高需求的朋友也可以购买更高性能的逻辑分析仪,如saleae、dslogic等。

FX2LP是一颗带有USB 2.0高速的51 单片机,我认为最厉害的就是他的USB IP设计,51单片机的主频并不高,很难承载USB 480Mbps的高速通信,所以这颗芯片上设计了一个叫GPIF的IP,可以不需要CPU的干预,在GPIO和USB之间直接进行高速的数据传输,而且GPIF可以进行编程配置来实现不同协议的支持,灵活,高效。至今你仍然可以在多处看到这颗芯片的身影,典型的如FPGA和PC之间的数据传输的场景,(实际上dslogic和PC之间就是一颗FX2LP芯片用于实现高速传输),所以用于逻辑分析仪是FX2LP非常经典的一个应用。

随着开源社区sigrok的发展,FX2LP上已经可以完全可以运行开源的固件fx2lafw,配合开源上位机PulseView进行工作。当前市面上基于FX2LP的逻辑分析仪,多为使用saleae盗版固件配合盗版上位机Logic工作,对于一个开源爱好者,心里难免有些别扭,实际上PulseView的功能已经非常强大,根本不逊色于目前的商用的上位机软件,支持数不甚数的LA硬件,100多种协议分析,简单易用,而且最重要的是开源,你可以随时自己修改代码,增加新的协议支持或者新功能。

nanoDLA的所有资料,已经全部整理在github上,包括用户手册、硬件原理图、固件源码、烧写脚本等,请直接取用即可。

参考资料

https://www.cypress.com/products/ez-usb-fx2lp

https://github.com/wuxx/nanoDLA