基于CC1100的无线视频监控系统设计
扫描二维码
随时随地手机看文章
摘要:为了对特定场合进行安全监控,采用CC1100无线传输模块和PTC08串口摄像头模块设计并实现了一种无线视频监控系统。利用摄像头模块对视频进行数据采集、压缩、串口传输,并利用微控制器通过无线传输模块进行拍摄控制、数据传输。经测试表明,该系统具有操作简便、运行稳定的特点,达到了设计要求。
关键词:视频监控;CC1100;PTC08;无线;设计
随着通信、单片机处理能力以及各种视频处理技术的提高,视频监控系统发展的越来越快,其中视频传输采用有线方式具有传输稳定,画面清晰等特点。但是,由于这种方式成本高、维护不方便,且在有些特殊的区域受条件所限,布线困难甚至无法布线,其使用范围受到很大限制。而无线传输技术因具有使用灵活、携带方便、可移动、低成本等优点,在视频监控、传输,紧急现场救援和军事通信等领域发挥着巨大的作用。
文中基于CC1100无线传输模块和PTC08串口摄像头模块设计并实现了一种无线视频监控系统,在环保监测、智能仪器仪表监控、车辆管理监控、图像采集等领域有一定的应用前景。
1 系统结构
无线视频监控系统由信号采集设备、采集端处理器、无线数据收发模块、接收端处理器、信号输出设备构成,如图1所示。
视频信号采集设备通过摄像头模块捕捉场景图像,经其内部处理器转换输出数字视频图像,为视频图像处理提供数据。采集端处理器负责存储和处理信号采集设备采集的数据和其他节点发送的数据,同时可协调与其他节点之间通信。线收发模块主要负责与其他节点通信,接收、发送数据和交换控制信息。接收端处理器负责存储和处理其他节点发送的视频、图像数据,也可协调与其他节点之间通信。视频信号输出设备即将接收端处理器发送的视频数据还原成原场景图像。
2 系统硬件电路设计
2.1 CC1100及PTC08简介
CC1100是一款低成本单片UHF收发器,专为低功耗无线应用而设计。它主要是为315、433、868和915 MHz的ISM和SRD设备所设计,可以编程工作在300~1 000 MHz范围之间的任一频率上。具有抗干扰能力强、数据传输速率高、误码率低等优点,支持透明的数据传输及DL/645规约。在发射状态下,其发射功率可编程调节,其最大发射功率达到10 dBM。
PTC08串口摄像头是集图像采集、拍摄控制、数据压缩、串口传输于一体的工业级图像采集处理模块。标准三线式RS-232通信接口、简单的图像传输协议,使模块可以方便地实现与电脑以及各种嵌入式系统的连接。
2.2 硬件电路设计
CC1100的工作状态有IDEL(待机)、RX(接收)、TX(发送),同时支持远程唤醒功能,这样可以降低功耗。主要的引脚为VCC电源输入(1.9~3.6V)、SI数据输入、SO数据输出、SCLK时钟输入、GD00和GD02为数字输出供测试系统使用,CSN为芯片片选信号。芯片内置64 Byte的TX和RX缓冲器。文中设计了图2所示的无线电路。数据操作通过STC11F32XE单片机的SPI口进行。
对本系统来说,PTC08串口摄像头模块与微控制器采用串口通信方式。微控制器通过其RX端向PTC08发送拍照的一系列指令,摄像头模块采集完数据,收到发送数据指令后,会通过其TX端口将图像数据送至微控制器。CC1100-232收到数据时,会自动将数据从串口送至接收端处理器。微控制器、PTC08和CC1100模块间的接口示意图如图3所示。
3 系统软件设计
系统采用单片机、无线收发模块及串口摄像头模块来实现,下位机软件采用汇编语言编写,上位机软件编程采用VC++语言。在实际操作过程中,可通过上位机程序将预先定义好的指令发送到采集端处理器,控制采集模块动作,获取图片数据;采集端处理器会利用无线收发模块将数据传至接收端处理器,进而在上位机上恢复出JPEG图片。
3.1 PTC08模块初始化配置
PTC08模块上电之后,延时2.5 s,微控制器向其发送一系列控制指令,包括复位、设置图片大小、压缩率、拍照、读取数据,停止拍照等。根据模块与微控制器的通信协议,微控制器将PTC08模块复位的汇编语言部分代码如下(前提是上位机已将复位指令数据56 00 26 00分别存入微控制器RAM的70H至73H单元中):
PTC08模块在收到此复位指令后,会向微控制器发出7600 26 00,表示模块复位成功。模块其他指令数据可在其数据手册中查询。
3.2 上位机软件设计
图4为获取图片的上位机软件流程图,其状态及函数描述如下。
1)空闲状态
采集端摄像头模块处于待机状态。
2)同步状态
当采集端摄像头模块接收到拍照指令时,摄像头模块将进行一次同步操作,以确保其可用。此状态使用函数如下:
Public void vSynchronize(void);此函数最多可连续执行60次。若函数在执行期间,UART接收到0XAA,0XOD,0X0E,0X00,XX(XX为任意)数据序列,则表示摄像头模块同步信号已经被确认成功。若函数连续执行60次后,UART仍末接收到从摄像头模块发出的确认信号,则需重新配置采集模块。
3)参数设置状态
根据生成图片指令,需对摄像头模块进行参数设置,包括图片大小、压缩率以及输出图片数据包的大小。此过程使用函数如下:
PUBLIC void vlnitialCamera(void);
PUBLIC void vSetPKGSzie(void);如果采集模块来发回确认信息,需对其重新配置。
4)数据接收状态
一旦参数设置完成之后,外部控制器将发出“开始图片获取”指令,摄像头模块会自动进行图片数据的获取与转换。根据之前设置的参数,连续输出图片数据包。但是,每个网片数据包从摄像头模块发出之后,接收端处理器均需要返回一个确认包,之后才可以获得下一包数据。此过程使用函数如下:
PUBLIC void vGetPKG(void);
图片数据的还原将由上位机软件直接完成,将确认包返回给采集端处理器的函数为:
PUBLIC void vSetPKTACK(uint16 u16PktCounter);
其中u16PktCounter是指下一个要获取数据包的编号。若上位机界面长时间内没有获得数据,上位机系统则自动重新配置采集模块。
5)图片接收完成状态
当外部控制器给出“开始转换”的指令之后,第一个输出的数据包里已经包含了图片数据的确切大小。因此,在这个阶段,如果成功获取的数据大小等于第一个数据包给出的图片数据大小,说明图片数据已经完整的从摄像头模块传出,摄像头模块重新进入空闲状态,等待下一个拍照指令。
远程客户端采用监控管理软件,通过对串口、波特率、图片大小等参数的设置,发送远程监控指令,接收视频采集模块的信息,实现数据处理、接收、存储和显示,将采集的图片信息以直观方式呈现给监控人员。测试结果如图5所示。
4 结论
该系统采用微控制器、无线收发模块及串口摄像头模块PTC08实现无线视频监控系统,对其原理及软硬件实现方法进行了简要说明。经测试表明,系统简单可靠、功耗小、成本低,抗干扰能力强;由于CC1100无线收发模块传输数据速度低,无法实现真正的实时传输,可应用于实时性要求不高的场所。