8个SPI通信,FPGA可以胜任吗?
是这样的,之前做的一款传感器,使用AVR的芯片做主控芯片,连接相同的基于SPI通信的核心板,每个核心板控制采集三个不同的点,每个点采集速度为2ms,这样的话,顺序采集,一轮下来,需要48ms,时间有点长了,请问一下,有没有好的控制芯片,或是做在FPGA里面,做出8个SPI口,并行采集,这样的话,可以缩短为6ms。请问一下大侠们,这样做可行吗? 只要FPGA的资源和I/O口,你做80个也能 小意思啦 zkf0100007 发表于 2014-3-4 14:05小意思啦
主要是之前没有做过FPGA方面的东西,能不能推荐一款芯片,价钱不要太贵,相对来说好开发的 zkf0100007 发表于 2014-3-4 14:05
小意思啦
或是推荐一款开发板 Actel 的 A3P060 应该OK 没有问题,我的一个设备上就是这样处理的。要轮询8个spi设备,sck速度太高了。所以加了fpga,并行spi了 做硬件SPI然后把数据集中到一起吗 mkliop 发表于 2014-3-4 15:52
做硬件SPI然后把数据集中到一起吗
是啊,就是这个意思 FPGA擅长做这个了 FPGA完全没有问题
不过你采集一个点需要2ms那是多大的数据量啊?
SPI速度还是挺快的。
完全可以在其中一个设备干活的时候,
跟下一个设备通信。 y595906642 发表于 2014-3-4 18:01
FPGA完全没有问题
不过你采集一个点需要2ms那是多大的数据量啊?
SPI速度还是挺快的。
不是,主要是那些采集点需要2ms才能返回数据,数据就2个字节的 yushiqian_2012 发表于 2014-3-4 14:09 主要是之前没有做过FPGA方面的东西,能不能推荐一款芯片,价钱不要太贵,相对来说好开发的 ...
spartan 6系列 yushiqian_2012 发表于 2014-3-4 18:06
不是,主要是那些采集点需要2ms才能返回数据,数据就2个字节的
主机呼叫节点一 开始工作,
主机呼叫节点二 开始工作,
.
.
.
主机呼叫节点八 开始工作,
节点一告诉主机我干完了,主机读数据
节点二告诉主机我干完了,主机读数据
.
.
.
节点八告诉主机我干完了,主机读数据
以上循环....
一个大周期也就3ms吧 找最便宜的FPGA就足以胜任了。 y595906642 发表于 2014-3-4 18:22
主机呼叫节点一 开始工作,
主机呼叫节点二 开始工作,
.
确实,软件的问题比较大 小意思、FPGA玩的就是并行、高速、大量的数据处理 10元的epm240应该就够了 每间隔 2ms/48 的时间点上,发送读取第(n)个传感器的命令然后,读取(n+1)传感器的值,(n为48时,读取第一个),开个定时器,流水起来基本就是2ms一个周期。占用的CPU时间远不到2ms。。。 y595906642 发表于 2014-3-4 18:22
主机呼叫节点一 开始工作,
主机呼叫节点二 开始工作,
.
我先试一试啊 y595906642 发表于 2014-3-4 18:22
主机呼叫节点一 开始工作,
主机呼叫节点二 开始工作,
.
但是有可能在给从机3发送数据的时候,从机1已经读完了,这可怎么办?因为数据现在已经进来了,岂不是乱了吗? yushiqian_2012 发表于 2014-3-6 08:54
但是有可能在给从机3发送数据的时候,从机1已经读完了,这可怎么办?因为数据现在已经进来了,岂不是乱了 ...
每间隔 2ms/48 的时间点上,发送读取第(n)个传感器的命令然后,读取(n+1)传感器的值,(n为48时,读取第一个),开个定时器,流水起来基本就是2ms一个周期。占用的CPU时间远不到2ms。。。
他这个方法比我说的要清楚
你是主机 你想什么时候读数据就什么时候读, 从机数据采完了就让他等着。
总的来说就是 采样时间是2ms没错,
但是采样的时候SPI是空闲的,这段时间里面你想和别的从机通讯也好,还是主机干自己的活也好,都可以。
只有控制从机和读数据的时候占用SPI。 y595906642 发表于 2014-3-6 09:46
每间隔 2ms/48 的时间点上,发送读取第(n)个传感器的命令然后,读取(n+1)传感器的值,(n为48时,读 ...
哦,我大概明白了,今天试一下。多谢! 软件的问题,根本用不着上FPGA 加个缓冲,单片几就搞定了,大不了上dsp 我也这么做过,ARM的并行数据口接到FPGA,再分了8个SPI来控制8个器件 用cpld实现8通道4ms采样的飘过 找最便宜的FPGA就足以胜任了。 轻而易举,不费力,就像51跑马灯 mengf 发表于 2014-3-4 14:03
只要FPGA的资源和I/O口,你做80个也能
正确。{:smile:}
页:
[1]