|
本帖最后由 linjiahuan 于 2014-6-30 14:50 编辑
摄像头60帧的帧率,320*240的分辨率;
即每秒钟有 320*240*60=4608000个像素输出.而每个像素平均又由两个字节组成(YUV格式),
即摄像头每秒钟会输出 4068000*2=8136000 个字节.(8bitYUV并行输出模式)
我用TMS320F28335作为CPU(150M),它可以直接对这个摄像头的数据进行接收吗?
即不需要借助FIFO缓冲,直接实现摄像头输出一个像素,它就接收一个像素,可以吗?
一个CPU做不做得到接收这么快的数据,应该看他的什么参数啊?
程序思路是这样的:
void VSYNC中断服务函数(void)
{
使能 HREF中断;
关掉 VSYNC中断;
}
void HREF中断服务函数(void)
{
使能 PCLK中断;
关掉 HREF中断;
对 HREF中断进行计数;
当HREF中断达到240次后,清零计数值,重新使能 VSYNC中断;
}
void PCLK中断服务函数(void)
{
读取IO口的图像数据(8bit),存至数组对应的元素中;
对 PCLK中断进行计数;
当PCLK中断达到320次后,清零计数值,重新使能 HREF中断;
}
VSYNC中断和HREF中断应该是没问题的,主要就是PCLK中断不确定:
首先,PCLK的频率 = 320*240*60*2 = 9216000HZ,即F28335每秒钟能响应9216000次外部中断吗?
其次每次PCLK中断的响应是需要一定时间的,时间主要应该花在了IO数据的读取上,F28335GPIO的读取速度足够快吗?
因为摄像头每个字节数据的输出只会维持 1/9216000 = 0.109微秒,即109纳秒.
换句话说F28335的GPIO能实现100纳秒读一次数据吗? 得看什么参数? datasheet里有吗? |
|