一种节能型网络交换机的设计论文

上传人:痛*** 文档编号:109480242 上传时间:2022-06-16 格式:DOC 页数:55 大小:1.27MB
返回 下载 相关 举报
一种节能型网络交换机的设计论文_第1页
第1页 / 共55页
一种节能型网络交换机的设计论文_第2页
第2页 / 共55页
一种节能型网络交换机的设计论文_第3页
第3页 / 共55页
点击查看更多>>
资源描述
. . . . 题 目 一种节能型网络交换机的设计 学生 胡嘉成 学号 1113014137 所在学院 物理与电信工程学院 专业班级 电 子1104 指导教师 菊 叶 完成地点 博远楼微机实验室 2014 年 5 月 28 日45 / 55毕业论文设计任务书院(系) 物电学院 专业班级 电子信息工程1104 学生胡嘉成一、毕业论文设计题目一种节能型网络交换机的设计二、毕业论文设计工作自 2015 年 3月10 日 起至 2015 年 6 月 20 日止三、毕业论文设计进行地点: 物电学院计算机信息处理分室 四、毕业论文设计的容要求:1、本次毕业设计要求如下: 随着网络的进一步普与和应用需求的提升,交换机使用数量急剧增加。相对于一台交换机,所使用的电能也许不算太大,几十台乃至上百台,甚至更多,这样所耗费的电能就不容忽视,研究节能型网络交换机已经迫在眉睫。本设计要求学生利用单片机对无线发射模块进行控制,在不同信号控制下,可以向无线接收模块发射不同的信号,然后通过接受模块控制继电器的通断,开启关闭交换机的电源,从而达到远程控制的目的。另外,利用单片机部定时器,实现对交换机的定时控制,可以有效的节省电能,延长交换机的使用寿命,提高交换机的使用效率。2、毕业设计成果要求: 测试结果和论文,论文要求计算机打印(A4纸),论文有不少于3000词的相关英文中文翻译。 3、毕业设计时间安排: 14周:查阅相关资料,熟悉题目容,完成系统需求分析、相关硬件与软件环境的选择。提交开题报告; 510周:熟练掌握单片机的工作原理,以与相关的软件仿真软件,给出具体的设计方案。 1112周:做出实物一套,进一步完善硬件系统功能,整理资料; 1314周:毕业设计验收; 1516周:撰写、修改、提交毕业论文,毕业答辩。 指 导 教 师系(教 研 室)系(教研室)主任签名批准日期接受论文 (设计)任务开始执行日期学生签名 一种节能型网络交换机的设计 胡嘉成 (理工学院物理与电信工程学院电子信息工程专业,2011级4班, 723003) 指导教师:菊叶摘要本设计主要以单片机STC89C52RC为核心,设计了一款节能型网络交换机。该系统利用时钟芯片DS1302与无线数据收发芯片NRF24L01,可实现信号采集、数据显示、键盘控制、无线收发等功能。并利用单片机对无线发射模块进行控制,发射不同的信号,再由接收模块操控继电器的通断,开关交换机的电源,从而达到远程控制的目的,可以有效的节约电能,提高交换机的使用效率,并延长交换机的使用寿命。关键词节能型;远程;定时;STC89C52RC;控制A design of energy-saving network switchesHu Jiacheng(Grade 11,Class 4,Major electronics and information engineering,School of Physics and Telecommunication Engineering,Shaanxi University of Technology,Hanzhong 723003,Shaanxi)Tutor: Li JuyeAbstract: This design realized an energy-saving network switches ,which was based on STC89C52RC .The system make use of the clock chip DS1302 and wireless data transceiver chip nRF24L01, to realize the signal acquisition, data display, keyboard control, wireless transmitting and receiving function. And using MCU to control the wireless transmitting module, by transmitting different signals to the wireless receiving module, and then by the receiving module control relay on-off, open the power of network switches, in order to achieve the purpose of remote control, to avoid the waste of electric energy,then we can effectively save electricity, and extend the service life of the switch, improve the efficiency of the use of the switches.Keywords: energy-saving ; remote; timing; STC89C52RC; control目录1.绪论11.1引言11.2研究背景11.3发展前景11.4应用领域22. 总体方案32.1系统的总体方案设计32.2 发送机的设计方案32.3 接收机的设计方案33.硬件芯片介绍43.1 单片机STC89C5243.1.1 STC89C52功能特点43.1.2 STC89C52各管脚介绍43.2 DS1302时钟芯片63.2.1 引脚功能与结构63.2.2 DS1302的控制字节73.2.3 数据输入输出(I/O)73.2.4 DS1302的寄存器73.3 液晶显示屏LCD160273.3.1 LCD1602特点说明73.3.2 LCD1602功能介绍73.3.3 LCD1602初始化过程93.4 无线NRF24L01芯片93.5 参数存储AT24C02芯片94.系统的硬件架构104.1 USB电源模块104.2 单片机最小系统104.2.1晶振电路104.2.2复位电路104.2.3最小系统整体图124.2.4 无线信号感应电路124.3 无线收发模块124.4 时钟模块134.5 液晶显示模块134.6 按键模块144.7参数存储模块144.8 继电器输出电路设计145.系统的软件设计155.1开发语言和开发环境155.2系统软件的总体说明155.3 软件设计总体流程图165.4 按键输入模块175.5 液晶显示模块175.6 时钟处理程序175.7 参数存储模块186.系统测试与数据分析196.1距离测试 196.2自动开关机模式测试196.3手动控制模式测试196.4多通路模式19结论20致21参考文献22附录A 英文文献与其翻译23附录B 系统电路仿真原理图39附录C PCB版图仿真图41附录D 电路实物图421.绪论1.1引言随着科技的发展和社会的进步,人们逐渐开始关注节能减排和可持续发展。随之而来的就是各种节能产品如雨后春笋般出现在大众视野中。当前,绝大多数交换机为实现节能,都是提升其智能化功能,通过检测其流量多寡而设置交换机开关时间段。但有时软件后台工作仍无法避免使用流量,导致厂家这一功能形同虚设,没有起到节能作用,反而因为检测软件的运行,导致交换机耗电量加剧,发热增加,缩短其使用寿命。所以设计一种可控制交换机开关的电路是十分有必要的。而为了更方便简洁的操作,减少出入机房的次数,该设计采用了NRF24L01无线收发芯片,可以实现即使在另一个房间,也能无障碍的实现对机房中网络交换机的开关操作。本设计是基于单片机的电路系统,由发送器和接收器这二部分构成,收发部分都是用单片机STC89C52 为核心模块、以 NRF24L01 为无线数据收发芯片,在LCD1602上显示正式时间,使用键盘设置开关时间,应用单片机的定时中断功能进行定时控制,并通过NRF24L01芯片将信号发送给接收部分,接收端在定时时间到达时控制继电器闭合,通过LED 灯实现信号的反馈。如果对该系统加以开发利用,可在到家门口时,控制家电开关工作,实现智能化家居生活;也可方便使用者找到日常生活中常用的一些出门需要经常携带,而回家后又总会随手丢放的物品,如钱包、钥匙、手机等。此装置其实用到的就是弱电控制强电的原理,用一对1.5V电池便可以控制220V的交流电压,保障了我们的人身安全,使我们避免直接与强电打交道,达到无需接触就能沟通的效果,让你用电更加安全和方便。 1.2研究背景国有华为系列和研华工业生产的节能型交换机。在国外,富士通和D-link品牌的节能交换机比较著名。华为系列的交换机使用的中控芯片是具有自主知识产权的,实现了按依据流量多寡来调整使用功率。当设备感知到业务流量减少或者部分端口没有流量产生的时候,将会降低芯片的转发功耗,或者直接使端口进入休眠状态,等到有流量值触发时,就会重启端口转发流量。而且它还拥有智能化的电源管理,可以降低通信设备的功耗。研华工业的交换机对没有数据通讯的端口能够自动识别,而对闲置的端口,则会选择切断电源,从而实现节能。D-link交换机包含环保节能技术,能够免费检测计算机的开关情况,如果在线的计算机关机,相对应的端口会被交换机自动转换到待机模式,从而减少能源消耗,并且还降低产品运行产生的热能,还可大幅度延长设备的生命周期。还可以自动检测电缆的长度,并提供相应的用于工作的电量,大幅度降低能源消耗,就能达到环境保护和节约能源的目的,同时还能帮助用户降低“不必要的”的消费,降低使用的成本。富士通网络交换机使用的是SFP+屏蔽双绞线铜电缆线,每个端口仅仅会消耗5W电源。还有能确保组织机构仅使用所需求电量的自动的电源配置技术,用来降低总体电量消耗。总之,无论是什么品牌的交换机都是通过智能化电源管理和自动控制的方法来实现节能减耗的,这与本设计中使用单片机来组成外围电路的思路是相似的,但是在本设计中加入了手动按键和无线模块,实现了远程控制,增加了可操作性,在一定意义上方便了电源管理,提高了网络交换机的实用性,实现了节能的目的。 1.3发展前景作为一种可远程和定时控制电源的开关控制电路,其发展前景还是十分可观的。通过对单片机的深入编程,可以设计出适合不同情况(例如上网、看视频、打游戏和下载等使用不同流量比例)的电源模式,满足不同的控制需求。随着单片机技术的发展,远程控制电路在未来就可以用遥控器,甚至手机来设置模式,更加方便也更加节能。 该设计因为适用性广泛,可靠性强,可应用于各种场合中不同型号的交换机的控制,特别是学校机房、通讯企业网络中心和小区基站等大功耗场所,对节能减耗有显著效果。 1.4应用领域在本设计中,以单片机为核心的无线开关控制电路实现了网络路由器的节能,但是这只是它的一个应用。在生活中,我们可以有更多的使用方法,比如说我们将它的分机设计成为一款可接收信号的插座,将主机设计成为遥控器(或是将它集成在手机上,用app控制),那我们在家里无论是什么电器,只要连在特殊插座上,只需要按一个按钮,就能控制任何电器的开关。而在工作中,这种电路也有用武之地。如将其用于日常测试机台在突发情况下的故障,方便工程师分析,以便在真实故障中找准问题,一次性解决,减少不必要的经济损失。而在一些诸如煤矿或石油的高危工作场所,在发生瓦斯泄露等危险时,拥有一个无线远程开关(阀门)控制系统的情况下,可以最大可能的减少人员和经济损失。2. 总体方案2.1系统的总体方案设计本电路由由发送器和接收器二部件构成,收发部分皆以单片机为中心,用以解决收发信息,发送端运用键盘输入时间,需要能显示时钟的部件,以方便操作。并使用无线装置将信号送给接收器,接收端则通过无线芯片接收信号,通过单片机处理后,显示高低电位,操控继电器的通断,用LED 灯亮灭实现信号的反馈。总体系统设计结构框图如下图2.1。 2.2 发送机的设计方案该部分电路应设计要求,应包含按键、时间显示、存储、无线发射等模块。通过设计,首先发送机应利用单片机本身芯片的功能,配合一些简单的元器件(如晶振、按键和电容等),构成单片机最小系统。还应具备时间设置,实时时间显示,以与最重要的在指定时间向接收器发送指定信号的功能。 2.3 接收机的设计方案 该部分的设计,相较发射机的电路而言,比较简单。首先它也需要单片机最小系统,然后它应该要一个无线信号感应器,通过发光二极管与单片机相连,显示无线信号是否联通;无线接收模块也必不可少,接收到的信号通过单片机处理,要达到控制交流电的目的,我们还需要继电器驱动电路,电机电路,以达到强电控制弱电的功能。 单片机复位电路按键设置时钟电路 液晶显示无线发射无线接收无线接收继电器继电器交换机交换机 图2.1 系统结构框图3.硬件芯片介绍 3.1 单片机STC89C52 3.1.1 STC89C52功能特点STC89C52是一种带8K字节闪动可编程可擦除只读存储器的低电压,性能高的COMOS8的微处理器,称为单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容1 。表3.1给出了其主要功能。 表3.1 STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit部RAM3个16位可编程定时/计数器中断时钟频率0.24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源 2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能 3.1.2 STC89C52各管脚介绍STC89C52各管脚如图3.1所示。 3.1 STC89C52管脚图(1)主电源引脚(2根)VCC(Pin40):电源输入,接5V电源 GND(Pin20):接地线 (2)外接晶振引脚(2根) XTAL0(Pin18):片振荡电路的输入端 XTAL1(Pin19):片振荡电路的输出端 (3)控制引脚(4根) RST/VPP(Pin9):复位引脚,引脚上有2个机器周期的高电平,可以使单片机复位。 ALE/PROG(Pin30):地址锁存允许信号 PSEN(Pin29):外部存储器读选通信号 EA/VPP(Pin31):程序存储器的外部选通,当接低电平时,从外部程序存储器读指令;如果接高电平,就从部程序存储器读指令。 (4)可编程输入/输出引脚(32根) STC89C52单片机有4组8位的可编程I/O口,分别为P0-P3口,每个口有8根引脚,共有32根。 PO口(Pin39Pin32):名称为P0.0P0.7。P0口是一个8位的双向I/O口。作为电路输出口,每一位都能驱动8个逻辑电平(晶体管.晶体管逻辑电平)。 P1口(Pin1Pin8):名称为P1.0P1.7。P1 口是一个8 位双向I/O 口,它具备部上拉电阻,p1 输出缓冲器,是能驱动四 个 TTL 逻辑电平。在P1 端口写“1”时,部有上拉电阻,会把端口拉高,此时能作为输入口使用。而作为输入口使用时,由于部电阻的原因,被外部拉低的引脚将输出电流(TTL)。此外,定时器/计数器2将由P1.0和P1.2充当,外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下所示。P1口 在flash编程和校验时,接收低8位地址字节2。 P1引脚第二功能 P1.0 :T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 :T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5: MOSI(在线系统编程时用到) P1.6 :MISO(在线系统编程时用到) P1.7 :SCK(在线系统编程时用到) P2口(Pin21Pin28):名称为P2.0P2.7。P2 口是一个的8 位双向I/O 口,它具有部上拉的电阻,4 个 TTL 逻辑电平都由P2 输出缓冲器驱动。对P2 端口写“1”时,端口被部上拉电阻拉高,此时可以作为输入口使用。而作为输入端使用时,由于部电阻的原因,被外部拉低的引脚将输出电流(IIL)。在用16位地址读取外部数据存储器(例如执行MOVX DPTR)或访问外部程序存储器时,高八位地址被P2 口送出。在这种应用中,会使用很强的部上拉,并用P2 口发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2锁存器的容由P2口输出。在flash编写和验证时,高8位地址字节和一些控制信号也被P2口接收到2。 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.7。P3 口是也一个的8 位双向I/O 口,同时具有部上拉的电阻,4 个 TTL 逻辑电平都由p2 输出缓冲器驱动。对P3 端口写“1”时,此时它可以作为输入口使用,而且部上拉电阻会把端口拉高。作为输入使用时,由于部电阻的原因,被外部拉低的引脚,将输出电流(IIL)。 作为STC89C52特殊功能(第二功能),P3口也可这样使用,如下表所示。在flash编写程序和校正检验时,P3口也会接收一些控制信号3。端口引脚 第二功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外中断0) P3.3 INT1(外中断1) P3.4 TO(定时/计数器0) P3.5 T1(定时/计数器1) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通) 另外,一些用于FLASH闪存编程和程序校验的控制信号也会用P3口接收。 RST复位输入。当振荡器开始工作时,两个机器周期以上高电平会出现在RST引脚上,这将使单片机复位。 ALE/PROG当在访问数据存储器或外部程序存储器时,地址的低8位字节用ALE(地址锁存允许)输出脉冲锁存。一般情况下,ALE输出固定的脉冲信号,其大小为时钟振荡频率的1/6,因此对外输出时钟或用于定时目的就会用到它4。要注意的是:每次在访问外部数据存储器时侯,都会跳过一个ALE脉冲。 在编程FLASH存储器期间,输入编程脉冲(PROG)还会使用该引脚。 在必要的情况下,要禁止ALE操作,可通过对D0位置位来实现,其中D0位位于特殊功能寄存器(SFR)区中的8EH单元。该位置位后,想将ALE激活,只有一条MOVX和MOVC指令才能实现。此外,它会微弱的拉高该引脚,应设置ALE禁止位无效,当单片机执行外部程序。 PSEN外部程序存储器的读选通信号是程序储存允许(PSEN)输出,在单片机由外部程序存储器取数据(或指令)时,在每个机器周期,各有两次PSEN的有效,即在输出两个脉冲期间,将跳过两次PSEN信号,每当访问外部数据存储器的时候5。 EA/VPP是外部访问的允许,欲使外部程序存储器(地址为0000H.FFFFH)仅被CPU访问,保持低电平(接地)是EA端必须保持的状态。需注意的是:如果在编程加密位LB1,部会锁存EA端状态,每当复位的时侯。如EA端接Vcc端(为高电平),部程序存储器的指令被CPU执行。 在编程FLASH存储器的时候,加上+12V的编程地该引脚允许电源Vpp,当然这必须是使用12V编程电压Vpp于该器件。 3.2 DS1302时钟芯片为了实现无线控制计时和定时等功能,此设计采用了DS1302实时时钟芯片。美国DALLAS公司推出的DS1302 是一种高性能、带RAM、低功耗的实时时钟电路,它具有闰年补偿功能,可以对星期、时、分、秒、年、月、日进行计时,工作电压为3.5V5.5V6。同步通信采用三线接口与CPU进行,并可一次传送多个字节的RAM数据或时钟信号,其中采用突发方式。DS1302部有一个用于临时性存放数据的318的RAM寄存器。DS1302与DS1202兼容,是DS1202的升级产品,但增加了后背电源/主电源双电源引脚,同时提供了一种新的能力,那就是对后背电源进行涓细电流充电。 3.2.1 引脚功能与结构在DS1302的引脚中,VCC2为主电源,Vcc1为后备电源。在关闭主电源的情况下,也能保持连续运行时钟。DS1302由Vcc2或Vcc1两者中的较大者供电。当Vcc10.2V小于Vcc2时,DS1302由Vcc2供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。振荡源是X1和X2,由32.768kHz晶振外接。复位/片选线是RST管脚,把RST输入驱动置高电平,所有的数据传送可以被启动。RST输入有两种功能:首先,允许地址/命令序列送入移位寄存器,当RST接通控制逻辑时;其次,RST提供多字节数据或终止单字节的传送手段7。所有的数据在RST为高电平时,传送被初始化,DS1302被允许进行操作。如果RST置为低电平,若传送则会终止此次数据传送,I/O引脚变为高阻态。在Vcc2.5V之前,上电运行时,保持低电平对RST来说是必要的。当SCLK为低电平时,才能使RST为高电平状态。I/O为串行数据双向端(输入输出),后面则会有详细说明。时钟输入端为SCLK。 下图为DS1302的引脚功能图I/OX1Vcc11 82 73 64 5Vcc2X2 GNDSCLKRST 图3.2 DS1302的引脚图 3.2.2 DS1302的控制字节DS1302 的控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。3.2.3 数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。3.2.4 DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器与其控制字见表1。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器与与RAM相关的寄存器等8。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。3.3 液晶显示屏LCD1602本系统中使用的显示器是液晶显示器 LCD1602,它由一定数量的彩色或黑白像素组成,是平面超薄的显示设备。3.3.1 LCD1602特点说明液晶显示模块由于具有低功耗、寿命长、体积小、显示容丰富、价格低、接口控制方便等优点,因此在各类电子产品中被极广泛地推广和应用。字符型液晶显示模块是一类专门用于显示字母、数字、符号等点阵式液晶显示模块910。本系统设计采用字符型液屏显示模块LCD1602 作为显示器件,这样不仅简化了系统的硬件设计,而且极提高了系统的可靠性。字符型液晶显示模块LCD1602是单片机应用设计中最常用的信息显示器件。LCD1602 可以显示两行,每行16 个字符,采用5V 电源供电,外围电路配置简单,价格便宜,具有很高的性价比11。 3.3.2 LCD1602功能介绍 LCD1602各引脚功能如表3.2所示。 表3.2 LCD1602管脚功能表编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3VL液晶显示偏压信号11D4Data I/O4RS数据/命令选择端(H/L)12D5Data I/O5R/W读/写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极(1)基本操作时序: LCD1602 读写操作时序总体上来说是比较简单的,掌握其有两种方法:一种是直接看时序图,另外一种方法是直接记忆和总结读写时电平高低和变化。很显然第二种更简单、直接,下面就列出典型读写的时序要求,以方便编写程序12。读状态-输入:RS=L,R/W=H,E=H 输出:D0-D7=状态字 写指令-输入:RS=L,R/W=L,D0-D7=指令码,E=高脉冲 输出:无 读数据-输入:RS=H,R/W=H,E=H 输出:D0-D7=数据 写数据-输入:RS=H,R/W=L,D0-D7=数据,E=高脉冲 输出:无 (2) 状态字说明: 表3.3 状态字表 STA0D0STA1D1STA2D2STA3D3STA4D4STA5D5STA6D6STA7D7 表3.4 状态字读写使能表STA0-6 当前数据地址指针的数值STA7读写操作使能1:禁止 0:允许对控制器每次进行读写操作之前,都必须进行读写检测,确保STA7为0 (3) 指令说明12: 表3.5 显示模式设置表指令码功能00111000设置16*2显示,5*7点阵,8位数据接口 表3.6 显示开/关与背光灯设置表 指令码功能00001DCBD=1开显示; D=0关显示C=1显示光标; C=0不显示光标B=1光标闪烁; B=0光标不显示000001NSN=1当读或写一个字符后地址指针加一,且 光标加一N=0当读或写一个字符后地址指针减一,且 光标减一S=1当写一个字符,整屏显示左移(N=1)或 右移(N=0),以得到光标不移动而屏幕移动的效果S=0当写一个字符,整屏显示不移动(4)数据控制 控制器部有一个数据地址指针,它们可以被用户用于访问部的、全部的80字节RAM 。(5)数据指针设置 表3.7 数据指针设置表指令码功能80H+地址码(0-27H,40-67H)设置数据地址指针(6)其他设置 表3.8 其他设置指令表指令码功能01H显示清屏:1数据指针清零 2所有显示清零02H显示回车:数据指针清零 3.3.3 LCD1602初始化过程(1) 延时15ms (2) 写指令38H(不检测忙信号) (3) 延时5ms (4) 写指令38H(不检测忙信号) (5) 写指令5ms (6) 写指令38H(不检测忙信号) (7) 之后每次写指令、读/写数据操作之前均需检测忙信号 (8) 写指令38H:显示模式设置 (9) 写指令08H:显示关闭 (10) 写指令01H:显示清屏幕 (11) 写指令06H:显示光标移动设置 (12) 写指令0CH:显示与光标设置13 3.4 无线NRF24L01芯片NRF24L01是一款Nordic公司推出的新型单片射频收发器件,工作于2.4GHz2.5GHz ISM 频段。置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst 技术,其中输出功率和通信频道可通过程序进行配置14。NRF24L01功耗低,在以-6 dBm的功率发射时, 工作电流只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模 式)使节能设计更方便。RF24L01主要特性如下:GFSK调制;硬件集成OSI链路层;具有自动应答和自动再发射功能;片自动生成报头和 CRC 校验码;数据传输率为lMb/s或2Mb/s;SPI速率为0Mb/s10Mb/s;125个频道;与其他 NRF24系列射频器件相兼容;供电电压为1.9V3.6V15。 3.5 参数存储AT24C02芯片美国ATMEL公司开发的AT24C02是低功耗CMOS串行EEPROM,它是具有工作电压宽(2.5V-5.5V)、含256x8位存储空间、写入速度快(小于1Oms)等特点、擦写次数大于10000次22。AT24C02是带有片地址寄存器的存储芯片。每读出或写入一个数据字节后,在这个地址寄存器上自动加一,用于对下一个存储单元的读写的实现。均以单一操作方式读取所有字节。为了降低写入的总时间,在一次操作中,可写入多达8个字节的数据。4.系统的硬件架构本设计包括USB电源模块、单片机最小系统、无线收发模块、时间显示模块、时钟模块和按键模块。另外还有电路总开关、无线信号感应电路和继电器输出电路的设计,因为电路总开关与USB供电接口较近,且比较简单,所以归于USB电源模块中,后文不再详细介绍。同理,无线信号感应电路归于单片机模块。 4.1 USB电源模块由于系统中使用单片机等精密芯片,为了保证电路的正常稳定运行以与电路的简化,特为电路中引入了USB接口供电,购买市面上常见的220V交流转直流5V接头,其中USB接口电路如下图。 图4.1 USB接口电路图电源总开关选用按键自锁直键开关,连接其5,6脚。则未按下时,4,6脚接通,断路电源未接通;而按下时,5,6脚接通,电源接通。 4.2 单片机最小系统本设计的单片机最小系统主要包括STC89C52芯片,晶振电路和复位电路。 4.2.1晶振电路 最小系统晶振电路如图4.2所示。 图4.2 晶振电路图 晶振电路部有一个高增益反相放大器,它是用于构成振荡器的部分,引脚XTAL1和XTAL0分别是此放大器的输出端和输入端。时钟可以由部方式产生,也可由外部方式产生。部方式的时钟电路如图4.2所示,外接定时元件在XTAL0和XTAL1引脚上,自激振荡就会在部振荡器上产生。定时元件通常采用并联谐振回路,它一般由石英晶体和电容组成的。晶体振荡频率的围很广,可以在1.212MHz之间选择,电容值则在530pF之间可以选择,控制电容值的大小,就可以对频率起微调的作用23。 单片机晶振之中的两个电容的作用:这两个电容,其实是晶振的负载电容,它们分别接在对地的电容和晶振的两个脚上,一般在几十皮法。它会影响到晶振的输出幅度和谐振频率。晶振的负载电容=(Cd*Cg)/(Cd+Cg)+Cic+C,式中Cg,Cd为分别接在对地的电容和晶振的两个脚上,C(PCB上电容)+Cic(集成电路部电容),经验值为3到5pF。 4.2.2复位电路最小系统复位电路如图4.3所示。 图4.3 复位电路图 单片机总要涉与到复位电路的设计。而单片机复位电路设计的好坏,会直接影响到整个系统工作的可靠性。许多用户在实验室调试成功后,并在设计完单片机系统,而在现场时却出现了“程序走飞”、“死机”等现象,这主要是单片机的复位电路设计不完善造成的24。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经过一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。单片机复位电路参数的选定须在振荡稳定后保证复位高电平持续时间大于2个机器周期。单片机复位电路主要有四种类型:微分型复位电路;积分型复位电路;比较器型复位电路;看门狗型复位电路25。因本设计需要达到手动控制的目的,所以当分机电源已开时,其中复位键按下后,单片机重置,分机接收到信号,控制继电器关闭电源,就可实现手动控制电源开关。 4.2.3最小系统整体图 最小系统整体电路如图4.4所示。 图4.4 最小系统电路图 4.2.4 无线信号感应电路该功能主要由分机单片机编程完成,发光二极管负极连于单片机STC89C52的P0.7管脚,硬件电路如下图所示。图4.5 无线信号感应电路 4.3 无线收发模块 本设计中无线接收与发射模块都采用NRF24L01芯片,但与单片机的连接管脚不一样,设计采用8线插槽实现单片机STC89C52与NRF24L01模块的连接,从单片机控制的角度来看,我们只需关注NRF24L01的六个控制和数据信号,分别为CSN、SCK、MISO、MOSI、IRQ、CE26。NRF24L01芯片与STC89C52芯片连接电路图如下图4.6和图4.7所示。 图4.6主机NRF24L01芯片与STC89C52芯片连接电路图 图4.7从机NRF24L01芯片与STC89C52芯片连接电路图4.4 时钟模块本设计中的DS1302芯片的SCLK、DSIO和RST引脚与STC89C52芯片相连接。X1和X2是振荡源,外接32.768kHz晶振,为主控芯片提供外部时钟频率。其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。时钟模块电路如图4.8所示。 图4.8 时钟模块电路图4.5 液晶显示模块液晶LCD1602的D4-D7引脚与STC89C52芯片的P2口相接,而控制引脚RS,R/W,CS则分别接P00,P01,P02。引脚3接一个10K的滑动变阻器来调整对比度,从而达到合适的背光灯对比度。液晶显示模块电路如图4.9所示。图4.9 液晶显示模块4.6 按键模块本设计中,主机设置有七个按键,其中复位键属于复位模块,就不再赘述。其余六个按键key1-key6接到单片机STC89C52的P32-P37起到调节时间日期等功能。六个键分别是:切换键K1、开启电源时间显示键K2、关闭时间显示键K3、上调键K4、下调键K5和确认键K6。 按键模块电路如下图4.10所示。 图4.10 按键模块4.7参数存储模块图4.11 AT24C02芯片与STC89C52芯片连接图如图4.11所示,AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址。在系统主板上它们都接地,第8脚和第4脚分别为正、负电源。第5脚SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传送,在系统主板上和单片机的P27连接。第6脚SCL为串行时钟输入线,在系统主板上和单片机的P26连接。SDA和SCL都需要和正电源间各接一个4K7的电阻上拉。第7脚需要接P25。4.8 继电器输出电路设计现代自动控制设备中,都存在互相连接的问题,即一个电子电路与电气电路的。一方面要能够控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路的电气电路提供良好的电隔离,以保护人身的安全和电子电路27。电子继电器便能完成这一桥梁作用。系统中使用5VDC输入220VAC输出型固态继电器。继电器线圈由PNP型三极8550驱动,如图4.12所示,在继电器的长开触点上由输出端子JP2的1, 2脚连接,一旦达到指定的时间,系统会自动关闭或开启继电器。若加一个二极管到继电器的线圈两头,可吸收继电器线圈断电时产生的反电势.防止干扰。继电器输出电路如图4.12所示。 图4.12继电器输出电路图5.系统的软件设计系统硬件电路设计完成之后,就要进行软件的设计和调试。如果没有软件来控制硬件电路和外围设备,系统仍然是不完善的。在程序方面,采用模块化设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配,会出现意想不到的错误。 5.1开发语言和开发环境 51单片机的编程语言常用的有二种,一种是汇编语言,一种是C语言.在高级语言中,C语言还是比较接近硬件的语言,而且比起汇编语言来说,C语言比汇编语言更符合人们的思维习惯,用C语言进行系统开发者可以更专心地考虑算法而不是考虑一些细节问题。使用像C语言进行嵌入式系统开发时,程序员不必十分熟悉处理器的运算过程,这就意味着对新的处理器也能够很快上手,并不必知道处理器的具体部结构。C语言同其他编程语言相比,具有以下优点:(1)编程调试方便。当前几乎所有的嵌入式系统都有相应的C语言级别的仿真调试系统,调试十分方便。(2)生成代码编译效率高。当前较好的C语言编译系统编译出来的代码效率比直接使用汇编低20%左右,如果能优化编译甚至可以更低。(3)模块化开发性好。(4)可移植性好。(5)项目的维护管理容易28。由于本设计是51单片机控制系统,利用C语言开发较之汇编语言有更好的效果,所以本系统的程序采用C语言编写。而C语言开发在Windows视窗系统下有许多的的交叉编译环境,如Visual C+6.0、VS2003和Keil Vision4 等软件。 美国Keil Software公司出品的51系列单片机C语言Keil软件开发系统,与汇编相比,C语言在结构性、可读性、功能上、可维护性上有明显的优势,因而易用易学。Keil软件提供功能强大的集成开发调试工具和丰富的库函数,界面是全Windows。另外重要的一点,Keil有非常之高的生成目标代码效率,由多数语句生成的十分紧凑的汇编代码,让人容易理解。在开发大型软件的时候,更能体现高级语言的优势27。综合以上C语言的优点,本系统采用C语言在Keil编程环境下编程、调试,待调试完程序后,设置Keil单片机模拟调试软件使其编译生成可下载到实验板里的“.hex”文件,用STC_ISP下载程序时选择需要下载的“.hex”文件下载到系统单片机里面即可。5.2系统软件的总体说明无线电源开关控制器的功能是在程序控制下实现的。该系统的软件设计方法与硬件设计相对应,按整体功能分成多个不同的程序模块,分别进行设计、编程和调试,最后通过主程序将各程序模块连接起来。本系统的软件部分主要进行时间显示程序、日期显示程序、时间调整程序、定时开关时间调整程序和延时程序的设计,按键的输入扫描等。程序开始运行后要进行初始化,包括设置定时器、LCD1602、DS1302、 NRF24L01、AT24C02与端口的初始化。发送端AT89S52完成初始化后,日历信息通过LCD1602显示出来,当实时时间与设定的开启关闭时间一样后,LCD1602上显示的时间仍然照常走动,时钟芯片向单片机发出中断请求,主机把NRF24L01配置成PTX工作模式。启动NRF24L01发送数据,若从按键模块接收到数据,则将相应标志位置1,并将对应编号显示于 LCD 显示屏。若发送成功,则产生TX_DS中断。若重发超限,则产生MAX_RT中断。若发送目标成功,则发送继续,否则对发送数据进行出错处理28。接收端AT89S52完成初始化后把NRF24L01配置成PRX工作模式 。当正确接收数据时,NRF24L01产生接收中断标志 ,AT89S52从NRF24L01读取数据并校验数据标志位,如果对应标志位为1,通过改变电平,使继电器接通,以控制电源通断,则点亮LED指示灯。此时,若按下主机复位键,可手动控制关闭分机电源。5.3 软件设计总体流程图软件设计总体流程图主要分为发送端流程图和接收端流程图,具体流程如图5.1(a),(b)所示。 (a)发送端流程图 (b)接收端流程图图5.1 发送端流程图和接收端流程图5.4 按键输入模块系统中有七个按键,即:复位键S1、切换键K1、开启电源时间显示键K2、关闭时间显示键K3、上调键K4、下调键K5和确认键K6。 (1)按下S1键,系统中如分机处于开启状态,则分机直接关闭电源。(2)按下K1键,系统进入设置状态,再按下K1键,可在年、月、日、时、分、秒、星期上停留,此时再按下上调键K4键,即可进行加一操作,按下下调键K5即可进行减一的操作,设置完所有项目后,再按确认键K6即可。 (3)按下K2键或K3键会进入到开启或关闭时间显示界面,再按K1键可设置时间,设置完后,再按确认键K6即可。5.5 液晶显示模块液晶显示驱动程序。LCD1602 的程序主要是对部控制器进行操作,如液晶初始化,读,写,判忙,制定位置等,这些操作驱动程序有子函数构成。5.6 时钟处理程序DS1302 数据处理要始终对部的数据进行处理获得液晶显示需要的字符。主要包括DS1302的初始化,读一个字节,写一个字节,读写,数据处理等函数组成。对DS1302读写数据命令、DS1302RAM 读写命令和寄存器标志 容的了解,实现计时,调时程序很容易。在程序中尽量使用位移、位或、位与来实现乘除法,这样可以节约单片机的处理时间。最后将时分秒年月日分解为字符送给液晶显示16。部分流程图如图5.3所示。开始DS1302初始化设置DS1302读年月日星期时分秒将读取的数据处理后送液晶屏显示 返回 图 5.3DS1302读写流程图 5.7 参数存储模块工艺参数存储部分由AT24C02作为外围存储区。AT24C02有2K的存储空间,具有I2C接口,可以与单片机之间通过软件模拟I2C时序建立I2C通信,实现读取和存储数据。它通过SDA(串行数据线)与SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。这里只用到一片AT24C0
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!