1.基于乒乓RAM结构的多路相机同步转接模块,其特征在于,包括n个高速相机,与高速相机相连的n个高速串口,用来发生同步脉冲的同步脉冲发生器,用来做输入缓存的2n个输入缓存RAM#x_1和RAM#x_2,其中x=1,2,…,n,用做图像拼接的数据控制器,输出缓存FIFO,输出高速串口和命令寄存器;
所述高速串口包括高速串并转换口MIPI CSI2‑RX和控制单元,控制单元能够读取图像编解码芯片;
所述命令寄存器包括通道使能寄存器enable_reg,图像帧率配置寄存器period_reg和图像控制寄存器cmd_reg;
所述通道使能寄存器为32bit,用于选择使能16个通道中的哪些通道,低16位中的每一位代表一个通道;
所述图像帧率配置寄存器为32bit,用于配置同步脉冲发生器的输出脉冲频率;
所述图像控制寄存器为32bit,用于配置是否开始采集,最高位为1时表示使能采集,最高位为0时表示停止采集,其余的低31位表示允许连续采集的图像帧数。
2.基于乒乓RAM结构的多路相机同步转接方法,其特征在于,包括以下步骤:步骤a:将n个实时相机通过MIPI CSI2‑RX接口连接至n个高速串口,其中n≤16,同步脉冲发生器发生同步脉冲;写入通道使能参数至通道使能寄存器enable_reg,写入图像帧率参数至图像帧率配置寄存器period_reg,写入开始控制命令至图像控制寄存器cmd_reg,启动图像采集;
步骤b:控制单元空闲状态时,监测同步脉冲的上升沿,在检测到上升沿后,进入帧头采集状态步骤c,即数据采集状态;
步骤c:内置计数器开始工作并判断是否出现帧头,如出现了按照协议约定的帧头数据,则跳转至数据接收状态,即步骤d;如未检测到帧头,重复本步骤,继续判断是否出现帧头;如果计数大于预定阈值仍未检测到帧头,则跳转至空闲状态,即步骤b,此帧数据采集失败;
步骤d:在数据接收状态时,持续按照协议读取串,并将转换的结果存储至RAMx中,其中x为0时存入RAM0,x为1时存入RAM1,x为1bit数据,由控制单元自主控制,采集完一行图像后,输出n个RAMx中的数据和 “行结束脉冲”,其中n≤16,并对x取反,交换RAM,实现RAM0和RAM1的交替式乒乓存入,执行步骤f;内置计数器重新计数,当计数器达到协议规定的一帧图像时,输出“图像结束”信号,控制单元跳转至空闲状态,即步骤b;如果在计数器未达到协议规定数据前就无数据输入,则跳转至数据补充状态,即步骤e;
步骤e:数据补充状态,补充0x00至预定数据量,输出“图像结束”信号,返回步骤b;
步骤f:数据控制器空闲状态时,监测同步脉冲的上升沿,未检测到上升沿时,保持此状态;在检测到上升沿并且使能输出,跳转至数据准备状态,步骤g;
步骤g:如果检测到有效的行结束脉冲,即所有使能通道均输出行结束脉冲,则一行数据准备完毕,跳转至数据读取状态步骤h;如果在此状态等待超时仍未检测到有效的行结束脉冲,则说明数据出现异常,此时如果已经开始了数据读取,则跳转至数据补充状态步骤k,否则直接跳至空闲状态步骤f;本状态是行数据读取中间的等待期,在一次行数据读取完毕后回到此状态等待下一行数据准备好;
步骤h:本步骤为数据读取状态,检测RAMx信号并判断哪个RAM数据有效,读取第一个使能通道的RAM的所有数据并写入FIFO,读取完毕后跳转至通道判断状态步骤i;
步骤i:判断是否所有的使能通道读取完毕,如果读取未读取完毕则更新寄存器状态为下一使能通道,跳转回数据读取状态步骤h;如果读取完毕则跳转至图像结束判断状态步骤j;
步骤j:图像结束判断状态,判断当前读取时间是否超时,如果计时器超时但是仍然未检测到图像结束脉冲,则跳转至数据补充状态步骤k;如果计时器未超时则跳转回空闲状态步骤f,等待下一次行数据准备好,同时状态判断结果输出给高速串口,执行步骤l;
步骤k:数据补充状态,根据当前已经读取的数据计数器,再补充0x00至完整图像帧,补充完毕后跳转至空闲状态步骤f,等待下一帧图像;本步骤是为了防止不同通道间出现数据错误导致的数据不完整的冗余判断;
步骤l:输出高速串口接收来自FIFO的数据及步骤j中图像结束状态结果,并将数据通过光纤输出。