收藏 分享(赏)

《基于MSP430单片机原理及应用》课件第六章.ppt

上传人:bubibi 文档编号:22658999 上传时间:2024-06-24 格式:PPT 页数:125 大小:13.91MB
下载 相关 举报
《基于MSP430单片机原理及应用》课件第六章.ppt_第1页
第1页 / 共125页
《基于MSP430单片机原理及应用》课件第六章.ppt_第2页
第2页 / 共125页
《基于MSP430单片机原理及应用》课件第六章.ppt_第3页
第3页 / 共125页
《基于MSP430单片机原理及应用》课件第六章.ppt_第4页
第4页 / 共125页
《基于MSP430单片机原理及应用》课件第六章.ppt_第5页
第5页 / 共125页
亲,该文档总共125页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、基于MSP430单片机原理及应用第六章 MSP430应用系统设计西安电子科技大学出版社南京航空航天大学金城学院目录目录6.1单片机嵌入式系统设计6.2MSP430系列单片机的分类6.3MSP430 x16x硬件结构概述6.4MSP430 x16x重要特性和外部引脚6.5MSP430 x16x的时钟模块与低功耗西安电子科技大学出版社南京航空航天大学金城学院目录目录6.1单片机嵌入式系统设计(1)单片机嵌入式系统开发所需的基础知识和技能(2)单片机嵌入式系统设计流程西安电子科技大学出版社南京航空航天大学金城学院单片机嵌入式系统开发所需的基础知识和技能单片机嵌入式系统开发所需的基础知识和技能 在IT

2、行业,应用系统设计可以分成两大类,一类用于科学计算、数据处理、企业管理、Internet网站建立等;另一类用于工业过程检测控制、智能仪表仪器和自动化设备、小型电子系统、通信设备、家用电器等。对于前一类的应用系统设计,通常都是基于通用计算机系统和网络的系统开发,硬件设备也是通用的,可以从市场购买,而其主要的工作是软件开发,使用的开发平台以C+、VB、数据库系统、网站建立开发平台等。而后一类应用系统的设计则同前一类有很大的不同。它涉及的应用系统是一个专用的系统,往往要从零开始。即必须根据实际的需求,从系统硬件的构成设计与实现,到相应的软件设计与实现,两者并重,相辅相成,缺一不可。西安电子科技大学出

3、版社南京航空航天大学金城学院第二类应用系统的特点是:系统功能、要求、性能的多样性和专用性;硬件电路和软件设计的不可分割和专一性;可靠性高,抗干扰能力强;体积小、重量轻、功耗省、投资少;开发周期短。单片机嵌入式系统开发所需的基础知识和技能单片机嵌入式系统开发所需的基础知识和技能 单片机嵌入式应用系统设计归属于第二类应用系统的范畴。因此,对于从事单片机嵌入式系统设计、开发的电子工程师和专业人员,不仅要熟悉各种电子器件和IC芯片的使用和特性,具备模拟电路、数字电路等各类硬件电路和硬件系统的设计能力,还必须具有很强的计算机综合应用和软件编程设计能力。西安电子科技大学出版社南京航空航天大学金城学院MSP

4、430MSP430单片机的特点单片机的特点 当设计的单片机嵌入式系统是一个大型管理控制系统的下位机,或要与Internet或局域网中的数据库联网,除了要熟练掌握与单片机有关的硬件(模拟电路、数字电路、单片机等)和软件开发技术外,还要具备与整个大的系统有关的基础和技术(如,数据库、Internet协议、VB、VC等)。因此,对高级电子工程师来讲,对个人PC机的熟练掌握程度,以及软件设计和编程的能力,决不亚于计算机专业的人员,在某些方面比计算机专业的人员要求还高,还要全面。要具备较高的硬件系统设计开发能力和水平,不是在短期内通过理论和书本的学习就能实现的,需要经过一定时间的积累,将理论与实际相结合

5、,动手去做,才能打下良好的基础。所以说,不亲自动手实践,是不可能真正掌握设计开发单片机嵌入式系统技术的。有了良好的基础,加上长期的实践经验,以及紧跟世界半导体器件的最新发展,才能成为一个真正的电子工程师。西安电子科技大学出版社南京航空航天大学金城学院单片机嵌入式系统设计流程单片机嵌入式系统设计流程 单片机应用系统设计遵循“软硬结合,缺一不可”的原则,任何单片机系统都包含软件系统和硬件系统两个部分。单片机嵌入式系统开发流程图如图6-1所示。西安电子科技大学出版社南京航空航天大学金城学院单片机嵌入式系统设计流程单片机嵌入式系统设计流程图6-1 单片机嵌入式系统开发流程西安电子科技大学出版社南京航空

6、航天大学金城学院MSP430MSP430单片机的特点单片机的特点对于一个具体的单片机系统的设计,需要从以下几个方面考虑(1)调研、立项、确定系统设计任务(2)系统方案设计(3)系统硬件设计(4)系统软件设计(5)系统的调试西安电子科技大学出版社南京航空航天大学金城学院调研、立项、确定系统设计任务调研、立项、确定系统设计任务 对即将进行的项目,需要进行市场调研。市场调研包括三个方面。第一,了解市场需求。通过各种渠道,了解当前市场上有多少同种产品,及产品的价格、规格等方面信息。掌握当前市场对该产品的需求量及发展的情况,分析市场前景是否良好。第二,了解客户要求。通过和客户的交流,了解客户的需求是什么

7、,对产品的性能等各方面指标有什么特殊要求。第三,分析客户要求,转变成客户需求。市场调研完成后,撰写市场调研分析,明确客户需求及攻关难点。市场调研分析完成后,即可进行项目工作。西安电子科技大学出版社南京航空航天大学金城学院调研、立项、确定系统设计任务调研、立项、确定系统设计任务 市场调研完成后,就需要进行立项工作。首先需要明确项目的需求;完成项目所需要的时间;需要配合的部门;预计花费的金额;项目各部分的功能规格等,并完成可行性方案、项目总体方案书、项目需求说明书、项目规格说明书四个文件的初稿。针对初稿开会讨论,明确各自的任务,并认真记录会议纪要,对各部门提出的要求汇总。经多次讨论确认项目方案后,

8、完成最终版本。经各相关部门经理确认,总工程师审核,总经理核准后,开始进行项目的开发。相关文件存档。西安电子科技大学出版社南京航空航天大学金城学院调研、立项、确定系统设计任务调研、立项、确定系统设计任务 项目的开发要严格按照可行性方案、项目总体方案书、项目需求说明书、项目规格说明书四个文件的要求进行。如出现意外情况,需要修改其中内容,则需要和各相关部门讨论,经总工程师同意,总经理核准后进行修改。修改后的文件同样需要各相关部门经理确认,总工程师审核,总经理核准。版本号升级,并存档。西安电子科技大学出版社南京航空航天大学金城学院系统方案设计系统方案设计 在系统设计任务和技术指标确定以后,即可进行系统

9、的总体方案设计,一般包括:(1)单片机芯片的选择。单片机芯片的选择应适合于应用系统的要求。不仅要考虑单片机芯片本身的性能是否能够满足系统的需要,如:执行速度、中断功能、I/O驱动能力与数量、系统功耗以及抗干扰性能等,同时还要考虑开发和使用是否方便、市场供应情况与价格、封装形式等其它因素。西安电子科技大学出版社南京航空航天大学金城学院系统方案设计系统方案设计(2)外围电路芯片和器件的选择。仅仅一片单片机芯片是不能构成一个完整的嵌入式系统的。一个典型的系统往往由输入部分(按键、A/D、各种类型的传感器与输入接口转换电路),输出部分(指示灯、LED显示、LCD显示、各种类型的传动控制部件),存储器(

10、用于系统数据记录与保存),通信接口(用于向上位机交换数据、构成联网应用),电源供电等多个单元组成。这些不同的单元涉及到模拟、数字、弱电、强电以及它们相互之间的协调配合、转换、驱动、抗干扰等。因此,对于外围芯片和器件的选择,整个电路的设计,系统硬件机械结构的设计,接插件的选择,甚至产品结构、生产工艺等,都要进行全面和细致的考虑。任何一个忽视和不完善,都会给整个系统带来隐患,甚至造成系统设计和开发的失败。西安电子科技大学出版社南京航空航天大学金城学院系统方案设计系统方案设计(3)软、硬件的分工与配合的综合考虑。单片机嵌入式系统中的硬件和软件具有一定的互换性,有些功能可以用硬件实现,也可以用软件来实

11、现,因此,在方案设计阶段要认真考虑软、硬件的分工和配合。采用软件实现功能可以简化硬件结构,降低成本,但软件系统则相应的复杂化,增加了软件设计的工作量。而用硬件实现功能则可以缩短系统的开发周期,使软件设计简单,相对提高了系统的可靠性,但可能会提高成本。在设计过程中,软、硬件的分工与配合需要取得协调,才能设计出好的应用系统。西安电子科技大学出版社南京航空航天大学金城学院系统硬件设计系统硬件设计 开发人员在全面了解要设计开发系统所具备的功能和要求,制定出整体的系统设计方案后,接下来就是根据具体的需求和设计方案,选择能可靠实现全部功能的单片机芯片和相应的外围电路器件,设计整个系统的电原理图。原理图设计

12、完成后,还要根据实际需要设计相应的印刷板(PCB)图。这个阶段常使用的软件平台是电子电路CAD软件,如Altium Designer软件等。原理图文档、PCB图文档命名规则如下:项目名称_电路板名称_完成日期_版本号.schdoc;项目名称_电路板名称_完成日期_版本号.pcbdoc;同一版本的原理图和PCB图需要完全对应。并在图中标明该版本对应上一版本修改了哪些地方。原理图和PCB图完成一个版本后,入档。西安电子科技大学出版社南京航空航天大学金城学院系统硬件设计系统硬件设计 单片机嵌入式系统的硬件系统设计是一个综合能力的表现,它全面反映和体现了设计开发人员的所具有的技术水平和创新设计能力。比

13、如说,设计一个具备相同功能的单片机嵌入式系统,如采用传统并行总线扩展外围设备的设计思路,设计出的硬件系统就相对庞大和复杂,因为仅地址线和数据线就有16+8=24根,还需要相应的锁存器和地址译码器等器件,稳定性、抗干扰性都相对差一些。如采用新型的单片机,CMOS器件,选用串行接口的大容量存储器、AD/DA等器件,就可减少硬件开发的工作量,大大缩短系统设计开发的周期,同时也提高了系统的可靠性。西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计 在硬件系统设计的基础上,则要根据系统的功能要求和硬件电路的结构设计和编写系统软件。作为单片机系统软件设计人员,应该具备扎实的硬件功底,不

14、仅是对系统的功能和要求有深入的了解,而且对实现的硬件系统、使用的芯片和外围电路的性能也要很好的掌握。这样才能设计出可靠的系统程序。一个嵌入式系统的系统软件实际上就是该系统的监控程序。对于一些小型嵌入式系统的应用程序一般采用汇编语言编写。对于中、大型的嵌入式系统,常采用高级语言(如:C语言、Basic语言)来编写。软件设计和编写也是开发嵌入式系统过程中非常重要和困难的任务之一,因为它直接关系到实现系统的功能和系统的性能。西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计 程序设计需要完成程序烧录文件、程序修改文件。程序烧录文件的命名规则为(以HEX烧录文件为例):项目名称_对

15、应电路板名称_完成日期_版本号.hex。程序修改文件需要压缩成*.rar文件入档。程序修改文件的命名规则为:项目名称_对应电路板名称_完成日期_版本号.rar。程序修改文件入档需要另附一份程序修改说明。程序修改说明中需列出:程序修改文件中共有几个文件,对应于上一个版本来说修改了哪些文件,修改了哪些功能等内容。程序完成后,生成软件测试文档。软件测试文档应注明程序测试条件、测试过程、需要的工具、测试重点、测试的要求等方面。经批准后,修改版本号,并入档。西安电子科技大学出版社南京航空航天大学金城学院系统的调试系统的调试 当硬件和软件设计好后,就可以进行系统调试了。硬件电路系统调试检查分为静态检查和动

16、态检查。硬件的静态检查主要检查电路制作的正确性,如路线、焊接等。动态检查一般首先要使用仿真系统(对于采用ISP技术的系统可直接)输入各种单元部分的系统调试和诊断程序,检查系统的各个部分的功能是否能正常工作。硬件电路调试完成后可进行系统的软硬件联调。先将各功能模块程序分别调试完毕,然后组合,进行完整的系统运行程序调试。最后还要进行各种工业测试和现场测试,考验系统在实际应用环境中是否能正常可靠的工作,是否达到设计的性能和指标。西安电子科技大学出版社南京航空航天大学金城学院系统的调试系统的调试 系统的调试往往要经过多次的反复。硬件系统设计的不足、软件程序中的漏洞,都可能是造成系统调试出现问题。系统调

17、试要具备相当水平和实践经验,它全面反映了嵌入式系统设计开发者的水平和能力。学习和掌握单片嵌入式系统的设计、开发与应用,要在学习中实践、在实践中加深学习,只有这样才能不断巩固、加强和深入下去,才能真正的掌握这门技术。西安电子科技大学出版社南京航空航天大学金城学院目录目录9.2 基于MSP430F169的嵌入式以太网远程网络温湿度监控系统(1)单片机选择(2)AM2301数字温湿度传感器简介(3)AM2301单总线通信(4)LCD12864模块(5)网络模块的选择和简介(6)CS8900A以太网Server的硬件结构(7)各硬件电路设计(8)系统软件设计(9)上位机的设计(10)软硬系统调试(11

18、)整机系统测试西安电子科技大学出版社南京航空航天大学金城学院基于基于MSP430F169MSP430F169的嵌入式以太网远程网络温湿度监控系统的嵌入式以太网远程网络温湿度监控系统在温湿度传感器、单片机以及网络应用的理论知识基础上,选用TI公司的MSP430F169完成一种可以提供不间断监控记录,提供网络远程终端,本地主机终端和本地液晶三种工作方式,以及能够报警的远程网络温湿度监控器系统。系统结构如图所示。图6-2 系统结构图西安电子科技大学出版社南京航空航天大学金城学院单片机选择单片机选择 一般温湿度传感器传输的数据量不大,MCU对数据的处理也比较简单。考虑到本设计需要有三种显示工作方式,I

19、/O接口需要的比较多,选择TI公司的MSP430F169单片机。西安电子科技大学出版社南京航空航天大学金城学院AM2301AM2301数字温湿度传感器简介数字温湿度传感器简介AM2301数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8 位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比高等优点。AM2301的温度测量范围:-4080;湿度测量范围:0100%RH;分辨率:0.1/0.1%RH。单线制串行接口

20、,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用场合的最佳选则。产品为3引线(单总线接口),连接方便。表6-1给出AM2301的主要性能指标。图6-3给出AM2301接口说明和引脚图。西安电子科技大学出版社南京航空航天大学金城学院AM2301AM2301数字温湿度传感器简介数字温湿度传感器简介参数条件MinTypMax单位湿度分辨率-0.1-%RH-16-Bit重复性-1-%RH精度25-3-%RH050-5%RH互换性可完全互换采样周期-12-S响应时间1/e(63%)25lm/s空气-2-S迟滞-0.3-%RH长期稳定性典型值-1-%RH/yr

21、温度分辨率-0.1-16-Bit重复性-0.5-精度-1量程范围-40-80响应时间1/e(63%)6-20S表6-1 AM2301接收模块主要性能指标西安电子科技大学出版社南京航空航天大学金城学院 电源引脚(VDD GND):AM2301的供电电压范围为3.5V-5.5V,建议供电电压为5V。电源引脚(VDD,GND)之间可增加一个100nF的电容,去耦滤波。串行数据引脚(SDA):SDA引脚为三态结构,用于读、写传感器数据。图6-3 AM2301接口说明AM2301AM2301数字温湿度传感器简介数字温湿度传感器简介西安电子科技大学出版社南京航空航天大学金城学院AM2301AM2301单总

22、线通信单总线通信 微处理器与AM2301连接的典型应用电路如图6-4所示。单总线通信模式时,SDA上拉后与微处理器的I/O端口相连。图6-4 AM2301典型应用电路SDA用于微处理器与AM2301之间的通讯和同步,采用单总线数据格式,一次通讯时间5ms左右,当前数据传输为40bit,高位先出。数据格式:40bit数据=16bit湿度数据+16bit温度数据+8bit校验。西安电子科技大学出版社南京航空航天大学金城学院 用户主机(MCU)发送一次开始信号后,AM2301从低功耗模式转换到高速模式,等待主机开始信号结束后,AM2301发送响应信号,送出40bit的数据,并触发一次信号采集。如图6

23、-5所示(注:主机从AM2301读取的温湿度的数据总是前一次的测量值,如两次测量间隔时间很长,请连续读两次以获得实时的温湿度值)。AM2301AM2301单总线通信单总线通信图6-5 AM2301单总线通信时序图西安电子科技大学出版社南京航空航天大学金城学院MSP430MSP430单片机的特点单片机的特点 空闲时总线为高电平,通讯开始时主机(MCU)拉低总线500us后 释 放 总 线,延 时 20-40us后 主 机 开 始 检 测 从 机(AM2301)的响应信号。图6-6 AM2301单总线通信时序图西安电子科技大学出版社南京航空航天大学金城学院MSP430MSP430单片机的特点单片机

24、的特点 从机的响应信号是一个80us左右的低电平,随后从机再拉高总线80us左右代表即将进入数据传送。如图6-6所示,高电平后就是数据位,每1bit数据都是由一个低电平时隙和一个高电平组成。低电平时隙就是一个50us左右的低电平,它代表数据位的起始,其后的高电平的长度决定数据位所代表的数值,较长的高电平代表“1”,如图6-7所示,较短的高电平代表“0”,如图6-8所示。共40bit数据,当最后一个bit数据传送完毕后,从机将再次拉低总线50us左右,随后释放总线,由上拉电阻拉高。图6-7 数字“1”信号表示方法图6-8 数字“0”信号表示方法西安电子科技大学出版社南京航空航天大学金城学院LCD

25、12864LCD12864模块模块带中文字库的LCD12864是一种具有4/8位并行、2/3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;显示分辨率为12864,内置8192个16*16点汉字,和128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字,也可完成图形显示。低电压低功耗是其又一显著特点。西安电子科技大学出版社南京航空航天大学金城学院网络模块的选择和简介网络模块的选择和简介 市面上常用的网络模块一般有ENC28J60、W5100、W5200、CS8900A。由于

26、W5100和W5200价格较贵,而ENC28J60只支持SPI传输方式,数据传输速率最高只有10Mb/s,无法实现高速数据传输,另外ENC28J60的发热问题也很难解决,于是采用CS8900A。CS8900A芯片是Cirrus Logic公司生产的一种局域网处理芯片,在嵌入式领域中使用非常常见。采用100-pin TQFP封装,内部集成了片上RAM、10BASE-T收发滤波器,并且提供8位和16位两种接口,在单片机中,一般使用CS8900的8位接口模式。串行E2PROM接口能存储地址和其他配置信息,电源有5V和3.3V两种,本设计中使用3.3V供电。西安电子科技大学出版社南京航空航天大学金城学

27、院 CS8900A芯片有20根地址总线,虽然控制器支持8位和16位数据,但对8位数据有一些限制,当配置为8位数据时,控制器不支持中断,CPU必须断开,以确定接收到的帧何时有用,何时完成发送,或何时出现错误,对于8位数据,该芯片没有E2PROM接口,不支持DMA,也没有自动增加的Packet Page指针。其特点包括:(1)符合IEEE802.3以太网标准,并有ISA接口(2)片内4KB RAM(3)适用于I/O操作模式,存储器操作模式和DMA操作模式(4)支持10BASE2,10BASE5和10BASE-T连接接口(5)最大电流消耗为55mA(5V电源)(6)全双工操作(7)支持外部E2PRO

28、MPROM网络模块的选择和简介网络模块的选择和简介西安电子科技大学出版社南京航空航天大学金城学院 CS8900A内部功能模块主要是802.3介质访问控制块(MAC)。802.3介质访问控制块,支持全双工操作,完全依照IEEE 802.3以太网标准。它负责处理有关以太网数据帧的发送和接收,包括:冲突检测,帧头的产生和检测,CRC校验码的生成和验证。通过对发送控制寄存器的初始化配置,MAC自动完成帧头的冲突后重新发送。如果帧的数据部分少于46个字节,它能生成填充字段使数据帧达到802.3所要求的最短长度。网络模块的选择和简介网络模块的选择和简介西安电子科技大学出版社南京航空航天大学金城学院网络模块

29、的选择和简介网络模块的选择和简介 CS8900A在接收到主机发来的数据包后,将其存到自己的发送缓存中,侦听网络线路,如果线路空闲,就立即发送该数据帧,否则等待直到线路空闲再发送。发送时,首先给主机发来的数据包加上以太网帧头,然后生成CRC校验码,最后将数据帧发送到以太网上。接收时,它将从以太网上接收到的数据帧经过解码,剥去帧头和帧尾和地址检验等步骤后,存到自己的接收缓存中。通过CRC校验后,根据初始化的配置情况,通知主机已收到了数据帧,最后用某种传输方式传到主机的存储区中。西安电子科技大学出版社南京航空航天大学金城学院网络模块的选择和简介网络模块的选择和简介CS88900A有100个引脚,如图

30、6-9所示。其中与本设计相关的引脚描述如表6-2所示。图6-9 CS8900A引脚图西安电子科技大学出版社南京航空航天大学金城学院网络模块的选择和简介网络模块的选择和简介引脚说明SA019:系统地址总线(引脚3748,5054,5860)本 设 计 中 只 用 到 SA0SA3共 四 条 地 址 总 线,分 别 与 MSP430F169的P3.0P3.3相连,用来在I/O模式下访问CS8900A的16个寄存器里的8个I/O端口SD0:15:系统数据总线(引脚6568,7174,2427,1821)本 设 计 中 只 用 到 SD0SD7共 8位 数 据 总 线,分 别 与 MSP430F169

31、的P4.0P4.7相连,用来在MSP430和CS8900A之间进行数据传输IOR/IOW:读/写控制总线(引脚61,62)读/写控制总线,分别与MSP430F169的P5.4P5.3相连,用来表示系统中是否有读写访问,均低电平有效。当IOR处于低电平或检测到一个有效地址时,表明CS8900A正从16位I/O寄存器向系统数据总线输出数据,若REFRESH引脚处于低电平,IOR失效;当IOW处于低电平或检测到一个有效地址时,表明CS8900A正从系统数据总线向16位I/O寄存器输入数据,若REFRESH引脚处于低电平,IOW失效TXD+/TXD-:10BASE-T信号发送(输出引脚87,88)向1

32、0BASE-T传输线发送10MB/S曼切斯特编码数据RXD+/RXD-:10BASE-T信号接收(输入引脚87,88)从10BASE-T传输线接收10MB/S曼切斯特编码数据XTAL1,XTAL2(引脚97,98)这两个引脚之间连接一个20MHZ晶振LINKLED:网络连接LED(引脚99)显示发光二极管是否接入网络,当接入网络并且检测到10BASE-T脉冲信号后,二极管发光LANLED:网络活动LED(引脚100)当有数据发送或接收时,二极管发光表6-2 CS8900A部分引脚说明西安电子科技大学出版社南京航空航天大学金城学院CS8900ACS8900A以太网以太网ServerServer的

33、硬件结构的硬件结构 系统硬件连接框图如图6-10所示,MSP430F169为MCU,CS8900A为以太网控制器,AM2301为温湿度测量传感器。其中MSP430F169是该系统的核心,通过相应的引脚来控制CS8900A和AM2301,使用8MHZ的高频晶振,对时序的把握会更加准确。CS8900A通过一个带扼流圈的隔离变压器(E2023)将MCU要发送的数据发送到网络上,接收数据亦然。E2023的作用是将外部线路与CS8900A隔开,防止干扰和烧坏元器件,实现带电插拔功能。RJ45是8针模式化插孔,对应于网线的8针水晶头。AM2301通过单总线与MCU通信,用来测量外部温湿度;电路上同时给出三

34、个指示灯;加电指示灯,网线接入指示灯和数据传输指示灯,可以方便地看到Server的工作情况。西安电子科技大学出版社南京航空航天大学金城学院CS8900ACS8900A以太网以太网ServerServer的硬件结构的硬件结构图6-10 系统硬件连接框图西安电子科技大学出版社南京航空航天大学金城学院各硬件电路设计各硬件电路设计 电源电路设计,MSP430F169单片机最小系统设计,LCD12864显示设计相关内容可以参考第4章相关小节内容。本节介绍CS8900A电路、单片机与温湿度传感器模块接口电路及串口电路。CS8900A电 路 原 理 图 如 图 6-11所 示,以 太 网 电 路 的MSP4

35、30F169原理图如图6-12所示,单片机与温湿度传感器模块接口电路如图6-13所示,串口电路如图6-14所示。西安电子科技大学出版社南京航空航天大学金城学院各硬件电路设计各硬件电路设计图 6-11 以太网电路CS8900A原理图西安电子科技大学出版社南京航空航天大学金城学院各硬件电路设计各硬件电路设计 图6-12 以太网电路的MSP430F169原理图西安电子科技大学出版社南京航空航天大学金城学院各硬件电路设计各硬件电路设计图 6-13 单片机与温湿度传感器模块接口电路图西安电子科技大学出版社南京航空航天大学金城学院各硬件电路设计各硬件电路设计图6-14 串口电路西安电子科技大学出版社南京航

36、空航天大学金城学院图6-11、图6-12中,以太网控制模块采用8位I/O模式,以太网的SA0SA3引脚作为地址总线连接到主控芯片,SA4SA19引脚中除SA8和SA9接3.3V外其余全部接地;SD0SD7引脚作为数据线接到主控模块,剩下SD8SD15引脚全部接地;IOW读信号引脚和IOR写信号引脚接到主控芯片;AVDD1AVDD3引脚,DVDD1DVDD4引脚提供数字和模拟电压接3.3V;AVSS0AVSS3,DVSS1DVSS4引脚,DVSS1A,DVSS3A引脚提供数字模拟电压接地;系统没有用到DMA所以DMRCK0DMRCK2引脚接3.3V;REFRESH引脚接3.3V;系统没有用到外部

37、LA解码逻辑所以ELCS引脚接地;XTAL1与XTAL2引脚之间接20M晶振;SLEEP引脚连一个4.7K电阻后接3.3V,正常模式TEST引脚接3.3V,RES引脚经4.99K的电阻后接地;为了使用I/O模式AEN引脚必须接地,CHIPSEL引脚接地;系统没有外部E2PROM,所以EEDIN引脚接地,MEMR,MEMW引脚接3.3V;因为采用了8位I/O模式没有用到SD8SD15故SBHE引脚接3.3V;LANLED和LINKLED引脚外接一个LED当物理链路接通后LANLED灯亮,当有数据传输时LINKLED灯亮;RXD+、RXD-引脚并接一个100欧的电阻后分别连接到E2023的1、3引

38、脚,TXD+、TXD-引脚经串接电阻并接电容后分别连到E2023的6、7引脚;E2023的2、7、10、15引脚都串接电容到地,E2023的9、11、14、16引脚连接到RJ45端口的YPTX+、TPTX-、TPRX+、TPRX-引脚。各硬件电路设计各硬件电路设计西安电子科技大学出版社南京航空航天大学金城学院(1)系统程序流程 系统软件运行总体设计流程如下:上电后系统初始化,显示开机画面,系统每2s进一次中断,在中断中实现,串行中断接收温度传感器模块的输出信息,并将数据处理后通过UART0 和UART1 传送给计算机PC和副控制芯片,副控制芯片再传给CS8900A以太网芯片发送方给远程主机。主

39、程序流程图如图6-15所示。系统软件设计系统软件设计西安电子科技大学出版社南京航空航天大学金城学院系统程序流程系统程序流程图 6-15 系统主程序设计流程图西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计(2)LCD12864开机画面的MATLAB辅助设计 系统开机显示南京航空航天金城学院校徽,如图6-16所示。该图案用MATLAB软件和Image2Lcd制作。制作流程可以参考第五章LCD12864显示部分内容。图6-16 开机图片的制作西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计(3)LCD液晶显示器程序1.向LCD液晶显示器发送,以字节的数据

40、或指令子程序调用方式:void LCD12864WriteDat(byte dat);函数说明:发送指令cmd到LCD。调用方式:void LCD12864WriteDat(byte dat);函数说明:发送指令data到LCD。2.芯片判忙子程序调用方式:void LCD12864CheckBusy(void);函数说明:等待LCD内部操作完成,判忙。3.LCD液晶屏初始化子程序调用方式:void InitLCD12864(void);函数说明:LCD液晶屏初始化,开机后仅调用一次。西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计4.清屏子程序调用方式:void LCD

41、12864Clear(void);函数说明:清屏5.显示字符串程序调用方式:void DispString(byte buff);函数说明:在显示屏上输出buff数组里的字符串。6.显示单个字符程序调用方式:void DispChar(byte ch);函数说明:在显示屏上输出一个字符。7.字符显示位置子程序调用方式:void LCD12864Pos(byte x,byte y);函数说明:在屏幕x行y列显示。8.画图子程序调用方式:void DispBmp(void);函数说明:显示数组buff 里面的图像西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计(4)温湿度接收

42、子程序 温湿度接收子程序主要用于接收AM2301模块发送的串行数据。这个程序在串行中断里面完成。通信的波特率默认为9600,1个起始位,1个停止位,无奇偶校验位。由于温湿度模块一次性发送40位数据,前16位为湿度数据,17到32位为湿度数据,后8位为校验数据。1.读取温湿度子程序调用方式:void receive(void)函数说明:循环40次,通过串行总线将数据每8位存到 DHT21_Code0 DHT21_Code4里面西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计2.校验和处理温湿度子程序调用方式:void Read(void)函数说明:校验DHT21_Code4

43、=DHT21_Code0+DHT21_Code1+DHT21_Code2+DHT21_Code3若相等,处理温湿度数据转换为十进制存放到tab0tab5中西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计(5)嵌入式SERVER子程序嵌入式SERVER子程序包括:以太网控制模块子程序(CS8900.h,CS8900.C);TCP/IP模块子程序(tcp.h,tcpp.c)(a)以太网控制模块以太网控制模块针对MSP430F169对CS8900A的驱动和通信,主要任务是在CPU与以太网之间传输数据,包括CS8900.H和CS8900.C。其中头文件CS8900.H主要包含:各

44、种端口的配置,相关的存储器及其他地址的宏定义,相关变量的定义和申明,各函数的申明,CS8900.C则包含了相关变量的初始化,定义及各个函数的实现。该部分主要函数如下:1.初始化网卡芯片调用方式:Void Init8900(void);西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计2.对指定的端口地址写入一个整数(小端方式)调 用 方 式:Void Write8900(unsigned charAddress,unsigned intData);3.向发送数据帧端口写入一个整数(小端方式),等同于Write8900(TX_FRAME_PORT,Data)调用方式:Void

45、 WriteFrame8900(unsigned int Data);4.从指定的端口地址读取一个整数(小端方式)调用方式:Unsigned int Read8900(unsignedcharAddress)5.从接收数据帧端口读取一个整数(小端方式),等同于Read8900(RX_FRAME_PORT)调用 调用方式:Unsigned int ReadFrame8900(void);西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计6.从特殊的的端口地址读取一个整数(小端方式),例如RxStatus寄存器注意:其中必须先读取地址(Address+1)为整数高8位,再读取地

46、址(Address)为低8位 调用方式:Unsigned int ReadHB1ST8900(unsigned char Address);7.从接收数据帧端口读取一个整数(大端方式),通常用于读取TCP/IP数据 调用方式:Unsigned int ReadFrameBE8900(void);8.复制一个指定数组的数据到CS8900的内部缓冲区(对TX_FRAME_PORT端口的连续写)调 用 方 式:Void CopyToFrame8900(void*Source,unsigned intSize)西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计9.从CS8900的内

47、部缓冲区复制数据到单片机(对RX_FRAME_PORT端口的连续读)调用方式:Void CopyFromFrame8900(void*Dest,unsigned intSize);10.对RX_FRAME_PORT端口的连续读取指定的次数,但是不返回数据,空读 调 用 方 式:Void DummyReadFrame8900(unsigned intSize);11.请求指定长度的内部缓冲区空间(准备用来发送)调用方式:Void RequestSend(unsigned int FrameSize);12.检查CS8900是否准备好开始发送数据 调用方式:Unsigned int Rdy4Tx(

48、void);西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计以太网控制模块流程图如图6-17所示,首先必须要初始化CS8900A(调用Init8900())。在这部分中,以太网控制器被重置,存储在const TInitseq Initseq的配置序列被发送,这其中就包括CS8900A上网MAC地址,常数中的每一个实体都包括一个地址和一个数值,初始化结束后,传输数据。西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计图6-17 以太网控制模块流程图西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计(b)TCP/IP模块TCP/IP模块

49、包含tcpip.h和tcpip.c,下面仅对主要变量和函数做简介。缓存MSP430F169共设置了3个缓存:Tx_Framel1,Tx_Framel2,RxTCPBuffer。缓存大小可以根据实际情况进行修改,各个缓存的作用如下:Tx_Framel1:存放所有需要发送的TCP数据帧,包括所有需要的帧头。Tx_Framel2:只要存放TCP的非数据帧,包括所有需要的帧头和ARP。ICMP协议的帧。RxTCPBuffer:用来存放接收到的TCP数据帧。西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计建立/关闭连接建立连接:当检测到一个连接请求时,调用TCPPassiveOpe

50、n()来 建 立 被 动 连 接;当 发 送 缓 存 里 有 数 据 需 要 发 送 的 时 候,调 用 TCPActiveopen()来建立主动连接。二者不同之处主要是,建立主动连接之前首先要设定远程TCP的IP地址,本地端口号,远程端口号,之后还要立即发送一个ARP的请求获得目的主机的MAC地址。关闭连接:一种情况是本地或者远程用户通过调用TCPClose()函数来关闭连接;一种是重传计数器超出,或者收到一个带复位标签的数据段,导致连接断开。西安电子科技大学出版社南京航空航天大学金城学院系统软件设计系统软件设计接收帧信号处理对 接 收 帧 信 号 的 处 理 流 程 如 图 6-18所 示

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 继续教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报