Cortex-R5 编程水贴
重新把之前做出来的那个飞控板翻出来,仔细读读手册发现用Cortex-R5还是挺有趣的,比如读传感器数据,基本上不用CPU操作全靠硬件实现。
觉得挺好玩,就发出来让大家一乐
找个Timer产生400 Hz的方波,方波的上升沿触发SPI传输,由于SPI的队列深度可编程,因此一个触发事件就可以把所有传感器读个遍(3个陀螺,1个加速度计,1个罗盘和一个气压计),在SPI读取队列最后,触发DMA传输,直接传输到
内存的传感器变量的地址,DMA完成之后触发中断,在ISR里面进行解算和控制。
实际上对于一个300MHz的单片机来说,处理器计算能力根本上是过剩的,这个根本不省多少时间,只是觉得这种方法比较有比格:)
本帖最后由 xiaohewanwan 于 2016-5-28 11:08 编辑
Cortex-R5只是一个cpu core而已,你说的都是外设的功能,和Cortex-R5没什么关系吧 哪个公司的芯片,竟然有R5核的。 xiaohewanwan 发表于 2016-5-28 11:07
Cortex-R5只是一个cpu core而已,你说的都是外设的功能,和Cortex-R5没什么关系吧 ...
你这么一说也是哈跟核心没关系跟核心相关的只有汇编优化了吧 其他都是外设……
应该改成mcu外设编程……
GoingDown 发表于 2016-5-28 11:16
哪个公司的芯片,竟然有R5核的。
rm57 ti 凑字数 触发spi传输传到哪里 然后再dma. 第一步的spi传输是软件还是硬件 如果是硬件 中途怎么切换片选的 有多个spi传感器 huangqi412 发表于 2016-6-1 09:12
触发spi传输传到哪里 然后再dma. 第一步的spi传输是软件还是硬件 如果是硬件 中途怎么切换片选的 ...
这个么,SPI的又一个挺大的接收和发送fifo, 读来的数据就记录在里面,并且有多个片选,在fifo发送的时候可以指定片选,因此可以一次性读取多个传感器
到fifo最后一个的时候,叫上dma吧接收fifo里的东西弄到内存。 Anteater 发表于 2016-6-3 03:17
这个么,SPI的又一个挺大的接收和发送fifo, 读来的数据就记录在里面,并且有多个片选,在fifo发送的时候 ...
那一步跟dma也差不多了 比dma甚至更强 能指定分配片选 stm32之类spi也能dma但是就是中途不能换片选吧 价格(美元) | Quantity
38.45 | 1ku Cortex-R5还是挺有趣,是TI的吗?? 伙计我看你做的飞控板还真是不少,好像都是用在多旋翼上面的 现在很多MCU都有DMA功能,CPU不需要管外设,只要读写内存就可以了 yat 发表于 2016-6-3 10:13
伙计我看你做的飞控板还真是不少,好像都是用在多旋翼上面的
嗯 好几个了 最终飞起来的是那个最简化的那个 算法也是最简单不是最优化的那个
多旋翼就是算法 平稳飞起来很简单 好玩的是动态的时候的控制 比如做个位置的阶跃啦 稳定盘旋啦 编队啦 航线了神马的 boat030 发表于 2016-6-3 12:21
现在很多MCU都有DMA功能,CPU不需要管外设,只要读写内存就可以了
嗯 arm cortex m 标配
有的简单 有的复杂 简单的好上手 复杂的功能多
之前搞过一个dma 从sram到lcd正常情况下cpu占用率0………
Anteater 发表于 2016-6-4 06:25
嗯 好几个了 最终飞起来的是那个最简化的那个 算法也是最简单不是最优化的那个
多旋翼就是算法 平稳飞 ...
我建议基于开源的飞控搞比如PAPARAZZI或者PIXHAWK 这样学习到的东西和效果会好很多硬件可以用自己的 这么倒也不一定是最优方案
算法核心说起来就是几种思路 怎么实现都可以的 换句话说就是要知其然么这样实际上看文章是最好的方式
了解算法的思路 那么实现起来也方便该起来也方便
你说的那两个开源飞控我没仔细了解过 之前只粗粗的看过mk的飞控 呵呵 挺糙的…
如果在飞控上搞点花样 比如说提高可靠性 还是得自己来 开源的还是不能随心所欲
页:
[1]