代码拉取完成,页面将自动刷新
中文 | English
本项目旨在设计一款专为CS和EE发烧友二次开发的高性能、高颜值、高自由度的客制化键盘。
按键数量 | 103+1 |
按键类型 | 3脚机械轴 |
扫描方式 | 行列式 |
全键无冲 | 是 |
灯光 | 73单色+31全彩+锁定键指示灯 |
接口 | USB+PS/2 |
最大功率 | 1.35瓦特 |
主控芯片 | EP4CE6E22C8 |
Cyclone IV E
系列FPGA控制全部板载外设,软硬件协同开发。通常,封装程度越高意味着可访问的底层细节越少(比如MATLAB),而对底层的完全掌控意味着更低的开发效率(比如汇编语言)。本项目试图采取一个折中的方案,即在保证足够的透明程度下尽量减小应用开发的复杂度。
这是广义的“软硬件协同开发”,从C语言到数字逻辑、再到电路板“全栈”开发。比如LED驱动方案,首先要设计扫描方式,然后对晶体管选型;设计出pcb后要对照FPGA引脚写出矩阵扫描的RTL代码,进而实现调节亮度的数字逻辑、连接到软核的内存映射,最后软件实现RGB色彩变换的算法等。只要你愿意,一切原理都是透明的——从C语言调用一个函数直通晶体管的电流方向。
虽然是“软硬件协同开发”,但其实并不需要你掌握每一个细节。
本仓库包含以下四个子工程。
工程 | 说明 |
---|---|
Quartus | 整个项目的出发点和落脚点。底层代码采用Verilog语言编写。 |
SpinalHDL | 使用开源的高级硬件描述语言编写顶层逻辑。 |
Qsys硬件 | 使用Platform Designer设计的片上可编程系统。(SOPC) |
Nios软件 | 采用C语言实现的应用层,运行在Qsys硬件中。 |
入门请看wiki。你可以将本项目中的部分代码移植到你的项目中,也可以按以下步骤使用本项目二次开发。
__volatile__@csu.edu.cn
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。