打印
[ARM入门]

STM32F407

[复制链接]
楼主: 一笔带过00
手机看帖
扫描二维码
随时随地手机跟帖
21
feelhyq| | 2017-8-21 14:51 | 只看该作者 回帖奖励 |倒序浏览
这个不是主频高不高的问题了,F7可以的话,407肯定是可以的

使用特权

评论回复
22
feelhyq| | 2017-8-21 14:54 | 只看该作者
feelhyq 发表于 2017-8-21 14:51
这个不是主频高不高的问题了,F7可以的话,407肯定是可以的

是哪个AD器件每转换一次AD需要 拉低 片选,然后拉高片选吗? 另外 每开启一次AD转换,都需要407的SPI发送指令吗?  因为我问的着2个问题都需要CPU参与,如果AD每一次采样过程都需要CPU参与,那可能就有问题了。如果没有的话,那就简单了

使用特权

评论回复
23
一笔带过00|  楼主 | 2017-8-21 15:08 | 只看该作者
feelhyq 发表于 2017-8-21 14:54
是哪个AD器件每转换一次AD需要 拉低 片选,然后拉高片选吗? 另外 每开启一次AD转换,都需要407的SPI发送 ...

首先我的设想是这样啊,也不知道对不对,AD器件采集一次是通过我的时钟来控制的,比如上升沿采集或者下降沿采集数据,一块芯片上采集四个通道,然后这四个数据用DMA搬运,放到ARM的一个内存里,直到我每一个通道集满16384个数据,也就是一共65536个数据后,再触发中断,在触发中断之前,这一部分是不需要CPU参与的,我在中断函数里对这些数据进行类型转换,然后通过网口发给电脑。只有这一部分是需要CPU参与的,然后我还看到一个资料上说,可以用DMA与网口结合发送数据,这一部分还没研究。

使用特权

评论回复
24
feelhyq| | 2017-8-21 15:17 | 只看该作者
一笔带过00 发表于 2017-8-21 15:08
首先我的设想是这样啊,也不知道对不对,AD器件采集一次是通过我的时钟来控制的,比如上升沿采集或者下降 ...

那我问个问题,407发个SPI时钟给AD器件(407并不知道AD器件转换完成一次数据没有),那要是AD器件此时正在进行AD采样没有完成。那么读回来的数据就有问题了,但是DMA不管有没有问题,只要SPI 接收到数据DMA就会往内存里面搬。如此就会存在AD数据有问题(我对AD器件本身不是很了解)。

使用特权

评论回复
25
一笔带过00|  楼主 | 2017-8-21 15:30 | 只看该作者
feelhyq 发表于 2017-8-21 15:17
那我问个问题,407发个SPI时钟给AD器件(407并不知道AD器件转换完成一次数据没有),那要是AD器件此时正在 ...

这个可以通过配置SPI时钟和AD采样时钟来协调好,我有点担心的就是采样频率为192k的话,我SPI搬运一次数据的速率不知道来不来得及,不知道它能不能在下一次采集数据之前能够把当前数据存到我ARM内存里

使用特权

评论回复
26
feelhyq| | 2017-8-21 15:38 | 只看该作者
这可肯定是来得及的,192k的数据,假如一次采样是16bit,那么就是 192K*16bit = 3.072Mbit/S, SPI肯定是可以达到这个速度的。

使用特权

评论回复
27
一笔带过00|  楼主 | 2017-8-21 15:48 | 只看该作者
feelhyq 发表于 2017-8-21 15:38
这可肯定是来得及的,192k的数据,假如一次采样是16bit,那么就是 192K*16bit = 3.072Mbit/S, SPI肯定是可 ...

恩恩,顺便说一下,我的AD芯片为24位的,其实我也还在琢磨,SPI的搬运速率还是跟ARM芯片的主频有关的,所以打算买一个STM32F7开发板来玩玩啦,实在是太感谢你啦

使用特权

评论回复
28
feelhyq| | 2017-8-21 15:57 | 只看该作者
一笔带过00 发表于 2017-8-21 15:48
恩恩,顺便说一下,我的AD芯片为24位的,其实我也还在琢磨,SPI的搬运速率还是跟ARM芯片的主频有关的,所 ...

407 SPI的速度最快可以达到 几十M噢,正如你说的 407资料多,开发起来相对风险小,时间短

使用特权

评论回复
29
一笔带过00|  楼主 | 2017-8-21 16:03 | 只看该作者
feelhyq 发表于 2017-8-21 15:57
407 SPI的速度最快可以达到 几十M噢,正如你说的 407资料多,开发起来相对风险小,时间短 ...

STM32F7开发板也有详细的资料,而且我还得考虑一下后期开发的问题,所以主频能高点就高点,当然这些都是建立在详细资料的前提下啦

使用特权

评论回复
30
山东电子小菜鸟| | 2017-8-21 20:50 | 只看该作者
MARK下以后看

使用特权

评论回复
31
一笔带过00|  楼主 | 2017-8-23 10:38 | 只看该作者
feelhyq 发表于 2017-8-21 15:57
407 SPI的速度最快可以达到 几十M噢,正如你说的 407资料多,开发起来相对风险小,时间短 ...

突然看到一个问题,就是SPI的数据大小是为8位到16位,但是我的AD芯片是24位,也就是SPI传输是不行的。

使用特权

评论回复
32
feelhyq| | 2017-8-23 10:50 | 只看该作者
一笔带过00 发表于 2017-8-23 10:38
突然看到一个问题,就是SPI的数据大小是为8位到16位,但是我的AD芯片是24位,也就是SPI传输是不行的。 ...

没有问题,SPI数据设置为8位,传三次就可以了。DMA可以做到

使用特权

评论回复
33
一笔带过00|  楼主 | 2017-8-23 11:14 | 只看该作者
feelhyq 发表于 2017-8-23 10:50
没有问题,SPI数据设置为8位,传三次就可以了。DMA可以做到

也就是说24位的传3次就可以了是吧,这样我又担心速率啦,我算了一下,192k采样频率,24位,四个通道,也就是说   192k*24*4=18432k,然后我还得分三次传,那就是说18342k*3=55296kbit,这样我感觉SPI跟本传不过来啊

使用特权

评论回复
34
feelhyq| | 2017-8-23 11:20 | 只看该作者
一笔带过00 发表于 2017-8-23 11:14
也就是说24位的传3次就可以了是吧,这样我又担心速率啦,我算了一下,192k采样频率,24位,四个通道,也 ...

不是你那样算的 一通道 192K个单元 * 3byte * 8bit = 0.192*24 = 4.608Mbit/S, 如果用DMA就够了(DMA是并行的,所以只需要一通道的时间)

使用特权

评论回复
35
feelhyq| | 2017-8-23 11:22 | 只看该作者
本帖最后由 feelhyq 于 2017-8-23 11:24 编辑
一笔带过00 发表于 2017-8-23 11:14
也就是说24位的传3次就可以了是吧,这样我又担心速率啦,我算了一下,192k采样频率,24位,四个通道,也 ...

需要考虑的是 MCU在发出SPI时钟读数据的时候保证好ADC芯片数据准备好了,这个才是我担心的问题。能否把AD芯片手册给我看看

使用特权

评论回复
36
一笔带过00|  楼主 | 2017-8-23 11:29 | 只看该作者
feelhyq 发表于 2017-8-23 11:20
不是你那样算的 一通道 192K个单元 * 3byte * 8bit = 0.192*24 = 4.608Mbit/S, 如果用DMA就够了(DMA是并行 ...

DMA是并行的,但是我是用一块AD芯片采集四个通道的,所以DMA并行也没什么用啊,那么只需要一通道的时间我就不知道怎么理解啦

使用特权

评论回复
37
一笔带过00|  楼主 | 2017-8-23 11:34 | 只看该作者
feelhyq 发表于 2017-8-23 11:22
需要考虑的是 MCU在发出SPI时钟读数据的时候保证好ADC芯片数据准备好了,这个才是我担心的问题。能否把AD ...

我的AD芯片AK5388,然后我不知道这个怎么发数据手册,发邮件?

使用特权

评论回复
38
feelhyq| | 2017-8-23 11:52 | 只看该作者
一笔带过00 发表于 2017-8-23 11:34
我的AD芯片AK5388,然后我不知道这个怎么发数据手册,发邮件?

我有空看看

使用特权

评论回复
39
一笔带过00|  楼主 | 2017-8-23 14:20 | 只看该作者

好人啊,实在是太感谢啦

使用特权

评论回复
40
qq849938069| | 2017-8-23 14:53 | 只看该作者
feelhyq 发表于 2017-8-21 14:32
还有一点,407 SPI应该是作为主机吧? 如果407 SPI作为主机,407怎么知道AD器件什么时候采样完成呢? ...

有SPI的ADC芯片当采样完成,有一个数据脚电平会翻转,说明采样完成的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则