学位论文-—基于单片机的激光通信仪.doc
本科毕业论文(2013届)题 目基于单片机的激光通信仪学 院 专 业光信息科学与技术班 级 学 号 学生姓名 指导教师 完成日期2013年5月 摘 要无线激光通信比起传统无线电通信有许多优势,尤其是在高数据速率。随着信息时代不断发展,只靠电信号传输数据已经满足不了人类日益剧增的需求,而光通信更大程度上能实现要求,比如光纤到户等等。本论文主要对单片机激光通信系统的原理,单片机的应用等进行了分析;对AD转换,串口通信,激光收发器,LED灯送显,硬件制作和软件设计进行分析;对系统进行误差分析。经过实验的证明,本论文设计的系统软件和硬件设计的很合理、实时性很好,抗干扰的能力强。实验误差的显示表明,本设计在进行短距离的测量时误差比较小,所以可以应用在简单的数据传送等方面。关键词:PIC16F877A;激光;通信;LED显示;AD转换ABSTRACTWireless laser communication has many advantages over traditional radio communication especially in high data rate.With the faster and fater development of the information age,the electrical pulse signal transmission data can not meet the demand of the growing surge of mankind.In greater degree,optical communication can realize the requirements,such as fiber to the home,and so on.The laser transceiver,ADC,master synchronous serial port,LED data show the principle of wireless laser communication system.The hardware,software design and production were discussed.The research has led to the discovery that the software and hardware designing is justified,the anti-disturbance competence is powerful and the real-time capability is satis- factory.Experiments show that this error display design in short distance measurement error is less,so it can be used in a simple data transter.Keywords: PIC16F877A; Laser;Synchronous serial port; LED display;AD conversion231.绪 论11.1课题背景11.2 激光通信的特点优势,与应用11.3国内外激光通信的现状22.激光通信系统分析32.1 激光通信系统原理32.1.1 激光传输32.1.2 激光器42.1.3 调制与解调器42.1.4光接收系统52.1.5 大气传输技术53.激光通信系统的总体设计方案63.1激光通信系统的国内外研究现状63.2 控制方法的确定63.3 可靠性设计94. 激光通信控制电路的设计114.1 芯片的选择114.2主要控制电路设计方案124.3数据采集电路设计124.4激光接受与发射电路设计135.激光通信系统程序设计155.1编程语言的选择155.2 主程序设计165.3 数据采集和处理程序设计186.结论和展望196.1 系统运行稳定性改进196.2 结论19致 谢20参考文献21附 录221. 绪 论1.1课题背景单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O接口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机作为微型计算机的一种,它具有如下的特点:(1)具有优异的性能价格比(2)集成度高,体积小,可靠性高(3)控制功能强,开发应用方便(4)低电压,低功耗。激光通信是以激光为载体来传递信息的一种通信方式。目前,激光通信技术由于其单色性好,通信容量大,方向性好,难以窃听,成本低,安装快等特点,已成为当今世界信息技术的一大热点,因此其发展局势与潜力已引起高度重视。随着信息时代地不断发展,只靠电信号传输数据已经满足不了人类日益剧增的需求 ,而光通信更大程度上能实现要求,比如光纤到户等等。可能在将来,实现全光网络,更能将以更快的速度传输信息。因此对激光通信研究颇有意义4。1.2 激光通信的特点优势,与应用激光是一种方向性极好的单色相干光。利用激光来有效地传送信息,叫做激光通信。激光通信系统组成设备包括发送和接收两个部分。发送部分主要有激光器、光调制器和光学发射天线。接收部分主要包括光学接收天线、光学滤波器、光探测器。要传送的信息送到与激光器相连的光调制器中,光调制器将信息调制在激光上,通过光学发射天线发送出去。在接收端,光学接收天线将激光信号接收下来,送至光探测器,光探测器将激光信号变为电信号,经放大、解调后变为原来的信息。激光通信优点:1、通信容量大。在理论上,激光通信可同时传送1000万路电视节目和100亿路电话;2、保密性强。激光不仅方向性特强,而且可采用不可见光,因而不易被敌方所截获,保密性能好;3、结构轻便,设备经济。由于激光束发散角小,方向性好,激光通信所需的发射天线和接收天线都可做的很小,一般天线直径为几十厘米,重量不过几公斤,而功能类似的微波天线,重量则以几吨、十几吨计。激光通信的一些弱点是:1、大气衰减严重。激光在传播过程中,受大气和气候的影响比较严重,云雾、雨雪、尘埃等会妨碍光波传播。这就严重地影响了通信的距离;2、瞄准困难。激光束有极高的方向性,这给发射和接收点之间的瞄准带来不少困难。为保证发射和接收点之间瞄准,不仅对设备的稳定性和精度提出很高的要求,而且操作也复杂。激光通信的应用主要有以下几个方面:1、地面间短距离通信;2、短距离内传送传真和电视;3、由于激光通信容量大,可作导弹靶场的数据传输和地面间的多路通信。4、通过卫星全反射的全球通信和星际通信,以及水下潜艇间的通信5。1.3国内外激光通信的现状虽然大气的吸收、色散使得利用激光在地面上通信具有某种界限,但是目前已利用气体激光器制造出能在良好气候的晚上传输信息达几十公里的设备。美国建立了一条24 km的24路双音频激光电话线路,采用40 mW连续波HeNe器件,磷酸二氢钾晶体脉位调制,作用距离达5 km。前苏联建成的两条试验线路,一条通信距离25 km,带宽为100MHz,可同时进行4路通路;另一路通信距离为11km,224路可同时通话。 20世纪90年代后期研制的激光通信系统功能强、技术复杂、自动化程度高。如美国研制的激光通信系统,备有全球卫星定位系统(GPS)、电子指南针、倾斜校准仪,可自动高速扫描接收定位,把定位信号用光束传给通信机,很快进行通信。还可以实现激光通信与无线电通信互相转换,即在大雨、大雾的天气可用无线电通信,其它时间则用激光通信。美国研制的激光通信系统还采用铯原子线路滤波器,可将光谱带宽限制在001nm(传统滤波器35nm),视野增大到60°(传统的狭窄),功率仅为5 W,传输性能得到较大提高。美国航天局(NASA)正在研制800850 nm半导体激光器地面和空间之间的通信技术,在2002年进行容量为25 Gbits的地面到卫星的通信实验。由此可见,各国对激光大气通信的研制工作不断深入,大气激光通信技术势必将有较大的提高和发展,尤其是在电磁频谱复杂、电子干扰日益严重的环境中,光通信显得尤为重要。因此研究和发展激光通信,加大通信距离,实现全天候移动通信,是电子对抗和通信对抗的需要,也是未来发展的趋势之一。 激光大气通信要在原有技术的基础上,应重点发展以下几个方面:(1)开展大气激光通信相关技术的研究;(2)研制大功率、高灵敏度、远距离的激光通信系统;(3)研制目标成像定位跟踪的移动光通信系统;(4)建立实现多中继、多方向的面传输通信网;(5)建立大气空间一体化的远程通信网。2.激光通信系统分析激光通信系统极其复杂,加上设备等因素需要建立合理的理论模型。本课题在激光通信系统方面做了研究工作。2.1 激光通信系统原理 大气激光通信技术即无纤光通信技术是近年来出现的一种新兴技术,其原理是载波光信号通过大气作为传输信道完成点到点或点到多点的信息传输。该技术采用半导体激光器为光源,所构成的通信系统为无线数字通信系统,主要用于固定点使用,也可用作应急抢通,其潜在的应用领域是在数据网、电话网、微蜂网及微微蜂窝网的入网应急设备及不便敷设电缆及光缆的近距离场合。大气激光通信设备具有无电磁干扰、组网机动灵活、安装维护方便、通信可靠性高、保密性好、性能价格比优等优点,可传输多种速率的数据、话音、图像,具有广阔的应用前景。随着技术的不断完善和新器件的不断出现,大气激光通信技术已成为当今信息技术的一大热门技术,其作用和地位已能和光纤通信、微波通信相提并论,是构筑未来世界范围通信网必不可少的一种技术6。2.1.1 激光传输大气传输激光通信系统是由两台激光通信机构成的通信系统,它们相互向对方发射被调制的激光脉冲信号(声音或数据),接收并解调来自对方的激光脉冲信号,实现双工通信。图1所示的是一台激光通信机的原理框图。由图可见,本系统可传递语音以及进行计算机间数据通信。受调制的信号通过功率驱动电路使激光器发光,这样载有语音信号的激光通过光学天线发射出去。接收是另一端的激光通信机通过光学天线将收集到的光信号聚到光电探测器上,将这一光信号转换成电信号,再将这一光信号放大,用阈值探测方法检出有用信号,再经过解调电路滤去基频分量和高频分量,还原出语音信号,最后通过功放经耳机接收,完成语音通信。当开关K掷向下时,可传递数据,进行计算机间通信,这相当于一个数字通信系统2。它由计算机、接口电路、调制解调器、大气传输信道等几部分组成,其基本模式如图1中相关部分所示。接口电路的作用是将计算机与调制解调器连接起来,使之能同步、协调工作。调制器的作用是把二进制脉冲变换成或调制成适宜在信道上传输的波形通信使激光器发光,其目的是在不改变传输结果的条件下,尽量减少激光器发射总功率。解调是调制的逆过程,它是把接收的已调制信号进行反变换,恢复出原数字信号送到接口电路。同步系统是数字通信系统中的重要组成部分之一,其作用是使通信系统的收、发端有统一的时间标准,使收端和发端步调一致。2.1.2 激光器激光器用于产生激光信号,并形成光束射向空间。激光器的好坏直接影响通信质量及通信距离,对系统整体性能的影响很大,因而对它的选择是非常重要的。建议采用大光腔GaAsAlGaAs激光器。该激光器具有体积小、重量轻、结构简单、抗震动、易调整、寿命长等优点。2.1.3 调制与解调器调制就是把信号叠加到载波上。调制器是一种电光转换器,它是输出光束的某个参数(强度、频率、相位、偏振等)随电信号变化,完成光的调制过程。调制方式有内调制和外调制两种。把被信息信号调制了的电信号直接加到光源上(或电源)上,使光源发出随信息信号变化的光信号称为内调制。把调制元件(如光电晶体等)放到光源之外,使被信息信号调制了的电信号加到调制晶体上,当光束通过晶体后,其光束中的某个参数(强度、频率、相位、偏振等)随电信号变化而变化,从而成为载有信息的光信号称为外调制。无论是外调制还是内调制,每一种调制方法都有各种不同的调制形式,主要有脉冲调幅、脉冲调宽和脉冲调频。此外直接调制还有脉码调制,外调制中有振幅调制、频率调制、脉码调制、偏振调制等。2.1.4光接收系统光接收是把从远处传来的已被调制的光信号通过光学接收透镜汇聚、滤波器滤波、光电探测器进行光电转换的过程。接收方法有直接检测接收和外差检测接收。直接检测接收是利用光学系统和光电探测器把光学信号直接转换成电信号的过程,它是一种简单而实用的接收方式,如砷化镓激光通信就是直接检测接收,缺点是灵敏度低,信噪比小。外差检测接收的原理与无线电波的外差检测接收相似,如图2所示。光学系统接收到频率为fc的光信号,经滤波器和有选择反射镜到光混频器的光敏面上,同时本振激光器所产生的频率为f0的激光通过反射镜也反射到混频器的光敏面上。混频器就是一个光电检测器,它对两束叠加的光波起检测和混频作用,输出差频fmf0fc中频信号,经中心频率为fm的带通滤波器还原成电信号。这种接收方式灵敏度高,信噪比大,但设备复杂,技术难度大。 光电检测器(或光电探测器)也是激光通信的核心部件,用于光信号接收转换。目前常用的光电探测器有光电子发射型光电倍增管、光生伏特型PIN光电二极管和雪崩光电二极管(APD)等,它们可用于半导体激光通信、Nd:YAG激光通信和CO2激光通信等系统。2.1.5 大气传输技术 激光在大气中传输受气候条件影响很大,即光在传输时强度衰减很快,这主要是由于大气的气体分子和大气气溶胶分子的“散射”“吸收”造成的。大气中使光的性质受到影响的主要因素是CO2、氧、烟、灰尘、水滴、冰片等。在较低的大气层中大部分水份以水滴、雾和水蒸气的形式集合起来,占大气体积的4,同时光的传播也受到天气的影响,它使大气能见度变差。 大气对激光强度的衰减程度,据统计,传输损耗对雨是38 dBkm,对雾是310 dBkm,对雪是320 dBkm。不同波长的激光在大气中的吸收衰减也不同。克服大气对通信的影响是大气激光通信研究的主要内容之一11。下面列出一些减少激光在大气中传输损失、增加通信距离的办法和措施:(1)采用处于大气窗口的波长较长的激光器作为光源进行通信; (2)提高激光器的输出功率; (3)提高光电探测器的灵敏度,降低自身的噪声,以求探测更微弱的信号; (4)研制能同沿几个方向进行传输的通信装置; (5)设立多个中继站,在通信传输线路中设立一个或多个中继站,中继站可将变弱的3.激光通信系统的总体设计方案3.1激光通信系统的国内外研究现状3.1.1 调制方法研究 在国外, 美国、日本、欧洲等国家是较早进行大气激光通信研究的国家。美国宇航局(NASA)在LCoS(Laser Communieation Demonstration System)系统中,对信号光的调制方式曾经有开关键控(00K)调制与差分脉冲位置(DPPM)调制两种选择,OOK调制的优点是对激光器光源频率的稳定性要求不高, 但是缺点是接收机不可能达到量子极限,DPPM调制方式可达到量子极限, 但对激光器光源频率的稳定性要求严格,NASA最终选择了OOK调制,而信标光采用连续波(CW)调制方式。八十年代,美国海军学院(u.s Navy Academy)研制出一种用于海岛与海岸之间进行图象和数据交换的大气激光传输通信系统,利用声光调制和雪崩光电二极管接收,具有SMHz的带宽,可以传送25路数据和一路视频信号。日本从80年代中期就开始星间激光通信的研究工作,主要有邮政省的通信研究实验室(CRL)、高级长途通信研究所(ATR)的光学及无线电研究室。CRL研制的ETS一Vl/LCE系统中,信号光采用曼彻斯特码脉冲调制,信标光用SKHz的信号进行20%的幅度调制。ATR主要对光束控制、调制等关键技术进行研究和论证,并建立了一套自由空间模拟装置进行地面模拟实验。英国设菲尔德大学对光无线通信调制技术进行了深入研究, 对各种己经或可能应用于大气激光通信的包括OOK、PPM、PIM、DH一PIM等调制技术进行了全面的比较和分析,并实现了PPM调制解调的硬件电路。随着我国通信事业的迅速发展, 也对大气激光通信提出了要求,从70年代起便开始了大气激光通信的研究。国内成都光机所、上海光机所、桂林电子工业学院、成都电子科技大学、华中科技大学、北京大学等科研单位对大气激光通信的调制解调技术研究较多。桂林电子工业学院通信工程系在2000年1月份的飞机与水下潜艇的光通信系统中应用即M调制技术实现通信, 并采用单片机完成编码,其硬件实现电路简单。华中科技大学提出了一套完整的大气激光通信系统实现方案,调制技术采用的是1M/DD在光的调制之后与解调之前均增加SOA(半导体光放大器),可以把光放大至少10DB以上从国内外研究现状可以看出来,应用于深空星际间或水下激光通信中的PPM 调制技术己经有了比较深入的研究,国外已经将该技术应用到了实际系统中,并取得了性能良好的实验数据,但是应用于近地大气激光通信系统中的PPM调制的研究却较少,尤其在国内只有较少的科研单位涉及这一领域的研究。因此,应用于近地大气激光通信系统中的PPM调制及解调技术是一个较新的研究领域1。3.2 控制方法的确定3.2.1 该领域现有的控制方法 PPM调制方式具有编码简单、能量传输效率高的优点,是激光无线通信中常用的调制方式。常见的PPM调制器一般以单片机或CPLD/FPGA作为主控芯片,通过对芯片编程,加上外围辅助电路来完成PPM信号的编码解码,是对传统以模拟和数字逻辑器件组成的纯硬件电路的提高。以单片机为核心的电路,其办法是生成携带数据信息的PWM信号,然后通过触发整形电路转换为响应的PP,M信号,它需要额外的信号转换电路,且产生的PPM信号的脉冲宽度是固定的,不可由软件设定。而以CPLD/FPGA为核心的电路,在抗干扰和成本等方面比不上基于单片机的电路。另外,这些电路中常常是把调制和解调分成两个模块,各用一个主控芯片,而不是由一个芯片同时完成,这使得电路相对复杂,且成本提高,本文所述的PPM调制全双工激光无线通信收发器就克服了以上的不足。在室外无线空间环境下实现两个数据终端点对点短距离通信,两点直线距离间无障碍,且要求通信具有一定的保密性,用激光作载体是一种不错的选择。一般使用半导体激光器件产生激光,用激光收发器完成PPM信号的编码解码、发射与接收,并通过RS一232异步串行口与数据终端PC机相连。收发器完成数据传送的功能,实际上就是为两个数据终端之间提供一条物理通道,实现通信系统中的物理层,高层协议借助物理层来通信,但并不需要了解物理层的具体结构。因此收发器设计成与数据终端相对独立的模块,它为两个数据终端提供一条全双工异步串行数据传输通道,数据传输率为9600 bps(可通过修改软件改变),该通道对数据终端是“透明的”,相当于用一条串口线缆连接了两个数据终端。PPM 采用断续的周期性脉冲作为调制信号 调制信号受到信源二进制符号的控制 脉冲的时间位置,随之发生变化而传递信息G 在数字PPM 通信中信源经过编码 首先要有一个同步信号 为接收端提供同步信息 称之为同步头G 数据经调制成PPM 信号 就可以通过信道发送 但又不可能无限制连续发送 所以我们将其分组 类似于其他通信方式中的打包 送完一组数据 接着发送结束符G 这里同步头和结束符也同样打包 也要经过编码 这样接收机捕获同步信号后 开始解调随后的脉冲信号 直到收到结束标志表明一组数据接收完毕G 在每一帧周期时间段里又分为传信时段和静默时段( 保护段) 更具体的讲,我们是根据时隙脉冲在传信时段的不同位置表示不同信息的。考虑到PIC单片机有两个CCP(capturetomparePWM)模块,可以同时输出两路PWM信号。这两路PWM输出共用同一个时基timer2,它们的每个周期都是同步的,有相同的周期长度、起始点和结束点,因此可以来生成PPM信号。 PIC单片机系列产品齐全,性能优越,久经市场考验,2003年出货量冠全球之首,业界应用非常广泛,它被普遍认为是抗干扰性能最优异的单片机之一。这里的PPM收发器对选用的单片机要求片上资源有两路同步PWM以产生PPM信号,有一个USART与PC作异步串行通信,有一定的RAM资源用作发送、接收数据缓冲区,同时要求有足够快的运行速度以同时完成PPM信号的编码解码。PIC单片机是最好的选择之一,其中档系列中很多都满足要求。由于PIC单片机只有一个中断入口、没有硬件优先级;而对于到来的PPM脉冲必需作出实时响应,并且每次响应时间必需严格相同,否则可能解码出错误数据,因此让PPM脉冲事件独占单片机的中断资源,通过细致合理的程序设计很好地完成了预期的功能。PIC单片机软件部分主要有3个模块:串口通信模块、PPM编码模块和PPM解码模块。串口通信模块完成与数据终端PC机的数据交换。模块中设置了发送和接收两个环形队列缓冲区,以使模块有较好的性能。本模块将PC传来的待发送数据存入发送缓冲区,而把解码后存在接收缓冲区中的数据回传给PC。PPM信号编码关键在于找出数据与对应的PPM信号在一个PPM周期中的位置,也即在PPM周期开始后,需要在什么时刻发送出一个PPM脉冲。根据协议,这种对应关系变得很简单。系统上电初始化后,PPM编码模块被启动并一直不间断地生成PPM周期。当发送缓冲区为空时,不发送PPM脉冲(或者认为是在发送空周期),这时保持CCP模块中的CCPRIL和CCPR2L清空即可。CCP模块的时基timer2作了1:4预分频,周期寄存器PR2设置为最大值255,则PPM周期为256个时基计数单位,共有32个时隙宽度,每个时隙T=25632=8个肘基计数单位。这意味着待发送的半字节数据只需左移3位(相当于乘以8)就被转化成了对应的PWM脉冲宽度,无需作查表或者复杂的运算。当缓冲区中有待发数据时,取半字节数据,其PWM一1信号脉宽为7-,PWM一2信号脉宽为(7-+7-),把左移3位(乘以8)送入CCPR2L,CCPR2L的值加上8后送入CCPRlL。则在下一个PPM周期,生成相应的PPM脉冲并被发送出去,每一个PPM周期CCPR2L和CCPRlL被加载一次。PPM信号解码相对复杂。解码模块不光要正确地从PPM信号中恢复数据,而且要有足够的容错能力以消除误码。解码模块用16位计数器timerl对PPM信号计数,在无数据传送的空闲期间,timerl不动作并被清零; PPM周期计数器PPMPrCt也被清零。一旦检测到数据包的第一个脉冲,即启动timerl开始计数,为了保持同步信息,timerl将一直不停顿地计数直到数据包结束,然后被复位准备下一次记录。每个脉冲到来的时刻,触发一次中断并用PPM计数器PPMCt记录下该时刻timerl的值;同时PPM周期计数器PPMPrCt加上一个周期的长度(即PPMPrCt加上1024)。以同步开始处为起始位置,那么对于每个脉冲,对应的PPM计数器值PPMCt代表了该脉冲在整个数据包中的位置,对应的周期计数器值PPMPrCt代表了该脉冲所在周期的起始位置。二者相减,差值就是该脉冲在对应的PPM周期中的位置。根据就可恢复出原始的4 bit数据信息9。3.2.2 激光通信系统组成激光通信系统由:激光发射与APD激光收发系统、广角PIN激光接受系统,调制与解调,电磁兼容控制等部分组成9。激光通信的系统组成原理图如下:3.2.3 本课题设计方法的提出 以激光通信系统为理论背景,本文充分利用PIC外设资源,设计了一个比较简单的激光串行通信:通过单片机对信号进行处理,实现激光信号的发送与接收。l 单片机对按键信号的处理。l 单片机通信协议的采用及编程。l 激光收发模块与单片机的连接。l 最终实现双单片机通过激光实现通信。3.3 可靠性设计由于现场环境复杂和各种各样的电磁干扰,单片机应用系统的可靠性设计、抗干扰技术的应用变得越来越重要。本设计分别从硬件和软件两个方面来探讨一些提高单片机应用系统抗干扰能力的方法。 一、供电系统 为防止从电源系统引入干扰,采取直流稳压电源保证供电的稳定性,防止电源的过压和欠压。 二、注意印刷电路板的布线与工艺 印制电路板布置接地网,可防止产生地电位差和元件之间的耦合。 印制电路板合理分区。模拟电路区、数字电路区、功率驱动区尽量分开,地线不能相混,分别和电源端的地线相连。元件面和焊接面采用相互垂直、斜交、或者弯曲走线,避免相互平行以减少寄生耦合;避免相邻导线平行段过长,加大信号线间距。高频电路互联导线尽量短,使用45 度或者圆弧折线布线,不要使用90 度折线,以减小高频信号的发射。 印制电路板按单点接电、单点接地的原则送电。三个区域的电源线、地线分三路引出。地线、电源线要尽量粗,噪声元件与非噪声元件尽量离远一些。时钟振荡电路部分用地线圈起来,让周围电场趋近于零。 三、用满足系统要求的最低频率的时钟,时钟产生器要尽量靠近用到该时钟的器件。在石英晶体振荡器下面加大接地的面积而不走其它信号线。 四、驱动器件、功率放大器件尽量靠近印制板的边、靠近引出接插件。重要的信号线尽量短并要尽量粗,并在两侧加上保护地。 五、原则上每个IC元件要加一个去耦电容,布线时去耦电容尽量靠近电源脚和接地脚。去耦电容焊在印制电路板上时,引脚尽量短。 六、闲置不用的IC管脚不要悬空以避免干扰引入。单片机不用的I/O口定义成输出。 七、提高元器件的可靠性 选用质量好的电子元件并进行严格的测试、筛选和老化。设计时元件技术参数要有一定的余量。提高印制板和组装的质量。4. 激光通信控制电路的设计4.1 芯片的选择由于激光通信系统长时间在户外使用,要求单片机的性能不受天气的影响,对单片机的稳定性要求较高,激光对接等要求,因此采用广泛应用于工业控制的pic系列单片机。此外考虑到激光通信系统需要实时监测同步串行的时钟,因此对于AD转换速度及精度要求较为苛刻,综上所述采用PIC16F877A单片机作为控制芯片。该单片机有如下优点:1、采用高性能的RISC精简指令集,只有35条常用汇编指令;2、待机电流很小,只有50nA,当用4M晶振的时候,电流为200nA;3、带有片上振荡器的增强型低电流看门狗定时器(Watchdog Timer,WDT),可软件使能(在软件选择最大分频比时,标称周期为268秒);4、带有10位分辨率和11个通道的A/D 转换器。5、集成同步串行端口SSP的模块。考虑到实际应用的场景,已经该芯片的这些优点,因此本文采用了该芯片。PIC16F877A的最小系统电路如图3所示:图4 PIC16F877A最小系统采用4M的晶振,晶振两端分别接一22pf的电容,两电容直接接地,然后分别接到PIC的13与14引脚。在正负电源直接一106的独石电容,起到滤波,稳压的作用。采用5V直流给单片机供电,需要注意的是,要把单片机的两个电源都供电,即11和32引脚接5V正,12和31引脚接5V的地。此外复位电路中,通过一个10K的电阻把1脚的电平拉高,再连接一个按钮,按钮的另一端接地,当按下按钮,低电平持续20ms就能起到复位的作用。完成上述操作后,单片机才能正常工作4。4.2主要控制电路设计方案激光通信系统是一个典型的应用型控制系统。它的工作原理是:首先,单片机的一个引脚收到模拟电压,然后单片机开始等待指令转换成二进制的数字电压,并显示在LED灯上,接着在通过同步串行通信把二进制数值传送给另一片单片机,并显示结果。两块单片机之间数据线利用激光二极管,实现电脉冲信号转光信号,再通过大气信道,接触光电二极管,光信号转换为电脉冲信号,完成激光无线通信。激光通信系统的组成框图如图5所示。该系统包括单片机控制模块、激光发射模块、激光接收模块,数模转换和显示模块五个部分。4.3数据采集电路设计 PIC16F877A自带10位的ADC模块,ADC的任务就是将连续变化的模拟信号转换为离散的数字信号。通过ADC从外部电阻器把模拟电压转换成数字电压,形成一次数据采集。而且设置RA0为模拟入口。如图6所示:图6 采集电路4.4激光接受与发射电路设计 采用激光二极管与在由集成电路构成的收发电路中,我们在本设计中采用激光二极管,光电二极管,主要是考虑到系统的调试简单、成本低、可靠性好。如图9所示: 图9.1 光电二极管 图9.2 激光二极管4.5显示模块本设计采用LED(Light Emitting Diode,发光二极管)显示。其具有体积小、功耗低、界面美观大方,廉价等优点。如图8所示: 图8 显示电路4.6 串行通信电路 PIC芯片上集成SPI同步串行模块,SDI为数据输入,SDO为数据输出,SCK为同步时钟,SS为从机选择线。如图9所示: 图9 同步串行电路4.7 控制电路实物控制电路事物如图10所示,左下角是电位器,采集模拟电压数据;中间左右两块的是主要的控制芯片pic16f877a,所有逻辑的处理,以及AD转换,串行通信都由该芯片来完成,是该电路中最重要的部件;当AD转换完毕主机就把数据显示在红LED灯上,然后通过串行通信把数据传送给从机,显示在绿LED灯上。图10 控制电路实物图5.激光通信系统程序设计5.1编程语言的选择采用汇编语言完成程序,汇编语言特有几点优势是C语言做不到的。1、因为用汇编语言设计的程序最终被转换成机器指令,故能够保持机器语言的一致性,直接、简捷,并能象机器指令一样访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。使用汇编语言,可以访问所有能够被访问的软、硬件资源。2、目标代码简短,占用内存少,执行速度快,是高效的程序设计语言,经常与高级语言配合使用,以改善程序的执行速度和效率,弥补高级语言在硬件控制方面的不足,应用十分广泛。历史上,汇编语言曾经是非常流行的程序设计语言之一。随着软件规模的增长,以及随之而来的对软件开发进度和效率的要求,高级语言逐渐取代了汇编语言。但即便如此,高级语言也不可能完全替代汇编语言的作用。就拿Linux内核来讲,虽然绝大部分代码是用C语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码。由于这部分代码与硬件的关系非常密切,即使是C语言也会显得力不从心,而汇编语言则能够很好扬长避短,最大限度地发挥硬件的性能。首先,汇编语言的大部分语句直接对应着机器指令,执行速度快,效率高,代码体积小,在那些存储器容量有限,但需要快速和实时响应的场合比较有用,比如仪器仪表和工业控制设备中。其次,在系统程序的核心部分,以及与系统硬件频繁打交道的部分,可以使用汇编语言。比如操作系统的核心程序段、I/O接口电路的初始化程序、外部设备的低层驱动程序,以及频繁调用的子程序、动态连接库、某些高级绘图程序、视频游戏程序等等。再次,汇编语言可以用于软件的加密和解密、计算机病毒的分析和防治,以及程序的调试和错误分析等各个方面。最后,通过学习汇编语言,能够加深对计算机原理和操作系统等课程的理解。通过学习和使用汇编语言,能够感知、体会和理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。5.2 主程序设计程序的主控制流程如下图11所示:开始 设置RC,RD端口方向A/D转换设置 设置定时器TMR0 设置SSPCON寄存器 设置SKE和SMP定时器溢出?Y开始A/D转换NA/D转换结束NY写A/D结果到D口,SSPBUF开始 设置RC,RD端口方向 设置SSPCON寄存器查询接受过程完成?NY读取收到的数据,送显主机从机 图11 程序控制流程图程序的初始化主要分为三个部分:a) I/O端口初始化单片机的D口全部设置为输出态,全部输出低电。RA0为模拟通道入口,设置为输入态,输出高电平。RC3,RC5主机位输出态,输出低电。RC3,RC5从机位输入态,输出高电。程序代码如下所示:主机: bsf status,5 movlw b'11010100' movwf triscclrf trisd从机: clrf portcbsf status,5movlw b'11011100'movwf triscclrf trisdb) A/D转换器初始化A通道全部设置为输入态,寄存器ADCON1设置为b'00001110',ADCON2为b'01000001',即AD转换时采用左对齐的模式。RA0为模拟通道入口。程序代码如下所示:bsf status,5movlw b'00001110' movwf adcon1bcf status,5movlw b'01000001'movwf adcon0c) 延时函数初始化本控制电路主机采用的是8M的晶振,从机采用4M的晶振,因为AD转换需要同步时钟,SPI也需要同步时钟,两者要一致,所以成2倍关系,通信与转换同步完成。本人采用TMRO外部定时器来实现,延时函数如下所示:movlw 07h movwf option_regmain: btfss intcon,2 goto maind) 同步串行通信初始化空闲时,时钟停留在低电平,主机时钟上升沿开始传送数据,从机上升沿开始接受数据。SSPEN置1,允许串行端口工作,SS从动选择,置0。SSPM3SSPM0设置为0001,SPI主控工作方式,程序如下所示:主机:bsf status,5clrf sspstatbcf status,5movlw b'00110010'movwf sspcon从机:bsf trisa,5 clrf sspstat bcf status,5 movlw b'00110100' movwf sspcon5.3 数据采集和处理程序设计当寄存器的ADGO置为1的时候,AD转换开始。Adresh用来存放AD转换以后的数值,送PORTD显示。具体程序如下:主机:wait: btfss pir1,6 goto wait movf adresh,0 movwf portd movwf sspbuf从机:loop0: btfss pir1,3 goto loop0