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

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

3天内不再提示

采用TMS320C5416处理器与P89C52单片机实现指纹自动识别系统的设计

电子设计 来源:电子技术应用 作者:颜浩洋;李见为; 2020-04-13 07:47 次阅读

介绍一种基于单片机USB服务芯片PDIUSBD12的USB接口设计。该接口应用在嵌入式指纹识别系统中,用于嵌入式系统与计算机之间进行用户指纹数据库的上传和下载。详细介绍了USB接口的硬件设计和固件程序的实现。

在指纹自动识别系统中,嵌入式系统由于功耗低、设备体积小、安全性高等优点,已经得到越来越广泛的应用。通用串行总线(USB)是由Inter、Microsoft、IBM和NEC等共同制定的微机总线接口规范,具有较高的传输速率(USB 1.1支持最高传输速度为12Mb/s,而USB 2.0的传输速度最高可达到480Mb/s),支持即插即用,占用系统资源少,扩展能力强。在嵌入式系统的应用中,几乎不可避免与PC机的通信,由于通信速度的要求以及计算机硬件高速发展,传统的RS232接口已经越来越不能满足用户的需求,所以在嵌入式系统中USB接口的实现势在必行。

1、嵌入式指纹自动识别系统

本文所介绍的嵌入式指纹自动识别系统采用DSP与单片机协同工作,以实现指纹自动识别以及用户服务系统。其中单片机选用Philps公司的P89C52,DSP处理器选用TI公司的TMS320C5416。单片机具有系统控制能力强、结构简单、扩展方便等特点,适合作为系统的控制核心;而DSP采用的增强型哈佛结构、多级流水线、多处理单元以及特殊的指令(乘加指令等),使得DSP具有强大的数据处理能力,并且TMS320C5416支持最高160MHz的时钟频率,基于其强大数据处理能力和高运行速度,所以将它作为系统的算法核心处理器。由单片机为核心的控制模块主要完成用户服务系统和系统通信接口,由DSP为协处理器的算法模块完成指纹采集和处理。用户通过键盘输入控制整个系统的工作流程,通过LCD了解系统的工作状态及处理结果。DSP由其HPI(主机接口)与单片机以中断方式进行通信。而整个系统通过USB接口与上位PC机之间进行通信。其结构如图系统新用户注册时,通过键盘输入注册ID,然后系统由DSP控制指纹传感器采集用户指纹数据。如果采集到有效指纹,经过DSP进行指纹处理得到指纹模板数据。系统将该指纹模板存入系统数据库中。如果需要,也可以通过USB接口将用户信息和对应模板都上传至PC机中备份。当嵌入式系统数据丢失时,可以通过USB接口将PC机里所存备份下载至系统中。下面着重介绍系统的控制模块和USB接口的设计。

采用TMS320C5416处理器与P89C52单片机实现指纹自动识别系统的设计

2、系统控制模块设计

系统控制模块的核心处理器为P89C52,由于其接口有限,同时完成系统控制和USB接口控制将十分困难。而从系统成本、开发时间周期和继承性方面考虑,换用其他处理器也不太方便,所以必须考虑在此处理器的基础上完成多项任务。由指纹自动识别系统的特点来看,系统在完成指纹录入或登录后才需要利用USB接口完成指纹模板和登录信息的传输,所以对于处理器来说,USB控制和系统控制可以采用时分复用的方式进行。由此,利用一个电平转换芯片和一个8总线收发器来控制数据的选通及流向,以保证系统能够正常工作。

SN74ALVC164245为5V~3.3V电平转换芯片,负责控制单片机与DSP之间的数据流向以及电平转换。因为单片机的IO电平为5V,而DSP的IO电平为3.3V,所以必须进行电平转换。另外,SN74ALVC164245的OE和DIR脚联合控制数据的流向,当OE为高时,芯片两边的数据互相独立;当OE为低时,通过DIR的状态来控制数据的流向。74HC245为总线传输器,用来控制单片机同LCD控制芯片KS0108的数据通信,其工作原理与SN74ALVC164245类似,只是没有电平转换功能。同样,USB服务芯片通过SUSPEND管脚来使能数据线,将SUSPEND脚置高电平时,整个PDIUSBD12处于休眠状态。由此,单片机就可以通过控制引脚的状态来控制数据总线,以实现单片机数据总线的时分复用。

3、 系统USB接口设计

3.1 USB接口硬件设计

USB接口硬件主要以接口芯片PDIUSBD12为中心,设计它与USB物理接口以及微控制器之间的连接。接口模块通过跳线选择供电方式,可同时支持USB总线供电方式和外设供电方式,为全速USB设备接口。设计过程中充分考虑到可靠性、可测性以及电磁兼容性。其接口电路如图3所示。

接口电路供电通过拨盘开关K1选择,当K1接MVCC时,系统为自供电方式;当K1接UVSB时,为总线供电方式。当系统处于自供电方式情况下,系统通过EOT_N引脚来检测VUSB是否存在,并接上一个1M?赘的放电电阻来减弱充电,以确保当VUSB移开时EOT_N变为低,并且此时自供电电源与USB总线之间只能共地,同时设备不能通过USB口向VBNS输出电流

在单片机与PDIUSBD12的控制通信方面,单片机通过对PDIUSBD12的A0脚的状态控制来指示并行数据总线P0上传输内容为命令还是数据。此时,PDIUSBD12上用于数据地址总线复用的ALE引脚一直接地。中断引脚INT_N是系统的关键,几乎所有USB的活动在设备接口端都是由PDIUSBD12接收,然后通过中断通知单片机完成。PDIUSBD12上的挂起SUSPEND为一个双向引脚,由此保证USB设备既能被设备主控(单片机)也能被上位PC机唤醒,而PDIUSBD12工作时连续3次没有检测到SOP就将挂起脚置高。

PDIUSBD12片上GL_N引脚通过外接发光二极管来指示系统工作状态,在USB枚举过程中,LED指示根据通信状况间歇闪烁;当PDIUSBD12成功枚举和配置后,LED指示将一直点亮;随后与PDIUSBD12之间成功地传输(带应答)将关闭LED;处于挂起状态时LED将会关闭。

片上时钟发生电路采用6MHz晶振,匹配一个22pF和一个68pF的无源电容。采用6MHz晶振也是为了降低产品制造过程中产生EMI(电磁干扰效应)的风险,因为外部线路的频率越高,其EMI效应也会越强,而在片外电路采用较低频率并在芯片内部进行倍频的措施将既不影响芯片的处理速度,又能提高在外部布线的安全性。使用两个不同容值电容的目的是为了使晶体能够快速起振,经过测量,晶振的启动时间在2ms左右。

PDIUSBD12可采用5V和3.3V两种工作电压。由于主控单片机的IO电压为5V,所以对PDIUSBD12也使用5V的工作电压。此时在接入5V至PDIUSBD12 VCC脚的同时,要将PDIUSBD12上的VOUT脚空出,接去耦电容。另外,为了减小系统的EMI,在USB连接器输入侧的VBUS和地线上增加磁珠,如图3的BLM21P,并且在USB的屏蔽罩与地之间使用容性耦合

由于USB通信协议的复杂性,相当一部分工作由硬件电路来完成,所以对硬件电路设计的准确性要求非常严格,布线要合理要尽量减少分布电容和电磁干扰的影响,硬件电路的质量将直接影响到数据能否正常传输。

3.2 USB设备固件程序的开发

固件程序主要由主程序和中断服务程序组成。USB设备请求包括标准设备请求和厂商请求。标准设备请求用来完成USB设备枚举的命令,而厂商请求则是根据具体USB设备来完成特殊任务的命令。对于本文采用的USB服务芯片PDIUSBD12,其片内的SIE(串行接口引擎)实现了全部的USB协议层,且完全由硬件实现而不需要固件的参与,所以对于USB固件程序来说,USB协议的具体实现就可以根据PDIUSBD12所提供的命令字来完成。最后剩下的就是硬件层上读写数据的程序实现。

其工作流程大致为:主循环完成一些初始化工作,转入等待中断的循环中;当USB总线上有事务发生时,PDIUSBD12将会自动产生相应的中断来通知固件程序;然后固件程序转入相应的中断服务程序处理中断,主循环通过读取中断服务程序中设定的事件标志和循环数据缓冲区来决定转入相应的请求响应;响应程序通过再下层的PDIUSBD12命令接口程序控制PDIUSBD12完成相应数据或命令操作。此积木式结构的固件程序组合完成了USB接口设备从初始化到数据传输的全部USB活动。

本文根据USB1.1协议由其服务芯片PDIUSBD12和单片机P89C52完成了嵌入式指纹自动识别系统的USB接口硬件和固件程序的研究和开发,并结合上位PC机的驱动程序和应用程序为整个嵌入式系统提供了一个稳定性好、传输速度快、使用方便的USB接口。达到嵌入式系统与PC机之间灵活通信,使本嵌入式指纹自动识别系统得到了更广范的应用。

责任编辑:gt


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

    关注

    68

    文章

    19342

    浏览量

    230228
  • 单片机
    +关注

    关注

    6039

    文章

    44575

    浏览量

    636395
  • 嵌入式
    +关注

    关注

    5086

    文章

    19143

    浏览量

    306095
收藏 人收藏

    评论

    相关推荐

    基于tms320c5416和ltc1853的AD采集程序

    请问谁写过基于tms320c5416和ltc1853的AD采集程序?主要是如何选通ltc1853的8个输入通道和循环采样的具体程序编写,写过类似的也可以,请多给些意见
    发表于 06-04 18:34

    基于p89c52单片机剩余空位监测管理系统(停车场)

    基于p89c52单片机剩余空位监测管理系统(停车场)报告咋写???
    发表于 07-13 20:40

    TMS320C6678处理器的VLFFT该怎么演示?

    本白皮书探讨了TMS320C6678处理器的VLFFT演示。通过内置8个固定和浮点DSP内核的TMS320C6678处理器来执行16K-1024K的一维单精度浮点FFT算法样本,检测其
    发表于 09-29 10:05

    TMS320C6678处理器的性能怎么样?

    TMS320C6678处理器的性能怎么样?怎么探讨TMS320C6678处理器的VLFFT演示?
    发表于 04-19 10:53

    以STC89C52单片机实现指纹考勤系统设计的相关资料分享

    百度网盘下载地址(1119):点击下载摘要 在当今社会科技飞速发展的同时,在学校老师还是以点名签到或者IC卡签到的方式进行考勤,存在着他人冒充打卡或者点名的弊端。本次设计以STC89C52单片机为主
    发表于 11-10 08:36

    基于STC89C52单片机指纹识别设计资料分享

    本设计是基于STC89C52单片机指纹识别设计,采用AS608指纹模块做为传感,LCD160
    发表于 11-10 06:51

    基于STC89C52单片机的ATK-AS608指纹识别系统的设计资料分享

    在家闲着无聊,就在现有资料的基础上进行修改,做了一个自己的指纹识别系统硬件部分:STC89C52、LCD12864、ATK-AS608、能降压到3.3V的降压模块、按键原理图:LCD12864
    发表于 12-02 07:12

    如何去实现一种PC与51单片机的门禁兼考勤系统设计

    一. 门禁考勤系统硬件设计1 .硬件总体结构PC端的intel处理器作为硬件平台的核心,是衡量系统能否达到标准的主要标志。本文结合考勤系统采用
    发表于 01-18 10:43

    基于TMS320C5416的实时CVSD编解码

    本文介绍了CVSD的算法原理和优势,结合TI 公司的数字信号处理芯片TMS320C5416的特点,提出了一种实现方案,并给出了详细的软件和硬件设计。
    发表于 09-16 11:07 20次下载

    at89c52单片机引脚说明,AT89C52高性能8位单片机

    at89c52单片机引脚说明,AT89C52高性能8位单片机
    发表于 04-29 22:05 2.7w次阅读
    at<b class='flag-5'>89c52</b><b class='flag-5'>单片机</b>引脚说明,AT<b class='flag-5'>89C52</b>高性能8位<b class='flag-5'>单片机</b>

    TMS320C6678处理器的VLFFT演示探讨与研究

    本白皮书探讨了TMS320C6678处理器的VLFFT演示。通过内置8个固定和浮点DSP内核的TMS320C6678处理器来执行16K-1024K的一维单精度浮点FFT算法样本,检测其
    发表于 01-31 22:58 4407次阅读
    <b class='flag-5'>TMS320C</b>6678<b class='flag-5'>处理器</b>的VLFFT演示探讨与研究

    使用AT89C52单片机进行最小系统的接口电路免费下载

    技术生产, 兼容标准MCS-51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域。 AT
    发表于 06-12 17:46 13次下载
    使用AT<b class='flag-5'>89C52</b><b class='flag-5'>单片机</b>进行最小<b class='flag-5'>系统</b>的接口电路免费下载

    基于ARM9嵌入式处理器指纹识别系统设计

    为了适应指纹采集传感器件和指纹识别系统向着小型化和嵌入式方向发展的需要,文中提出了一种基于ARM9处理器架构的CPU芯片S3C2440A的嵌入式指纹
    发表于 10-15 10:40 2023次阅读
    基于ARM9嵌入式<b class='flag-5'>处理器</b>的<b class='flag-5'>指纹识别系统</b>设计

    AT89C52单片机实现喇叭驱动的设计

    AT89C52单片机实现喇叭驱动的设计
    发表于 11-23 17:06 53次下载
    AT<b class='flag-5'>89C52</b><b class='flag-5'>单片机</b><b class='flag-5'>实现</b>喇叭驱动的设计

    用于TMS320C5416的DSP/BIOS PCM3002编解码设备驱动程序

    电子发烧友网站提供《用于TMS320C5416的DSP/BIOS PCM3002编解码设备驱动程序.pdf》资料免费下载
    发表于 10-18 11:15 0次下载
    用于<b class='flag-5'>TMS320C5416</b>的DSP/BIOS PCM3002编解码<b class='flag-5'>器</b>设备驱动程序