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

【银杏科技ARM+FPGA双核心应用】STM32H7系列4——TIMER

[复制链接]
heart蓝色CD 发布时间:2020-3-23 09:16
一、硬件平台
* Z, L0 X5 k5 K* B9 a
. s; f1 i1 T! C" d3 G  @ icore4t.png 1 u, `/ z3 G9 s  h. `# e
$ Z0 ~8 \  j8 p" c- Z
二、实验简介6 p# D( v8 Y4 M: `: ^# N% R
本实验基于ARM+FPGA超mini款iCore4T双核心板,一步一步带你利用STM32CubeMx工具完成对通用定时器TIM3的基本配置,实现500ms的定时功能。$ q$ O8 N# C) c# m1 `; N( F
通过编写通用定时器中断回调函数的内容以实现对板载LED的定时控制; {+ l" o" l2 g0 G3 s" H, W/ I
7 K- a) `* e# C( `
三、资料下载(实验源码+详细文档操作说明)4 |/ y0 F8 b( ~3 v! O) \* {0 ^
1、源代码
  q9 L: F* W& a3 u 5_timer.zip (912.46 KB, 下载次数: 11)
赞 收藏 评论15 发布时间:2020-3-23 09:16

举报

15个回答
maxtch 回答时间:2020-3-24 01:01:19
下次来一个 STM32MP1 + FPGA 的版本吧。(有点像 Zynq?)# J! ~/ w7 H# g% ?- e" V
还有,建议取消 FPGA 上的 Flash 颗粒,改成通过 SPI 或 FMC 来连接 FPGA 和 STM32,同时相应配置 FPGA 的启动模式为 SPI 从设备或并行接口。这样的话在实际应用中,FPGA 完全依赖 STM32 启动,两者的软件可以同时更新;同时 FPGA 启动接口兼做与 STM32 之间的高速通信接口,节省 FPGA 管脚。至于说 SPI 闪存颗粒,可以完全取消,也可以改接 STM32 的 QSPI 接口。另外,FPGA 有源晶振也可以取消,改成由 STM32 通过 MCO 向 FPGA 输出时钟。其三,FPGA 的 nPROG 和 STM32 的 nRESET 可以接在一起,使得两者可以一起复位。这样做的话,FPGA 独立支持电路几乎完全取消,彻底作为 STM32 的外设来使用。8 V6 p" P& @6 b' ]

0 M" a2 V( k- U5 }! O我有设计过一款 AGM FPGA + STM32L4 的开发板,就是这样的设计结构:FPGA 配置成 SPI 启动,接在 STM32 的 SPI 管脚上;STM32 同时负责通过 MCO 给 FPGA 提供时钟;两者的复位信号也是接在一起;另外在 STM32 挂了一片 QSPI 闪存来存放 FPGA 配置数据。" ~5 H7 O# \; q3 H" b! g6 P9 ?
heart蓝色CD 回答时间:2020-3-24 08:27:12
maxtch 发表于 2020-3-24 01:01+ p; x- g' W: l9 L1 p
下次来一个 STM32MP1 + FPGA 的版本吧。(有点像 Zynq?)
1 G1 t* m& o$ e- J: ]8 @! ^5 ~还有,建议取消 FPGA 上的 Flash 颗粒,改成通过 ...
. }1 J& V7 E$ z
FLASH颗粒在iCore4T中已经选配了,默认不焊接,只留出了位置对一些只开发FPGA的用户提供方便。目前STM32MP1+FPGA已经在原理图阶段了,ARM+FPGA计划QSPI连接。另外其他的两点可以考虑哦
maxtch 回答时间:2020-3-24 11:34:55
heart蓝色CD 发表于 2020-3-24 08:272 e- O7 q+ \" }
FLASH颗粒在iCore4T中已经选配了,默认不焊接,只留出了位置对一些只开发FPGA的用户提供方便。目前STM32M ...

' m  l/ S( A1 d8 ?( A6 M& cQSPI 的话要注意兼容性问题,而且由于 STM32 QSPI 的特性 FPGA 端开发可能会有困难。我觉得 FMC 会更合适一点。
heart蓝色CD 回答时间:2020-3-24 16:58:36
maxtch 发表于 2020-3-24 11:347 c7 V0 x8 a' ~" ^2 s0 }5 M
QSPI 的话要注意兼容性问题,而且由于 STM32 QSPI 的特性 FPGA 端开发可能会有困难。我觉得 FMC 会更合适 ...

' s4 m. y8 v/ ^QSPI跑个几十MB的速度已经完全够用了,比起来FMC节省了不少IO资源
maxtch 回答时间:2020-3-25 03:10:06
heart蓝色CD 发表于 2020-3-24 16:58
' l$ ?1 R+ _" t  q; |* V6 iQSPI跑个几十MB的速度已经完全够用了,比起来FMC节省了不少IO资源

) j# d; U9 C1 O& ^# aFMC 在 FPGA 一侧要方便的多:
  • 其一,FMC 的确费 IO,但几乎所有厂家都有现成的 IP 核可以简单地把 FMC 接口转成片内总线接口:Avalon、AXI4、Wishbone、AHB-Lite 等等,用起来简单的多。
  • 其二,FMC 接口相当于将 ARM 侧的内部总线直接引出,可以支持内存映射模式下写数据、等待状态、批量传输、DMA 访问等总线模式,功能强大得多;STM32 的 QSPI 虽然支持内存映射,但是不支持内存映射模式下发写指令,也不支持等待状态。
  • 其三,FMC 接口可以轻易兼容 FPGA 的并口启动模式,同一组接口直接就地复用。
  • 其四,FMC 接口启动 FPGA 的代码非常简单,只要通过 DMA 或 CPU memcpy 函数把 FPGA 字节流复制到 FPGA 地址范围就可以,字节流可以是某处闪存(片内闪存或 QSPI Flash 皆可)也可以是别的外设(USB、网络等等)。
  • 其五,FMC 的数据吞吐量远大于 QSPI。
  • 其六,对于 STM32MP1 或其他基于 Linux 的方案,通过 FMC 来启动 FPGA 和访问其中的逻辑单元有现成的主线驱动(其实就是直接借用 Zynq 的代码)但通过 QSPI 由于没有现有驱动,需要用户或贵公司自行开发维护。# t" T, n- L1 `; g% P
5 O3 C8 t' U( ?& g+ }! @
zhuzhe 回答时间:2020-3-25 14:27:53
沙发,学习
wker83e103 回答时间:2020-11-30 18:28:40
先收藏学习学习
zhuzhe 回答时间:2020-12-18 08:58:02
实货,学习一下
wszys 回答时间:2020-12-19 16:43:44
精彩实用的内容
稳稳果 回答时间:2021-1-6 14:07:54
真不赖
wszys 回答时间:2021-1-15 08:47:54
感谢分享,很实用
wszys 回答时间:2021-1-20 12:58:43
很详细,值得学习
wker83e103 回答时间:2021-1-25 19:42:20
资料不错,学习学习
wker83e103 回答时间:2021-2-1 18:16:52
板子资源很丰富,教程也很好。
12下一页

所属标签

相似技术帖

官网相关资源

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