2021-08-13 17:39:20 索煒達(dá)電子 2489
項(xiàng)目編號:E55
文件大?。?M
源碼說明:帶中文注釋
開發(fā)環(huán)境:CCS
簡要概述:
1.1 整體架構(gòu)設(shè)計(jì)
根據(jù)需求方表述,要求設(shè)計(jì)一套“基于TMS320F28335**(簡稱28335)指紋識別**”系統(tǒng),項(xiàng)目內(nèi)部代碼"S04"。功能為:以28335開發(fā)板為核心進(jìn)行開發(fā),實(shí)現(xiàn)指紋的存儲和比對識別。
1.2 需求解析
設(shè)計(jì)要求
-TMS320F28335的型號DSP作為處理器。
-選擇光學(xué)指紋模塊對指紋信息進(jìn)行采集。
-實(shí)現(xiàn)指紋的存儲和識別功能。
采用方案
-擬采用主TMS320F28335進(jìn)行嵌入式編程,對主CPU(STM32F103系列芯片)進(jìn)行嵌入式編程,包含配置TMS320F28335的系統(tǒng),搭建硬件運(yùn)行環(huán)境,對整體系統(tǒng)運(yùn)行架構(gòu),協(xié)議,算法,流程設(shè)計(jì),要求包含完整的工程開發(fā)庫文件。如圖1所示。
-指紋模塊擬采用AS608光學(xué)指紋識別模塊,其主要特征為:模塊通訊接口為USB和UART兩種通信接口,本項(xiàng)目使用UART接口作為通信接口,與DSP的SCI接口相連;指紋圖像錄入時(shí)間:<1.0秒;供電電壓: DC 3.3V,供電電流: 工作電流:<60mA。,峰值電流:<60mA;窗口面積: 15.3╳ 18.2 mm;分辨率:500dpi。滿足設(shè)計(jì)需求。
-本項(xiàng)目匹配結(jié)果擬采用PC機(jī)的串口助手接收。若匹配成功,在串口助手接收版面顯示指紋已匹配;若匹配失敗,在串口助手接收版面顯示匹配失??;若指紋采集失敗,則提示用戶重新按壓指紋。
驅(qū)動(dòng)開發(fā)
以嵌入式TMS320F28335系統(tǒng)為控制核心,開發(fā)包含:(1)指紋模塊驅(qū)動(dòng)、(2)串口驅(qū)動(dòng)(3)上位機(jī)通信模塊驅(qū)動(dòng)。
1.3 實(shí)物圖
1.4 CCS導(dǎo)入方法
S1:下載代碼:
S2:解壓下載的zip文件到桌面,接著進(jìn)入CCS軟件中。
S3:點(diǎn)擊CCS中project選項(xiàng)->import CCS Project。
S4:導(dǎo)入文件夾
S5:完成
文件列表:
目錄│文件列表:
├ 1.文檔
│ └ 設(shè)計(jì)報(bào)告.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