




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南理工大学毕业设计(论文)说明书摘要本文设计了一种基于PC机与单片机构成的串口无线通讯方案,研究了实用的基于RS-232 串口的通信协议,并利用无线模块nRF905,探讨了FSK等调制方式。通过对方案的设计,可以利用单片机与PC机组建成低成本、可控性强、使用灵活的控制系统,在工程控制方面体现出单片机较PLC的优势,同时也可以由多台单片机构成无线通信网络,为通讯提供无线方案,并且降低了网络的开发成本,这为个人组建合适的通讯网络提供可行性方案。上位机控制平台采用DELPHI开发工具进行编写,所使用的DELPHI编程工具具有开发效率高、入门容易、开发周期短等特点,较之VB优势明显,更贴近英语格式。因控制系统需要根据具体的应用环境,本文只介绍了简单的事例应用,控制简单的单片机输入输出端口。 根据设计要求和功能实现,模拟调试了控制台控制终端,编写了控制台的串口通讯控制软件,调试实现了串口通讯和无线通讯的结合,实现了理想的控制命令,介绍了编码方法以及在实验中运用了单片无线芯片。介绍了无线模块的设计及其应用电路的设计要求,阐述了串口无线通讯在控制中的运用,并且展望了串口无线通讯的发展与未来无限通讯的发展趋势。本文还提出了方案的二次开发和高级应用,为二次开发提供了软硬件的接口,实现了知识应用及专业技能的培养,为串口通讯提供了新的方向及发展前景。关键词:RS-232; DELPHI;nRF905; AVR-MCU; 无线通讯电路AbstractIn this paper,the serial wireless-comunication which bassed on practical RS-232 serial communication protocol, is constituted by Personal Computer-software and MCU, and using of wireless modules nRF905, which researchs FSK modulation and so on. The design of the program can be used to unit a systerm,which is controllability, flexible useful and controllable, with Microprocesser and Personal computer. It will no only reflect the advantages of Microprocesser than the PLC in engineering cyberne, but also can be constituted by numbers of Microprocesser with wireless communications chip to build a network communication program. The design provide a wireless programme, and reduce developing costs. It also provide a feasibility programme which is suitable for building private communication network. Personal computer contol platform is built by DELPHI programming environment, which is used easily, high efficient, short development cycle and so on. The programming environment has many advantages than Visual Bassic programming environment, and it is more close to English. Because of cybernetic systerm being built bassing on practical application environment, The design only introduces a simple example application.According to demant of design and function realization, the design simulated and debuged control platform and terminate-controlled, programmed control platform software by serail communication. The design carries out a programme which is combined by serial communication and wireless communication. It achieves ideable control command, and introduces the method coding. It is also experimented by using of a single-chip wireless chip and the function of wireless module circuit. The design advanced second-exploit and advantage application, provided second-exploit software and hadware interface. It also educated speciality knowledge and skills, exhibited programming software.Keywords: RS-232; DELPHI; nRF905; AVR-MCU;wireless-communication目录1 绪论- 1 -1.1设计的背景和现状- 1 -1.2设计要求及目的- 2 -1.3方案可行性分析- 2 -2 系统概述- 3 -2.1 串口通讯原理- 3 -2.1.1 串口信号线的接法- 3 -2.2 数字信号调制解调方式介绍- 4 -2.2.1 ASK幅移键控法- 5 -2.2.2 PSK相移键控法- 6 -2.2.3 FSK频移键控法- 6 -2.2.4 QAM正交幅度调制法- 7 -2.2.5 MSK最小移频键控法- 7 -2.2.6 GMSK高斯滤波最小移频键控法- 8 -2.3 系统框图- 8 -2.4 上位机设计原理- 9 -2.4.1编译环境- 9 -2.4.2上位机编写原理- 12 -第3章 各功能部件硬件设计- 14 -3.1 无线模块设计及应用- 14 -3.2 单片机串口通讯模块设计- 16 -3.3 演示电路工作原理及设计- 20 -4 软件流程设计- 22 -4.1 上位机软件设计- 22 -4.2 单片机软件设计- 23 -4.3 无线模块驱动原理- 25 -4.3.1 Shock Burst TX模式- 26 -4.3.2 ShockBurst RX模式- 28 -4.3.3曼彻斯特编码- 30 -5 调试实验- 32 -5.1 上位机运行介绍及截图- 32 -5.2 下位机运行介绍及截图- 33 -6 总结和展望- 35 -参考文献- 36 -附录- 37 -致谢- 51 - 53 -1 绪论在计算机控制系统中,不可避免的要采用计算机串口进行通信。而在由一台PC机(上位机)和多台单片机(下位机)构成的分布式控制系统中,往往以PC 机为上位机完成较为复杂的数据处理和对前沿机的监督管理,以及对下位机进行多机协调;单片机主要执行上位机的命令,对来自微机串行口的命令进行操作,完成对被控对象的直接控制并把被控对象的信息上报给上位机。实现PC 机与多个单片机的通信有很多方法,其中通过PC 机的串口实现与多台单片机的通信是最方便的。在这样的分布式控制系统中,单片机与微机之间的通信是整个系统的关键。同时采用无线模块进行通讯范围和通讯灵活性的扩展。本文设计了在Windows 环境下利用Delphi开发微机与单片机通讯无线控制系统,并详细的介绍了无线通讯的原理和工作方式,并通过实物进行测试,验证了方案的可行性,为分布式无线控制系统的设计奠定了基础,并降低了对于大型系统开发周期长开发难度大的一般性问题。本文将详细的介绍基于DELPHI的PC机与单片机无线串口通讯,通过整体系统方案、无线通讯编码调制方法、单片机应用及程序设计等方面进行详细论述。1.1设计的背景和现状伴随着集成化工业控制系统的发展,各个控制部件间的通讯已提升到了相当重要的地位,而开发便捷、成本低廉的串口通讯方案被广泛的的运用于其中。例如工控经常使用到的PLC(Programmable Logic Controller)控制系统就是这样。串口通讯由于其可靠性高而被PLC(Programmable Logic Controller)所青睐。本文就是根据这个特性而设计的基于DELPHI的PC机与单片机串口无线通讯,将串口的使用更加灵活化,更加突出串口的优势,并且通过串口组建完善的控制网络。就目前国内外串口通讯来看,串口通讯技术已经发展到了一定的高度,技术成果比较完善,但是使用没有无线网络的灵活性,系统受到了较大的限制,为此本着降低投入成本、实现无线通讯的原则,本文设计研究了改串口无线通讯。1.2设计要求及目的 本设计以体现出串口通讯的灵活性和实用性为依托,以锻炼检验电子信息工程专业知识为要求,集中锻炼了电子设计在工程控制领域的运用,并运用了专业通讯中和信息的调制与解调有关的知识。充分的锻炼了毕业生的实践动手能力和专业业务运用能力,对于整个项目的管理和开发流程进行了一定的训练,并且结合实际运用的场所及运用的投入成本开发周期等,进行了基本的考察,另外也锻炼了上位机设计及应用软件编写。为工程运用打下了理论的基础,为进一步在无线局域网的组建奠定可行性论证。1.3方案可行性分析对于串口通讯的研究已经相当成熟,并且有相应的上位机控制端编写软件对其进行支持,因此对于与单片机串口通讯功能的实现较为容易。方案中所涉及到的无线通讯部分的设计,采用已经成熟的无限模块产品,确保了通讯的可行性,便于编写单片机控制程序和二次开发使用,将两者结合更能体现出串口通讯的实用性和可开发性,及无线通讯在通讯信道上的灵活性。而本设计所采用的Delphi编译环境更是为在Windows下的应用软件编写提供了更灵活广阔的前景,因此,本设计无论是在理论还是在实际的运用中都是有广阔的再发展空间的,为二次开发奠定了理论基础和基础模型。通过实践的检验,本设计是完全能够完成设计目的和设计要求的。2 系统概述 本设计所涉及的系统由上位机设计、单片机控制的串口更能模块、无线通讯模块和演示电路模块组成,其中上位机设计为应用软件编写部分,属于软件设计范畴;单片机控制的串口功能模块是串口通讯部分,另外也控制着无线模块的数据的收发及下位机功能部件,属于硬件设计及驱动编写部分;无线通讯模块为无线通讯模块,属于硬件电路设计;演示电路为功能电路,可根据下位机具体的功能而进一步更新,同时单片机也可以根据需要进行替换。本章将详细介绍各个功能部件的设计原理及应用的场合和环境。2.1 串口通讯原理串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从 CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。同时要求设备之间的波特率数据位设置要相应,以保证通讯的正确性。在Windows环境(Windows NT、Win98、Windows2000)下,串口是系统资源的一部分。应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求,通信完成后必须释放资源。较为常用的是使用Windows下的API函数进行串口程序的编写,由于API函数的丰富性被大多数的程序员所青睐。另外一种方法是采用某些开发环境的功能组建进行编写,能够大大的缩短开发应用程序的周期。2.1.1 串口信号线的接法一个完整的RS-232接口有9根线,采用标准的9芯插头座。以下的介绍是以9芯的RS-232为例。 主要信号线定义:表2-1 DB9各引脚定义及功能14引脚名称功能1CD数据载波检测DCD2RXD接收数据RXD3TXD发送数据TXD4DTR数据终端就绪5GND信号地6DSR数据设备就绪7RTS请求发送8GTS清除发送9RI振铃指示电气特性:数据传输速率最大可到20K bps,最大距离仅15m。接口的典型应用:在工业控制中串口一般采用三线制,即RXD、TXD、GND三根线,当下位机连接上这三根线即可以完成通讯,RS-232采用查分方式进行数据传输,其优点是抗干扰能力强,传输误差小。本设计采用此种接法,如有需要可以完全使用9线制的方式进行连接。2.2 数字信号调制解调方式介绍我国的调幅广播频率规定为中波从535-1605Mz,短波为2-30MHz,频道间隔为9KHz。即每个电台的频带宽度限制在9KHz内,也就是音频信号的高音频率限制在4.5KHz以下。调频广播是调频波的载波随着音频调制信号的变化而在载波中心频率(未调制以前的中心频率)两边变化,每秒钟的频偏变化次数和音频信号的调制频率一致,如音频信号的频率为1KHZ,则载波的频偏变化次数也为每秒1K次。频偏的大小是随音频信号的振幅大小而定。 在调频发射机中允许将最大频偏限制在75KHZ。我国的调频频率规定范围为88-108MHZ,本设计采用433MHz频率进行无线电信号的传输。在数字通信的三种调制方式(ASK、FSK、PSK)中,就频带利用率和抗噪声性能(或功率利用率)两个方面来看,一般而言,都是PSK系统最佳。所以PSK在中、高速数据传输中得到了广泛的应用。在本设计中无线通讯采用FSK调制方式,将数据调制传输,下文将详细介绍各种调制方法。2.2.1 ASK幅移键控法载波幅度是随着调制信号而变化的。其最简单的形式是,载波在二进制调制信号控制下通断, 这种方式还可称作通-断键控或开关键控(OOK)。调制方法:用相乘器实现调制器。 调制类型:2ASK,MASK。 解调方法:相干法,非相干法。MASK,又称多进制数字调制法。在二进制数字调制中每个符号只能表示0和1(+1或-1)。但在许多实际的数字传输系统中却往往采用多进制的数字调制方式。与二进制数字调制系统相比,多进制数字调制系统具有如下两个特点: 第一,在相同的信道码源调制中,每个符号可以携带log2M比特信息,因此,当信道频带受限时可以使信息传输率增加,提高了频带利用率。但由此付出的代价是增加信号功率和实现上的复杂性。 第二,在相同的信息速率下,由于多进制方式的信道传输速率可以比二进制的低,因而多进制信号码源的持续时间要比二进制的宽。加宽码元宽度,就会增加信号码元的能量,也能减小由于信道特性引起的码间干扰的影响等。 二进制2ASK与四进制MASK调制性能的比较:在相同的输出功率和信道噪声条件下,MASK的解调性能随信噪比恶化的速度比OOK要迅速得多。这说明MASK应用对SNR的要求比普通OOK要高。在相同的信道传输速率下M电平调制与二电平调制具有相同的信号带宽。即在符号速率相同的情况下,二者具有相同的功率谱。 虽然,多电平MASK调制方式是一种高效率的传输方式,但由于它的抗噪声能力较差,尤其是抗衰落的能力不强,因而它一般只适宜在恒参信道下采用。2.2.2 PSK相移键控法 根据数字基带信号的两个电平使载波相位在两个不同的数值之间切换的一种相位调制方法。 产生PSK信号的两种方法: 调相法:将基带数字信号(双极性)与载波信号直接相乘的方法。选择法:用数字基带信号去对相位相差180度的两个载波进行选择。两个载波相位通常相差180度,此时称为反向键控(PSK)。 S PSK =AS DIG (T)COS(W 0 T+O 0 ) 式中:S DIG (T)=1或-1 解调方法:只能采用相干解调。 类型:二进制相移键控(2PSK),多进制相移键控(MPSK)。2.2.3 FSK频移键控法FSK是信息传输中使用得较早的一种调制方式,它的主要优点是: 实现起来较容易,抗噪声与抗衰减的性能较好。在中低速数据传输中得到了广泛的应用。所谓FSK就是用数字信号去调制载波的频率。 调制方法:2FSK可看作是两个不同载波频率的ASK以调信号之和。 解调方法:相干法和非相干法。 类型:二进制移频键控(2FSK),多进制移频键控(MFSK)。 在上述三种基本的调制方法之外,随着大容量和远距离数字通信技术的发展,出现了一些新的问题,主要是信道的带宽限制和非线性对传输信号的影响。在这种情况下,传统的数字调制方式已不能满足应用的需求,需要采用新的数字调制方式以减小信道对所传信号的影响,以便在有限的带宽资源条件下获得更高的传输速率。这些技术的研究,主要是围绕充分节省频谱和高效率的利用频带展开的。多进制调制,是提高频谱利用率的有效方法,恒包络技术能适应信道的非线性,并且保持较小的频谱占用率。从传统数字调制技术扩展的技术有最小移频键控(MSK)、高斯滤波最小移频键控(GMSK)、正交幅度调制(QAM)、正交频分复用调制(OFDM)等等。2.2.4 QAM正交幅度调制法在二进制ASK系统中,其频带利用率是1bitsHz,若利用正交载波调制技术传输ASK信号,可使频带利用率提高一倍。如果再把多进制与其它技术结合起来,还可进一步提高频带利用率。能够完成这种任务的技术称为正交幅度调制(QAM)。它是利用正交载波对两路信号分别进行双边带抑制载波调幅形成的。通常有二进制 QAM,四进制QAM(16QAM),八进制QAM(64QAM)等。2.2.5 MSK最小移频键控法当信道中存在非线性的问题和带宽限制时,幅度变化的数字信号通过信道会使己滤除的带外频率分量恢复,发生频谱扩展现象,同时还要满足频率资源限制的要求。因此,对己调信号有两点要求,一是要求包络恒定;二是具有最小功率谱占用率。因此,现代数字调制技术的发展方向是最小功率谱占有率的恒包络数字调制技术。现代数字调制技术的关键在于相位变化的连续性,从而减少频率占用。近年来新发展起来的技术主要分两大类:一是连续相位调制技术(CPFSK),在码元转换期间无相位突变,如MSK,GMSK等;二是相关相移键控技术(COR-PSK),利用部分响应技术,对传输数据先进行相位编码,再进行调相(或调频)。 MSK(最小频移键控)是移频键控FSK的一种改进形式。在FSK方式中,每一码元的频率不变或者跳变一个固定值,而两个相邻的频率跳变码元信号,其相位通常是不连续的。所谓MSK方式,就是FSK信号的相位始终保持连续变化的一种特殊方式。可以看成是调制指数为0.5的一种CPFSK信号。实现MSK调制的过程为:先将输入的基带信号进行差分编码,然后将其分成I、Q两路,并互相交错一个码元宽度,再用加权函数cos(t/2Tb)和sin(t/2Tb)分别对I、Q两路数据加权,最后将两路数据分别用正交载波调制。MSK使用相干载波最佳接收机解调。2.2.6 GMSK高斯滤波最小移频键控法是使用高斯滤波器的连续相位移频键控,它具有比等效的未经滤波的连续相位移频键控信号更窄的频谱。 在GSM系统中,为了满足移动通信对邻信道干扰的严格要求,采用高斯滤波最小移频键调制方式(GMSK),该调制方式的调制速率为270833Kbit/sec,每个时分多址TDMA帧占用一个时隙来发送脉冲簇,其脉冲簇的速率为3386Kbs。它使调制后的频谱主瓣窄、旁瓣衰落快,从而满足GSM系统要求,节省频率资源。2.3 系统框图PC控制端单片机232接口控制模块无线模块电路收发无线电波单片机被控部件硬件电路无线模块电路收发无线电波无线电波图 2-1 系统整体框图2.4 上位机设计原理2.4.1编译环境本设计采用Delphi编程环境进行上位机的控制端的编写,方便快捷的开发过程是该环境的突出优点,Delphi是Borland公司推出的基于Windows环境的快速程序开发工具。Delphi的命名来源于古希腊城市,这个城市因为拥有阿波罗神殿而著名。Delphi是一款功能强大的集成开发环境,和以往Delphi的每一个新版本一样,本设计所采用的Delphi 7继续改善了开发环境,帮助程序员提高效率。Delphi 7在集成开发环境中加入了很多让程序员爱不释手的新功能,下面是对它们的一个简单介绍。 1)Code Complete(代码完成) Code Complete功能在Delphi 5中就已经加入了,这项功能非常受程序员的欢迎,因为Code Complete可以大幅度地减少程序员需要键入的程序代码,并且减少键入错误。 Delphi 7的Code Complete功能在原有的基础上继续改善,新的Code Complete窗口不但可以由程序员自行调整大小,而且可以使用不同的颜色代表不同的对象,例如变量、方法和特性等。Delphi 7的Code Complete窗口加入了色彩分析,以及对对象分门别类的能力。此外,新的Code Complete窗口也会更聪明地过滤对象能够使用的PME,避免了以往Delphi 5的Code Complete窗口无法显示一些PME的困窘。另外,程序员在新的Code Complete窗口中选择使用某个方法之后,Code Complete会自动地在方法名称之后加上“();”字符,把光标停在圆括号之中,并且自动显示这个方法需要的所有参数,Delphi的确比以前更聪明更方便了。 2)Object Tree View(对象树视图) 另外一个新功能就是Delphi 7的Object Tree View窗口。这个新的窗口除了可以显示窗体中所有的对象之外,也可以以分层方式表达组件之间的关系。当程序员在Object Tree View窗口中单击了一个组件之后,这个组件会立刻出现在对象查看器之中,这时程序员可以改变这个对象的特性值和事件处理程序。当窗体复杂,拥有大量的组件时,Object Tree View窗口可以让用户迅速找到这个组件,并且知道与当前组件相关的组件,非常方便。此外Delphi 7的编辑器也强化了Class Complete的功能,让程序员在定义类别程序代码时拥有更大的弹性,并且加强了Interface Complete的功能,让程序员在撰写接口程序代码时也能够享有Code Complete功能。 3)可定制的View窗口 Delphi 7最强劲的集成开发环境功能应该要算是新的可定制的View窗口了。在 Delphi 7中,编辑器不但可以让程序员观看和编辑Object Pascal的程序代码,而且如果程序员编辑的是Web应用程序,那么还可以直接在编辑器中查看HTML程序代码、脚本语言程序代码,预览Web应用程序执行结果的画面以及Web应用程序产生的HTML程序代码。 4)新添加Indy Intercepts和Indy I/O Handler构件组 企业版的Delphi 7 中,这两个构件组基本上提供了针对现今流行的Internet协议编程的构件。可以进行更为底层的操作。 5)新添加IW Standard、IW Data、IW Client Side和IW Control构件组 这些构件也是Delphi 7的显著改革之一,将Intra web(内部网络)集成到了标准的构件板中,我们就可以很方便地开发基于Web的应用程序。 6)新添加的Rave报表构件组 Delphi 7的标准构件板中已经没有了原来的Quick Report构件组,取而代之的是RAVE报表制作组件,并且提供专门的报表制作工具Rave Designer。 Rave报表构件是一个可视化的报表设计工具,大大简化了在应用程序中加入报表的工作。用Rave报表构件可以做出各种不同的报表,从最简单的到非常复杂、个性化的报表都可以完成。它的功能包括:图片支持、对齐、精确页面定位、打印机设置、字体控制、打印预览、报表内容重用,并支持PDF、HTML、RTF等文本格式。 7)新一代数据存取引擎DB Express Borland为了让Windows平台上的Delphi以及Linux平台上的Kylix拥有共同的数据存取引擎,决定开发新一代的数据存取引擎,这就是DB Express。DB Express是一组存取各种不同关联数据库的原生驱动程序,以及一组基于这些驱动程序而开发的统一的组件。由于原生驱动程序和组件的开发都考虑了跨平台,因此Delphi和Kylix都可以使用这组驱动程序和组件。程序员通过统一的组件来存取不同的数据库,以方便开发数据库应用系统。 8)开发Internet/Intranet应用系统的Web Snap(网络管理单元)组件组 Delphi 7 中最重要的新增功能之一应该要算是能够让程序员开发Internet/Intranet应用系统的新架构和组件,这个新功能称为Web Snap。Delphi 7的Web Snap允许程序员使用组件和可视化的方式快速开发复杂的Internet/Intranet应用系统。Web Snap的特点是允许程序员直接在这些组件之中加入脚本语言,并且能够直接在Delphi的集成开发环境中撰写脚本语言、预览Web应用程序的输出结果以及Web应用程序产生的HTML程序代码。 9)MIDAS的进化版本Data Snap 在Delphi 7中,MIDAS被改名为Data Snap。Data Snap不但强化了MIDAS原有的功能,更加入了许多新的组件,让程序员可以使用它开发出更为强劲的应用系统。此外Data Snap也改善了MIDAS的执行效率,让使用它的应用程序能够执行得更快。 10)对XML/XSL的支持 Delphi 6的另外一个重要的改良就是对于XML/XSL的支持。除了增加许多新的VCL组件,让程序员不必使用低阶的COM接口或是复杂的API就可以轻易的处理XML/XSL文件和资料之外,MIDAS的资料更可以直接输出成XML,或是把XML的资料直接导入成MIDAS的Data Packet,Delphi的程序员再也不需要为复杂的XML程序设计伤脑筋了。 11)开发Web Service的向导和组件 Web Service应该是现在最热门的Web技术之一了,不管是IBM或是Microsoft都在发展Web Service的解决方案。Delphi 6在这方面也不落后,Delphi 6提供了SOAP和Web Service向导,让程序员能够快速地开发SOAP应用系统,也可以汇入WSDL自动产生骨架程序代码。由于SOAP是未来Web和分布式应用系统的主流技术,而Web Service更是未来Web应用系统的主要软件架构,因此对于程序员来说,掌握这些技术非常重要。 Delphi 6是Borland支持SOAP的第一个产品,由于SOAP是标准的协议,因此通过Delphi 6开发的SOAP应用系统可以和COM+、EJB或是Microsoft的.NET沟通,Delphi的程序员现在就可以使用它开发未来的应用系统。在Delphi 6中也提供了6个VCL组件让程序员开发SOAP和Web Service的应用系统。Delphi 6 允许程序员快速建立SOAP应用程序和Web Service。 总的来说,Delphi 6最主要的新功能是在XML/XSL,Internet/Intranet以及SOAP和Web Service方面的加强。同时为了跨平台的目的,在数据存取引擎、可视化组件架构和运行时期函数库方面也进行了大幅度的改善。至于在BDE,ADO和COM+方面则只有小幅度的进步。 当Microsoft不再推出VB/VC新一代版本的Windows开发工具,而Power Builder等其他Windows开发工具也逐渐被淘汰之际,Delphi 6可以说是惟一最新的Windows开发工具,也是最好的Windows开发工具。如果你仍然需要在Windows下开发应用系统,或是需要使用/整合最新的信息技术,那么Delphi 6仍然是非常值得购买和升级的开发工具。 2.4.2上位机编写原理 本设计上位机采用Delphi 7的第三方组件进行串口的编写,其串口操作已经由其他软件工程师封装到了空间中,我们没有必要详求其代码。根据控件的出入口进行控件的操作完成数据的串口读写,以控制单片机收发无线信号。本设计用到的第三方控件为SPCOMM控件,根据网上开源的串口调试助手进行软件的修改,使之达到快速开发上位机程序的目的。采用Delphi 7可视化界面开发环境,对PC机控制端界面进行设计,由于本设计没有设计较大的系统,只对串行无线通讯进行了论述,因此只设计了简单的LED演示模块及相应的控制程序。设计好的控制端界面如下图所示:图2-2 控制终端界面 可以看出控制台界面比较的友好,更适合用户的使用。SPCOMM控件主要的功能是使用其的收发函数,通过函数将字符串的ASCII码通过串口的数据线将数据输出。收发数据类型为字符串或是数组。上位机完成数据的基本接收和处理任务。图 2-3 SPCOMM控件及属性框第3章 各功能部件硬件设计3.1 无线模块设计及应用 本设计采用Nordic公司的nRF905芯片,nRF905单片无线收发器工作在433/868/915MHz的ISM频段,由一个完全集成的频率调制器,一个带解调器的接收器,一个功率放大器,一个晶体振荡器和一个调节器组成。Shock Burst工作模式的特点是自动产生前导码和CRC。可以很容易通过SPI接口进行编程配置,电流损耗低,在发射功率为-10dBm时,发射电流为11mA,接收电流为12.5mA。进入POWERDOWN模式可以很容易实现节电。内部集成的调制器采用GFSK的调制方式,将数字信号与载波进行调制,解调器对其进行解调,因此若使用软件调制时需要考虑到与GFSK调制的协调性。图3-1 nRF905芯片框图3本设计根据芯片手册设计制作了芯片的应用电路原理图,其发射天线采用50的阻抗匹配的天线,采用性能和容抗较稳定的钽电容与贴片电感构建无线收发模块,其电路如下图:图3-2 无线收发模块原理图根据应用原理可以得到高频信号对电路的设计和电路板的要求较高,对于没有任何高频信号设计的开发员来说本电路的制作是相当困难的,因此本设计采用了苏州木兰电子科技有限公司生产的无线通讯模块,以完成本设计的任务。图3-3 无线模块实物图14 图3-3所示即为苏州木兰电子科技有限公司的无线模块,根据模块的使用手册,可以方便的开发出实用的通讯网络,使用国家的公频频段进行无线通讯。使用该无线模块可以组建低数据传输率的无线通讯网络。3.2 单片机串口通讯模块设计 本设计采用AVR单片机系列中的Atmega8单片机,ATmega8是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega8 的数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。ATmega8特性:高性能、低功耗的 8 位AVR 微处理器先进的RISC 结构 130 条指令 大多数指令执行时间为单个时钟周期 32个ATmega8 位通用工作寄存器 全静态工作 工作于16 MHz 时性能高达16 MIPS 只需两个时钟周期的硬件乘法器非易失性程序和数据存储器 8K 字节的系统内可编程Flash擦写寿命: 10,000 次 具有独立锁定位的可选Boot 代码区通过片上Boot 程序实现系统内编程真正的同时读写操作 512 字节的EEPROM擦写寿命: 100,000 次 1K字节的片内SRAM 可以对锁定位进行编程以实现用户程序的加密外设特点 两个具有独立预分频器8 位定时器/ 计数器, 其中之一有比较功能 一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器 具有独立振荡器的实时计数器RTC 三通道PWM TQFP与MLF 封装的8 路ADC8 路10 位ADC PDIP封装的6 路ADC8 路10 位ADC 面向字节的两线接口 两个可编程的串行USART 可工作于主机/ 从机模式的SPI 串行接口 具有独立片内振荡器的可编程看门狗定时器 片内模拟比较器特殊的处理器特点 上电复位以及可编程的掉电检测 片内经过标定的RC 振荡器 片内/ 片外中断源 5种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式及Standby 模式 I/O 和封装 23个可编程的I/O 口 28引脚PDIP 封装,32 引脚TQFP 封装,32 引脚MLF 封装工作电压 2.7 - 5.5V (ATmega8L) 4.5 - 5.5V (ATmega8)速度等级 0 - 8 MHz (ATmega8L) 0 - 16 MHz (ATmega8)4 Mhz 时功耗,3V,25 工作模式:3.6 m A 空闲模式:1.0 m A 掉电模式:0.5 A图3-4 Atmega8结构框图Atmega8是28管脚的单片机,本设计采用便于手工焊接的DIP封装的Atmega8单片机,其强大的功能模块集成是51单片机所不能替代的,另外大容量的Flash rom和集成的EEProm方便了精简系统,采用集成的UASRT模块的功能和SPI模块功能能够完成对串口通讯和无线模块读写命令。只需要配置相应的寄存器就可以精简编程。系统总体电路如下图所示:图3-5 单片机部件原理图串口通讯采用RS-232芯片接口,采用三线制连接。所谓三线即RX、TX、GND三根线,其中串口与单片机板连接线共地,RX、TX为数据输入线,串口接口采用9针母头座。芯片的使用原理图如下:图3-6 RS-232接口电路3.3 演示电路工作原理及设计为了详细的对控制的可行性和无线通讯的可靠性进行论述,设计了演示电路以满足对电路功能的演示,其设计原理是在上位机端模拟出下位机的情况,并在下位机上演示出上位机模拟的情况。本设计采用7个LED灯进行演示,点亮不同的灯表现不同的数据信号,当上位机模拟灯状态选定后点击发送命令,会将命令及LED灯的状态发送的下位机进行无线数据发送,并被其他功能部件接收后将数据表现在功能模块的LED灯上,以达到演示效果。其上位机界面执行模块如下图所示:图3-7 演示电路上位机图演示的通讯命令为0A,点亮相应的LED后单击“手动发送”按钮即可以LED的状态发送。演示模块的下位机电路如下图所示:图3-8 演示电路硬件模块演示电路的LED1-7连接控制单片机的引脚,由单片机接收到控制信息后进行控制,置相应的引脚为高电平点亮相应序号的LED灯来达到演示的目的,该部分电路可以有其他功能电路所取代,而且单片机也可以由其他种类型号的单片机所取代,为进一步的二次开发提供硬件接口。该功能模块也可以替换成继电器等大功率器件,可以运用到对人体有害,而对电磁波干扰较小的环境中去,以实现对人体的保护的目的,这也是无线通讯的优势所在。4 软件流程设计 软件是用计算机语言来描述的一种对现实的模拟算法,相当于控制系统的灵魂,在软件的设计上也是相当有难度的,其工作量对于电子信息工程专业的学生来说有点大。本设计由于采用了较为有效的资源的组织方法,因而减少了不少软件开发难度及工作量,本章将论述软件的开发过程和驱动的编写。4.1 上位机软件设计上位机采用开放源代码的串口调试助手进行编写,基本的框架已经建立,只需要在界面上添加演示控制指示的LED灯即可,然后将程序中有关控制信息的代码进行编写即可。控制信息以数组的形式进行存放,数组的第二至八位为LED的控制信息位,第一位为控制命令位,为控制提供协议,即为协议包。包长八位LED控制包如下表所示:表 4-1 控制数据包12345678命令0ALED1状态LED2状态LED2状态LED2状态LED2状态LED2状态LED2状态若传输信息框中的信息时,将不采用封装成包的形式,即命令为00,每个字符进行单独传输,直到信息框中的字符被全部发送完为止,并且在传输字符计数状态的状态栏中将进行发送字符数量的现实。若传输文本文件内容时,也将不采用封装成包的形式,其命令位AA,也是将每个字符进行传输,直到文本文件传输完成为止。一上两种方式的数据传输如表4-2所示:表4-2 其他数据传输方式命令00或AA数据1数据2数据3传输发送框中信息和文本文件是由单片机构成的无线232的功能,其实串口的使用更加的灵活,增大了串口信息的传输距离。上位机软件的流程图如图4-1所示:初始化窗体设定参数打开串口判断传输数据类型数据计数设定LED控制状态手动发送LED状态发送文本手动发送字符串开始接收并显示字符结束图4-1 控制软件流程图 上位机程序源代码详见光盘上位机程序设计。4.2 单片机软件设计 单片机的程序设计是整个设计中的关键环节,其不仅起到了将上位机数据进行中转的作用,同时也起到了控制功能部件的作用。无线模块需要单片机的控制才可以完成无线通讯的任务。因此单片机软件设计总括了三方面的内容,第一,与上位机的串口通讯;第二,与各个子模块的通讯;第三,控制模块执行机构进行命令的相应。软件流程总框图如图4-2所示。开始无线通讯接收数据是否有串口通讯中断否是否与PC通讯是数据传输给PC机无线通讯发送数据是否控制演示是是否否演示图4-2 单片机程序流程图根据流程图可以得知,设计使用了Atmega8的串口通讯中断来实现与PC机的串口通讯,需要对单片机的串口通讯寄存器进行配置,根据单片机手册设置了串口通讯的波特率为9600bps,数据位为8位,无校验位,采用异步通讯方式。通过配置UCSRA、UCSRB、UCSRC来设置这些参数,另外还需要设置UBRRL、UBRRH来设置波特率。在附件程序中将有详细的参数设置。演示程序根据接收到得命令为“00”来点亮相应编号的LED灯来实现演示效果,当然所演示的终端是不与PC机相连的单片机模块。在该模块可以通过上位机的控制终端控制相应的LED明灭。对于无线模块的控制采用Atmega8内部集成的SPI模块,读写nRF905相应的寄存器来达到对nRF905控制的目的。nRF905模块的接口如表4-3所示。表4-3 nRF905无线模块接口表14Pin No.Pin NamePin TypePin Descriptions1GNDGroundGND地2VCCPower1.9V-3.6V power 1.9-3.6v电源3TX_ENDigital Input高电平为发送模式,低电平为接收4TRX_CEDigital Input接收和发送使能5POW_UPDigital InputPower up chip 上电6UPCLKDigital Output输出时钟7CDDigital Output载波检测8AMDigital Output地址匹配9DRDigital Output接收和发送数据准备10MISOSPI InterfaceSPI输出11MOSISPI InterfaceSPI输入12SCKSPI ClockSPI时钟13CSNSPI EnableSPI使能,低电平有效14NC-悬空4.3 无线模块驱动原理nRF905有两种活动模式和两种节电模式。活动模式是Shock Burst RX和Shock Burst TX模式,节电模式是掉电与SPI编程和STANDBY和SPI编程模式。Shock Burst技术使Nrf905能够提供高速的数据传输而不需要昂贵的告诉MCU来进行数据处理/时钟覆盖,通过将与RF协议有关的告诉信号处理放到芯片内,nRF905提供给应用的微控制器一个SPI接口,速率由为控制起自己设定的接口速度决定。nRF905通过Shock Burst工作模式在RF以最大速率进行连接时降低数字应用部分的速度来降低在应用中的平均电流消耗。在Shock Burst RX模式中,地址匹配(AM)和数据准备就绪(DR)信号通知MCU一个有效的地址和数据包已经各自接收完成。在Shock Burst TX模式中,nRF905自动产生前导码和CRC校验码,数据准备就绪(DR)信号通知MCU数据传输已经完成。4.3.1 Shock Burst TX模式当应用MCU有遥控数据节点时,接收节点的地址(TX-address)和有效数据(TX-payload)通过SPI接口传送给nRF905。应用协议或MCU设置接口速度。MCU设置TRX_CE,TX_EN为高来激活nRF905 Shock Burst传输。nRF905 Shock Bu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年甘肃省庆阳市宁县三年级数学第一学期期末考试试题含解析
- 2025-2026学年福建泉州泉港区三上数学期末综合测试试题含解析
- 2024年龙岩市武平县数学三上期末模拟试题含解析
- 2024年霍尔果斯市数学三年级第一学期期末调研试题含解析
- 公共场所常见急救处理课件
- 护理教育与研究动态试题及答案
- 护士职业生涯不可或缺的试题与答案
- 卫生资格考试逐项解析与总结试题及答案
- 拔罐与护理技能试题及答案讨论
- 2025年卫生资格考试的试卷结构分析试题及答案
- 成人胃肠功能障碍患者医学营养治疗指南(2025版)解读 课件
- 东营市市属医疗卫生机构招聘考试真题2024
- 南京林业大学公开招聘专职辅导员15人(第二批)高频重点模拟试卷提升(共500题附带答案详解)
- 华为面试题及答案集
- 旅游情景英语(第二版)Unit 5-2学习资料
- 基于计算思维培养的小学人工智能启蒙教育课程设计与实施
- 2025年员工健康管理服务合同
- 赡养老人个税扣除分摊协议书
- 粮油配送项目服务承诺及售后服务
- 公司内部文件管理规定及办法
- 2024-2025中国服装行业科技创新白皮书
评论
0/150
提交评论