(通信与信息系统专业论文)电子经纬仪水平补偿器.pdf_第1页
(通信与信息系统专业论文)电子经纬仪水平补偿器.pdf_第2页
(通信与信息系统专业论文)电子经纬仪水平补偿器.pdf_第3页
(通信与信息系统专业论文)电子经纬仪水平补偿器.pdf_第4页
(通信与信息系统专业论文)电子经纬仪水平补偿器.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(通信与信息系统专业论文)电子经纬仪水平补偿器.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 电子经纬仪是一种测量目标水平角和竖直角的仪器,在民用领域和军用领域中都 有广泛的应用。f 本课题主要在于提高电子经纬仪的测量精度,并使其能够对自身不水 平所产生的误差进行补偿。一”1 本论文阐述了课题中研制的电子经纬仪的系统组成和工作原理,重点论述了电子 经纬仪系统的设计方案,软硬件的组成和工作原理。本课题中研制的电子经纬仪通过 使用主、从两块单片机完成所要求的功能,其中从单片机主要用于实现对电子经纬仪 的水平补偿o f 本系统中通过软件模拟i2 c 总线实现主单片机对其它器件和从单片机的读 写。文中对两块单片机各自的功能和工作原理,以及两块单片机的通讯方法也进行了 详细的论述。 “v 本课题的研制经历了系统设计、硬件配置、软件开发和调试,研制的电子经纬仪 已达到设计的要求,该电子经纬仪测量精度高,具有水平误差补偿,功能多样,其软件 系统具有较高的稳定性和可维护性。 关键字:电子经纬仪水平补偿主器件从器件i 总线 。- - _ 一 “” _ 一h _ _ 一 a bs t r a c t e 1 e c t r o n i c t h e o d o l i t eisa n a p p a r a t u st h a t i su s e dt om e a s u r et h e h o r i z o n t a l a n g l e a n dv e r t i c a l a n g l e t h ee l e c t r o n i c t h e o d o l i t e h a s a p p i c a t i o ni nc i v i lf i e l da n dm i l i t a r yf i e l d t h ep u r p o s eo fh i sr e s e a r c h i st oi m p r o v et h em e a s u r e m e n tp r e c i s i o na n dt o c o m p e n s a t et h ee r r o rc a u s e d b y t h e1 e a no ft h ee l e c t r o n i ct h e o d o l i t e t h i st h e s i sd i s c u s s e st h es t r u c t u r eo ft h es y s t e ma n dt h ep r i n c i p l eo f o p e r a t i o n t h i sp a p e re m p h a s i z e st h ed e s i g np r o j e c to ft h es y s t e ma n dt h e d e s i g nm e t h o d o f o p e r a t i o no f s o f t w a r e a n dh a r d w a r e i nt h ee l e c t r o n i c t h e o d o l i t e s y s t e mp e r f o r m sa 1 1t h er e q u i r e df u n c t i o nb ym a s t e ra n ds l a v e s i n g l e c h i p s t h es l a v em i c r o c o n t r o t l e r i s d e s i g n e d t ob eah o r i z o n t a i c o m p e n s a t o r i nt h i ss y s t e mt h em a s t e rw r i t e sa n dr e a d st h eo t h e re l e c t r o n i c c o m p o n e n ta n dt h es l a v eb yt h ei2 c b u s t h em a s t e ru s e ss o f t w a r et os i m u l a t e t h ei2 c b u s i nt h et e x tt h ef u n c t i o n s a n d p r i n c i p l e s o ft h et w o m i c r o c o n t r o l l e r sa r ep r e s e n t e di nd e t a i l t h ee l e c t r o m m u n i c a t i o nb e t w e e nt h e m a s t e ra n ds l a v ei sd i s c u s s e dp a r t i c u l a r ya l s o t h ew h o l ep r o c e s si n c l u d e st h e d e s i g no fs y s t e ma n dd e v e l o p m e n to f s o f t w a r ea n dh a r d w a r e t h ee l e c t r o n i ct h e o d o l i t ei ss a t i s f i e dt h en e e do ft h e d e s i g n i t sm e a s u r e m e n tp r e c i s i o ni sg o o d i tc a nc o m p e n s a t et h eh o r i z o n t a l e r r o rc a u s e d b y t h el e a no fb a s e t h es o f t w a r eh a s s t a b i l i t y a n d m a i n t a i n a b i l i t y k e y w o r d s :e l e c t r o n i c t h e o d o l i t e s i n g l e c h i p m a s t e rs l a v e h o r iz o n t a lc o m p e n s a t o r 第一章绪论 1 1 课题研究目的 经纬仪是三大常规测量仪器之一,广泛应用于各建设行业。本课题就是在经纬仪 的基础上,使其电子化智能化,采用微机电子细分和控制处理技术,实现测角读数智 能化。电子经纬仪能够实现数据的液晶显示,误差补偿,尤其是对仪器本身不水平所 产生误差的补偿和校正,并且通过按键操作来实现多种功能。本课题通过加入了水平 补偿器来实现对仪器不水平产生误差进行补偿,水平补偿器主要采用了电子水泡来测 量倾斜角度。 电子经纬仪既可单独作为测角仪器完成导线测量等测角工作,又可与测距仪、电 子手簿等组合成全站仪,与陀螺仪、卫星定位仪、激光测距机等组成炮兵测地系统, 实现边角连测、定位、定向等各种测量。采用点阵式双面双排液晶显示和标准的r s 4 8 5 通讯接口,可直接读数,同时又可实现数据通讯。电子经纬仪是集光机电算为一体的 仪器。 1 i2 电子经纬仪结构 水平光栅固定在底座竖直套上,水平指示光栅固定身架竖轴上。垂直光栅固定在 横轴上,垂直指示光栅固定在身架上。 电子经纬仪的主要特点如下: 1 仪器横轴和竖轴采用相同的合金钢制造的密珠式轴系,轴与轴套之间是螺旋形 排列的滚珠,采用轻压过盈配合。其间隙为零,它的误差仅仅是加工形状误差,一般 在0 3 p 1 肛以内,因此这样轴系具有精度高,温度影响小,低温转动灵活,抗震性能 好,不易卡死,寿命长等特点,从而保证仪器的可靠性和稳定性。 2 光栅条数最少,水平盘的光栅条数仅6 4 8 0 条,因此降低结构的技术要求,从 而增大仪器的稳定性,提高仪器抗振能力。 3 具有自动修正功能,能修正仪器指标差、视准轴误差( c 值) 和横轴误差( i 值) ,从而提高仪器精度。 4 电路板小,采用信号自动平衡数字电路,实现电调自动化,增强仪器可靠性。 5 耗电小,工作电流低。 6 采用激光对中,对中醒目、清晰,使用方便。 生王经红士;c 出垩盐拦墨 一 一 7 有全站仪操作功能。 8 角度有三种表示形式:6 0 进制,4 0 0 制,6 0 0 0 制密位。特别是密位制可供部 队使用。 1 3 电子经纬仪的工作原理 本课题中的电子经纬仪与光学经纬仪的区别在与读数系统。采用光栅转换器技术 和微机技术,将机械变化量转为光电变化量,再转为数字量,使电子经纬仪实现智能 化的测角工作。电子经纬仪的工作原理框图如图所示: 图1 1 系统方框图 光栅转换器有半导体发光管、光栅组( 主光栅和指示光栅) 、光电接收管及其相应 的电子线路组成。发光管发出恒定亮度的光,经相互转动主光栅与指标光栅后,经光 亩京航空航丢太堂殛土坐拉论文 电管接收变换成按正弦规律变化的电信号,经前置线路放大,形成相位差9 0 。的两路 变化的电量。光栅传感器的接口如下所示: 水平盘: l234567891 0 g 2 7 0g 1 8 0g 9 0g og n d+ 5 v g o g 9 0 g 1 8 0 g 2 7 0 垂直盘: l234567 g og 1 8 0g n d+ 5 v6 2 7 0零位g 9 0 数字处理系统以微机为主体,由各种电子器件、芯片及其电路组成,实现a d 转 换,电子细分,由液晶显示器显示出转动角量值和由数据通讯口向手簿等接收器传送 转动角量值。数据通讯口还能与测距仪实现数据通讯,将斜距传送到电子手簿等接收 器中,同时在电子经纬仪显示屏上显示出测距的数据。 软件的动能主要有: 1 信号自适应软件:自动整定各路放大量; 2 初始设置软件:可由用户选择习惯的显示方式,各种不同的测距机和工作参数; 3 机械误差校正软件;用于修正经纬仪的几何关系误差( i 、2 c 、i ) ; 4 用户使用软件:实现水平角、垂直角的测量显示,完成所要求的数据变换和自 动记录功能; 1 4 课题研究内容与创新 本课题中,通过加入水平补偿器,实现了对电子经纬仪不水平产生误差的补偿, 并且提高了经纬仪的测量精度。 另外在本课题中由于使用了主从两块单片机,并且采用了i 2 c 总线,这样从单片机 的对总线读写的处理就尤为重要。从多方检索情况来看,以往的文章对i 总线中 m a s t e r 器件的软件模拟介绍比较多,由于s l a v e 器件的1 2 c 总线接口时序要求高,多 由硬件实现,所以对s l a v e 器件的软件模拟未见介绍。在本课题中采用的从单片机由 于硬件上没有i2 c 总线接口,所以只有采用软件模拟的方法来实现。文中对从单片机软 件模拟i2 c 总线的原理,软硬件的实现,以及在调试中出现的问题和解决方法进行了详 细的论述。解决了iz c 总线中s l a v e 器件的c p u 软件模拟。 直王经红j 2 出垩赴篷墨 一 一 一 第二章电子经纬仪电路部分的硬件设计 2 11 2c 总线简介 在本课题中由于主c p u 上所挂硬件太多,为了节省引脚资源,故采用了1 2c 总线。 1 2 c 总线是一种简单、双向二线制同步串行总线,它只需要两根线( 串行时钟线和串行 数据线) 即可在连接于总线上的器件之间传送信息。这种总线的主要特性如下: 1 总线只有两根线:串行时钟线$ c l 和串行数据线s d f i ; 2 每个连到总线上的器件都可由软件以唯一的地址寻址,荠建立简单的主从关 系,主器件既可以作为发送器,也可以作为接收器; 3 它是一个真正的多主总线,带有竞争检测和仲裁电路,可使多个主机任意同时 发送数据而不破坏总线上的数据信息; 4 同步时钟允许器件通过总线以不同的波特率进行通信; 5 同步时钟可以作为停止和重新启动串行口发送的握手方式; 6 连接到同一总线上的集成电路器件数只受4 0 0 p f 的最大总线电容的限制。 i :c 总线极大地方便了系统设计者,无须设计总线接口,因为总线接口已经集成在 片内了,从而使设计时间大为缩短,并且从系统中移去或增加集成电路芯片对总线上 的其它集成电路芯片没有影响。1 2 c 总线的简单结构便于产品改型或升级。 1 2 c 总线接口的电气结构如图2 1 所示,组成1 2 c 总线的串行数据线s d a 和串行 时钟线s c l 必须经过上拉电阻接到正电源上,连接到总线上的器件的输出级必须为“开 漏”或“开集”的形式,以便完成“线与”的功能。 s d a s c l 一:申串, f 输入输入 图2 11 2 c 总线接口的电气结构 i :c 总线上可以实现多主双向同步数据传送,所有主器件都可以发出同步时钟,但 出于s c l 接口的“线与”结构,一旦一个主器件时钟跳变为低电平,将使s c l 线保持 为低电平直至时钟达到高电平,因此s c l 线上时钟低电平时间由各器件中时钟最长的 低电平时间决定,而时钟高电平时间则由高电平时间最短的器件决定。为了使多主数 据传送能够正确实现,1 2c 总线中带有竞争检测和仲裁电路。总线竞争的仲裁及处理由 内部硬件电路来完成。当两个主器件发送数据相同时不会出现总线竞争;当两个主器 件发送数据不同时才出现总线竞争。 1 2c 总线可以构成多主数据传送系统,但只有带c p u 的器件可以成为主器件。主 器件发送时钟、启动位、数据工作方式,从器件则接收时钟及数据工作方式。接收或 发送则根据数据的传送方向决定。1 2 c 总线上数据传送时的启动、结束和有效状态都由 s d a 、s c l 的电平状态决定,在1 2 c 总线规约中启动和停止条件规定如下: 启动条件:在s c l 为高电平时,s d a 出现一个下降沿则启动1 2 c 总线。 停止条件:在s c l 为高电平时,s d a 出现一个上升沿则停止1 2 c 总线。 除了启动和停止状态,在其余状态下,s c l 的高电平都对应于s d a 的稳定数据状 态。每一个被传送的数据位由s d a 线上的高、低电平表示,对于每一个被传送的数据 位都在s c l 线上产生一个时钟脉冲。在时钟脉冲为高电平期间,s d a 线上的数据必须稳 定,否则被认为是控制信号。s d a 只能在时钟脉冲s c l 为低电平期间改变。启动条件 后总线为“忙”,在结束信号过后的一定时间总线被认为是“空闲”的。在启动和终止 条件之间可传送的数据不受限制,但每个字节必须为8 位。首先传送最高位,采用串 行传送方式,但在每个字节之后必须跟一个响应位。主器件收发每个字节后产生一个 时钟应答脉冲,在这期间,发送器必须保证s d a 为高,由接收器将s d a 拉低,称为应 答信号( a c k ) 。主器件为接收器时,在接收了最后的一个字节之后不发应答信号,也称 为非应答信号( n o ta c k ) 。当从器件不能再接收另外的字节时也会出现这种情况。 i :c 总线中每个器件都有自己唯一的地址,启动条件后主机发送的第一个字节就是 被读写的从器件的地址,其中第八位为方向位,“0 ”( w ) 表示主器件发送,“1 ”( r ) 表示主器件接收。总线上每个器件在启动条件后都把自己的地址与前7 位相比较,如 相同则器件被选中,产生应答,并根据读写位决定在数据传送中是接收还是发送。无 论是主发、主收还是从发、从收都是由主器件控制。 2 2 测角数据采集原理 电子经纬仪镜筒的转动,带动垂直光栅盘转动,因此光栅盘产生信号输出。电子 经纬仪底座的转动,带动水平光栅盘转动,光栅盘同样产生信号输出。水平光栅盘和 垂直光栅盘的输出信号,经过数字电位器、放大、比较电路,形成一系列脉冲,主c p u 通过采集这些脉冲,得到粗码。同样光栅盘的信号还通过a d 转换,主c p u 通过读取 a d 得到细分。主c p u 由粗码和细分即可得到转过得水平角和垂直角。其框图如下图 所示: 电子经纬仪水平补偿器 i 光栅盘卜- 叫数字电位器卜矩困咂卜 一厂了i 。 主c p u = l 7 图2 2 测角数据采集方框图 本课题中,水平光栅盘有6 4 8 0 条刻线,垂直光栅盘有3 2 4 0 条刻线。以水平光栅 盘为例说明工作原理,由光栅盘的接口可知,水平光栅盘上有两组各相位差9 0 。的四 路光电转换信号,g o 和g 0 为按正弦规律变化的电信号,将该两路信号合并为“h o + ”, g 1 8 0 和g 1 8 0 两路合并为“h o - ”,因此“h o + ”和“h o - ”相位相差1 8 0 。,将g 9 0 和g 9 0 ,g 2 7 0 和g 2 7 0 这4 路信号做同样处理得到相位差为9 0 。的“h 9 0 + ”、“h 9 0 一。 这样由水平光栅盘一共得到4 路信号“h o + ”、“h o 一”和“h 9 0 + ”、“h 9 0 一”。如图2 3 所示: 图2 3 水平光栅盘输出信号处理原理图 “h o 一”与“i i o + ”有如下关系,“h o - ”= 一胖“h o + ”+ c ,其中k 为比例系数,c 为常 数,通过l 1 4 3 2 4 后,“h o ”= k l 十“h o + ”一k 2 * “h o 一”+ c l ,其中k l 、i 【2 为比例系数, c l 为常数,通过调节数字电位器,可以改变系数k 1 、k 2 和常数c 1 ,使“h 0 ”为一个 基准电压为v r e f 的正弦信号,再通过l 1 3 3 9 鉴幅,输出周期与“h o ”相同的脉冲信 号。将“h 9 0 + ”和“h 9 0 - ”经过同样的处理,也得到同样得脉冲信号,只是该输出脉 冲f l o u t 9 0 与h o u t o 相差i 4 个脉冲周期。其波形如下图所示: 仳o 厂 厂 厂 仉9 0 厂 厂 厂 厂 图2 4 鉴幅后的水平和垂直信号波形 这两路脉冲信号通过相应的异或门电路接到主c p u 的外部中断1 ( i n t l ) 引脚。通过主 c p u 的控制和选择,使两路脉冲信号的每个脉冲的上升沿和下降沿都产生中断,这样 在一个脉冲周期内产生4 次中断。通过计算中断次数来确定所转角度的粗码。电子经 6 南京航空航天大学硕士学位论文 纬仪水平角有正转反转,主c p u 通过判断引起中断的脉冲上升沿或是下降沿触发,并 判断另一路脉冲信号的电平来区别正转反转。具体方法如下: 正转转动:当h o u t o 产生中断时,如果为脉冲的上升沿触发,读取到的h o u r 9 0 脉冲 的电平为低电平;如果产生的中断为脉冲的下降沿,读取到的h o u t 9 0 脉冲的电平为 高电平:当h o u r 9 0 产生中断时,如果为脉冲的上升沿触发,读取到的i i o u t o 脉冲的 电平为高电平;如果为脉冲的下降沿触发,读取到的h o u t o 脉冲电平为低电平,主 c p u 判为正转,每产生一次中断计数加1 。 反向转动:当h o u t o 产生中断时,如果为脉冲的上升沿触发,读取到的h o u r 9 0 脉冲 的电乎为高电平;如果产生的中断为脉冲的下降沿,读取到的h o u t 9 0 脉冲的电平为 低电平:当h o u t 9 0 产生中断时,如果为脉冲的上升沿触发,读取到的h o u t o 脉冲的 电平为低电平;如果为脉冲的下降沿触发,读取到的h o u t o 脉冲电平为高电平,主 c p u 判为反转,每产生一次中断计数减1 。 主c p u 通过计中断次数得到的数值即为粗码。主c p u 得到所测角的粗码后,再读 取a d ,读取“h o ”和“h 9 0 ”的电压值x 、y ,将x 、y 带入函数1 l r = a t a n 2 ( x ,y ) ,计算 出细分。再根据所得到的粗码n 和细分1 i r ,根据下面的公式得到转过的角度。 o :n x 2 t r + v 3 6 0 2 3 按键功能要求 模式左右锁定置零斜率照明 设置悬高放样边角对边通讯 r 习 r i _ j 在本课题中,为了实现所要求的操作功能,采用了7 个按键,通过软件相配合来 实现各项操作,7 个按键分别为开关、照明、模式、左右、锁定、置零、斜率,除 开关键以外,另外6 个按键各有多种操作。开关键:实现开机关机。 测角模式下,左右键:确定水平角右旋增量或是左旋增量;锁定键:任意设置 水平角;置零键:实现水平角任意置零或恢复置零前的角值;斜率键;确定垂直角用 角度表示或用百分比进行坡度测量,斜率百分比以水平为零,转向天顶为正,转向天 底为负。 在测距模式下,左右键:进入悬商测量,对一些不能直接放置反射棱镜的目标 进行商程测量;锁定键:进入放样测量,对已知参数目标点进行对比测量:置零键: 电子经纬仪水平补偿器 进入边角测量,在这种工作方式下,电子经纬仪测得垂直角、水平角,测距仪测得斜 距,电子经纬仪与测距仪双向通讯,并寄存数据,按键显示垂直角、水平角、斜距、 平距和高差:开机的同时按下斜率键,进入对边测量。测量两目标点的斜距、平距和 高差;照明键:电子经纬仪与电子手簿、记录器、计算机进行双向通讯。 其他功能: 1 自检功能:信息自检( 自适应调制) ,能自动修正输出的正弦信号和相位差, 对不能修正的错误或误差用错误代码表示出来;机内自检,按模式键进入测角模式前 全屏显示“自检一正常”,进入测角模式显示角值( 水平角) ;按键校对输出信息和各 种改正数值。 2 垂直指标差( i ) 、倾斜补偿器零位自动改正。 3 望远镜视准轴误差( c ) 和横轴高低差( i ) 对测角的影响得以自动修正( 补 偿) 。 4 按键输入测量参数:点号( 仪器、目标) 、高度( 仪器、目标) 、垂直角、水 平角、斜距、h i 值( 测距仪激光轴与电子经纬仪视轴的距离) 。 5 l c d 电压调制和激光强度的调制。 6 仪器系统设置:要求对通讯格式、角度单位、垂直角零位置、自动关机、最 小显示单位、照明关断、h i 值校正、测距仪型号、波特率、c 值和i 角影响的补偿 进行设置。 7 按键操作改正电子补偿器零位。 8 按键操作打开或关闭电子补偿器。 2 4 电源部分 本电子经纬仪中,采用5 节5 号电池供电,两块电路扳共用电源。当外接供电电 源时,内接电源自动切断。在电子经纬仪的显示屏上有电源用量显示和蜂鸣报警。 图2 5主电路板电源模块电路图 l 嘲 南京航空航天大学硕士学位论文 如图2 2 所示,当开关按下时,给一个低电平,三极管a 导通,将使能端电平拉低, t p s 7 3 5 0 开始工作,为电路提供电源v c c 和主c p u 的r e s e t 信号。使主c p u 开始工作, 当主c p u 开始工作后将pt i f f 电平拉低,使三极管b 导通,这样在松开开关后,三极 管a 截止,但由于三极管b 导通,所以使能端继续保持低电平,使t p s 7 3 5 0 保持工作 状态。当再次按下开关按键时,主c p u 将po f f 置位高电平,三极管b 截止,当松开 开关按键后,三极管a 也截止,使能端电平变为高电平,t p s 7 3 5 0 停止工作,整个电 路也就停止工作,即关机。为了能够检测电源用量显示,主c p u 通过采集a d 的输出 端v b a t ,并通过软件进行判断,检测并显示电源电量。 2 5 从电路板的设计 在本课题中,采用一片a t 8 9 c 2 0 5 1 单片机作为从c p u 实现对电子水泡数据的采集, 并与主c p u 通过1 2c 总线进行通信。a t 8 9 c 2 0 5 1 是一种带2 k 可编程可擦除只读存储 器( p e r o m ) 的低电压、高性能的c m o s8 位微控制器,具有以下一些标准特性:2 k 字节的闪速存储器,1 2 8 字节r a i ,1 5 条可编程i o 线,2 个1 6 位定时器计数器,5 个两级中断源结构,一个全双工串行口,一个精确的模拟比较器,片内振荡器和时钟 电路。此外,a t 8 9 c 2 0 5 1 设计稳态逻辑,可以在低到零频率的条件下静态逻辑,支持 两种软件可选的省电模式,在闲置模式下,c p u 停止工作,但r a m ,定时器计数器, 串口和中断系统仍在工作,在掉电模式下,保存r a m 中的内容并且冻结振荡器,禁止 所有其他芯片功能,直到下一个硬件复位为止。从c p u 的电路方框图如下图所示: 图2 6 从电路扳电路方框图 2 5 1 电子水泡工作原理 电子水泡输出两个频率,当电子水泡处于水平时,输出的两个频率相同,当倾斜 时,一个频率增大,一个频率减小,频率差增大。从c p u 就是通过采集电子水泡输出 得两个频率,从而计算出两个频率的差值,并由频率差与倾斜角度的线性关系计算出 9 电子经纬仪水平补偿器 倾斜角度。电子水泡有6 个引线,各引线功能如下: 序号 1 2 3 4 线色 红 黑 棕 灰 功能 + 5 v 电源线 地线 频率输出控制线( 2 5 m s ) 频率输出线 5兰 。 - 6粉 l温度补偿传感器 在本课题中,只用到电子水泡的水平补偿,故5 、6 两根线没有用到。线3 为频 率输出控制线,当引线3 上为高电平时,电子水泡通过引线4 ( 频率输出线) 输出一 个频率,当引线3 上为低电平时,电子水泡输出另一个频率。根据电子水泡的工作原 理,从c p u 通过一个引脚输出高低电平来控制电子水泡的频率输出,将电子水泡的 引线4 接从c p u 的t 1 脚,从c p u 将定时计数器0 设置为定时器,将定时计数器1 设置为计数器,通过在设定时间内,采集t 1 引脚上的脉冲个数来获得电子水泡输出 的频率。 2 5 2 从c p u 通过1 2 c 总线与主c p u 通讯工作原理 从c p u 通过1 2c 总线与主c p u 进行通讯,由于a t 8 9 c 2 0 5 1 硬件本身没有1 2c 总线 功能,只有通过软件模拟来实现。a t 8 9 c 2 0 5 1 在1 2 c 总线系统中,作为从c p u 必须使 用主c p u 所发出的时钟来接收和发送数据,自己不能产生时钟信号,因此从c p u 利用 1 2c 总线进行通讯的关键就是从c p u 必须时刻检测总线上的启动条件、结束条件和数 据。因为主c p u 在发出启动条件后发送的第一个字节就是被读写的器件的地址, a t 8 9 c 2 0 5 1 作为个从器件,也有自己在本系统中唯一的地址,因此当从c p u 检测到 总线上有启动条件时,就接收总线上第一字节的数据( 即日标器件的地址) ,并与自 己的地址相比较,当与自己地址不相同时,停止接收数据,继续检测启动条件,直到 再次出现启动条件;当与自己的地址相同时,即得知主c p u 要与自己进行通讯,再根 据接收的第一个字节的第八位( 方向位) 决定是继续接收数据还是向总线上发送数据。 在本电路中,如图2 3 所示,s c l 、s d 分别与s c l s 、s d a s 通过异或门后接从c p u 的i n t i 、i n t o 引脚。通过s c l 、s d a 线上的电平跳变来触发从c p u 的外部中断,从c p u 通过中断方式来得到启动条件、结束条件和数据。 启动条件的判断:从c p u 首先检测总线上的启动条件,首先将s d a s 置为0 ,由i :c 总 线的启动条件可知,当数据线s d a 的下降沿触发从c p u 中断后,从c p u 立刻读取时钟 线s c l 的状态,如为高电平,即为启动条件:如为低电平,则不做处理,并且对时钟 l o 南京航空航天大学硕士学位论文 线s c l 电平跳变引起的中断也不做处理。 结束条件的判断:当检测到启动条件后,将s d a s 置1 使s d a 的上升沿触发中断,并 在中断后立刻读取s c l 引脚的状态,如为高电平,即为结束条件,则停止发送或读取 数据:如为低电平,则为数据读取或发送,不进行处理。 数据的读取:当从c p u 检测到启动条件后,即开始进行读取s d a 上的数据。读取数据 时,先将s c l s 置0 ,使s c l 的下降沿触发中断,在每个时钟的下降沿读取s d a 线的 状态,所读取的既是主c p u 在该时钟下的数据的一位。 数据的发送:当从c p u 发送时,在每个时钟的下降沿发送一位数据,该位数据是下一 个时钟下的数据位,即在下一个时钟被主c p u 读取。 第三章软件的设计 3 1 软件设计概述 本课题中软件主要包括两部分,一是主c p u 的软件部分,一是从c p u 的软件部分。 在本课题中编制单片机软件使用的是高级c 语言。c 语言是一种通用的计算机程序设 计语言,它既有高级语言的各种特性,又能直接操作系统硬件,而且可以进行结构化 程序设计,有功能丰富的库函数,用c 语言编写的程序运行速度快、编译效率高、有 良好的可移植性。 本课题中,单片机软件程序的编译器采用的是k e i lc 5 1 编译器,该编译器以软 件包的形式提供,通过选择相应的单片机进行开发,完全支持单片机的硬件结构,也 可以通过p c 机进行程序的仿真调试工作。 图3 i 程序开发流程 1 2 堕塞堕至堕丞奎堂堕主堂堡塑一 本课题中单片机软件的开发流程图如图3 1 所示。在课题中,通过系统软件编程, 实现按键的操作,液晶显示,对电源的管理,数据的采集处理,误差补偿、矫正,及 系统设置等功能。 3 2 主c p u 软件 3 2 1 主c p u 程序流程图 主程序流程图: 图3 2 主g p u 程序流裎图 3 2 2 主c p u 程序流程图说明 主c p u 的初始化编程包括:1 2 c 总线初始化,液晶显示初始化,中断初始化,定 1 3 电子经纬仪水平补偿器 时器计数器工作方式的定义,串行口波特率的设置。在程序中定时器计数器1 工作 在定时方式2 ,为单片机的串行通讯提供时钟,这种方式能够自动加载计数初值,因 此定时器能够提供精确的定时。定时器计数器0 工作于定时方式1 ,为单片机计时 提供时钟,使电子经纬仪在空闲状态下能够完成定时自动关机,方式1 是1 6 位计数 结构的工作方式,使工作频率为2 7 m h z 的主c p u 能够完成l o r e s 的计时。串行口工作 在串行工作方式1 ,其波特率时可变的,由定时器1 的计数溢出率决定。 在读取e e r 涮模块中,主c p u 读取上次设置及关机前保存的各项设置参数、垂 直盘电气特性、水平盘电气特性、垂直清零信号电气特性、几何误差等。本课题中采 用了2 4 c 0 2 作为存储器件,2 4 c 0 2 是一种具有1 2c 总线接口的e 2 p r o m 器件,它具有 2 5 6 * 8 位的存储容量,工作于从器件方式。2 4 c 0 2 芯片具有v c c 、v s s 电源引脚,s c l 、 s d a 通讯引脚,a o 、a 1 、a 2 地址引脚和w p 保护引脚。a 0 、a 1 和a 2 决定芯片的从机 地址。主c p u 读取各项参数之后对相应器件进行设置。2 4 c 0 2 与主c p u 的接口如图3 2 所示。 + s y 图3 32 4 c 0 2 与主c p u 的接口 3 2 3 开关键按下时的按键处理模块 本课题中,由于按键只有7 个,而要实现的功能很多,只有通过按键组合使用及 通过软件来满足其按键操作的要求。 在按下开关键的同时按下,按下其他按键主要实现以下功能:显示数字电位器设 置的状态,i 角补偿,垂直盘0 校正,2 c 角补偿,自检、确定电位嚣参数,系统参数 设置。流程图如图3 4 所示。 n 南京航空航天大学硕士学位论文 电子经纬仪水平补偿器 3 2 4 操作处理 如果在开机按键按下的同时没有按下其他按键,则在松开开机按键之后,系统进 入操作处理,进行正常的测量操作。对目标进行角度测量,与测距仪进行通信,实现 斜距的测量。在操作处理中,通过按键来实现对测角、测距、角度单位选择、锁定等 操作。程序流程如图3 5 所示。 图3 5 操作处理流程图 在开机按键松开以后,电子经纬仪进入操作状态,如果电子经纬仪空闲时间到达 设定的关机时间,电子经纬仪将自动关机。如果一有操作,电子经纬仪即开始重新计 时。按键操作模块的流程图如图3 6 所示。 南京航空航天大学硕士学位论文 图3 6 无开关键按下时的按键处理流程图 图3 7 测距模块流程图 电子经纬仪水平补偿器 3 3 液晶显示模块 本课题中采用m d s l 系列字符液晶显示模块。双面双排,带背光照明。液晶显示 屏是以若干个5 * 8 或5 i l 点阵块组成的显示字符群。每个点阵块为一个字符位,字 符间距和行距都为一个点的宽度:具有字符发生器r o m ;具有6 4 个字节的自定义字 符r a m ,可自定义8 个5 * 8 点阵字符或4 个5 i 1 点阵字符;有标准的接口特性,单 + 5 v 电源供电,功耗低,可靠性高。液晶接口引脚功能及信号真值表如下表所示 表3 1 接口功能引脚 引脚号符号状态功能 1 v s s 电源地 2v d d+ 5 v 逻辑电源 3v o 稂晶驱动电源 4r s 输入寄存器选择1 。数据,0 t 指令 5刚i 输入诶、写操作选择1 。诶- o 。写 6e 输入使能信号 t d b 0 三态数据总线( l s b ) 8 d l l l 三态数据总线 9d b 2 三态数据总线 1 0d b 3三态数据总线 1 1d b 4 三态数据总线 1 2d b 5 三态数据总线 1 3d i 6 三态数据总线 1 4 d b 7 三态数据总线( i 髓) 表3 2 信号真值表 r sm qe 动能 00 下降描写指令代码 01 高龟平浃忙标志和肛值 10 下降播写数据 l1高电平 读数据 妻塞堕窒塾委奎堂堕主兰垡堡苎 主程序中所用到的液晶显示模块指令集如下所示: 1 清屏 i r s r w d b 7 d b 6 d b 5 d b 4d b 3d b 2d b ld b o l 000o00ooo1 功能:清d d r a m 和a c 值。 2 输入方式设置 l r s r wd b 7 d b 6 d b 5 d b 4 d b 3d b 2d b ld b o 1 0000000li os 功能:设置光标、画面移动方式。 其中:i d :1 :数据读、写操作后,a c 自动增一; i d = 0 :数据读、写操作后,a c 自动减一; s = 1 :数据读、写操作,画面移动; s = 0 :数据读、写操作,画面不动。 3 显示开关控制 l r sr wd b 7 d b 6 d b 5 d b 4d b 3d b 2d b ld b o l 00oo001bcd 功能:设置显示、光标及闪烁开、关。 其中:d 表示显示开关:d = 1 为开,d = 0 为关: c 表示光标开关:c = l 为开,c = 0 为关: b 表示闪烁开关:b :1 为开,b = 0 为关。 4 功能设置 i r s r wd b 7d b 6d b 5d b 4d b 3d b 2d b ld b o 1 000o1d lnf | c+ 功能:工作方式设置( 初始化指令) 。 其中:d l = l :8 位数据接口;d l = o :4 位数据接口: n = 1 :两行显示;n = o :一行显示: f = 1 :5 1 0 点阵字符:f = o :5 * 7 点阵字符。 5 c g r a m 地址设置 1 9 皇王丝竺堡查! ! ! 堡堡一一 i r sr w d b 7d b 6d b 5d b 4d b 3 d b 2 d b ld b o 1 0001 a 5a 4a 3a 2a 1 a o 功能:设置c g r a m 地址。a 5 a o = o 3 f h 。 6 d d r a m 地址设置 l r sr w d b 7 d b 6d b 5d b 4 d b 3d b 2d b ld b o 【0 01a 6a 5a 4a 3a 2a 1a o 功能:设置d d r a m 地址。 n = 0 ,一行显示a 6 a o = 0 4 f h ; n :1 ,两行显示,首行a 6 a o = o 2 f i t ,次行a 6 a o = 4 0 b 6 7 b 。 7 读b f 及a c 值 lr sr wd b 7 d b 6 d b 5d b 4d b 3d b 2 d b ld b o 1 01b fa c 6 a c 5 a c 4a c 3 a c 2a c la c o 功能:读忙b f 值和地址计数器a c 值。 其中:b f = l :忙,b f = 0 :准备好。 此时a c 值为最近一次地址设置( c g r a m 或d d r a m ) 定义。 8 写数据 i r sr wd b 7d b 6d b 5 d b 4d b 3d b 2d b ld b o i 10数据 功能:根据最近设置的地址性质,数据写入d d r a m 或c g r a m 内。 在本课题中,采用了4 位数据总线,两行显示,5 7 点阵字符。接口电路与主c p u 的接口电路如图3 8 所示。 主c p d j 蠢曩块 p 2 c6 p 2 5沩5 p 2 44 t 0e 丽 r s 弧 l v t 南京航空航天大学硕士学位论文 图3 8 液晶与主c p u 接口图 由于在电路中为了节省c p u 的引脚资源,使用4 位数据总线,每次传送指令和数 据,先传字节的高4 位,再传字节的低4 位。液晶模块初始化时,要先写入命令字 3 0 h 三次,在写入命令字或数据之前,要先读入忙标志b f 值,只有在不忙即b f = o 时, 才可以写入。根据表3 2 的信号真值表和液晶的接口电路,写入指令代码和写入数据 部分的程序如下所示: # d e f i n er sr d # d e f i n er ww r # d e f i n eet o # d e f i n e1 0p 2 v o i dl c d c t r l ( u n s i g n e dc h a rc o m m a n d ) f u n s i g n e dc h a ri ,s t a t u s : r s = o : r w = 1 : 、 f o r ( i = o :i 2 3 3 :i + + ) ( i o = o x f f : e = i : s t a t u s = i o : e = o : e = i ; e = o : i f ( ! ( s t a t u s & o x 8 0 ) ) b r e a k i f ( ! ( s t a t u s & o x 8 0 ) ) r w = o : l o = c 0 m l a n d : e = i : e = o : l o = c o 删a n d 4 e = l : 写指令代码 读忙标志 高电平读b f ,读字节的高4 位 读低4 位 b f = o 时,退出此循环, 写指令代码 下降沿写入,写指令代码高4 位 写低4 位 e = o : ) v o i dl c d _ d a t a ( u n s i g n e dc h a rd d a t a ) u n s i g n e dc h a ri ,s t a t u s : r s = o :, r w = i : f o r ( i = o :i 2 3 3 :i + + ) i o = o x f f : e = l : s t a t u s = i o : e = o : e = i : e = o : i f ( ! ( s t a t u s & o x 8 0 ) ) b r e a k ( s t a t u s & o x 8 0 ) ) r s = 1 : r w = o : i o = d d a t a e = i : e = o : 1 0 = d d a t a 4 e = 1 : e = o : 写显示数据 读忙标志 写数据 写数据高4 位 高电平写入 写数据低4 位 以上为写入指令代码和数据部分的程序,在程序中,写入数据和指令代码时要注 意地址和数据的建立时间、保持时间。以免时间过短,数据未写入。每次写入一个字 节的数据或指令代码后要等待5 毫秒。液晶初始化的程序流程图如图3 9 所示: 2 2 南京航空航天大学硕士学位论文 l 写3 次3 0 h 1 l l 写指令代码2 8 h 上 l 写指令代码0 1 h 上 写指令代码0 6 h 1 l i 写指令代码o c h 图3 9 液晶模块初始化程序流程图 3 4a d 模块 本课题中,要对多路模拟信号进行采集,如对水平盘输出的相位相差9 0 0 的两路 信号h o u t o 、h o u t 9 0 和垂直盘输出的相位相差9 0 。的两路信号v o u t o 、v o u t 9 0 的采集, 对垂直盘过零信号的采集,对参考电压和电源电量的采集,因此在电路中a d 部分采 用了m a x l 2 7 ,m a x l 2 7 是一1 2 位,8 通道输入,具有i :c 总线接口的模数转换芯片。 在本电路中m a x l 2 7 同主c p u 的接口如图3 1 0 所示。 m a x l 2 7 是一个1 2 位的a d ,当收到主c p u 的读命令时,将1 2 位的数据分两个字 节,第一个字节发送1 2 位数据的高8 位,第二个字节的高4 位为数据的低4 位,而 该字节的低4 位补零。m a x l 2 7 发送数据的时序图如图3 1 1 所示。 雌x 1 2 7 的7 位从机 地址为01 01a 2a 1a 0 ,在本电路中,a 2 、a l 、a 0 被设定为0 、1 、o ,所以在本系 统中,m a x l 2 7 的地址为0101ol o ,当主c p u 要对m a x l 2 7 进行写操作时,首先 应发送命令字5 4 h ,对m a x l 2 7 进行读操作时,首先应发送命令字5 5 h 。m a x l 2 7 的控 电子经纬仪水平补偿器 制字格式为: d b 7d b 6d b 5d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论