|
本帖最后由 eefishing 于 2019-2-27 23:00 编辑 ! S( f: Z8 h. D5 U 描述 两个开发板合为为一个:第一个基于STM32的Arduino(“枫叶迷你”兼容)和第二个旋风II FPGA开发板,用来玩VHDL/Verilog。它还兼容“Multicomp”(“Multicomp”是一个模块化的VHDL设计,“运行”一些著名的复古8位CPU由Grant Searle),使选项“运行”容易VHDL SOC与Z80/6809/6502 CPU和I/O,包括高清(在SD)和彩色VDU。$ w! P2 f5 ?* }$ z, |3 ^2 Y 5 Y/ i4 d ~2 H6 \3 e; q3 A2 G 3 G2 n; r7 S/ E& \* h; T/ Q 硬件概述$ }; Y$ _0 ~, \- D , U: j# q6 [/ f4 X1 u/ O- F4 T: t( A) ] 这就是CPLD趣味板的“自然”演变。这个想法是用廉价和容易找到的组件制作FPGA板,用STM32 Arduino作为FPGA的“刺激发生器”或“伴侣”处理器,用512KB的SRAM和通用I/O作为GPIOs, VGA和PS/2键盘来“运行”HDL SOCs。 ! @9 D7 b8 ]7 Z- F/ s6 m 更重要的是,它可以选择“运行”轻松地多comp VHDL SOCs具有所需的HW。0 c+ w0 t& O4 I2 `( A* m 8 z- y% a3 F1 e4 F2 @ Multicomp是一种模块化的VHDL设计,用于“运行”Grant Searle制造的一些著名的复古8位cpu。
! G. y U# Y; k! X9 _ 这里是PCB的细节。请注意,下图中的PCB具有ENIG表面光洁度。这不是绝对必需的。您可以使用最便宜的HASL表面处理:! l ]0 l& `7 y/ e. `1 ?
1 J' V0 y; i! k$ i- g7 V PCB留给选择焊接“遗留”的SD插座(如之前的图片)或微型SD插座,如下图所示:( x# y# U/ C% u5 p( @
6 C" W* L& W2 _3 D ; o( E0 W) [0 p" {3 {( y! W STM32的ARDUINO % i( A& g9 y; H7 L9 n STM32F103C8T6单片机作为FPGA的“刺激发生器”或“伴侣”单片机,通过USB接口使用友好的Arduino IDE轻松编程。 MCU保留了五个按钮(RST, BUT, USER1-USER3)和一个led (PB1)。1 x, `$ u: n. Z! t. J 还有一个专用的GPIO连接器(GPIO1)。1 G) z1 ~6 W. t, ~& @& `% R j% F f7 Q: a& p6 b STM32F103单片机的端是“Maple Mini”兼容的,所以可以使用http://www.stm32duino.com提供的STM32F103 Arduino core(更多信息请点击这里)。想了解关于Maple Mini和stm32duino的小故事,请点击这里。 您需要首先使用廉价的“St-Link V2”加密狗通过SWD连接器(或者在串行连接器上使用串行usb适配器)来闪存引导加载程序。& M% s1 i( H9 M: M4 f+ v
. K- Z3 K6 P. k# Y0 L" x THE CYCLONE II FPGA 为了配置FPGA (EP2C5T144C8N),它使用Quartus II IDE (v13sp1免费版是支持Cyclone II FPGA的最后一个版本)和一个通过JTAG或作为连接器的廉价“USB Blaster”加密狗。 要将FPGA配置永久存储到eeprom中,您可以使用AS连接器,也可以使用具有SFL IP核心的JTAG连接器,如本Intel视频中所述。% m- i0 p: K6 J' a! j% I
FPGA保留4位7段led显示、4个按钮(USER4-USER7)和4个led (LED1-LED4,前3个为“user”led,最后一个为配置活动指示器)。 FPGA的一面也有DEV_CLRn按钮来清除所有内部FFs nCONFIG按钮强制配置重载(重启的FPGA),和一个DEV_OE开关强制所有的FPGA别针HiZ(使用DEV_CLRn按钮和DEV_OE开关必须使他们首先在第二第四的IDE)。% P! `' H/ Z/ K/ p5 m( | 还提供了机载50MHz振荡器,以及用于外部振荡器的连接器。 4 N% `! V- D; a0 `4 B; i9 k7 ? 有13条I/O线“连接”STM32和FPGA,每条线上都有一个由两个连接器(TEST1和TEST2)组成的引脚。这样就可以很容易地用作用域或LA“观察”它们之间交换的信号。) U; f9 B& X% e; r! P6 s. n 1 O# N+ J9 S! s& s& Q, D 在这13条I/O线路上,单片机端有各种外设(如串行、I2C、SPI)。 & t% {! I7 a; k) h8 y' I 在FPGA端(GPIO2连接器)还有其他22个GPIOs。注意,有些GPIO与VGA、PS/2和SD共享)。 也可以使用Arduino STM32“侧”或FPGA“侧”作为一个独立的开发板,TEST1-TEST2连接器作为普通GPIOs(在HiZ中持有另一个“侧”的插脚)。 * x5 O. _$ i; e7 R$ u$ ] 6 Z+ q0 R2 O, V3 Y9 ^/ m' `& h* A 8 o( ^1 k' j3 _& J# }2 \+ [ _ * *项目状态* * 这里必须编写大量文档来解释如何使用它……+ u, S% N6 O6 q: p8 v) f / R! d: T0 j7 p2 J) w 我还准备了一些可以运行的“一些”Multicomp示例(包括SD图像)。我可能会用github。3 Q. P. j- @( @/ U- O; l( x' T 5 b% l+ y8 M6 F7 [! Q3 h% e* _) T 如何得到一个PCB* * 像往常一样,我准备了一个“简单”的链接来获得少量(最少5个)PCB。链接是这个。6 ^2 D) k- K6 P0 F; K+ D% B' d 2 a% `" [) S; g8 O( Q: G * *学分和执照* *; w3 `' C8 S5 J1 r Multicomp VHDL是基于Grant Searle的原始工作,并以以下许可证发布:: z1 v- N3 P0 I$ b$ p/ y6 I' _ 7 w, `* n. L4 ^5 h2 U$ ]. d 下载这些文件时,您必须同意以下内容:我们尊重ROM内容的原始版权所有者。使用任何文件的内容在自己的项目中自由是允许的,但任何出版的材料包含全部或部分的任何文件分发,或来源于我在这里所做的工作将包含确认回我自己,格兰特塞尔,回到这个页面的链接。任何发布或分发的包含本页所有或部分文件的文件必须免费提供。”(http://searle.hostei.com/grant/Multicomp/index.html)。6 u- k3 j: a1 }$ @ # S, q# J' x7 u$ A8 |$ w% @ 所有的项目文件(SW和HW)都是在GPL v3下授权的。 如果您以任何方式使用本材料,请注明作者(本人 ),我们将不胜感激。) K/ \% y9 J$ {/ w $ w5 s/ \$ f4 I5 e 原创:Just4Fun 出处:http://hackaday.io/project/163683-the-thing-fpga-stm32/details7 L) p7 E9 u% _8 x9 ?3 L4 p2 i+ x9 G |/ i" `0 @% d$ Y% e0 x ( r/ [2 d7 w& A 0 \1 d: D- L; S + t' X% ]% g- X7 p+ Z3 ~; Z |
| 学习下 |
微信公众号
手机版