0.
\ $ \ begingroup \ $

我们在这里查看PIC24FJ256GA705。它连接到FPGA,FPGA必须尽可能快地传输几kB的数据。我假设并行传输是这里最好的选择,一次并行传输16位。由于PIC和FPGA在不相关的时钟域中运行,因此必须在这里制定一些握手信号。

让我们假设一个简单的操作,PIC读取两个8位字,然后将其存储在RAM中。PIC工作在32MHz。这个简单的操作需要多少个时钟周期?我认为这是一个16位PIC,这意味着这个读数应该是可能的在一个单一的指令实际上。我还想考虑握手信号,看看能达到的最大数据速率是多少。

\ \ endgroup \美元
10.
  • 2
    \ $ \ begingroup \ $ 请注意,您应该能够在FPGA内翻译时钟域 \ \ endgroup \美元-user253751 12月2日16:19
  • 4.
    \ $ \ begingroup \ $ 宽并联输入到现代MCU是一个非常罕见的设计决策,快速串行接口或DMA支持的至少狭窄并联界面将更为典型。这听起来有点像XY问题,您可能需要重新推荐MCU和FPGA之间的任务分区。但是对于你提出的内容,速度真的是为了你来研究自己。 \ \ endgroup \美元-克里斯·斯垂顿 12月2日12月2日16:23
  • 2
    \ $ \ begingroup \ $ 您的照片应该支持SPI @> 12 MHz。你考虑过使用吗? \ \ endgroup \美元-Mitu拉吉 16:35 12月2日
  • 1
    \ $ \ begingroup \ $ “尽可能快”是毫无意义的。到来,您的系统刚刚被打破的最大转移时间,没有任何点,下面没有有利的最低限度。那么 - 那是什么范围,以及多少比特? \ \ endgroup \美元-TimWescott 12月2日20日17:12
  • 1
    \ $ \ begingroup \ $ 在功率方面,可以暂停大部分FPGA,只留下一个简单的状态机从块RAM传输数据。记住,现代逻辑的功耗很大程度上是由动态变化所主导的,如果它不是每个时钟都有块,那么它就不会占用太多时间。一般来说,MCU作为时序主处理器速度更快,因为软件可以指示而不是响应。 \ \ endgroup \美元-克里斯·斯垂顿 12月20日23:34
1
\ $ \ begingroup \ $

PIC24FJ256GA705数据表列出了一些FIFO模式,除了SPI和I2S。也许这就是你要找的。

处理FPGA中的时钟域转换。

\ \ endgroup \美元
    3.
    \ $ \ begingroup \ $

    我建议您考虑使用PIC24F DMA控制器直接将SPI数据传输到RAM。

    您必须阅读数据表来弄清楚有可能的数据速率。

    \ \ endgroup \美元

      你的答案

      点击“发布答案”,您同意我们的同意服务条款隐私政策Cookie政策

      不是您要找的答案?浏览其他标记的问题问你自己的问题