他之前做过一个“超级集群”(supercluster),包含16颗CH32V003 RISC-V微控制器,通过8位总线连接,都有LED灯,既可以用作测试,也能炫技好看。
最近,他又尝试挑战打造“巨型集群”(megacluster),将多达16个超级集群整合在一起,总共就是256颗RISC-V微控制器。
当然,这不是简单堆叠插在一起那么简单,需要重新设计电路和走线,还得解决单个PCB电路板超大尺寸、超高功耗的问题。
为此,bitluni将两个超级集群为一对,先分别装在八个长长的所谓“集群刀片”(cluster blade)之上,而在每个刀片上还有两个CH32V203微控制器,作为每一个超级集群与8位总线之间的连接通道。
设计完毕后,他就开始手动将微控制器逐一安装在电路板上,焊接GPIO针脚,再进行组装测试,最后放在主电路板上。
完工后,bitluni使用LED灯进行测试,结果发现了一个设计缺陷:
忘了装内部时钟源,导致LED灯无法同步闪烁,很快就会陷入一片混乱,各自闪各自的。
于是,他利用自己高超的编程技术,解决了总线通信冲突,使得所有微控制器可以同步。
最终的成果就是256个RISC-V微控制器运行在48MHz,还有17颗RISC-V芯片运行在144MHz,以及640个GPIO插针、256个ADC电路,合计单核频率达14.7GHz。