全文 2.2 多段记录和选段播放
为了方便操作和观察,系统具备选段播放功能,即在记录时将不同时间段记录的内容予以分段和标记;而在播放时保证每场图像的各像素点要严格对齐,否则会造成图像错位。若要防止这种情况发生,可在记录时在每场图像数据前加一个字0xAA55作为场标志,由于每场图像的数据量为320x240x2=153 600(字节),在加入场标志后的数据流如图4所示。这样设计的优点在于:
(1)在快进、快退播放时,Flash跳地址后可检测该标志重新调整图像,另外也为数据上传后,上位机软件播放提供方便。
(2)加入场标志可实现多段记录。由于存储时确保每段视频数据的首字节都写入Flash_0的block_x(x表示block地址号)的page0的首地址,如图2中‘·’。在上电后信息扫描时只需扫描Flash_0的各block中page0的前个字节,如果是0xAA和0x55则表明新记录段,如果不是则再读取后2个字节。如果连续4个block中page0的前4个字节都是0xFF,则表明已扫描所有段,此时应将段总数和存储器的已用空间以及系统状态信息等发送至单片机进而送到LCD显示。
2.3 ADV7175与FPGA的接口设计
CCIR一601标准规定,在数字编码时,不使用A/D转换的整个动态范围,只给亮度信号分配220个量化级,黑电平对应于量化级16,白电平对应于量化级235,为每个色差信号分配224个量化级,色差信号的零电平对应于量化级128,如图5所示。即每个样本点亮度信号占220级,色度信号占225级。
由于红外热像仪提供的数据是16位灰度值而无色度值,所以应将ADV7175A的低8位(P7“P0)输入0x80,具体电路连接如图6所示,高8位输入亮度信号,播放时需将16位的亮度信号转换为8位再送入ADV7l75A。
3 FPGA逻辑设计
图7为FPGA内部各逻辑功能模块框图。各模块主要功能如下:RECV模块根据红外热像仪提供的特定时序接收数据并编帧;Flash控制器控制16片Flash,用于扫描无效块和记录段,计算Flash已用空间和剩余空间及对Flash的擦除和读写操作;信息记录表负责记录Flash控制器传送的无效块号及已记录的段总数和各段的起始地址与结束地址;灰度调节模块将16位的灰度图像数据转化为8位,因为ADV7175A最多可输入8位灰度信息;PALl模块控制ADV7175A;PAL2模块生成原格式的行场时序,主要的控制信号是行同步信号(Hsync)和场同步信号(Vsync);FIF01和FIF02作为数据缓冲模块;TO一68013模块可在系统与计算机通信时互换TO一68013A的数据;还可向68013A发送一些需要显示的实时信息;键盘的扫描及按键的去抖则由键值处理模块完成.最后由CPU模块协调各子模块工作。
4 结语
该系统采用FPGA作为主控制器,对于不同分辨率的红外图像数据,只需修改FPGA中的RECV模块和PAL模块程序即可,因此,该系统设计具有一定的灵活性。