基于arm的智能门禁系统设计(编辑修改稿)内容摘要:
领域的,基于相应的嵌入式硬件平台,同时需要完成用户指定的预期任务的计算机软件。 它可以由一个任务来完成也可以由多个任务共同完成。 嵌入式软件的特点如下 1) 系统软件的高实时性是其基本的要求 2) 多任务的实时操作系统成为嵌入式应用软件的必须条件 3) 要求对软件实现固态化存储,因为一般完成设计的软件程序都需要打包然 后放在操作系统中,需要时就运行应用程序,一般不允许对其软件程序进 行修改。 4) 对代码的要求高质量、高可靠性。 攀枝花学院本科毕业设计(论文) 总体设计和软硬件平台的选择 9 第三章 总体设计和软硬件平台的选择 系统总体设计 该设计是一个单一的门禁控制系统,主要实现的是软件控制部分的功能其系统组成的结构如下图。 图 系统设计框图 其中门禁控制器和门禁读卡器将会是该门禁系统的核心部分,读卡器读取射频门禁卡上面的数据,并且对这些数据进行解码分析,然后将卡的信息通过 USB 发送给门禁控制器,门禁控制器再做相应的动作,实现门禁控制的功能。 本设计采用的是上、下位机分离的双 CPU结构,下位机 MCU 通过 USB Slave 端口与上位机 ARM USB Host 端口通信,上位机运行的是 ARMLinux 操作系统。 本文的主要任务是 USB 转串口驱动的移植和射频读卡器应用程序的编写。 硬件平台的选择 本课题设计中的硬件部分主要是由三部分组成:门禁控制器、读卡器、射频门禁卡。 其中门禁控制器采用了 S3C6410 处理器芯片,门禁控制器外接基于STC12C5A60S2 单片机的射频读卡器,通过 USB接口连接。 S3c6410 芯片介绍 S3c6410 是一个 16/32 位 RISC 微处理器,该处理器旨在为移动行业及一般领域的应用 提供一种具有成本效益、功耗低、性能高的解决方案。 它为 和 3G通信服务提供优化的硬件性能。 S3c6410 才用 64/32 位内部总线架构,由 AXI、AHB 和 APB 总线组成。 它还包括许多强大的硬件加速器,并轻松支持像视频处理,音频处理,二维图形,显示操作和缩放的任务。 内部集成的一个多格式编码器支持 MPEG4/,同时这个硬件解码器支持实攀枝花学院本科毕业设计(论文) 总体设计和软硬件平台的选择 10 时视频会议和 NTSC、 PAL 模式的 TV输出。 具有一个三维图形硬件加速器(简称3D 引擎),可以加速 OpenGL amp。 3c6410 结构框图如下图: 图 S3c6410结构框图 S3c6410 处理器特性主要如下: 基于 CPU子系统的 ARM1176JZFS 具有 Java 加速引擎, 16KB/16KB I/D 缓存和 16KB/16KB I/D TCM; 在 V时达 533 MHz, V时达 677 MHz; 一个 8 位 ITU 601/656 相机接口,支持 4M 像素(缩放)或者 16M 像素(未缩放); 多标准解码器提供 30 帧每秒 MPEG4/视频解码; 具有 BITBLIT 和旋转的 2D 图形加速; 3D 图形加速在 133MHz 时可达 4M 的三角形运算能力; AC97 音频编解码接口和 PCM 串行音频接口; 支持 1,2,4 或 8 像素 /位调色彩色显示及 16像素 /位无调色真彩显示; 攀枝花学院本科毕业设计(论文) 总体设计和软硬件平台的选择 11 IIS 和 IIC接口支持; 专用的 IrDA 接口支持 MIR、 FIR 及 SIR; 灵活配置的 GPIO 端口; OTG 端口支持高速传输( 480 Mbps,片上收发器); 端口主设备支持全速传输( 12 Mbps,片上收发器); SD/MMC/SDIO/CEATA 兼容卡主控制器; 实时时钟,锁相环 ,具有 PWM的定时器和看门狗定时器; 32 通道 DMA 控制器; 支持 8 X 8 键盘矩阵; 先进电源的管理适用于手机应用; 存储器子系统 支持 8 位或 16位数据总线的 SRAM/ROM/NOR Flash 接口; 支持 16 位数据总线的混合式 OneNAND 闪存接口; 支持 8 位数据总线的 NANDFlash 接口; 支持 32 位数据总线的 SDRAM 接口; 支持 32 位数据总线的移动 SDRAM 接口; 支持 32 位数据总线的移动 DDR 接口; MF RC500 射频读写芯片 Philips 公司的 MIFARE 非接触式智 能标签在非接触标签应用领域占有全球80%的市场份额,是目前非接触智能标签的工业标准,也成为 ISO/IEC 1444322020 的工作草案。 在 MIFARE 这一作为工业标准的技术平台基础上生产出来的 3000 万张智能标签及 10 亿多次交易覆盖全球众多领域。 随着其应用范围的不断扩大,如公共交通、路桥收费、电子机票、身份证、付费电话等,再加上应用装置的增加,与 MIFARE 相关的行业得到了长足的发展。 MF RC500 作为 Philips 公司的一款高度集成的读写器芯片,工作于。 该读卡 IC 系列利用先进 的调制和解调概念,完全集成在 下所有类型的被动非接触式通信方式和协议。 工作的天线可以被直接近距离驱动(可达 100mm)通过内部的发送部分,而不需要增加有源电路,一个坚固的解调和解码电路构成了接收器分,用于 ISO/IEC 14443 兼容的应答器信号;数字部分处理 ISO/IEC 144322020 帧和错误检测(奇偶校验和 CRC)。 此外,还支持用于验证 MIGARE 系列产品的快速 CRYPTO1 加密算法。 MF RC500 可方便地用于各种基于 ISO/IEC 144431 标准并且要求低成本、小尺寸、高 性能以及单电源的非接触式通信的场合。 MF RC500 的功能框图图下图所示。 攀枝花学院本科毕业设计(论文) 总体设计和软硬件平台的选择 12 图 MFRC500功能框图 由图可知, MF RC500 内部包括并行微控制接口、状态和控制单元、中断、数据处理单元、双向 FIFO 缓冲区、安全和密码控制单元、模拟电路接口及天线接口。 MF RC500 的外部接口包括数据总线、地址总线、控制总线(包含中断和读写信号等)和电源等。 MFRC500 的并行微控制器接口自动检测连接的 8位并行接口的类型,它包含一个可配置的中断输出和一个易用的双向 FIFO 缓冲区,为连接各种 MCU 提供了很大的 灵活性,即使采用的器件的成本是非常低的也能满足高速非接触式通信的要求。 数据处理部分执行数据的串行 /并行转换。 支持的校验包括 CRC 和奇偶校验。 MF RC500 以完全透明的模式进行操作,因此支持 ISO/IEC 144322020 的所有层。 状态和控制部分允许对器件进行配置以适应环境的影响,并将把性能调节到最佳状态。 当与 MIFARE Standard 和 MIFARE 通信时,使用高速 CRYPTO1 流密码单元和一个可靠的非易失性密钥存储器。 模拟电路包含一个具有阻抗非常低的桥驱动器输出的发送部分,这使得最大操作距 离可达 100mm。 接收器可以检测到并解码非常弱的应答信号。 MF RC500 引脚排列如下图: 攀枝花学院本科毕业设计(论文) 总体设计和软硬件平台的选择 13 图 MF RC500引脚排列图 该器件为 32 引脚外形封装( Small Outline Package, SOP)。 为达到 EMC特性和信号解耦方面实现最佳性能期间使用了 3个独立的电源。 MF RC500 同时具有出色的 RF 性能并且在模拟部分和数字部分适应不同的操作电压。 MF RC500 的具有以下的优良特性:高集成度模拟电路用于电子标签应答的解调和解码;缓冲输出驱动电路使用最少数目的外部 元件连接到天线;近距离操作(可达 100mm);用于连接 石英晶体的快速内部振荡器缓冲区;时钟频率监视;硬件复位是低功耗的;软件实现掉电模式;并行微处理器接口带有地址锁存和 IRQ 线;微处理器并行接口类型可以自动检测;接受 FIFO 缓冲区和易用的发送;面向位和字节的帧;唯一的序列号;支持防碰撞过程;片内时钟电路;支持MIFARE PRO 和 ISO/IEC 1444322020(透明模式且 T = “ CL” );支持 Mifare Classic; CRYPTO1 以及具有可靠的内部非易失性的密钥存储器;支持 MIFARE 有源天线;在高安全性的终端上非常适用。 软件平台的选择 软件是嵌入式系统的灵魂。 一般包括 Boot Loader、嵌入式操作系统、嵌入式文件系统和应用程序。 其中,嵌入式操作系统是整个系统的核心,它负责任务的调度、资源的分配等核心任务。 嵌入式系统的软件结构如下图: 攀枝花学院本科毕业设计(论文) 总体设计和软硬件平台的选择 14 图 嵌入式系统软件结构 选择 Linux 操作系统的理由 在嵌入式领域有很多成热的操作系统 ,它们广泛的应用在各种领域,如 Linux、WindowsCE、 Vxworks、 pSOS 等,本设计中选择 Linux 作为嵌入式开发的操作系统 ,以下列举了选择嵌入式开发的 Linux 操作系统所具有的一些优势: ( 1) 嵌入式 Linux 有开放的源代码。 这让程序开发者和爱好者,对 Linux 系统开发时可以随意查看、修改,并且按照一定的协议,根据工程项目的要求进行对操作系统的再次开发,保留非常有的功能,那些多余的、以后添加新模块也用不上的功能就不必要再出现了,实现了更有效果的利用存储空间和其随意裁剪的优点。 ( 2) 成本低,可以不用花钱就能获得源代码。 嵌入式 Linux 是开放源代码的自由软件,遵循 GPL 协议 ,它的源代码可以自由获得,使用嵌入式 Linux 开发嵌入式应用,用于购买嵌入式操作系统的费用可以忽略不计。 而商业操作系统每个拷贝售价在几百美元到几万美元不等 ,如果需要操作系统的源代码,则还需要另外购买。 嵌入式 Linux 的开发工具也可以免费获得。 相比之下,嵌入式 Linux 这一优点对于对成本和能耗极为敏感的嵌入式产品是十分重要的。 ( 3) 网络方面功能强大。 Linux 操作系统作为类 Unix 操作系统的典型,继承了在服务器方面 Unix 安全可靠高效的特点,并且继承了 Unix 支持的标准因特网协议,可以非常方便地搭建起一个简易的服 务器系统,长期运行,使得基于嵌入式的 Linux 服务器在小型服务器领域上有强的竞争优势。 ( 4)有优良且丰富的开发工具。 在项目开发时,不仅需要具体的实施流程图,有一套完善的开发工具和检测软件也是必不可少的。 正是由于在 Linux 有开源的代码和任何人都能在遵循一定协议的情况下修改源码,把它变得更精壮更能有效攀枝花学院本科毕业设计(论文) 总体设计和软硬件平台的选择 15 的利用硬件资源,很多资源都是能在 Linux 社区找到,同时也开发工具的机构看到了商机,开发出了强大的开发工具让很多的开发者使用。 例如交叉编译工具,它跨越了不同的平台实现了在强大的 CPU 下编译目的,而编译出来的可执 行程序针对的其它硬件平台的,这种独创性的工具节省了很多过程上繁琐的细节问题,让开发过程变得轻松。 ( 5)在硬件方面有很多嵌入式 Linux 都能有效的支持。 十多种硬件平台都能够成功地移植其中包括 X8 ARM、 MIPS、 PowerPC、 ALPHA 体系结构,高开放度的源码让很多的开发者能在流行的 CPU 上开发,使得 Linux 能很好支持各种主流的设备和出现更新的硬件技术。 ( 6)很好的可移植性。 作为一种可移植的操作系统, Linux 绝大多数的计算机平台上很好的运行。 为不同计算机平台之间的通信提供了便利的条件,同时传统的 通信接口也是 Linux 可移植性具体表现。 ( 7)安全可靠的系统。 Linux 用很多用于保护资源信息的技术措施,使其变得安全。 如对文件和目录实现的读、写权限的控制,有有效的进程监控系统,实时查看内存运行状态, Root 权限实现管理员对操作系统最大限度的控制和操作。 bootloader 的选择 当按下 PC的启动电脑时, CPU会首先运行固话在 CMOS 中的 BIOS( Baisc Input Output System)程序。 BIOS 程序的主要任务是对各种硬件设备进行自检和初始化,然后运行位于硬盘 MBR( Master Boot Record)上的操作系统加载程序。 操作系统加载程序负责把操作系统加载到。基于arm的智能门禁系统设计(编辑修改稿)
相关推荐
的数据类型设为 datetime 的原因是因为 datetime可以直接对时间进行操作 列名 数据类型 允许空 id int 不允许 u_name Varchar(50) 不允许 u_sex Varchar(10) 不允许 u_mail Varchar(30) 不允许 u_qq Varchar(20) 不允许 adddate datetime 不允许 图 34 用户信息表 毕业设计用纸 第 11
该系统 , 总结出现有系统的优点和不足 , 从而得出新系统的雏形。 这是了解一个陌生应用领域的最快方法。 分析员应该为每个可行的解法制定一个粗略的实现进度。 当然 , 可行性研究最根本的任务是对以后的行动方针提出建议。 如不可行的话 , 分析员应该停止这项开发工程 , 以避免时间、资源、人力和经费的浪费;如果问题值得解决的话 ,分析员就应该推荐一个好的解决方案 , 并且为工程指定一个初步设计。
为输入使用时,被外部拉低 的引脚由于内部电阻的原因,将输出电流。 此外, 和 分别作定时器 /计数器 2的外部计数输入和定时器 /计数器 2 的触发输入, P1 口功能具体如表1 所示。 在 flash 编程和校验时, P1 口接收低 8位地址字节。 表 1 P1口的第二种功能说明表 引脚号 第二功能 T2(定时器 /计数器 T2 的外部计数输入 ),时钟输出 T2EX(定时器 /计数器 T2
d:layout_width=fill_parent android:layout_height=fill_parent android:gravity=right Button android:layout_width=wrap_content android:layout_height=wrap_content android:text=@string/aaa android
Activity 结束时都会相应一起退出系统,因此针对每一个 Activity 设置一个 BroadcastReceiver 来接收广播,一旦接收到广播当前 Activity 自动退出。 Activity 接收到广播后退出的代码如下所示 : private BroadcastReceiver exitReceiver = new BroadcastReceiver(){ @Override
17XTALI18IOVDD219DGND220DGND321DGND422XCS23CVDD224NC25RX26TX27SCLK28SI29SO30CVDD331TEST32GPIO0/SPIBOOT33GPIO134NC35NC36AGND037AVDD038RIGHT39AGND140AGND241GBUF42AVDD143RCAP44AVDD245LEFT46AGND347LINEIN4