CPU与外设之间数据传送都是通过内存实现的。
外围设备和内存之间的常用数据传送控制方式有四种
(1)程序直接控制方式:就是由用户进程直接控制内存或CPU和外围设备之间的信息传送。这种方式控制者都是用户进程。
(2)中断控制方式:被用来控制外围设备和内存与CPU之间的数据传送。这种方式要求CPU与设备(或控制器)之间有相应的中断请求线,而且在设备控制器的控制状态寄存器的相应的中断允许位。
(3)DMA方式:又称直接存取方式。其基本思想是在外围设备和内存之间开辟直接的数据交换通道。
(4)通道方式:与DMA方式相类似,也是一种以内存为中心,实现设备和内存直接交换数据的控制方式。与之不同的是,在DMA方式中数据传送方向、存放数据内存始址以及传送的数据块长度等都是由CPU控制,而在通道方式中这些都是由专管输入输出的硬件——通道来进行控制。
毕业设计的话不需要功能那么完备和强大,STM32完全可以胜任,ov7670是不是支持IIC接口?nrf一般都是spi接口,就是些数字通信接口问题,很简单,图像或者视频采集传输过程中肯定有大量数据要处理,这块不是很懂,应该有数据压缩算法什么的,一步一步来,先把硬件设计好了,nrf无线模块自己做的话应该有点难度,传输距离是个问题。
视频上传恐怕很难,直接在LCD显示还差不多;因为可用的通路速率都不高,要么串口,要么USB,要么网口;但是这些都要协议的支持,上位机开发也是一个问题。如果STM32有DCMI的话还可以。所以建议就是用有DCMI接口的STM32芯片,用网口或者USB或者串口与上位机通信。我个人建议用网络传输,这样可以顺便把操作系统和网络协议学习一遍,如果可以的话做成标准的视频流,这样就可以用网络播放器播放了,呵呵,这是我心中的理想方案,只是给你一个建议,因为我也现在也没多少时间搞这些,不知道可行性能否接受。
视频传输不做压缩基本不可能。选用带DSP的STM32做视频压缩吧。具体压缩算法国内也有做的不错的,很容易找。
本文标签:stm32视频传输方案