DSP和FPGA在图像传输系统中的应用和实现
发布时间:2008/5/27 0:00:00 访问次数:418
关键词:图像传输;扩频通信;同步;fpga;dsp
视频通信是目前计算机和通信领域的一个热点。而无线扩频与有线相比,有其固有的优越性,如联网方便、费用低廉等。所以开发无线扩频实时图像传输系统有很高的实用价值。
系统设计
在短距离通信中,通常可以在收发端加入奇偶校验、累加和校验等出错重发的防噪声措施。但以上措施都只能检错,不能纠错,也就是说传输过程中不能容错。在远距离、干扰大、出错概率非常高的情况下,单纯的出错重发措施会失去工作效率和意义。因此,需要一种能容错的数据传输方式,就要对数据编码。采用扩频技术,并选取具有优良自相关特性和互相关特性的高速伪随机码对待传信号带宽进行扩展,可增强系统的抗干扰能力。在对图像数据压缩后,采用qpsk扩频调制技术。
系统的dsp由主控和基带两片dsp组成。主控dsp属于系统的控制中心,用于完成控制系统接口总线的指令,将完成诸如自检、信道预置、d/a和a/d变换、工作模式切换和agc等。主控dsp还协同fpga管理系统时钟,完成与基带dsp之间的任务协调和数据传输,管理系统总线和区分数据、信息类别以及控制接口。基带dsp主要完成图像数据的压缩编码和数据的信源、信道编解码、组拆帧等。当进行图像数据的发送时,dsp控制数据输入经过随机加扰、同比特扩展、加编码器尾比特、1/2卷积编码和交织处理,再进行信号流组帧、拆帧处理,同时加入控制信息进行连续同步发送。当进行数据接收时,dsp的操作刚好相反,经解扩、解调和提取控制信息后,形成连续的图像信号流,dsp完成去交织、viterbi译码、去尾比特、多位判决和去扰处理,还原成图像信号,再经信源解码和图像数据的压缩解码。
系统的fpga主要完成rs编码和时钟分频。在发端基带信号处理模块中,dsp将一帧信息数据交给fpga进行rs编码,编码的结果为m+n(m、n均为特定系统所确定的常量,下同)个字节,其中前m个字节为信息数据,后n个字节为校验码元。fpga编码结束后通知dsp进行数据接收,dsp收到通知后接收编码结果。在收端基带信号处理模块中,dsp将一个rs帧(m+n个字节)的数据交给fpga进行rs解码,fpga解码结束后产生m个字节的解码结果,然后通知dsp接收解码数据,dsp接收到通知后进行解码结果的接收。系统发射端和接收端的dsp和fpga处理部分的接口原理分别如图1和图2所示,而发射和接收处理的软件流程如图3所示。
fpga与dsp之间的通信
fpga对数据进行处理后,再将数据送入两片dsp。在fpga里面做一个fifo,当fifo存至一定容量时,就向dsp发一个读数中断,dsp就可通过i/o口将数读取,fifo容量减小。然后,fpga继续往fifo送待处理数据,累计到一定容量,就再发中断,以此循环。
用fifo的好处在于处理起来较为简单,但是也会出现dsp读数速度与处理速度的和大于fpga往fifo填数速度的情况,或是dsp漏检读数中断。这两种情况都会导致fifo被填满而不再发中断,dsp进入死等待而不再工作。为了防止死等待状态的出现,以下两条措施有必要在dsp编程中得以体现:
1. 尽量加快dsp i/o口的读取速度,以及一次中断的处理速度,使其时间小于fpga向fifo输入响应数据的速度。在本系统的设计中,fifo一次给dsp送4092个数,fpga向fifo输入4092个数耗时330ms,也就是说,dsp读取这4092个数的时间加上对它们的处理时间不能超过330ms。在随后的设计中优化了dsp的很多指令及接口设计,使其一次中断的响应时间为100ms,大大提高了系统的性能。
2. 如果是其他原因,如板上的电气干扰使得dsp漏检中断,则也有可能使fifo堆满,导致系统进入死等待。对于这种情况,应在dsp程序中加入判决算法,正常情况下,dsp应该每隔330ms响应一次中断,但如果较长时间没有中断到来,dsp则必须发出响应指令重启fpga,清空fifo。
系统的同步问题与解决
由于本系统采用了直接序列扩频通信技术,扩频系统的同步是成功通信的前提条件,如果没有同步,也就无法解调出信码,扩频系统的抗干扰优势也就无法发挥。由于收、发时钟的不一致性,扩频序列的启动时差,电波传播时延等因素,接收端启动的扩频序列与接收到的发送扩频序列开始总是不同步的。因此,收端必须采用一定的技术措施,迫使本地扩频序列与发端的扩频序列同步,这就是扩频码的捕获。在取得同步之后,噪声及一些外来因素的干扰还会迫使已取得的同步出现失锁现象。为此,还应采取保持同步的技术,这就是同步跟踪。
系统同步处理过程如图4所示。
对同步过程的处理,采用的依据是:连续5次最大相关值位置相等,则认为实现了同步捕获;如果相邻10次最大相关值位置中有2次不等,则将进行失步重捕判据。对码同步的处理主要有3个方面:同步主流程、相位差检测与后微调处理、多普勒频移处理。
结语
在系统的初步调试过程
关键词:图像传输;扩频通信;同步;fpga;dsp
视频通信是目前计算机和通信领域的一个热点。而无线扩频与有线相比,有其固有的优越性,如联网方便、费用低廉等。所以开发无线扩频实时图像传输系统有很高的实用价值。
系统设计
在短距离通信中,通常可以在收发端加入奇偶校验、累加和校验等出错重发的防噪声措施。但以上措施都只能检错,不能纠错,也就是说传输过程中不能容错。在远距离、干扰大、出错概率非常高的情况下,单纯的出错重发措施会失去工作效率和意义。因此,需要一种能容错的数据传输方式,就要对数据编码。采用扩频技术,并选取具有优良自相关特性和互相关特性的高速伪随机码对待传信号带宽进行扩展,可增强系统的抗干扰能力。在对图像数据压缩后,采用qpsk扩频调制技术。
系统的dsp由主控和基带两片dsp组成。主控dsp属于系统的控制中心,用于完成控制系统接口总线的指令,将完成诸如自检、信道预置、d/a和a/d变换、工作模式切换和agc等。主控dsp还协同fpga管理系统时钟,完成与基带dsp之间的任务协调和数据传输,管理系统总线和区分数据、信息类别以及控制接口。基带dsp主要完成图像数据的压缩编码和数据的信源、信道编解码、组拆帧等。当进行图像数据的发送时,dsp控制数据输入经过随机加扰、同比特扩展、加编码器尾比特、1/2卷积编码和交织处理,再进行信号流组帧、拆帧处理,同时加入控制信息进行连续同步发送。当进行数据接收时,dsp的操作刚好相反,经解扩、解调和提取控制信息后,形成连续的图像信号流,dsp完成去交织、viterbi译码、去尾比特、多位判决和去扰处理,还原成图像信号,再经信源解码和图像数据的压缩解码。
系统的fpga主要完成rs编码和时钟分频。在发端基带信号处理模块中,dsp将一帧信息数据交给fpga进行rs编码,编码的结果为m+n(m、n均为特定系统所确定的常量,下同)个字节,其中前m个字节为信息数据,后n个字节为校验码元。fpga编码结束后通知dsp进行数据接收,dsp收到通知后接收编码结果。在收端基带信号处理模块中,dsp将一个rs帧(m+n个字节)的数据交给fpga进行rs解码,fpga解码结束后产生m个字节的解码结果,然后通知dsp接收解码数据,dsp接收到通知后进行解码结果的接收。系统发射端和接收端的dsp和fpga处理部分的接口原理分别如图1和图2所示,而发射和接收处理的软件流程如图3所示。
fpga与dsp之间的通信
fpga对数据进行处理后,再将数据送入两片dsp。在fpga里面做一个fifo,当fifo存至一定容量时,就向dsp发一个读数中断,dsp就可通过i/o口将数读取,fifo容量减小。然后,fpga继续往fifo送待处理数据,累计到一定容量,就再发中断,以此循环。
用fifo的好处在于处理起来较为简单,但是也会出现dsp读数速度与处理速度的和大于fpga往fifo填数速度的情况,或是dsp漏检读数中断。这两种情况都会导致fifo被填满而不再发中断,dsp进入死等待而不再工作。为了防止死等待状态的出现,以下两条措施有必要在dsp编程中得以体现:
1. 尽量加快dsp i/o口的读取速度,以及一次中断的处理速度,使其时间小于fpga向fifo输入响应数据的速度。在本系统的设计中,fifo一次给dsp送4092个数,fpga向fifo输入4092个数耗时330ms,也就是说,dsp读取这4092个数的时间加上对它们的处理时间不能超过330ms。在随后的设计中优化了dsp的很多指令及接口设计,使其一次中断的响应时间为100ms,大大提高了系统的性能。
2. 如果是其他原因,如板上的电气干扰使得dsp漏检中断,则也有可能使fifo堆满,导致系统进入死等待。对于这种情况,应在dsp程序中加入判决算法,正常情况下,dsp应该每隔330ms响应一次中断,但如果较长时间没有中断到来,dsp则必须发出响应指令重启fpga,清空fifo。
系统的同步问题与解决
由于本系统采用了直接序列扩频通信技术,扩频系统的同步是成功通信的前提条件,如果没有同步,也就无法解调出信码,扩频系统的抗干扰优势也就无法发挥。由于收、发时钟的不一致性,扩频序列的启动时差,电波传播时延等因素,接收端启动的扩频序列与接收到的发送扩频序列开始总是不同步的。因此,收端必须采用一定的技术措施,迫使本地扩频序列与发端的扩频序列同步,这就是扩频码的捕获。在取得同步之后,噪声及一些外来因素的干扰还会迫使已取得的同步出现失锁现象。为此,还应采取保持同步的技术,这就是同步跟踪。
系统同步处理过程如图4所示。
对同步过程的处理,采用的依据是:连续5次最大相关值位置相等,则认为实现了同步捕获;如果相邻10次最大相关值位置中有2次不等,则将进行失步重捕判据。对码同步的处理主要有3个方面:同步主流程、相位差检测与后微调处理、多普勒频移处理。
结语
在系统的初步调试过程
上一篇:DSP吞掉大部分插口