基于STM8单片机的CMOS图像采集系统应用设计
send((unsigned char)(addr>>gned char)(addr>>16));//发送数据的地址
send((unsigned char)(addr>>8));
send((unsigned char)addr);
send(data);//发送要写入的数据
mssl();//释放片选
}
unsigned char flashreadbyte(unsigned long addr)
}
unsigned char byte;
mss0();//片选端选中,低电平有效
send(0x03);//读命令
send((unsigned char)(addr>>16));//发送数据的地址
send((unsigned char)(addr>>8));
send((unsigned char)addr);
byte=get();//读取数据
mssl();//释放片选
return byte;
}
3.4图像的多帧采集和拼接模块软件设计
为保存图像数据,系统引入Flash存储器,而数据转存入Flash存储器需要占用中断响应时间,这就导致了中断响应时间不够的问题。为解决这个问题,根据所采图像为静态图像这一应用背景,提出一种多帧图像的部分采集与拼接算法,在中断响应时间中,只读取图像传感器中的图像数据,而后占用两次中断的时间,把图像数据转存入Flash。每帧图像有160次中断,每帧图像只取其1/3,取3帧图像的数据,即可拼接成一幅完整的图像。多帧采集方法如图9所示。图中,实线表示捕获到的中断,虚线表示因转存人Flash错过的中断。
图9 多帧采集图像方法示意
单片机把采集的数据按照采集时间的顺序转存入Flash数据在Flash中的排列顺序如图10所示。
图1O 图像数据在Flash中的存储顺序
在Flash中读取图像数据的时候,按照中断次数的先后顺序读出,即第l帧第1次中断、第2帧第2次中断、第3帧第3次中断、第1帧第4次中断、第2帧第5次中断……第2帧第158次中断、第3帧第159次中断、第1帧第160次中断。这样,3帧图像的数据拼接成一幅完整的图像。在读取图像数据的同时,单片机以2个字节为单位,拼接成一个无符号整型,即一个像素点,通过RS232接口传送至上位机。
4 试验及分析
图11是系统的实物图,硬件系统面积是(7.5×7.5)cm2,双层PCB板,系统结构简单,运行稳定。系统对图像的处理速度是4帧/s,满足实时性的要求。
图12为采集的一幅图像,大小为240×320,图像格式为bmp,像素格式为RGB565,该图像是3帧图像拼接而成,是单片机通过RS232接口传输至上位机,并在显示器上显示的。
图11 系统实物图
图12 试验结果图像
5 结语
与其他嵌入式图像采集系统相比,有3点优势:第一,价格低廉,有较强的市场竞争力;第二,方法新颖,提出了一种多帧图像拼接成一幅图像的方法,解决了单片机处理速度慢的问题,取得了很好的试验效果;第三,系统体积小,结构简单,实时性好,能以非常低的成本附加到其他物联网传感节点上,使物联网节点具有采集和传输图像的功能,更大程度上方便用户使用。
STM8单片 相关文章:
- 电源设计小贴士 1:为您的电源选择正确的工作频率(12-25)
- 用于电压或电流调节的新调节器架构(07-19)
- 超低静态电流电源管理IC延长便携应用工作时间(04-14)
- 电源设计小贴士 2:驾驭噪声电源(01-01)
- 负载点降压稳压器及其稳定性检查方法(07-19)
- 电源设计小贴士 3:阻尼输入滤波器(第一部分)(01-16)