0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于TMS320VC5509A DSP芯片实现自动光学检测系统的软硬件设计

电子设计 来源:电子产品世界 作者:何梓滨;段发阶; 2020-04-27 07:58 次阅读

引 言

随着表面组装技术(SMT)中所使用的印制电路板(PCB)导体图形的细线化,SMT元器件的微型化,以及SMT组件的高密度组装和快速组装的发展趋势,采用目检或人工光学检测的形式检测SMT组装质量已不能适应。为此,自动光学检测(AOI)技术作为SMT组装质量检测的主要技术手段,在SMT中应用越来越普遍。

AOI,也称为自动视觉检测,是基于光学原理,综合采用图像分析、计算机和自动控制等多种技术,对生产中遇到的缺陷进行检测和处理,是较新的确认制造缺陷的方法。AOI系统按技术划分为精密机械、电气控制、视觉系统、软件系统4大部分组成,其核心是一套基于CMOS或CCD的图像采集系统、交流伺服控制x、y工作台及图像处理软件系统。图1为所设计的PCB板AOI检测系统框图。

基于TMS320VC5509A DSP芯片实现自动光学检测系统的软硬件设计

图1 PCB板AOI检测系统框图

视觉检测系统硬件设计

AOI系统究其本质是一套基于机器视觉技术的表面缺陷检测系统。如何获取高质量的PCB表面图像信息成为PCB光学检测中首要解决的难题和重点,这是PCB表面缺陷检测的关键。由于PCB缺陷的特殊性,AOI系统对视觉采集系统提出了很高的要求:高分辨率、高速率、实时检测等。

视觉采集系统

针对AOI系统要求,选用基于DSP+CPLD的图像采集处理模式。图2为视觉采集系统框图。系统通过DSP给CPLD发出一个采集命令,由CPLD控制CMOS图像传感器向FIFO的写入图像数据,同时DSP通过DMA将图像转移至SDRAM中并进行图像处理,在处理结束后,将处理的结果通过DSP内置的USB接口传给微机或其他设备。 I/O接口经扩展后,将控制触发信号交由工作台及电气控制系统,完成系统采集控制的目的。

图2 视觉采集系统框图

USB通信接口电路

本设计采用的DSP芯片TMS320VC5509A集成了一个USB控制模块(USB2.0 full speed),可以完成和USB主机系统之间的读写操作,具有无需外加逻辑电路、使用方便等优点。使用TMS320VC5509A的片上USB模块,完成DSP前端图像采集系统与后台PC机之间的通信硬件电路设计,简化了图像采集系统的硬件控制软件和后台PC机的驱动程序。

图3 TMS320VC5509A的USB接口电路

图3为DSP片内USB模块与PC机进行数据通信的硬件接口电路。其中左边3个引脚PU、DP、DN是TMS320VC5509A的片上引脚,右边的6个引脚组成了一个Mini USB接口,利用USB连接线就可以完成与PC机的连接。中间的阻容电路起加强输入输出可靠性的作用。

软件程序设计

图4 视觉系统中USB通信数据流

如图4所示,本系统中USB通信的软件程序主要由四部分组成。在设备端:设备端驱动程序,也称之为固件程序;设备端应用程序,主要完成数据搬运,以及与其他硬件设备的交互工作。在主机端:主机端驱动程序;主机端应用程序。由于USB是分层结构,主机端驱动和设备端驱动完成对USB设备的枚举和配置;而在主机端应用程序和设备端应用程序之间实现数据的通信。

本系统中,DSP作为USB传输的设备端,同时由于USB是严格的主从结构,所有的配置、枚举及数据传输命令都必须由主机下达,所以在设备端的程序设计时,固件程序设计成一个复杂的中断服务程序,用以主机对DSP作为USB设备配置、枚举时的应答。而原本在CCS中运行的DSP采集主程序也必须改写成中断程序,这样才能完成对DSP固件程序和DSP采集程序的整合,使之整合到一个main()运行程序中,程序运行时,启动对DSP的初始化,时钟配置和USB模块初始化;当主机发出采集图像命令时,DSP程序进入采集中断程序,执行实时采集中断程序;当主机发出USB模块配置枚举命令时,USB中断服务程序对主机做出回应;当主机发出传输图像命令时,DSP程序进入数据搬运中断程序。

DSP端的固件程序

USB固件程序的结构一般是基于中断处理的。主程序完成必要的初始化之后就等待USB中断,接收到USB中断后依据中断的类型进入不同中断服务程序。USB协议的主从模式决定了USB总线上传输的发起和终止都是主机控制的,因此,固件编程中只要满足了主机的要求,或者说对主机的请求给予了及时的响应,那么固件的编程也就完成了。

USB固件应用程序主函数例程:

void main()

EnableAPLL( );

//使能USB模块的模拟锁相环

CSL_init( );

// DSP的CSL库初始化函数

INT_DisableGlobal(); // 关闭全局中断

INT_SetVec(0x03ff00);

// 设置中断向量表在RAM中的地址

PLL_Init(48); // 将USB模块

的时钟调整到48MHz

Collect_main(); // CMOS图像

采集程序

USBTest_Init(); // 初始化USB

模块,初始化完毕打开全局中断

while(1); // 循环等待状态

端点0的控制传输是USB枚举的默认传输端口,其中断服务程序是USB固件程序设计的难点和关键。

PC端的驱动程序及上位机应用程序

PC端的驱动程序及上位机应用程序设计相对比较简单,选用Driver Studio开发工具开发USB驱动程序,Driver Studio对设备驱动程序开发工具DDK中操作进行封装,减少了开发时间,提高了效率。通过Driver Studio的工具Driver wizard生成的驱动程序为开发者提供了一个基本框架,使用者只需修改较少的或者基本不用代码就可以实现相应的功能了。

Windows XP中的上位机程序不能直接访问底层的硬件,需要通过驱动程序进行(读、写、中断等)操作。设备的驱动程序由I/O管理器管理和调动。上位机程序在用户模式下通过Win32子系统对Win32API函数进行调用。Win32API函数通过I/O管理器向内核模式下的驱动程序传递IRP。驱动程序通过处理IRP,来完成应用程序和硬件程序信息的交互。访问USB设备驱动的Win32API函数:

(1) CreatFile 函数创建或打开文件,并返回一个可用于访问文件的句柄。

(2) DeviceIoControl 函数直接给指定的设备驱动程序发送控制代码,使得相应的设备执行指定操作。函数若成功,返回一个非0值,否则返回0。

(3) ReadFile 函数读由文件指针表示的位置开始处的文件读数据,读操作完成后,文件指针调整实际读的字节数。函数若成功,返回一个非0值,否则返回0。

(4) CloseHandle 函数关闭打开的文件句柄。函数若成功,返回一个非0值,否则返回0。

实验与结论

设计实现了一种印制电路板AOI视觉检测系统,包括硬件电路和软件程序。硬件结构简单,可以实现通信传输的高度集成化,传输速率满足AOI检测系统的实时性要求。图5为实验中采集到的PCB板图像。

图5 实验中采集到的PCB板图像

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    544

    文章

    7682

    浏览量

    344364
  • pcb
    pcb
    +关注

    关注

    4221

    文章

    22472

    浏览量

    385799
  • AOI
    AOI
    +关注

    关注

    6

    文章

    133

    浏览量

    24118
收藏 人收藏

    评论

    相关推荐

    tms320vc5509问题

    emulator配置如下:板载芯片tms320vc5509a,此外芯片还有些发烫,这个有问题没?请各位大神多多帮忙,在下感激不尽。
    发表于 09-12 15:14

    创龙TI C55x架构 定点TMS320VC5509A低功耗开发板

    和生成3 软硬件参数硬件框图 图 7 TMS320VC5509A资源框图 图 8 TL5509-EVM硬件资源图解1 图 9 TL
    发表于 08-14 13:26

    请问CCS3.3工程导进CCS5.4里编译出错是什么原因,芯片TMS320VC5509A

    我原来用CCS3.3写的程序,导进CCS5.4的时候,编译出错。芯片用的是TMS320VC5509A。请高手指教,谢谢!
    发表于 07-31 06:40

    TMS320VC5509A和AT25F1024N自举引导失败

    TMS320VC5509A没反应。在SPI程序中调试查看对AT25F1024写的结果:与bin文件一致(十六进制查看)。请各位专家指教,给个解决问题的方向。多谢~~
    发表于 01-28 09:12

    请问TMS320VC5509A如何串行ads1258?

    TMS320VC5509A串行ads1258,看了TI的资料,但是不知道具体引脚怎么连接,求指导!!!
    发表于 05-23 10:36

    基于TMS320VC5509A DSP的JPEG视频压缩系统的设计和实现方案介绍

    嵌入式应用等优点,特别适合复杂算法处理的应用。数字视频图像压缩系统利用DSP作为其嵌入式平台,充分发挥其性能优势,较好地提高编码效率,满足图像实时处理需要。因此,这里介绍一种基于TMS320VC5509A
    发表于 07-26 08:24

    如何在TMS320VC5509A实现毫米波探测器回波信号的实时去噪处理?

    提升小波变换由哪几个步骤构成?如何在TMS320VC5509ADSP硬件平台上实现毫米波探测器回波信号的实时去噪处理?
    发表于 04-20 06:04

    基于TMS320VC550的JPEG视频压缩系统怎么实现

    本文介绍基于TMS320VC5509A DSP的JPEG视频压缩系统的设计和实现方案,该系统硬件
    发表于 06-02 06:25

    TMS320VC5509A pdf datasheet

    The TMS320VC5509A fixed-point digital signal processor (DSP) is based on the TMS320C55x DSP
    发表于 08-07 22:28 91次下载

    TMS320VC5509A USB设备固件设计与实现

    TMS320VC5509A 是TI 推出的新一代高性能、低功耗数字信号处理芯片,并扩充了当今流行的USB 设备接口模块。本文介绍了嵌入式系统USB 接口的特点和主要软件模块,分析了TMS320
    发表于 08-15 15:04 42次下载

    基于TMS320VC5509A的指纹识别系统硬件设计

    介绍了一种以定点DSP芯片TMS320VC5509A及FPS200指纹采集传感器为核心的自动指纹识别模块,详细描述了此系统
    发表于 09-18 11:49 52次下载

    TMS320VC5509A实现频域图形辨别系统

    为进行图形辨别,提出一种基于DSP 芯片TMS320VC5509A的频域图形辨别系统、通过对采集到的图形图像进行图像分割,并对图像进行填充和拍样,再通过二维FFT变换获取图像的频域信息
    发表于 09-26 16:49 41次下载
    <b class='flag-5'>TMS320VC5509A</b><b class='flag-5'>实现</b>频域图形辨别<b class='flag-5'>系统</b>

    tms320vc5509a数据手册

    tms320vc5509a数据手册,有需要的下来看看。
    发表于 01-22 14:42 71次下载

    TMS320VC5509A硬件设计资源的详细英文资料

    本文的主要内容介绍的是TI的产品TMS320VC5509A硬件设计资源的详细英文资料的概括
    发表于 04-25 17:24 16次下载
    <b class='flag-5'>TMS320VC5509A</b><b class='flag-5'>硬件</b>设计资源的详细英文资料

    TMS320VC5509A 定点数字信号处理器

    电子发烧友网为你提供TI(ti)TMS320VC5509A相关产品参数、数据手册,更有TMS320VC5509A的引脚图、接线图、封装手册、中文资料、英文资料,TMS320VC5509A真值表,
    发表于 10-09 11:29
    <b class='flag-5'>TMS320VC5509A</b> 定点数字信号处理器