完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
您好:
我们项目中需要通过SPI端口传输图像数据,由于硬件原因,DM365 SPI必须工作在从模式,图像数据量较大,为了降低CPU负载,必须通过DMA方式。 我们的问题是,DM365提供的开发环境中SPI子系统 和DMA子系统是否可以支撑这种工作模式?需要实现哪些驱动代码?最好有参考的模板代码,能否推荐一份? 谢谢! |
|
相关推荐
8个回答
|
|
除了SPI4,其它SPI口都可以用EDMA独立控制,驱动里有。
|
|
|
|
Jason您好, 驱动代码仅支持master模式吧,能否详细点,需要参考和修改那几个文件? 不吝赐教,多谢指点。 email:bg7jns@163.net |
|
|
|
1. 这个我具体没有Coding过,如果Driver的EDMA只支持主模式,还是放弃的好,自己做从模式再做EDMA控制太难 2. 你能否从整个系统说一下应用,也许有别的办法,贴个系统框图 |
|
|
|
rwd2016 发表于 2018-6-21 11:23 可能没有说的这么复杂,我想软件无论如何不会将硬件功能限制死。具体应用是这样的: 有一个通信模块,负责数据的收发任务。使用DM365负责图像的编码和解码任务。两者 通过SPI端口进行数据的交换。编码发射过程中,DM365每完成一帧图像的编码,就通知通信模块将该帧数据取走; 接收解码过程,DM365每完成一帧图像的解码,就通知通信模块送下一帧的数据。 由于硬件条件的限制,通信模块的SPI必须工作在主模式,因此DM365就只能工作在从模式了。为了数据交互, 设置了两根握手信号线,由DM365输出5us的脉冲,以中断方式分别通知通信模块接收图像数据或者发送图像数据。 从上面的过程可以看出,数据的收发起始是由DM365发起的,是一种变相的主模式。但SPI的片选和时钟则由通信模块提供。 我觉得开发平台提供的EDMA驱动是不区分SPI主从模式的,但SPI的驱动则只实现的主模式。现在的工作就是修改部分代码, 让SPI以从模式运行,达到数据交换的目的。 附件是结构简图,供参考。不吝赐教,多谢! |
|
|
|
hjh22678 发表于 2018-6-21 11:40 1. 这样的话没有其它办法,只能修改寄存器使得SPI工作在从模式,EDMA的驱动是封装好的,做事件触发,只是调试起来会麻烦一些 |
|
|
|
经过分析SPI子系统的代码结构,结合本项目的实际情况,基本确定了修改思路:在清楚了解SPI运行机理的基础山上,废弃原来繁琐冗长的驱动代码,重新开发简洁使用的一套驱动,实现更简单,效率更高。 |
|
|
|
hjh22678 发表于 2018-6-21 12:08 好的,谢谢。 |
|
|
|
简单的来说只要在驱动初始化的时候将master模式改为从模式,就可以工作,但是真正要完成传输,由于linux的框架中并不支持spi从模式,所以需要自己想办法实现同步机制和与应用层相关的交互.
|
|
|
|
只有小组成员才能发言,加入小组>>
334 浏览 1 评论
528 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
773 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
649 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1126 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
56浏览 29评论
126浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
251浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
200浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
56浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 22:41 , Processed in 0.956355 second(s), Total 92, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号