毕业设计基于STM32系列单片机的门禁读卡器功能测试仪设计.doc

上传人:laozhun 文档编号:4149631 上传时间:2023-04-07 格式:DOC 页数:48 大小:492.50KB
返回 下载 相关 举报
毕业设计基于STM32系列单片机的门禁读卡器功能测试仪设计.doc_第1页
第1页 / 共48页
毕业设计基于STM32系列单片机的门禁读卡器功能测试仪设计.doc_第2页
第2页 / 共48页
毕业设计基于STM32系列单片机的门禁读卡器功能测试仪设计.doc_第3页
第3页 / 共48页
毕业设计基于STM32系列单片机的门禁读卡器功能测试仪设计.doc_第4页
第4页 / 共48页
毕业设计基于STM32系列单片机的门禁读卡器功能测试仪设计.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《毕业设计基于STM32系列单片机的门禁读卡器功能测试仪设计.doc》由会员分享,可在线阅读,更多相关《毕业设计基于STM32系列单片机的门禁读卡器功能测试仪设计.doc(48页珍藏版)》请在三一办公上搜索。

1、基于STM32系列单片机的门禁读卡器功能测试仪设计摘 要本设计是基于STM32系列的单片机进行的对SXG系列门禁读卡器的功能测试。在设计的同时对STM32单片机的理论基础和外围扩展知识进行了比较全面准备。对SXG系列门禁读卡器的功能测试在硬件与软件方面进行同步设计。硬件部分主要由STM32F107VCT6微处理器、LED显示电路、JTAG下载电路、电源转换电路、韦根通信电路、以及电机控制电路等组成,系统通过LED和米字型LED显示测试结果,所以具有人性化的操作和直观的显示效果。软件方面主要包括系统进入停止模式和退出停止模式、韦根通信、控制电机、键盘测试等。本系统以C语言进行软件设计,为了便于扩

2、展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简单地实现对SXG系列门禁读卡器的功能测试。所有程序编写完成后,在keil软件中进行调试, 确定没有问题后,焊接硬件测试SXG系列门禁读卡器。关键词 STM32F107VCT6 韦根通信 电机控制THE DESIGN OF THE ACCESS CONTROL READER FUNCTION TESTERABSTRACTTaking the SXG series of access control reader for research object ,this paper designed the function

3、tests which based on the series of STM32 microcontrollers. The theoretical basis of the STM32 MCU and peripherals expand your knowledge in the design, while a more comprehensive preparation. SXG series access functional test of the reader hardware and software aspects of the synchronous design. The

4、hardware part is mainly microprocessors by STM32F107VCT6, LED display circuit, JTAG download circuit, the power conversion circuit, Wiegand communication circuit, and motor control circuit and other composition, the system LED-segment LED displays the test results, so humane operation and intuitive

5、display. The software system enters stop mode and exit the stop mode, Wiegand communications, control, motors, keyboard testing. The system software design in C language, in order to facilitate the expansion and change, the software design is modular in structure, programming logic is more concise,

6、in order to more easily achieve the functional testing SXG series access card reader. All programs after their completion, in keil software for debugging, there is no problem, welding SXG series access card reader hardware testing.KEY WORDS STM32F107VCT6 Wiegand communication Motor control目 录中文摘要I英文

7、摘要II1 绪论11.1 引言11.2 主要任务21.3 主要技术指标21.4 门禁读卡器功能测试仪的国内外发展现状与趋势22 设计方案论证32.1 控制器芯片的选择方案和论证32.2 显示模块选择方案和论证32.3 下载方式的选择方案和论证42.4 电路设计最终方案确定43 硬件设计63.1 电源设计63.2 晶振电路63.3 复位电路73.4 开始按键电路73.5 韦根通信电路83.6 JTAG下载电路83.7 电机控制电路93.8 主电路设计104 软件设计124.1 主程序设计124.2 系统初始化144.3 系统自检154.4 开始键设为中断模式154.5 进入停止模式164.6 配

8、置系统时钟164.7 电机控制174.8 韦根通信测试174.9 按键测试195 系统调试205.1 软件调试205.2 硬件调试20结束语22致 谢23参考文献24附 录25附录1 硬件电路图25附录2 PCB板27附录3 主程序源代码281 绪论1.1 引言随着经济的蓬勃发展,外来人员增多,出租屋租住人员的流动性更大,如何杜绝闲杂人员的进入,加强出租屋的技术防范水平。传统机械锁在使用过程中存在以下问题:都采用一把钥匙一把锁,钥匙易被仿制;钥匙丢失后存在安全严重隐患;人员流动导致钥匙流失而无法控制;有的出租屋,更换一个人就要更换几套机械锁;几乎所有的机械门锁,对上门开锁者,都是很容易打开的。

9、出入口处安装刷卡门禁系统1,一人一卡,所有租住人员都必须凭卡出入,即使租户钥匙扣卡不慎丢失,只要将他的卡号通过遥控器直接删除,该卡立即在本锁使用无效,业主不用换锁,即经济又安全。出入口门禁安全管理系统是新型现代化安全管理系统,它集微机自动识别技术和现代安全管理措施为一体,它涉及电子、机械、光学、计算机技术、通讯技术、生物技术等诸多新技术。它是解决重要部门出入口实现安全防范管理的有效措施。适用各种机要部门,如银行、宾馆、机房、军械库、机要室、办公间、智能化小区、工厂等。在数字技术网络技术飞速发展的今天门禁技术得到了迅猛的发展。门禁系统早已超越了单纯的门道及钥匙管理,它已经逐渐发展成为一套完整的出

10、入管理系统。它在工作环境安全、人事考勤管理等行政管理工作中发挥着巨大的作用。门禁系统中读卡器2是最外围设备,担负着读取卡片信息、人机界面交互、数据校验上传等一系列功能,其重要性不言而喻。读卡器要具有安全性、稳定性、外型美观及环境和谐、人机界面友好、安装调试的经济与便捷、节能环保设计的特点。英格索兰的SXG系列CPU智能卡读卡器具有这些特点,采用多技术,支持125KHz低频卡和13.56MHz高频卡;阅读距离远:7.6cm(125K);7.6cm(ISO15693);兼容非接触CPU智能卡等多种格式:HID Proximity;Infineon my-d安全扇区;HID iClass、Infin

11、eon my-d、Philips I-Code、DESFire、MIFARE序列号;DESFire、MIFARE扇区,复旦微电子FM1208 CPU卡安全文件;具有防拆保护,3态LED(红、绿、琥珀)可视化指示灯及声音反馈,显示工作状态及动作信息;广泛使用于银行、办公楼、建筑工地、交通、电力、军队、学校、医院等门禁应用场合。1.2 主要任务本文设计的测试仪可检测英格索兰的SXG6701K、SXG6501、SXG5501、SXG4501、SXG4001、SXG5001型号的读卡器,利用STM32F107VCT63进行控制,LED显示测试结果,可广泛应用于英格索兰的SXG系列CPU智能卡读卡器的生

12、产工厂,自动化工作,可减少员工的工作量。因而,此设计具有相当重要的现实意义和实用价值。1.3 主要技术指标(1)工作温度范围: -20C 到 +80C;(2)测试设备支持SXG6701K,6501,5501,4501,4001,5001;(3)不工作时进入停止模式4,节省能耗;(4)支持韦根26位、34位(带校验),以及4位(不带校验);(5)键盘测试时,能够自动运行。1.4 门禁读卡器功能测试仪的国内外发展现状与趋势 门禁读卡器是门禁系统的重要组成部分,是门禁系统信号输入的关键设备,其安全性和可靠性是不言而喻的。门禁读卡器的读卡技术多种多样,种类又很多。目前门禁读卡器功能测试仪主要是针对各公

13、司的产品进行制造的,种类单一,兼容性不强,这样导致读卡器生产商要采购多种测试仪才能满足检测需要,增加了成本。有些测试仪为了节省成本,使用简单功能的微处理器,没有低功耗模式,耗电量大。也有些测试仪界面不够友好,使用者需要学习一段时间才能操作,降低了生产商的生产效率。为了改善以上的不足,未来的门禁读卡器功能测试仪将朝着多功能化发展,将支持目前市面上主流的读卡技术校验,能够自动运行,支持更多型号的读卡器,具备键盘测试,外型美观及环境和谐,人机界面友好,可使使用者快速掌握使用方法。节能环保也将是今后读卡器功能测试仪发展的重要趋势,不工作时处于休眠状态,降低功耗。以后的门禁读卡器测试仪也将更加的安全和稳

14、定。2 设计方案论证2.1 控制器芯片的选择方案和论证方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术5, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二: 采用STM32F107VCT6,片内具有64KB的RAM和256KB的ROM,存储空间大不需要外扩存储芯片;工作温度范围:-40C 到 +85C,满足工业现场;支持的接口类型多,包括USB、USART、SP

15、I、I2C、CAN6,便于以后升级;电源电压最大3.6V,最小2V;支持JTAG7,具有在线调试功能;具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。所以选择采用STM32F107VCT6作为主控制芯片。2.2 显示模块选择方案和论证方案一:采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显

16、示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。方案三:采用米字型LED显示,米字型LED价格适中,单个就可以显示所有的数字和英文字符,接线方法简单。所以采用了米字型LED作为显示。2.3 下载方式的选择方案和论证方案一:通过串口下载程序,首先要将STM32F107VCT6的启动模式8设置为SystemBoot,而默认的启动模式是UserBoot,在SystemBoot模式下,STM32在复位后不会执行用户代码,而是等待串口更新程序。程序运行时,需要将启动模式设置为UserBoot模式,复位芯片。方案二:通过USB接口下载程序,首先要将STM32F107VCT6的启动模式设置为Sy

17、stemBoot,而默认的启动模式是UserBoot。程序下载成功后,需要将启动模式设置为UserBoot模式,复位芯片即可看到程序运行的现象。方案三: 通过JLINK下载程序,不需要改变启动模式,JLINK仿真器支持的处理器多,与主流的开发环境完美结合。通过JLINK仿真器,可以方便地下载和在线调试代码。所以采用JLINK下载程序。2.4 电路设计最终方案确定综上各方案所述,对此次作品的方案选定:以STM32F107VCT6为主控制器,通过JLINK仿真器下载和调试程序,LED指示灯显示测试结果,米字型LED显示键盘测试结果。主电路采用STM32F107VCT6作为主芯片,包括复位电路、开始

18、按键电路、电源模块、JTAG下载电路、LED工作指示灯电路、米字型LED显示电路、韦根通信电路、电机控制电路和按键测试电路。电路设计框图如图2-4所示:STM32F107VCT6复位电路开始按键电路电源模块LED工作指示灯电路米字型LED显示电路韦根通信电路JTAG下载电路按键测试电机控制电路图2-4 电路设计框图3 硬件设计3.1 电源设计在这里因设计分工和侧重点不同,电源模块先采用通用的电源将220V的交流电转换成12V的直流电,然后12V的电源一方面给英格索兰的SXG系列CPU智能卡读卡器供电,一方面给本设计的测试电路供电。上电后,电源工作指示灯LED5亮,然后经过C4、C5电容滤波输入

19、到LM1117,通过电压调节器LM1117调节后输出3.3V的电压,再经过C6、C7电容滤波,最后输出稳定的3.3V电压。如图3-1所示:图3-1 电源设计3.2 晶振电路单片机必须在时钟的驱动下才能进行工作,STM32F107VCT6内部含有一个8MHz的RC振荡器,但精度较差,通常使用外部高速时钟信号。外部25MHz的高速时钟首先经过时钟配置寄存器2的PREDIV2分频因子进行5分频,然后经过PLL2倍频因子8倍频后,再经过PREDIV1分频因子5分频后得到8MHz的时钟,然后经过时钟配置寄存器的PLL倍频系数9倍频后,输出精确的72MHz时钟。如图3-2所示: 图3-2 晶振电路3.3

20、复位电路在系统运行的过程中,有时可能对系统需要进行复位,为了避免对硬件系统经常加电和断电造成的损害,设计了手动的复位电路,如图3-3所示。这种电路的设计,在系统的运行过程中需要复位时,只需使开关闭合,在NRST端就会出现一定时间的低电平信号,从而使STM32F107VCT6单片机实现复位。 图3-3 复位电路3.4 开始按键电路系统启动时先进行自检,然后进入停止模式,节省能耗。需要工作时,按下开始按键产生中断,唤醒系统,系统进入正常工作模式,开始正常工作。机械开关连接时,一旦按下按键常常会出现几次断续的通、断现象。为了消除这种现象需要去抖动,去抖动的方式包括硬件去抖动和软件去抖动。本设计采用硬

21、件去抖动,在开关旁边加一个104电容。如图3-4所示: 图3-4 开始按键电路3.5 韦根通信电路Wiegand(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度,主要定义了数据传输方式。现在应用最多的是 26bit和34bit。韦根数据输出由二根线组成,分别是DATA0 和 DATA1,二根线分别将0或1输出。如果没有数据传输,DATA0和DATA1两根线处于高电平,所以每根线上各加一个上拉电阻。如图3-5所示: 图3-5 韦根通信电路3.6 JTAG下载电路JTAG(Joint Test Act

22、ion Group 联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。现在,JTAG接口还常用于实现ISP(In-System Programmable 在线编程),对FLASH等器件进行编程。JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程,再烧写到板上,现在简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。JTAG接口可对PSD芯片内部的所有部件进

23、行编程 。IEEE 1149.1 标准规定了一个四线串行接口(第五条线是可选的),该接口称作测试访问端口(TAP),用于访问复杂的集成电路(IC),例如微处理器、DSP、ASIC和CPLD。除了TAP之外,混合IC也包含移位寄存器和状态机,以执行边界扫描功能。在TDI(测试数据输入)引线上输入到芯片中的数据存储在指令寄存器中或一个数据寄存器中。串行数据从TDO(测试数据输出)引线上离开芯片。边界扫描逻辑由TCK(测试时钟)上的信号计时,而且TMS(测试模式选择)信号驱动TAP控制器的状态。TRST(测试重置)是可选项。根据相关数据手册中的说明,TRST、TDI、TMS、TCK引脚上需要接一个1

24、0K的上拉电阻。JLINK仿真器通过JTAG接口下载程序,不需要改变启动方式,可以直接下载,还可以在线调试,简单方便。电路如图3-6所示:图3-6 JTAG下载电路3.7 电机控制电路本设计采用H桥驱动电路驱动130直流电机。如图3-7所示,H桥式电机驱动电路包括6个三极管和一个130直流电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。驱动电机时,保证H桥上两个同侧的三极管不会同时导通非常重要。如果三极管Q3和Q4同时导通,那么电流就会从正极穿过两个三极管直接回到负极,此时电路上的电流就可能达到最大值,甚至

25、烧坏三极管。基于上述原因,在实际驱动电路中通常要用硬件电路方便地控制三极管的开关,所以需要添加两个三极管Q1和Q2。当A为高电平B为低电平时,Q1导通Q2截止,所以Q3截止Q4导通、Q5导通Q6截止,所以电流方向是从电源正极经三极管Q5到电机,再经三极管Q4到地。相反,当A为低电平B为高电平时,Q1截止Q2导通,所以Q3导通Q4截止、Q5截止Q6导通,所以电流方向是从电源正极经三极管Q3到电机,再经三极管Q6到地。所以只需改变A、B电平高低就可以实现电机的正反转。电机启动时电路中的电流会突然增大,会对其它模块产生干扰,所以在电源端增加两个电容C20和C21,使电流缓慢增加,减小对其它模块的干扰

26、。图3-7 电机控制电路3.8 主电路设计主电路的功能是完成对英格索兰的SXG系列CPU智能卡读卡器的检测,通过LED指示灯和米字型LED显示检测结果。主电路上带有显示接口,用于指示工作状态。电源指示灯用于指示主电路接通电源;工作状态指示灯LED1用于指示低频卡的刷卡状态,LED1亮表示低频卡刷卡成功,灭表示刷卡失败;工作状态指示灯LED2用于指示高频卡的刷卡状态,LED2亮表示高频卡刷卡成功,灭表示刷卡失败;工作状态指示灯LED3用于指示SXG系列智能卡读卡器的防拆开关的状态,LED3亮表示读卡器被打开了,输出报警,灭表示读卡器未被打开;工作状态指示灯LED4用于指示高频卡或低频卡是否存在,

27、LED4亮表示高频卡或低频卡进行过刷卡,灭表示没有刷卡;米字型LED用于显示按键的数字,按键测试时,按0到9则显示0到9,按“*”则显示“A”,按“#”则显示“B”。电路原理图如图附录1所示,4个LED指示灯接在PE口的0到3管脚上,米字型LED接到PA口的8到12管脚、PC口的6到9管脚和PD口的9到15管脚。因为要检测SXG系列CPU智能卡读卡器上的红色LED、绿色LED和蜂鸣器是否正常,所以PB端口的12到14管脚需要通过驱动电路接到外部端口上,检测时与其相应的端口相连。SXG6701K读卡器带有键盘,其它型号没有键盘,需要添加一个型号检测选择开关,本电路中接到了PE15上,低电平时不进

28、行键盘检测,高电平时进行键盘检测。键盘检测时,将PA口的1到7管脚、PB0管脚、PB1管脚、PC4管脚、PC5管脚和PE7管脚通过驱动电路接到SXG系列CPU智能卡读卡器的相应管脚上,一个管脚对应一个数字,共有12个数字或字符,读卡器的相应管脚收到低电平时,会通过韦根通信输出对应的二进制按键编码,主电路收到后会通过米字型LED显示出对应的数字或字符。读卡器具有防拆保护,主电路通过控制直流电机使一个面板遮挡读卡器上的防拆孔,工作状态指示灯3亮说明被拆开了,移开面板,工作状态指示灯3灭,则无报警信号。 主电路最重要的是对SXG系列CPU智能卡读卡器的高频卡和低频卡的检测,主电路上的韦根通信接口接到

29、SXG系列CPU智能卡读卡器上,用户刷低频卡时,读卡器读取数据通过韦根通信将26位数据发送到主电路中,主电路对26位韦根数据进行校验,如果正确,工作状态指示灯LED1和LED4亮1秒。用户刷高频卡时,读卡器读取数据通过韦根通信将34位数据发送到主电路中,主电路对34位韦根数据进行校验,如果正确,工作状态指示灯LED2和LED4亮1秒。刷低频卡和高频卡没有先后顺序。4 软件设计软件的设计是设计控制系统的应用程序。其任务是在整体设计和硬件设计的基础上,确定程序结构,分配内RAM资源,划分功能模块,然后进行主程序和各模块程序的设计,最后连接起来成为一个完整应用程序,与硬件相结合完成相应功能。4.1

30、主程序设计主程序采用模块化设计,流程图如图4-1所示。从流程图可以看出,主程序的组成是通过分别调用各子程序组成总体系统功能,能很直观的看出主程序所要完成的功能,系统上电后首先是系统初始化,配置每个寄存器和初始化结构体和变量,然后是系统自检,确保本测试电路能够正常工作,之后设置开始按键为中断模式,为了节省能耗系统进入停止模式。当需要工作时,按下开始键产生中断唤醒系统,系统进入正常工作模式,调用LED和蜂鸣器测试子程序测试SXG系列CPU智能卡读卡器上的绿色LED、红色LED和蜂鸣器能否正常工作,然后调用电机控制子程序检测读卡器上的防拆保护功能能否工作。如果在读卡器上刷高频卡或低频卡则调用高频卡或

31、低频卡校验子程序,校验从卡上读取的数据是否正确。最后判断是否进行按键测试,首先判断型号选择开关引脚的电平,若为低电平则测试结束,若为高电平,则调用按键测试子程序,测试完进入停止模式,等待下一次测试。开始NY型号选择开关是高电平?系统初始化系统自检开始键设为中断模式系统进入停止模式按下开始键,唤醒系统调用退出停止模式子程序调用测试绿色LED、红色LED和蜂鸣器子程序调用电机控制子程序调用高频卡或低频卡校验子程序按键测试图4-1 主程序流程图4.2 系统初始化在使用一个GPIO之前,一般需要对GPIO引脚的时钟、引脚的模式以及速率进行设定。STM32的IO口可以由软件配置成8种模式:模拟输入、输入

32、浮空、输入下拉、输入上拉、开漏输出、推挽输出、复用功能开漏输出和复用功能推挽输出。IO端口作为输出时,可以软件配置端口最大支持的时钟速率:10MHz、2MHz和50MHz。系统初始化包括初始化4个LED指示灯和米字型LED、初始化电机控制、初始化防拆保护引脚、初始化型号选择开关、初始化韦根通信接口、初始化检验读卡器上的LED和蜂鸣器的引脚和初始化按键测试。初始化时都需要打开对应端口的时钟,4个LED指示灯、米字型LED、按键测试、电机控制和检验读卡器上的LED和蜂鸣器的引脚配置成输出模式,时钟速率设置为50MHz;防拆保护、型号选择开关的引脚设为输入模式,不需要设置时钟速率;韦根通信接口的引脚

33、设为中断模式,输入上拉,下降沿触发。如图4-2所示:开始初始化4个LED和米字型LED初始化电机控制初始化防拆保护引脚初始化型号选择开关初始化韦根通信接口初始化绿色LED、红色LED和蜂鸣器初始化按键测试的引脚返回图4-2 系统初始化流程图4.3 系统自检低电平点亮LED,高电平熄灭LED。首先4个LED和米字型LED对应的引脚输出低电平,然后延迟1秒,最后输出高电平。如图4-3所示:开始4个LED和米字型LED对应的引脚输出低电平延迟1秒4个LED和米字型LED对应的引脚输出高电平返回图4-3 系统自检流程图4.4 开始键设为中断模式 STM32的所有GPIO管脚都可以作为中断输入源,通过复

34、用的方式使其对处理器来说来自GPIO的一共有16个中断Px15:0。开始键接在PE14上,所以中断是外中断线14。如图4-4所示:开始打开端口时钟,引脚设为输入浮空配置中断源、外中断线、中断触发方式设置中断通道、优先级启动中断返回图4-4 开始键设为中断模式4.5 进入停止模式停止模式是在Cortex-M3的深睡眠模式基础上结合了外设的时钟控制机制。进入停止模式:首先设置Cortex-M3系统控制寄存器中的SLEEPDEEP位,清除电源控制寄存器(PWR_CR)中的PDDS位,然后通过设置PWR_CR中LPDS位选择电压调节器模式,最后执行WFI指令。如图4-5所示:开始清除PWR_CR寄存器

35、的PDDS位设置PWR_CR寄存器的LPDS位设置系统控制寄存器的SLEEPDEEP位执行WFI(等待中断)指令返回图4-5 进入停止模式流程图4.6 配置系统时钟任一个外部中断即可唤醒系统,唤醒后需要配置系统时钟。激活HSE(高速外部时钟),待HSE稳定后,激活PLL,把PLL作为系统时钟源。如图4-6所示:开始激活HSE(高速外部时钟)激活PLL选择PLL作为系统时钟源返回图4-6 配置系统时钟4.7 电机控制电机控制部分对应两个管脚A和B,管脚A为高电平管脚B为低电平时,电机正转;管脚A为低电平管脚B为高电平时,电机反转;管脚A和管脚B的电平相同时,电机停止转动。如图4-7所示:开始管脚

36、A设为高电平,管脚B设为低电平,电机正转延迟4秒管脚A和管脚B都设为低电平,电机停止延迟1秒管脚A设为低电平,管脚B设为高电平,电机反转延迟4秒管脚A和管脚B都设为低电平,电机停止返回图4-7 电机控制流程图4.8 韦根通信测试这是设计的难点,SXG系列CPU智能卡读卡器要读取低频卡和高频卡的数据,而且无先后顺序,低频卡26位韦根数据,高频卡34位韦根数据。韦根数据输出由二根线组成,分别是 DATA0 和 DATA1;二根线分别将0或1输出。 输出0时:DATA0 线上出现负脉冲;输出1时:DATA1 线上出现负脉冲;负脉冲宽度TP=100微秒;周期TW=1600微秒。韦根的接收对时间的实时性

37、要求比较高,如果用查询的方法接收会出现丢帧的现象:假设查询到DATA0为0时主程序正在指向其他任务,等主程序执行完该任务时DATA0已经变为1了,那么这样就导致了一个0 位丢了,这样读出的卡号肯定奇偶校验通不过,所以表现出CPU接收不到ID模块发送的卡号了,唯一的办法是在外部中断里接收每个位。当有韦根数据传输时产生中断,在中断里接收韦根数据,接收完后需要对韦根数据的位数进行判断。如果是26位数据,调用26位韦根数据校验程序进行校验,若数据正确,面板上的指示灯LED1和LED4亮1秒;如果是34位数据,调用34位韦根数据校验程序进行校验,若数据正确,面板上的指示灯LED2和LED4亮1秒。如图4

38、-8所示:开始中断里读取韦根数据高频卡标志high置1,调用34位韦根数据校验程序进行校验数据是26位? N YLED4亮1秒数据正确?低频卡标志low置1,调用26位韦根数据校验程序进行校验 N YLED2和LED4亮1秒 数据正确?LED4亮1秒 N YLED1和LED4亮1秒 低频卡和高频卡标志都是1 ? N Y返回 图4-8 韦根通信测试4.9 按键测试仅适用于型号SXG6701K,首先判断型号选择开关的状态,若是高电平则进行按键测试。主设备通过控制逻辑电路模拟按键,读卡器上一共有12个按键。按键接收到低电平时,会通过韦根输出对应的4位二进制按键编码,韦根数据不需要校验,同时12个按键

39、的引脚不能同时为低电平。如图4-9所示:开始型号选择开关是高电平?N Y给下一个按键引脚输出低电平读取按键的韦根数据米字型LED显示相应的数字或字符12个按键测试完? N Y 返回 图4-9 按键测试5 系统调试单片机系统经过总体设计,完成了硬件和软件设计开发。通过软件和硬件相结合系统即可运行。但编制好的程序或焊接好的线路不能按预计的那样正常工作是常见的事,经常会出现一些硬件、软件上的错误,这是软件和硬件开发者经常遇见的,这就需要通过调试来发现错误并加以改正。调试可分为硬件调试和软件调试。本设计系统利用JLINK仿真器进行了在线调试,并运行成功,最后进行实物图的硬件组装与调试,这样就给开发者在

40、提供了方便。5.1 软件调试本设计是利用Proteus软件进行调试的,完全用仿真软件在PC机上对目标电路原理图和程序进行检测和调试。调试过程中单片机相应输入端由通用键盘和鼠标设定,运行状态、各寄存器状态、端口状态等都可以在指定的窗口区域显示出来,以确定程序运行有无错误。目标程序纠错:该阶段工作通常在目标程序编辑时就完成。一般来说,仿真软件能为用户输入的程序指令纠错,包括书写格式、标号未定义或多重定义、转移地址溢出等错误。整体程序调试:即把各子程序整体连起来进入到综合电路调试,看是否能实现预计的功能显示。在这阶段若发生故障,可以考虑各子程序在运行时是否破坏现场,数据缓冲单元是否发生冲突,标志位的

41、建立和清除在设计上是否失误,堆栈是否溢出,输入输出状态是否正常等。经过多次修改程序最后调试出来理想的效果,用软件模拟器调试不需任何在线仿真器,也不需要用户样机,直接就可以在PC机上开发和调试。调试和修改完毕后可以直接使用编程器将软件固化在目标系统ROM中,然后投入运行。5.2 硬件调试单片机应用系统的硬件调试和软件调试是分不开的,许多硬件故障在软件调试时才能发现,但通常要先排除系统中明显的硬件故障。调试工作可以分为四步:线路检查:根据硬件逻辑设计图,仔细检查样机线路是否连接正确,并核对元器件的型号、规格和安装是否符合要求,必要时可用万用表检测线路通断情况。电源调试:样机的第一次通电测试很重要,

42、若样机中存在电源故障,则加电后将造成器件损坏。调试的方法有两种:一种是断开样机稳压电源的输出端,检查空载时电源工作情况;另一种是拔下样机上的主要集成芯片,检查电源的负载能力(用假负载)。确保电源无故障并性能符合设计要求。通电检查:在确保电源良好前提下,接通电源。最好在电源与其余电路之间串接一个电流表。若接通后电流很大,必须立即切断电源。电源大得超出正常范围,说明电路中有短路或故障。通电检查的主要目的是看系统是否存在短路或由元器件损坏、装配错误引起的电流异常。检查芯片的逻辑关系是否出错:加电后检查各芯片插座上相关引脚的电位,仔细测量相应的输入输出电平是否正常。单片机系统大都是数字逻辑电路,使用电

43、平检查法可首先查出逻辑设计是否正确,选用器件和连接关系是否符合要求等。硬件检测完毕后,使用JLINK仿真器连接PC和JTAG接口,下载程序和进行在线单步调试,使用JLINK仿真器可以通过硬件直观地看到每段代码的执行结果。本设计特点突出,性价比高,适合于工厂检测,有很高应用价值。结束语硬件系统关系到所要设计的电子产品好坏,如系统抗干扰性等,所以要合理地安排尽量减少干扰提高性能。单片机是很容易受干扰的控制器,当采用外部晶振时,应尽量让其靠近单片机减少对其干扰,防止程序乱飞现象。同时还可以采用隔离等方式减少干扰,硬件系统设计的好坏很大部分来源于经验,所以我们要有动手的好习惯。软件设计是核心部分,具有多样化、灵活性高、易移植等优点,要深深理会各指令的含义才能更加熟练应用。低功耗处理是本设计的一大特色,当系统不工作时,进入停止模式节省功耗,需要运行时唤醒系统,进入正常工作模式开始工作。软件的设计大部分采用模块化设计的方法以方便调试,并使其可读性大大增强,方便更改和移植。在这次设计中我学到了很多知识,包括软件方面的和硬件方面的。STM32F107VCT6这个芯片是我第一次使用,刚开始完全不知道怎么办,还好官方提

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号