| 前几篇日志,给出了COMS的采集电路与采集思路,下面给出一些注意事项,以及选择那些引脚的原因。
首先一点,必须保证行中断为本系统中的最高优先级中断,当然这是在系统没有问题的前提下进行的,系统都有问题了,还保证中断也没有用,呵呵。
保证行中断优先级有两点问题可以解决:一,保证执行行中断的时候不被其它的高优先级的中断打断,从而保证了采集时序的严密性与正确性;二,当行信号来时,如果其它的中断正在执行,可以打断其它的中断,而跳转执行行中断,保证采集的及时性,原因是:COMS摄像头的行描扫描不等人,如果你正在执行其它的中断,而此时行中断来了,但是却不能及时进行行中断,行中断处于等待状态,说极限一点,当你执行完其它中断后进行行中断可能已经过去了几十微秒,早已经没有有效的图像信息,再去采集,如果图像信息是对的,那么肯定是你的系统出了问题,即使只错过了几微秒,采集到的图像也是错位的,因为在几微秒中已经错过了一些图像,这一点也是有些人常说的图像变形的情况,用上位机软件看,总有图像移位的情况。有人会问,在执行行中断的时候可以关用DisableInterrupts关闭所有的中断,当采集完后用EnableInterrupts开启所有中断,这样确实可以保证在行中断的时候不被其它高优先级的中断所打断,但是对于第于种情况呢,行中断到来的时候必须即时进入行中断程序,保证采集的即时性,如果行中断的优先级不高,就做不到这一点了。
对于我的BLOG给出的原理图,行信号接的是IRQ中断,IRQ中断在S12单片机中是中断优先级比较高的中断,如果此时你的行中断优先级不是你的系统中最高的优先级,建议你设置HPRIO寄存器,将行中断设置为最高优先级中断。
对于场信号,对于这一个信号,还是用中断处理,当然也可以用等待,但是等待,会消耗很多时间,不是好的选择,建议用中断处理场信号。
至于场信号的中断优先级的问题,我认为高一点会好一点,但是对场中断的优先级要求不是很高,因为一帧图像完后,有一个场恢复时间,这个时间比较长,足够处理其它中断了,场信号中断可以等待。
对于中断程序,中断程序应该越简洁越好,在中断里面执行的时间不应该过长。 |