Anteater 发表于 2016-5-28 09:53:33

Cortex-R5 编程水贴

重新把之前做出来的那个飞控板翻出来,仔细读读手册发现用Cortex-R5还是挺有趣的,

比如读传感器数据,基本上不用CPU操作全靠硬件实现。

觉得挺好玩,就发出来让大家一乐

找个Timer产生400 Hz的方波,方波的上升沿触发SPI传输,由于SPI的队列深度可编程,因此一个触发事件就可以把所有传感器读个遍(3个陀螺,1个加速度计,1个罗盘和一个气压计),在SPI读取队列最后,触发DMA传输,直接传输到
内存的传感器变量的地址,DMA完成之后触发中断,在ISR里面进行解算和控制。

实际上对于一个300MHz的单片机来说,处理器计算能力根本上是过剩的,这个根本不省多少时间,只是觉得这种方法比较有比格:)

xiaohewanwan 发表于 2016-5-28 11:07:40

本帖最后由 xiaohewanwan 于 2016-5-28 11:08 编辑

Cortex-R5只是一个cpu core而已,你说的都是外设的功能,和Cortex-R5没什么关系吧

GoingDown 发表于 2016-5-28 11:16:33

哪个公司的芯片,竟然有R5核的。

Anteater 发表于 2016-5-31 10:27:10

xiaohewanwan 发表于 2016-5-28 11:07
Cortex-R5只是一个cpu core而已,你说的都是外设的功能,和Cortex-R5没什么关系吧 ...

你这么一说也是哈跟核心没关系跟核心相关的只有汇编优化了吧 其他都是外设……

应该改成mcu外设编程……

Anteater 发表于 2016-5-31 10:27:48

GoingDown 发表于 2016-5-28 11:16
哪个公司的芯片,竟然有R5核的。

rm57 ti 凑字数

huangqi412 发表于 2016-6-1 09:12:55

触发spi传输传到哪里 然后再dma. 第一步的spi传输是软件还是硬件 如果是硬件 中途怎么切换片选的

huangqi412 发表于 2016-6-1 09:13:11

有多个spi传感器

Anteater 发表于 2016-6-3 03:17:19

huangqi412 发表于 2016-6-1 09:12
触发spi传输传到哪里 然后再dma. 第一步的spi传输是软件还是硬件 如果是硬件 中途怎么切换片选的 ...

这个么,SPI的又一个挺大的接收和发送fifo, 读来的数据就记录在里面,并且有多个片选,在fifo发送的时候可以指定片选,因此可以一次性读取多个传感器

到fifo最后一个的时候,叫上dma吧接收fifo里的东西弄到内存。

huangqi412 发表于 2016-6-3 06:44:46

Anteater 发表于 2016-6-3 03:17
这个么,SPI的又一个挺大的接收和发送fifo, 读来的数据就记录在里面,并且有多个片选,在fifo发送的时候 ...

那一步跟dma也差不多了 比dma甚至更强 能指定分配片选

huangqi412 发表于 2016-6-3 06:46:39

stm32之类spi也能dma但是就是中途不能换片选吧

wazhiyi 发表于 2016-6-3 07:27:59

价格(美元) | Quantity
38.45 | 1ku

bitcoin2 发表于 2016-6-3 08:41:21

Cortex-R5还是挺有趣,是TI的吗??

yat 发表于 2016-6-3 10:13:56

伙计我看你做的飞控板还真是不少,好像都是用在多旋翼上面的

boat030 发表于 2016-6-3 12:21:25

现在很多MCU都有DMA功能,CPU不需要管外设,只要读写内存就可以了

Anteater 发表于 2016-6-4 06:25:17

yat 发表于 2016-6-3 10:13
伙计我看你做的飞控板还真是不少,好像都是用在多旋翼上面的

嗯 好几个了 最终飞起来的是那个最简化的那个 算法也是最简单不是最优化的那个

多旋翼就是算法 平稳飞起来很简单 好玩的是动态的时候的控制 比如做个位置的阶跃啦 稳定盘旋啦 编队啦 航线了神马的

Anteater 发表于 2016-6-4 06:27:32

boat030 发表于 2016-6-3 12:21
现在很多MCU都有DMA功能,CPU不需要管外设,只要读写内存就可以了

嗯 arm cortex m 标配

有的简单 有的复杂 简单的好上手 复杂的功能多

之前搞过一个dma 从sram到lcd正常情况下cpu占用率0………

yat 发表于 2016-6-4 08:37:22

Anteater 发表于 2016-6-4 06:25
嗯 好几个了 最终飞起来的是那个最简化的那个 算法也是最简单不是最优化的那个

多旋翼就是算法 平稳飞 ...

我建议基于开源的飞控搞比如PAPARAZZI或者PIXHAWK   这样学习到的东西和效果会好很多硬件可以用自己的

Anteater 发表于 2016-6-4 10:29:38

这么倒也不一定是最优方案

算法核心说起来就是几种思路 怎么实现都可以的    换句话说就是要知其然么这样实际上看文章是最好的方式

了解算法的思路 那么实现起来也方便该起来也方便


你说的那两个开源飞控我没仔细了解过 之前只粗粗的看过mk的飞控 呵呵 挺糙的…

如果在飞控上搞点花样 比如说提高可靠性 还是得自己来 开源的还是不能随心所欲
页: [1]
查看完整版本: Cortex-R5 编程水贴