嵌入式单片机论文嵌入式单片机应用系统作业.docx

上传人:sccc 文档编号:5138943 上传时间:2023-06-07 格式:DOCX 页数:12 大小:371.32KB
返回 下载 相关 举报
嵌入式单片机论文嵌入式单片机应用系统作业.docx_第1页
第1页 / 共12页
嵌入式单片机论文嵌入式单片机应用系统作业.docx_第2页
第2页 / 共12页
嵌入式单片机论文嵌入式单片机应用系统作业.docx_第3页
第3页 / 共12页
嵌入式单片机论文嵌入式单片机应用系统作业.docx_第4页
第4页 / 共12页
嵌入式单片机论文嵌入式单片机应用系统作业.docx_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《嵌入式单片机论文嵌入式单片机应用系统作业.docx》由会员分享,可在线阅读,更多相关《嵌入式单片机论文嵌入式单片机应用系统作业.docx(12页珍藏版)》请在三一办公上搜索。

1、嵌入式单片机应用系统作业学院:机械与电子控制工程学院专业:机械工程学生姓名:谭启凡学号:S13121247班级:13级硕博连读试点班2013年12月31日目录PART1:海豚XQS30-1洗衣机原理分析11.系统控制逻辑设计12.控制系统总体设计12.1.FPGA芯片选择22.2.配置电路23.主控系统关键程序设计33.1.模式控制电路设计33.2.电机控制模块设计43.3.整体流程图设计5PART2:基于LPC2368的uCOSII 操作系统的洗衣机功能的实现61.总体软件方案设计62.总体硬件方案设计73.结束语10PART1:海豚XQS30-1洗衣机原理分析随着时代的发展,洗衣机已成为人

2、们日常生活中的必需品。目前全自动单筒、滚筒洗衣机已日渐盛行,但其结构复杂,日常维修和购买时成本偏高,所以结构简单、价格实惠的双缸洗衣机依然受到普通大众的欢迎。从市场反馈的情况发现,双缸洗衣机的控制电路因为采用了传统机械式的转钮,所以发生故障的概率很高,且一直以来都未找到合适的问题解决办法。随着芯片制造工艺的发展和成本的进一步降低,可编程门阵列以其具有体系结构和逻辑单元灵活、集成度高以及适用范嗣宽等特点,在大规模数据计算、嵌入式处理、通信、家用电器智能控制等方面都被广泛使用。为了改善家用双缸洗衣机机械控制系统,本文充分利用FPGA的特点,用其作为洗衣机控制系统的核心,配置电路和控制逻辑的设计是该

3、系统的重要组成部分,该控制系统很好的解决了洗衣机机械式控制的问题,实现了洗衣机的正常工作。1. 系统控制逻辑设计传统双缸洗衣机洗涤模式分为强洗、轻柔、标准3种。根据传统洗衣机的洗涤模式,文中分别设计了3种洗涤模式的控制逻辑。强洗时:洗涤电机以1 200 rmin的转速正向连续工作5 s,之后暂停工作2 s;然后电机以相同的转速反向连续工作5 s,后暂停2 s,如此循环控制电机,直到洗涤定时结束。标准和轻柔洗时:其逻辑控制过程和强洗相同,不同的是电机分别以1 000rmin和800rmin的转速连续工作。洗涤时间通过控制面板的时间增减按键设置。控制系统的默认值为标准模式洗涤,洗涤时间为10 mi

4、n。可通过模式选择按键和洗涤时间设置按键选择自己想要的洗涤模式和时间,当一次洗涤结束,系统自动返回默认状态。洗涤过程由启停键控制。洗涤的定时误差小于02s。2. 控制系统总体设计系统主要由FPGA主控芯片、模式选择控制、中断控制、排水电磁阀控制、定时器输入控制、声光报警电路、洗涤电机和整个系统的供电电路组成。如图1所示。图1 控制系统总体框图2.1. FPGA芯片选择在FPGA的应用过程中,首先就是要对FPGA芯片进行选型,根据具体应用选择合适的FPGA芯片对于下一步的开发以及功能实现有着重要的意义。我们根据前面平台的总体设计,可以得出对芯片的基本要求如下:1)成本低;2)需要最少4路PWM波

5、形输出:3)需要较高的12 V转化为33 V的实时芯片;4)要有较高的处理速度;5)IO接口要多。综合考虑以上条件,采用Altera公司生产的CycloneII系列FPGA中的EP2C35F672C6型号基本满足要求。它具有出色的运算速度、低成本且带有DSP模块、超大的内部存储器、多通道PWM的输出、灵活的设计和多种语言的综合运用。其优势突出,性价比较高。2.2. 配置电路FPGA芯片正常工作需要完整的配置电路,下面从硬件的选型和设计上对配置电路做一下要点分析。1)电源电路的设计电源系统为整个系统提供能量,是系统正常工作的保障,具有极其重要的地位。一个好的电源往往能使系统的故障减少一半以上。因

6、为市电为220 V交流电,所以在给控制系统供电之前需要一个变压器将电压降为5 V,FPGA的IO端口供电点压是33 V,内核供电电压是12 V,需再由TPS37HD301将5 V转化为33 V和12 V。FPGA的端口电压是33 V,为将IO电压升压到5 V,在这里使用74HCT245升压芯片。2)时钟和复位电路的设计时钟电路中用ZPB-26-16M作为有源晶振。它的频率为16M,这使得串口波特率更加精确,同时可以支持芯片内部的PPL功能及ISP下载功能,使系统运行速度更快,更方便程序调试下载。复位电路采取硬件复位和软件复位。3)调试JTAG和下载电路FPGA 内部可以直接搭建软核。ISP和J

7、TAG,所以在硬件电路接一个IDC-10的JTAG接口即可满足要求。4)配置存储电路选EPCS16作为FPGA的ROM,可以由下载电缆或其他设备进行重复编程,也可以通过AS接口进行在线系统编程。用FPGA芯片内部自带的4M的On-Chip memory作为FPGA的RAM。5)声光报警电路声光电路主要由发光二极管和蜂鸣器组成,直接接入FPGA,来提醒洗衣机的工作状态。6)时间输入和显示电路利用4个按键输入洗涤时间,两个数码管显示设定时间。有关设定洗涤时间是由FPGA内部的定时器计时的,计时完成洗涤结束。7)模式选择和中断控制模式选择主要通过3个按键输入洗涤的模式(强洗、标准、轻柔)。为了让洗衣

8、机在工作的时候能够随时停止工作,在控制电路中加一个中断控制按键。8)排水控制电路当洗衣机工作完成后,通过控制电路中的排水按键给FPGA一个信号,由其输出控制信号,控制电磁阀。3. 主控系统关键程序设计将程序设计分为硬件程序设计和软件程序设计两部分,硬件程序设计要对硬件电路进行时序仿真以确定达到涮试的效果。FPGA开发环境是由Ouartus II进行硬核平台的搭建与设计和Nios II进行软核编程组成,这里用的是Quartus II90和Nios II 90软件。3.1. 模式控制电路设计在模式控制电路中,用key1、key2、key3 3个按钮选择模式,分别代表强洗、标准、轻柔。在洗涤之前选择

9、洗涤的模式,在洗涤的过程中由FPGA输出控制信号,控制洗涤电机的工作。根据洗涤控制电路性能要求,搭建硬件原理图,编译后对key1、key2、key3进行时序仿真,分析时序关系,估计设计的性能及检查和消除竞争冒险。仿真结果如图2所示。其中Output输出的是控制电机转速的PWM波形。图2 key1、key2、key3时序仿真由上图可以看出,当依次按下key1、key2、key3时,output输出波形的频率是越来越小,使得电机转速也是越来越小,电机的输出力矩也会随之变小。3.2. 电机控制模块设计在电机控制模块里,通过FPGA输出驱动信号,控制洗涤电机的正反向转动,以达到洗涤的目的。根据原理和性

10、能要求,搭建硬件原理图,编译后对洗涤电机控制信号进行时序仿真,来研究其性能是否符合设计的要求。仿真结果如图3所示。图3 电机控制信号时序仿真图中的clr为片选信号,输出output为电机驱动信号,fd为电机方向信号,output16是送往SOPC的信号,clr是由SOPC送出的控制信号。由仿真图看出,当片选信号clr为高电平时,开始10个PWM波形的fd信号为高,接下来的后10个PWM波形电机方向信号fd则变为低电平。这个过程说明洗衣机完成了一次顺时针洗衣和逆时针洗衣的过程,顺时针洗衣服的时间是由lpm_cunstant控制的,在这里用10个波形代替。3.3. 整体流程图设计硬件设计调试完成后

11、,还要进行软件系统设计。在C语言文件中编写C程序进行SOPC的编程(简称软核编程)。最后利用NiosII软件把Quartus II产生的硬核文件SOF文件和Nios II软件产生的JDI文件下载到存储器。整体工作流程图如图4所示。图4 整体工作流程图洗衣机在通电后先要手动的关闭排水阀,再进行人工注水,然后设置洗涤的模式和洗涤的时间。当各项设置完成后按下启动按钮,这是洗衣机开始正常的工作,同时定时器开始工作。在工作过程中由循环程序和FPGA协同控制洗涤电机的转动,当洗涤完成后蜂鸣器报警,洗涤工作结束。PART2:基于LPC2368的uCOSII 操作系统的洗衣机功能的实现基于LPC2368的uC

12、OSII操作系统的洗衣机功能,开启电源后,洗衣机进入时间设定模式,由“上”(对应信号key_u)和“下”(对应信号key_d)对时间进行调整,最小10分钟,最大30分钟。设定好时间后,按下“启动/停止”(对应信号OK),总控模块将时间载入timeall寄存器,并对每个时间段进行计算分配,洗衣机进入运转模式,由启动信号(start)上升沿载入单次洗衣时间,下降沿启动洗衣机运转。在运转模式下,LED由译码模块对剩余总时间(timeall)进行每秒灭/亮显示(clk_s电平决定),运转模块依据洗衣机水位(water_h/water_l)和单步剩余时间(time_1/time_2)作为状态机状态跳转条

13、件。执行完洗衣步骤后,状态机跳回等待状态,等待总控模块再次载入单步洗衣时间,片选信号(cs)和启动信号(start)启动洗衣机。该控制器忽略了部分输入引脚电气特性。1. 总体软件方案设计在一个嵌入式系统的设计开始阶段,都是从公跟那个需求分析开始,然后进行系统设计,即硬件系统设计和软件系统设计。而在进行软件系统设计时,用不用实时操作系统将导致完全不同的设计风格。一个应用系统的软件可以风味许多可执行的程序单元,当不使用操作系统是(基于裸机的开发环境),将这些可执行程序单元进行分类组合就可以得到一个个模块,其中一个是监控模块,其他模块在监控模块的管理下运行,当使用操作系统时(基于操作系统的编程环境)

14、,将这些可执行程序单元进行分类组合就可以得到一个个的任务,这些任务在操作系统的调度下运行,严格地讲,这里的任务是指用户任务(区别与操作系统自己的系统任务)。在基于实时操作系统的应用程序设计,任务设计是整个应用程序的基础,其他软件设计工作都是围绕任务设计来展开的,任务设计就是设计任务函数和相关的数据结构。基于实时操作系统的C/OS II的软件设计关键就在与对任务的划分,整个设计过程就是从上到下的过程,先分析系统总体任务关联图,明确每个任务系统整体中的位置和角色,在将任务一个一个地进行详细关联分析,然后画出任务的程序流程图,最后按程序流程图写出程序代码。图1.总体软件方案设计将整个系统软件流程简化

15、,这个系统包括AD数据采集和控制任务、串口通信收发任务、LCD数据显示刷新任务三大部分,此三个任务均为周期性执行的任务,通过合理设置OSTimeDly()或者OSTimeDlyHMSM()的参数值可以调整任务的执行周期,这样的任务函数编程比较单纯,只要创建一次,就能周期运行。2. 总体硬件方案设计洗衣机控制器的整体框图如下(图2)所示:工作原理:1、开启电源后,洗衣机进入总控模块的时间设定模式,由7段LED灯显示所设定时间;2、时间设定后,启动洗衣机,进入洗衣机运转模式,即启动洗衣机运转模块,同时屏蔽总控模块总时间(Time_all)信号。每次自动洗衣时间由总控模块自动分配。七段LED灯轮换显

16、示工作模式(进水=1,洗衣=2,放水=3,脱水=4)和剩余时间。3、3次自动洗衣完成后,洗衣机进入待机模式,七段LED灯灭,再次等待时间设定。分频模块显示电路键盘电路洗衣机运作模块译码模块总控制器电源时钟(1K)LPC2368芯片图2.总体硬件方案设计电路设计LPC2368上下图3.洗衣机控制器主要电路 ULN2803是高电压大电流达林顿晶体管阵列,用于高电压大电流负载。74LS138为动态扫描译码电路,可基于该电路扩展LED显示为最高8位动态。增加了VCC所接上拉电阻,为LED显示提供足够的驱动电流。KEY为机械开关,只针对单个按键进行合键判别,无对应行列扫描。LED为自带数字字库显示器,从

17、而简化EP1K30TC144-3译码模块,只需数据输入和扫描程序。电源模块:图4.开关电源电路该电路由变压线圈Trans1对输入220V电压进行变压,后经桥式电路,将交流电压变为直流电压。后又由Lm2575开关型稳压器件,对OUT端经桥式电路和电容整形后的电压进行稳压,为EP1K30TC144-3,LED提供稳定电压。电路中接入电解电容C2对电源起退偶和输出滤波作用,涤纶电容C3与OUT端电解电容并联,用于消除高频干扰。(附):图5.水位传感器图(该水位传感器省略了传感器输出,仅对输出信号进行整形放大)程框图设定洗衣时间(timeall)进水waterH=0? N洗涤 NTime1=0?放水 NwaterL=0?脱水 NTime2=0? Y图6.LPC2368控制程序流程框图3. 结束语本文洗衣机控制系统的组成成本低廉、原理简单、使用方便、结构紧凑,而且FPGA具有很强的可编程性,在日后的实际使用中可继续开发拓展更多的功能。在设计和最后的开发板仿真中,结果表明该系统实现了控制逻辑功能,具有洗涤、定时、数码显示等功能,可很好的替代传统的机械式控制系统,在洗衣机的控制方面具有很高的实用价值。10

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号