首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于DSP的脱机视频编/解码系统(2)

基于DSP的脱机视频编/解码系统(2)

4 DSP与存储器和通信接口

        本系统的串行通信接口是利用TMS320C542的缓冲串口BSP[1]加上辅助的接口驱动电路实现的。DSP在设定发送缓冲区和接收缓冲区后,BSP可以自动发送和接收缓冲区中的数据,这样就提高了DSP的处理效率。由于本系统要适应用户所选择的通信设备的传输速率,基于BSP的系统串行通信接口工作在被动方式。

        为了保证图像数据在传输中不会发生数据读空和数据阻塞,系统采用了乒乓缓冲和环形缓冲技术。以图像采集端的数据发送为例,两个发送缓冲区1和2在选择机制C和D控制下构成了乒乓缓冲结构。当机制D选择了一个发送缓冲区,并通过BSP串行接口自动发送数据时,选择机制C就准备另一个发送缓冲区中的数据。在设计中,发送缓冲区的写入速度大于用户最高通信速度,也就是说大于缓冲区的读出速度,所以这个乒乓缓冲首先避免了通信接口中可能的数据发送读空问题。

        帧图像缓冲区1、2和3实际构成的是环形存储结构,即在正常情况下选择机制A将来自ADV611的压缩图像数据以一帧为单位,按照1-2-3-1循环的顺序不断填入缓冲区中。同样,机制B按照1-2-3-1读取缓冲区中的数据。原则上,帧图像缓冲区中数据的读取指针要落后写入指针一个缓冲区,比如当一帧图像数据经过机制B发送出去时,如果机制A正在写入缓冲区3,则新一帧发送数据的读取将从缓冲区2开始。该策略进一步保证了发送不会读空。但是如果通信速率下降、读取指针处于缓冲区2而数据写入已经更新了缓冲区3和1两帧图像时,机制A将把新的一帧数据重新填入缓冲区1,而不是缓冲区2,从而避免数据阻塞冲突。第二次写入同一缓冲区和第二次读出同一缓冲区的事件分别标志着图像压缩数据流量大于通信速率和图像压缩数据流量小于通信速率,DSP将依据这个事实动态调节图像压缩比,平衡图像压缩数据流量和通信速率。

         当然采用缓冲技术保证图像数据传输的可靠性是以牺牲图像的实时性为代价的。

5 系统中DSP的总体软件结构
  
  本脱机视频编/解码系统DSP控制程序的设计关键是如何高效地协调完成各类控制任务,避免由于任务进程安排不当而引起的图像数据传输意外中断。以图像采集端为例,DSP程序将BSP数据发送和数据接收控制以及ADV611的服务请求作为中断处理,以提高这些任务的响应速度。特别地,为了避免通信串口的数据丢失,程序允许BSP发送中断和接收中断在ADV611的服务请求中断中发生并立即响应。在程序的主循环部分中,DSP通过一系列的状态判断完成发送缓冲区数据写入、接收缓冲区数据读取、图像压缩编码参数计算和对单片机的命令发送的视频通信任务。

         本文阐述的DSP设计方法,作为脱机视频编/解码系统的核心,在实际的应用中实现了实时系统的有效控制,保证了图像数据的可靠传输,并完成了用户的远端调控功能。通过实测,本设计使DSP还具有很多空闲时间,而且清晰的软件结构很容易添加进新的功能算法,例如动目标检测报警和动目标跟踪算法,从而进一步丰富该系统的功能。
继承事业,薪火相传
返回列表