3.3.3 SD卡接口
TMS320VC5509A内置MMC控制器支持对MMC卡和SD卡的读写,支持MMC/SD协议和SPI协议,MMC控制器的运行频率可通过程序设置,并与McBSP接口引脚复用,使用时需设置外部总线选择寄存器(EBSR)。图5所示为MMC控制器与SD卡信号连接图,连接信号有:时钟信号(CLK)、控制信号(CMD)和数据信号(DAT0~DAT3)。
3.3.4 Bootload电路
Bootload的功能是在系统上电后,将用户程序从片外的慢速存储器加载至片内RAM中,并使其高速运行。这里选用EEPROM作为外部非易失性程序存储器。TMS320VC5509A的Bootload方式支持EMIF模式,SPI模式和McBSP模式等。其中SPI模式的EEPROM自举有两种,一种是基于16位字节地址,最大可达64 K寻址空间;另一种是基于24位字节地址,最大可达16 M寻址空间。在此选用第一种方式,并引出Bootload模式选择引脚BOOTM[3:0],便于系统升级。
3.4 FPGA子系统组成及功能
为实现该图像处理平台通用性和实时性,FPGA子系统需实现的功能包括:开放式的图像数据采集总线,DSP图像处理实时数据总线,100 MB以太网接口,UART接口,VGA实时显示模块,I2C存储器接口和PS/2接口等。其中UART接口方便系统软件开发及调试,VGA接口用于图像数据实时显示,I2C接口外接EEPROM用于系统参数的掉电存储。为实现多个系统的网络化,FPGA子系统还设有以太网接口,用于多个系统将处理结果回传至PC端口。PS/2接口为预留端口,后期根据需要增加键盘等输入设备。
4 系统软件设计
4.1 软件开发开具
该系统软件设计采用TI公司CCS3.1(Code ComposerStudio)作为开发环境,并利用CCS自带的DSP/BIOS实时操作系统进行设计。在CCS中完成软件的编辑、编译、调试、代码性能测试和项目管理等工作。通过使用DSP/BIOS提供的一系列丰富的内核服务,快速创建满足实时性能要求的精细复杂的多任务应用程序。DSP/BIOS内核具有跨平台的标准API接口,能被用户程序调用,易于移植。此外,这些服务除支持多线程调度管理外,还支持系统实时分析以及资料管理。DSP/BIOS内核具有很大的尺寸伸缩性,多线程配置下的内核镜像的代码量最小仅有1 K字,占用DSP资源非常少。
4.2 软件系统总体设计
在硬件平台基础上,利用CCS集成开发环境中的DSP/BIOS实时操作系统内核,开发具有可扩展性的软件系统。系统软件部分采用模块化和层次化设计思想。软件结构主要包括:设备驱动层、操作系统层、应用程序接口(API)层和应用层。设备驱动层负责与硬件有关的各个模块或外设的驱动程序设计;操作系统层负责嵌人式实时操作系统移植;应用程序接口层完成系统控制功能、数据读写等,并实现硬件无关性;应用层则设计与系统应用背景有关的控制程序。图6为系统软件运行流程。软件设计主要分为CCD图像预处理后的接收任务、快速数字图像处理任务、逻辑控制任务和图像数据回传任务。系统上电后,程序首先执行DSP的初始化和DSP/BIOS初始化,接着执行函数主体并启动DSP/BIOS操作系统,以后的任务均由操作系统进行调度。采用嵌入式实时操作系统DSP/BIOS构建的图像处理软件平台能较好满足任务对实时性的要求,且结构稳定紧凑,可移植性高。
5 实验结果
为验证该系统的通用性与实时性,将其应用于某型号贴片机的器件检测中,并进行以下3个实验:DMA方式下大容量数据传输实验,阈值分割测试实验和模板匹配测试实验。其中DMA方式下大容量数据传输实验,通过DMA方式将片内数据传输至片外SDRAM内部,图像大小为600×480字节。阈值分割和模板匹配实验则直接读取片外SDRAM中的图像数据,并对图像分别进行阈值分割和8×8模板匹配实验,图像处理算法采用TI公司图像处理库甬数。IMG threshold()和IMG_mad_8×8()。设置DSP运行时钟为208 MHz,采用定时器0计时,DMA通道选用通道0,图像数据大小为600×480字节。实验结果如表1所示。
以上实验数据表明,当采用600×480面阵CCD数据采集,并要求每帧图像处理时间限定在30 ms以内时,该系统能很好满足当前系统需要。
6 结论
系统能够满足600×480面阵CCD和普通线阵CCD传感器对系统处理能力的需要,具有较强的通过性和实时性。其设计创新之处在于,充分运用DSP的强大运算能力和灵活的寻址方式,结合FPGA在通用接口设计和简单信号处理速度方面的优点,采用基于DSP/BIOS的软件架构,使得系统集成度高,功耗低,具备更高的实时性和可移植性。