2021-08-13 17:39:20 索炜达电子 1908
项目编号:E55
文件大小:4M
源码说明:带中文注释
开发环境:CCS
简要概述:
1.1 整体架构设计
根据需求方表述,要求设计一套“基于TMS320F28335**(简称28335)指纹识别**”系统,项目内部代码"S04"。功能为:以28335开发板为核心进行开发,实现指纹的存储和比对识别。
1.2 需求解析
设计要求
-TMS320F28335的型号DSP作为处理器。
-选择光学指纹模块对指纹信息进行采集。
-实现指纹的存储和识别功能。
采用方案
-拟采用主TMS320F28335进行嵌入式编程,对主CPU(STM32F103系列芯片)进行嵌入式编程,包含配置TMS320F28335的系统,搭建硬件运行环境,对整体系统运行架构,协议,算法,流程设计,要求包含完整的工程开发库文件。如图1所示。
-指纹模块拟采用AS608光学指纹识别模块,其主要特征为:模块通讯接口为USB和UART两种通信接口,本项目使用UART接口作为通信接口,与DSP的SCI接口相连;指纹图像录入时间:<1.0秒;供电电压: DC 3.3V,供电电流: 工作电流:<60mA。,峰值电流:<60mA;窗口面积: 15.3╳ 18.2 mm;分辨率:500dpi。满足设计需求。
-本项目匹配结果拟采用PC机的串口助手接收。若匹配成功,在串口助手接收版面显示指纹已匹配;若匹配失败,在串口助手接收版面显示匹配失败;若指纹采集失败,则提示用户重新按压指纹。
驱动开发
以嵌入式TMS320F28335系统为控制核心,开发包含:(1)指纹模块驱动、(2)串口驱动(3)上位机通信模块驱动。
1.3 实物图
1.4 CCS导入方法
S1:下载代码:
S2:解压下载的zip文件到桌面,接着进入CCS软件中。
S3:点击CCS中project选项->import CCS Project。
S4:导入文件夹
S5:完成
文件列表:
目录│文件列表:
├ 1.文档
│ └ 设计报告.docx
└ 2.源码
└ s04-as608-f28335
│ .ccsproject
│ .cproject
│ .project
│ 28335_RAM_lnk.cmd
│ DSP2833x_Headers_nonBIOS.cmd
│ F28335_FLASH_lnk.cmd
├ .launches
│ └ S04-AS608-FINGER-F28335-CCSV8.launch
├ .settings
│ │ org.eclipse.cdt.codan.core.prefs
│ │ org.eclipse.cdt.debug.core.prefs
│ └ org.eclipse.core.resources.prefs
├ Debug
│ │ .gitignore
│ │ ccsObjs.opt
│ │ makefile
│ │ objects.mk
│ │ S04-AS608-FINGER-F28335-CCSV8.map
│ │ S04-AS608-FINGER-F28335-CCSV8.out
│ │ S04-AS608-FINGER-F28335-CCSV8_linkInfo.xml
│ │ sources.mk
│ │ subdir_rules.mk
│ │ subdir_vars.mk
│ ├ DSP2833x_common
│ │ └ source
│ │ │ DSP2833x_Adc.d
│ │ │ DSP2833x_Adc.obj
│ │ │ DSP2833x_ADC_cal.obj
│ │ │ DSP2833x_CodeStartBranch.obj
│ │ │ DSP2833x_CpuTimers.d
│ │ │ DSP2833x_CpuTimers.obj
│ │ │ DSP2833x_CSMPasswords.obj
│ │ │ DSP2833x_DBGIER.obj
│ │ │ DSP2833x_DefaultIsr.d
│ │ │ DSP2833x_DefaultIsr.obj
│ │ │ DSP2833x_DisInt.obj
│ │ │ DSP2833x_DMA.d
│ │ │ DSP2833x_DMA.obj
│ │ │ DSP2833x_ECan.d
│ │ │ DSP2833x_ECan.obj
│ │ │ DSP2833x_ECap.d
│ │ │ DSP2833x_ECap.obj
│ │ │ DSP2833x_EPwm.d
│ │ │ DSP2833x_EPwm.obj
│ │ │ DSP2833x_EQep.d
│ │ │ DSP2833x_EQep.obj
│ │ │ DSP2833x_Gpio.d
│ │ │ DSP2833x_Gpio.obj
│ │ │ DSP2833x_I2C.d
│ │ │ DSP2833x_I2C.obj
│ │ │ DSP2833x_Mcbsp.d
│ │ │ DSP2833x_Mcbsp.obj
│ │ │ DSP2833x_MemCopy.d
│ │ │ DSP2833x_MemCopy.obj
│ │ │ DSP2833x_PieCtrl.d
│ │ │ DSP2833x_PieCtrl.obj
│ │ │ DSP2833x_PieVect.d
│ │ │ DSP2833x_PieVect.obj
│ │ │ DSP2833x_Sci.d
│ │ │ DSP2833x_Sci.obj
│ │ │ DSP2833x_Spi.d
│ │ │ DSP2833x_Spi.obj
│ │ │ DSP2833x_SysCtrl.d
│ │ │ DSP2833x_SysCtrl.obj
│ │ │ DSP2833x_usDelay.obj
│ │ │ DSP2833x_Xintf.d
│ │ │ DSP2833x_Xintf.obj
│ │ │ subdir_rules.mk
│ │ └ subdir_vars.mk
│ ├ DSP2833x_headers
│ │ └ source
│ │ │ DSP2833x_GlobalVariableDefs.d
│ │ │ DSP2833x_GlobalVariableDefs.obj
│ │ │ subdir_rules.mk
│ │ └ subdir_vars.mk
│ └ src
│ │ as608.d
│ │ as608.obj
│ │ main.d
│ │ main.obj
│ │ sci.d
│ │ sci.obj
│ │ subdir_rules.mk
│ └ subdir_vars.mk
├ DSP2833x_common
│ ├ cmd
│ │ │ 28332_RAM_lnk.cmd
│ │ │ 28334_RAM_lnk.cmd
│ │ │ 28335_RAM_lnk.cmd
│ │ │ F28332.cmd
│ │ │ F28334.cmd
│ │ └ F28335.cmd
│ ├ gel
│ │ └ ccsv4
│ │ │ f28232.gel
│ │ │ f28234.gel
│ │ │ f28235.gel
│ │ │ f28332.gel
│ │ │ f28334.gel
│ │ └ f28335.gel
│ ├ include
│ │ │ DSP2833x_DefaultIsr.h
│ │ │ DSP2833x_Dma_defines.h
│ │ │ DSP2833x_EPwm_defines.h
│ │ │ DSP2833x_Examples.h
│ │ │ DSP2833x_GlobalPrototypes.h
│ │ │ DSP2833x_I2c_defines.h
│ │ │ DSP2833x_SWPrioritizedIsrLevels.h
│ │ │ DSP28x_Project.h
│ │ │ SFO.h
│ │ └ SFO_V5.h
│ ├ lib
│ │ │ SFO_TI_Build.lib
│ │ │ SFO_TI_Build_fpu.lib
│ │ │ SFO_TI_Build_V5.lib
│ │ │ SFO_TI_Build_V5B.lib
│ │ │ SFO_TI_Build_V5B_fpu.lib
│ │ └ SFO_TI_Build_V5_fpu.lib
│ └ source
│ │ DSP2833x_Adc.c
│ │ DSP2833x_ADC_cal.asm
│ │ DSP2833x_CodeStartBranch.asm
│ │ DSP2833x_CpuTimers.c
│ │ DSP2833x_CSMPasswords.asm
│ │ DSP2833x_DBGIER.asm
│ │ DSP2833x_DefaultIsr.c
│ │ DSP2833x_DisInt.asm
│ │ DSP2833x_DMA.c
│ │ DSP2833x_ECan.c
│ │ DSP2833x_ECap.c
│ │ DSP2833x_EPwm.c
│ │ DSP2833x_EQep.c
│ │ DSP2833x_Gpio.c
│ │ DSP2833x_I2C.c
│ │ DSP2833x_Mcbsp.c
│ │ DSP2833x_MemCopy.c
│ │ DSP2833x_PieCtrl.c
│ │ DSP2833x_PieVect.c
│ │ DSP2833x_Sci.c
│ │ DSP2833x_Spi.c
│ │ DSP2833x_SWPrioritizedDefaultIsr.c
│ │ DSP2833x_SWPrioritizedPieVect.c
│ │ DSP2833x_SysCtrl.c
│ │ DSP2833x_usDelay.asm
│ └ DSP2833x_Xintf.c
├ DSP2833x_headers
│ ├ cmd
│ │ │ DSP2833x_Headers_BIOS.cmd
│ │ └ DSP2833x_Headers_nonBIOS.cmd
│ ├ gel
│ │ │ DSP2833x_DualMap_EPWM.gel
│ │ └ DSP2833x_Peripheral.gel
│ ├ include
│ │ │ DSP2833x_Adc.h
│ │ │ DSP2833x_CpuTimers.h
│ │ │ DSP2833x_DevEmu.h
│ │ │ DSP2833x_Device.h
│ │ │ DSP2833x_DMA.h
│ │ │ DSP2833x_ECan.h
│ │ │ DSP2833x_ECap.h
│ │ │ DSP2833x_EPwm.h
│ │ │ DSP2833x_EQep.h
│ │ │ DSP2833x_Gpio.h
│ │ │ DSP2833x_I2c.h
│ │ │ DSP2833x_Mcbsp.h
│ │ │ DSP2833x_PieCtrl.h
│ │ │ DSP2833x_PieVect.h
│ │ │ DSP2833x_Sci.h
│ │ │ DSP2833x_Spi.h
│ │ │ DSP2833x_SysCtrl.h
│ │ │ DSP2833x_Xintf.h
│ │ └ DSP2833x_XIntrupt.h
│ └ source
│ └ DSP2833x_GlobalVariableDefs.c
├ inc
│ │ as608.h
│ │ global.h
│ │ main.h
│ │ project.h
│ │ sci.h
│ └ type.h
├ README
│ │ image-20200329102628547.png
│ │ image-20200329102902855.png
│ │ image-20200329103720184.png
│ │ image-20200329104838286.png
│ └ image-20200329105347256.png
├ src
│ │ as608.c
│ │ main.c
│ └ sci.c
└ targetConfigs
│ readme.txt
│ TMS320F28235.ccxml
└ TMS320F28335.ccxml