你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

“突变的怪形”:FPGA + STM32

[复制链接]
eefishing 发布时间:2019-2-27 22:57
本帖最后由 eefishing 于 2019-2-27 23:00 编辑
, Q) j5 W' o) b: B! S( f: Z8 h. D5 U
描述
3 x; y  K1 \% _0 @两个开发板合为为一个:第一个基于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

" |/ i2 {# Q9 g

) J! N" w/ v! E) g* Y, a

, f$ f# {7 S4 h% q; j6 y5 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) ]

9 b8 ^. x( O' F这就是CPLD趣味板的“自然”演变。这个想法是用廉价和容易找到的组件制作FPGA板,用STM32 Arduino作为FPGA的“刺激发生器”或“伴侣”处理器,用512KB的SRAM和通用I/O作为GPIOs, VGA和PS/2键盘来“运行”HDL SOCs。
$ D- S& H! f  F, T! @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。
- j' l9 X' O2 @, Y0 ]
586511550851699908.jpg
5670431549027538700.jpg
7 P) w5 L/ _) b7 [- U% y0 M! G. y  U# Y; k! X9 _

6 E* X) h; H+ V" D这里是PCB的细节。请注意,下图中的PCB具有ENIG表面光洁度。这不是绝对必需的。您可以使用最便宜的HASL表面处理:
! l  ]0 l& `7 y/ e. `1 ?
5963461549100391570.jpg 8 Z8 Q: x4 w' e  x6 ~5 M0 X
1 J' V0 y; i! k$ i- g7 V
PCB留给选择焊接“遗留”的SD插座(如之前的图片)或微型SD插座,如下图所示:( x# y# U/ C% u5 p( @
6173761550851579547.jpg / f1 H; C2 a. @5 `; @- F
6904591549020142573.jpg
' C' w4 _0 b" a8 G1 H5 a" m
5 n' ^0 a# Q# `7 {
6 C" W* L& W2 _3 D
; o( E0 W) [0 p" {3 {( y! W
STM32的ARDUINO
1 ?3 }. Q- i* Z$ |% n9 L" @/ x% i( A& g9 y; H7 L9 n
STM32F103C8T6单片机作为FPGA的“刺激发生器”或“伴侣”单片机,通过USB接口使用友好的Arduino IDE轻松编程。
7 H) |9 u: R% ]# i% w( `
1 ^" Y6 U8 [4 X. XMCU保留了五个按钮(RST, BUT, USER1-USER3)和一个led (PB1)。1 x, `$ u: n. Z! t. J

; O7 ~* k8 ^+ e  f3 L还有一个专用的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的小故事,请点击这里。
& Z* s3 F) J9 P! J" L
& h2 u7 p$ s2 v您需要首先使用廉价的“St-Link V2”加密狗通过SWD连接器(或者在串行连接器上使用串行usb适配器)来闪存引导加载程序。& M% s1 i( H9 M: M4 f+ v
7144291504254066818.jpg 1 ^1 T! A7 M5 x6 ?, N  q

" S5 i/ h1 B% Y4 R  l& Z

' w% u! ]; ]$ D! J8 R# P3 `& c. K- Z3 K6 P. k# Y0 L" x
THE CYCLONE II FPGA
* S6 e) l2 l6 s6 `3 V) |' _+ u
, B% U" O! v% p, J; e为了配置FPGA (EP2C5T144C8N),它使用Quartus II IDE (v13sp1免费版是支持Cyclone II FPGA的最后一个版本)和一个通过JTAG或作为连接器的廉价“USB Blaster”加密狗。
$ D3 F: @% R6 l, b0 y" q; ~9 a2 O
; l" K/ u  s" b要将FPGA配置永久存储到eeprom中,您可以使用AS连接器,也可以使用具有SFL IP核心的JTAG连接器,如本Intel视频中所述。% m- i0 p: K6 J' a! j% I
8717831504254158550.png 7 g# F/ ?" m1 w5 x# l# c2 G# }* k% a# N

9 t8 P4 L2 G, r$ h* x( Q2 w4 KFPGA保留4位7段led显示、4个按钮(USER4-USER7)和4个led (LED1-LED4,前3个为“user”led,最后一个为配置活动指示器)。
" W1 ^2 P% O: w0 \2 s" Q$ `8 Y0 Y0 o
( @' ~6 \* c1 V; iFPGA的一面也有DEV_CLRn按钮来清除所有内部FFs nCONFIG按钮强制配置重载(重启的FPGA),和一个DEV_OE开关强制所有的FPGA别针HiZ(使用DEV_CLRn按钮和DEV_OE开关必须使他们首先在第二第四的IDE)。% P! `' H/ Z/ K/ p5 m( |

2 ~' E& J+ I9 E8 O# z& e* ]还提供了机载50MHz振荡器,以及用于外部振荡器的连接器。
: M$ |" M$ A1 T# i# w  {$ S' @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)。
: z- z! R4 {) p$ D  Q7 o* |& t% {! I7 a; k) h8 y' I
在FPGA端(GPIO2连接器)还有其他22个GPIOs。注意,有些GPIO与VGA、PS/2和SD共享)。
& V; ?- \4 c, t8 O也可以使用Arduino STM32“侧”或FPGA“侧”作为一个独立的开发板,TEST1-TEST2连接器作为普通GPIOs(在HiZ中持有另一个“侧”的插脚)。
3 q. ?) d8 o! [" j% s7 R* x5 O. _$ i; e7 R$ u$ ]

6 Z+ q0 R2 O, V3 Y9 ^/ m' `& h* A
8 o( ^1 k' j3 _& J# }2 \+ [  _
* *项目状态* *
1 y- j( w% }, }6 r) H) `6 o1 a' t
7 A( S, S- `+ j* B+ e# j7 ^2 s这里必须编写大量文档来解释如何使用它……+ 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* *
( |2 x3 o6 I, P
1 N  d6 M/ A5 P  o: |# |, q像往常一样,我准备了一个“简单”的链接来获得少量(最少5个)PCB。链接是这个。6 ^2 D) k- K6 P0 F; K+ D% B' d

" D' }/ W1 p8 e3 `$ t# a8 r

2 \5 V$ C5 e% m; ~2 a% `" [) S; g8 O( Q: G
* *学分和执照* *; w3 `' C8 S5 J1 r

/ P( R! ?$ f! G1 x, B: i! ~2 wMulticomp 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下授权的。
% h6 x2 z7 N% H0 C5 e
. L# z' k# k# h- P如果您以任何方式使用本材料,请注明作者(本人),我们将不胜感激。
8 `, ?% A' M* t* a/ }
) K/ \% y9 J$ {/ w
$ w5 s/ \$ f4 I5 e

2 t5 w7 L- s( f) O9 ^2 G原创:Just4Fun
! [6 R4 m9 U% k: W出处: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

, v8 y" d/ `9 |: e

" D3 R  D. }( }9 C8 U4 n0 \1 d: D- L; S
+ t' X% ]% g- X7 p+ Z3 ~; Z
赞 收藏 评论1 发布时间:2019-2-27 22:57

举报

1个回答
Kevin_G 回答时间:2019-2-28 18:23:28
学习下
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版