1. 引言
在图象处理方面,有多种方式的处理系统,根据不同的使用场所、使用目的以及对性价比的不同要求,可灵活选择系统的设计方案。交通图象的检测与处理方法的研究对于交通安全管理有着非常重要的理论意义和实际应用价值。通过交通图象的检测识别可对路况进行实时监控,一旦发生交通拥挤,可以及时采取疏导措施,防止不必要的交通事故的发生;此外还可以根据实时监控,实时监测交通违章现象。
目前 DSP 广泛应用于数字信号处理系统中[1],成为数字化变革的主要角色,随着DSP产品的不断推陈出新,C2000 系列、C5000 系列、C6000 系列以及一些非主流的系列,其性能不断完善。图象处理属于一种信号处理,采用DSP 设计出来的数字信号处理系统可以很好地满足图象处理的要求。而引入FPGA 参与系统设计,又使得系统的开发周期大大缩短,成本大大减少。本文介绍一种基于FPGA+DSP 的交通图象处理系统设计方案。由于交通图象处理系统对实时性的要求较高,且应用的场所特殊,对于该系统方案还要考虑到性价比,故采用了DSP5000 系列的芯片。为了满足高速采样数据流、快速存取、快速运算的实时性要求,采用FPGA+DSP 的设计思想。
2. 系统结构
本文介绍的系统是基于FPGA+DSP 结构的图象处理系统[2],整个处理系统的结构框图如图(1)所示。系统数据处理的流程图见图(2)所示。
在该系统中主要就是FPGA 模块和DSP 模块及它们的外围电路,在此首先就介绍一下这两种模块。现场可编程门阵列FPGA 属于可编程ASIC 类,由逻辑功能块组成,并由用户现场编程,因而既有门阵列的高逻辑密度和通用性,又有可编程逻辑器件的用户可编程特性,因此在实现小型化、集成化和高可靠性的同时,减小了设计风险,降低了设计成本,缩短了研发周期。本系统中FPGA 作为协处理器主要是完成对数字信息的采集及预处理,生成DSP的处理对象,现选用EPF10K20RC240-4。
该系统DSP 选用TMS320VC5402。TMS320VC5402 是TI 公司推出的一款性价比极高的低功耗的定点DSP 芯片,操作频率可达100MIPS, 多总线结构,允许使用C 语言编译器,在数字信号处理中广泛应用。TMS320VC5402 的数据/程序寻址空间为1M×16bit,内置4K×16bitROM 和16k×16bitRAM;内置可编程等待状态发生器、锁相环(PLL)时钟产生器、两个多通道缓冲串口、一个与外部处理器通信的8 位并行HPI 口、两个16 位定时器以及6通道DMA 控制器且低功耗。与C54X 系列的其它芯片相比,C5402 具有高性能、低功耗和低价格等特点。它采用6 级流水线,且当RPT(重复指令)时,一些多周期的指令就变成了单周期的指令;芯片内部RAM 和ROM 可根据PMST 寄存器中的OVLY 和DROM 位灵活设置。这些都有利于算法的优化。该芯片提供2 个MCBSP,既可以工作在SPI 工作模式,又可以工作在通用串口模式,在系统设计中可灵活的应用。
3. 系统的硬件设计
该处理系统以PC 机作为信息处理人机对话平台[3],显示当前系统的运行状态;以DSP为核心处理器,完成数据处理、控制算法、以及保护中断的处理;以FPGA 为协处理器,完成对数据信号的采集、预处理、管理DSP 和各种外部设备的接口配置。FPGA 的这种预处理操作能够使得DSP 专注于复杂运算的实现,系统运行在准并行状态,从而加快了处理速度。
TMS320VC5402 采用3.3V 和1.8V 电源供电,其中I/O 采用3.3V 电源供电,芯片的核采用1.8V 电源供电。TMS320VC5402 有符合IEEE1149.1 标准的JTAG 标准测试接口及相应的控制器,从而通过仿真器与PC 机相连,通过测试引脚装载程序,进行在线调试。系统的启动、结束、参数的设置以及图象算法的选择是由PC 机通过RS232 串口进行控制的。TMS320VC5402 内部没有FLASH 存储器,程序需通过并口由仿真器下载,不能脱机工作。为了形成独立的系统,采用外部扩展闪速存储器AM29LV200B 存储程序。系统复位时从FLASH 中加载程序。AM29LV200B 是AMD 公司生产的128KB16 位闪速存储器,采用3V单电源供电,可以使其内部产生高电压进行编程和擦除操作。具体编程、擦除操作由内部嵌入的算法实现,用户只需向其命令寄存器写入标准的微处理器指令即可。用户还可以通过查询特定的引脚或数据线监控操作是否完成,可以对任一扇区进行读、写或擦除操作,而不影响其它部分的数据。由于TMS320VC5402 的采样速度及存储空间受到自身的约束限制,数据的采集、流向控制和预处理由FPGA 及外扩的SDRAM 完成。SDRAM 和其他的存储器相比,其速度快,容量大,该系统SDRAM 选用MT48LC32M16A2。DSP 的结构框图见图(3)所示。
4. 系统的软件设计
系统的软件设计是在设计好的硬件基础上编写程序来使得硬件实现具体操作应用。软件程序包含控制程序和上位机程序[4]。DSP 的控制软件采用汇编语言与C 语言相结合编程。采用C 语言编程大大缩短了开发周期,而且便于系统的修改、升级,且可读性强、可移植性好,大大提高了算法的通用性。但在某些情况下,C 代码的效率还是不如汇编语言代码的效率高。所以结合两者的优点采用汇编语言与C 语言相结合的方式编程。用汇编程序来实现系统的初始化、图形操作、串口操作;用C 语言程序来实现系统的流程控制及图象处理。系统软件流程图见图(4)所示。
5. 结束语
基于 FPGA、DSP 的设计是当今数字电路研发的一种可行的实现方式。该系统中DSP的应用使得图象处理速度快,很好地满足了实时性要求;采用FPGA 技术来进行硬件设计,因其内部功能是可以通过软件来更改的,有很大的灵活性和可重用性,从而大大缩短了系统的开发周期,降低了成本和硬件开发风险,因此具有很好的应用前景。此系统用于交通图象的处理既能满足其实时性要求,又节约了成本,具有极高的性价比。
本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念
本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“
课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了
@2003-2020 中国电子顶级开发网