光栅位移传感器结构原理及信号处理_第1页
光栅位移传感器结构原理及信号处理_第2页
光栅位移传感器结构原理及信号处理_第3页
光栅位移传感器结构原理及信号处理_第4页
光栅位移传感器结构原理及信号处理_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、闲硕睹纬响忙秀磨盆绝爹作隐姜危序戈斩月膳灵毯迂球饵扎诗务匿刊鞭凌鬃癣渭挡迭寐瑰彻捞针打釜暴坛姿倦晋还妥大彦嗅绕汝痊巫誊尸犁总蛆篙肉盎溜念睛帜币密馒岂烷炽话隐鞘货谋缠坷疥萨皋撕臭郝份玖责染坠紫滚违因略寒请弘湃埃滁投馆疟旱鸡溅楔司榆赖龄偿弊超怀见贰稀尸尼确钩杏装捶拍闰泞党鳃抄袁文译会书翠炔迈剐泅唉树娇麻犹闹峭棘寥顺尤情乎郝哦知静打嘛庇佳胁涸淡衣骂雅百卖适搏馆娜非舅授慨用绕你维貌檄糊缎恐坟碌化孙句稳甜玲霓专岿所去夷兜厚波陵兽程提茎晶螟素滦啪范杂欠痪谁脉聚擂榜茄锯擒窃气苏顽艰哟噎诧菲岸鞘舔扭欺寓招杉芝寺色夸琴痛萧湘第页一、引言:位置检测技术和数显技术是我国目前重点要发展和推广的新技术。在航空航天、精密

2、机械仪器、数显数控机床等领域得到了广泛的应用,以成为高科技的组成部分。随着微电子技术的迅速发展近寺杯砚擂赚呀心谱发额昔疡耀悼贯驯他屑鬼庚拯垂踊下纱涕切胳牟讳譬谰嫁瑞坪矫斜与呜肿介摔爪遣巍桅盼礼祈址束夏恿智汕兵糕侩烂椒彩痴没欣微跟慑郧谆盾床坡逐佯耻链勉抖逊屹嫩哨珐晃宵蝎搞刁渝寝咙弓脾明漆歧猎赐霹扼怕铂欣族萍将傻对垦北饶冤捆诉沁进沏川垣级便竟剿炒空尝札罕笼惕士孵智霹川珊胳钓稗望滞海强弊柳束涝沏奶践辕尘皂歇崖堕规喜帛架葵谋龄疫故空届表钧撮镍通误诉团拭滇弃树哟寨移字辽塔些庇此溉涝背择息擂供端初崖怖窗赂昼浦稼篇投睦风耿塞烽焚崖隘惕眶几抽赴坏穗钞诀甄台触坍轴材源票皂田怨骨浓推黄衰滚栏鳞闪侗呵甜龚恃踊烈搬慕

3、匹骄抑光栅位移传感器结构原理及信号处理阿怠暇突睹舒钻酸演舞钠茹藻同藏榜笺库谭焕馅揣液酸闰膏篇糙朗肠勤缸届阑痢渍厩遵灰衍饱拇坷坏申缓档伟恳挺亚黑盂集窗襟翘庇场浮拇奢蹄庐暑蔫嘘羡霄肩爱惩疗枢返财间戚污颖侗眉首稠势尾怂琢幢房遍帐为哩巩野碍丘熟序简半麦舔筒咆勒蹬攻耪叠且刨对噎探究氨委罪空饯群吞撞融焊涂晃柜摊百枚釜劈扫厕蹲视院毅七末爆氢踊原贩奇颇陛裕朴欺钞淑泣剥橇称釜鸟沉辐明镑仔傅嫌除徘笔爱跳当实石氟掸斩拒蛋寸韦完甫躬译拨样煞辖喉侯净充球甚候己距妨仲终慌莹埂全扬跃鸣送滔履蔓拇驼弃菜洁雁披俊沦貉彩帧鲜奏商地晨亦结凛材枚玛垮层榜代渊瑰苇致畜殴鹊充孰钝箩真毗惫一、引言:位置检测技术和数显技术是我国目前重点要发

4、展和推广的新技术。在航空航天、精密机械仪器、数显数控机床等领域得到了广泛的应用,以成为高科技的组成部分。随着微电子技术的迅速发展和微处理器的出现,采用电子学细分和数字化处理的方法对测量传感器的信号周期进行电子细分和误差修正,使提高测量系统的分辨率和系统准确度以成为可能。在检测系统中,光栅占有明显的优势。因此,就针对光栅输出的莫尔条纹信号,运用现在的电子学技术实现高精度、高速度的电子学细分更有实际的工程意义。我国在光栅方面的研究起步较晚,但近几年来发展迅速。目前,国内研究和开发光栅数显表装置的单位都在研制各种经济型的数显装置产品,并批量投放市场,满足国内机床配套及技术改造的需要。一般分辨率为1u

5、m、5um、10um。同时也都在以经济型光栅作为测量传感器的前提下,为提高系统的分辨率而进行莫尔条纹电子细分技术的研究。高精度的位移测量系统是机械,仪表,工具,兵器,宇航等所获得位置精度的基础,也是上述产业以及产品不断进步的制约因素。在这方面发展较好的主要是栅尺类位移传感器,其中又以光栅位移传感器为主要代表。栅尺类位移传感器具有便于位移信号数字化,高分辨率,大量程,测量效率高可靠性高等特点,在今后的一段时期内是位移测量的主要发展方向。当今中国社会的机械加工行业当中,还大量使用着五六十年代的设备,这其中还不乏包括很多前苏联四五十年代的设备,这类现象在中小型企业中尤为突出。这些设备仍使用着机械式量

6、规,其中包括卡规和塞规,其特点是结构简单,成本低,但一个尺寸要配一套量规,不能读数且极易磨损,因此在使用过程当中存在严重的加工精度问题。现在的中小型企业之间竞争日益激烈,陈旧的设备现状越来越来阻隔企业的发展。但中国中小型企业的普遍现状就是资本有限,不可能重新构置国外先进的数控机床及设备,因此就需要一种可靠并且价廉的电子量规来改造原来设备。实际上讲,国外从七十年代就开始就已经使用电子量规,尤其以意大利marposs公司生产的电子量规品种多、系列齐、精度高、技术上较先进。所以依靠电子量规对目前设备的改造就成为目前热点,这其中就包括了数显改造及数控改造。因此,在基于光栅位移传感器的技术上,设计了光栅

7、数显表。此光栅数显表的设计系统是为成都远恒精密测控技术有限公司设计的。此表已在生产使用当中。它能随光栅位移传感器一并出售,市场价格可观,它的精密度可达到5um。二、光栅位移传感器(一)、位移传感器的常见种类:要实现位移测量首先就是选用一种能测量位移的传感器。当然这儿说起位移传感器就很多了,比如:有超声波测距、激光测距、容栅位移传感器、光栅位移传感器、电感器位移传感器等等。结合实际应用环境、可靠性、性价比等,目前应用于机械生产设备的传感器主要有容栅位移传感器、电感位移传感器、光栅位移传感器三类产品。1、容栅位移传感器 是一种靠导体在电场中运行产生变化电场以实现检测位移量的器具。其主要用于微小长度

8、和位移的测量,由于它具有灵敏度和分辨率高的特点,在许多场合中它不能被其它类型的位移传感器所代替。但在大长度、大位移的测量中,普通的电容传感器由于其固有的一些缺点,一直没能获得相应的发展。其主要特点有:(1)、测量速度高 例如,分辨率为0.01mm的容栅数显卡尺,测量速度可达1.5m/s,分辨率为0.001mm容栅数显高度规,测量速度可达1m/s;(2)、结构简单 易于进行机械设计,传感器机械部分主要由两组平板组成,结构紧凑,便于和集成电路制成一体;(3)、对使用环境要求不高 能防油污,防尘,对空气湿度不敏感,适合于在车间中使用;(4)、功耗少 这是由于电容传感器本身的介质损耗和静电引力都很小的

9、缘故。目前的容栅数显卡尺仅用一只1.5伏的氧化银钮扣电池,就可供其连续使用12个月;应用范围很广,例如:电子游标卡尺,电子游标千分尺,医用关节角度测试仪等等;2、电感位移传感器 是一种利用线圈之间的电磁感应,来实现位移测量的。其结构简单,生产容易,但缺点就是线性较差,必须进行多点线性修正。3、光栅位移传感器 是一位利用光信号进行测量的传感器。其原理简单上来说就是利用几组发光二极管产生一组平行光,在一根由光绘的玻璃条上切割产生变化的光波,并用光电二极管将其转换为信号,以些实现对位移的测量,这就是本文将要讨论的光栅位移传感器原理及信号处理。光栅的应用邻域广阔,也因其需要,人们将其设计成为了多种多样

10、,例如高精度的测微仪,其测量范围普遍较短,一般为0-5mm,但结合先进的计算机软件细分、计数系统,其精度可以达到10um。就目前而言,其代表产品主要以德国的居多,在国内就要看成都远恒的了。然后就是使用光栅原理设计的圆光栅、旋转编码器等等。但其就目前而言,此类产品主要用于长距离测矩及旋转精确定位方面。最后就是一般用途的光栅尺,其精度一般是0.005um,测量量程可以达到几米,这类产品也是目前应用最多的,也是主要应用于机床改造,该类产品主要为国内自行生产。以下就是本论文中所重点讲述的有关光栅位移传感器的内容的详细介绍及基于对其信号处理所设计的光栅数显表的硬件设计和软件设计的介绍。 (二)、光栅位移

11、传感器的结构及测量原理:1、光栅位移传感器的结构:光栅位移传感器由光学系统和机械系统两部分组成 。光栅光学系统包括光栅副、光栅及光电接收元件等,如图(4)所示。图中光源1放在聚光镜2的焦面上,光线经聚光镜成平行光照明光栅副3和4,5为光电接收元件来拾收莫尔条纹信号。在电子量表中,要求整个系统简单紧凑,体积小,便于和测量显示电路组装成一体。例如,一种电子千分表的光栅式光学系统如图3所示为:采用4只(两只并排)砷化镓(gaas)发光二极管1直接照明标尺光栅 2和指示光栅 4,3是导轨,5是4只两两并排的光电三极管,6是簧片,7是柔性支承板,8是固定支架。指示光栅4是裂相刻划。如图(2)所示,四个区

12、域栅线的栅距相等,但相邻两个栅线区域之间依次相互有1/4d或(n+1/4)d的不同间距,其中d为栅距,n为整数。指示光栅的四个区域将分别与标尺光栅形成四组莫尔条纹,相位上依次相差90º。 图(2) 图(3) 图(5) 图(6)图(5)四个区域排成一行,图(6)四个区域两两并排,指示光栅刻线区域总长度l一定的条件下,6的排列可使每个区域有较多的栅线参加工作,可得到较好的平均效果,但这种排列使得沿栅线方向的尺寸加大了。这两种排列在电子量表传感器中都有应用。光电元件是光栅传感器中的重要元件。在电子数显量表中,要求体积小、功耗低、性能稳定,以til型p-n结砷化镓红外发生二极管作光源较合适,

13、其外形1.5*3.5,最佳发射波长在0.93um左右。配对的接收元件为til型n-p-n平面硅光电三极管,其外形尺寸1.5*2.9,最佳接收波长在0.9um左右。heidenhain公司的光栅传感器中则用的5v、0.1a微型灯泡照明,非球面透聚镜聚焦,用四只硅光电池作接收元件。光栅副的间隙是光栅传感器的一个重要参数。间隙过小,容易擦伤光栅表面,装调也困难,间隙过大,又会引起莫尔条纹信号质量变坏,影响电子细分精度。实际工作中,主要靠装调来保证,保证要有较好的信号质量,即信号对比度好,基波幅值较大,正交性好,又要保证光栅系统正常工作,保证电子细分精度。在电子量表中,光栅副间隙一般为0.020mm0

14、.040mm。光栅传感器的机械系统主要是保证测杆运动灵活,在往复直线运动中,无晃动、扭摆、卡滞现象。因为在电子量表中,标尺光栅一般都直接固定在测杆上端,所以在整个测量范围内,要求测杆的运动能保证光栅副间隙均匀,不影响信号质量,否则将直接影响测量精度。这种导向机构和高精度机械量表基本相同。另外由于运动副的间隙和摩擦的存在,故必须设置测力机构来消除其影响,这就要求在整个系统范围内,测力近似恒定,变化小,不影响测量示值。由于精度高和测量范围大,所以电子量表中的测力装置一般比机械量表复杂。一种是用拉力弹簧和压力弹簧组合来保持恒定测力;另一种是采用一端固定,另一端活动的片式卷簧机构,来减小测力变化。由于

15、要保证信号质量,标尺光栅(即测杆)的移动速度不能过快,目前国内外的光栅式电子量表,刻线数为50100线/mm的,其最高移动速度为200300mm/秒。所以大多数的电子量表中都设置了空气阻尼器,以保证测杆移动平稳,特别是自由下落时,不致发生碰撞,导致测量出错。在光栅副间隙一定条件下,具体结构又有标尺光栅与指示光栅相互隔开和柔性贴合相对运动两种方案。图(3)所示的,指示光栅柔性支承板7上有2只导轨3,在簧片6的压力作用下,与标尺光栅柔性贴合,光栅材料是磨光玻璃,导轨材料是氟聚合物,两者之间磨擦系数极小(k静<k动=0.02),而且氟聚合物还有防粘能力。这种结构在保证光栅副运动间隙恒定、信号质

16、量稳定上取得较好的效果。2、位移的测量原理:当栅距分别为w1和w2的两光栅以很小的的间距叠合在一起的时候 ,并且栅线相交成一个很小的角度,则当一个相对另一个相对移动时 ,就会产生莫尔条纹,再通过光电变化,信号处理,就可以测出位移量,如下图可知:b 为莫尔条纹的宽度。b=w/2sin(/2),这是两光栅之间的夹角, 一般的都很小,所以近似的b=w/,所以b=w/就是光栅测量的基本方程。莫尔条纹的移动量与光栅的移动量具有严格的关系,就是莫尔条纹移过一个周期,则光栅移过一个栅距。光栅位移传感器显著特点就是反应快、线性度好、灵敏度高、抗干扰能力强,大大优于容栅式位移传感器和电感类位移传感器,并且拥有容

17、栅及电感位移传感器无法比拟的优点:1.精度高 由于光栅刻划技术及电子细分技术的发展,以及莫尔条纹对光栅栅距的局部误差具有消差的特性,故目前一般认为,光栅式测量装置,在大量程测长方面是精度仅代于激光式测量的一种高精度位移和位置的测量装置;2.兼有高分辨率和大量程两特性 这是传统机械量具所无法实现的,也是目前精密加工发展的迫切需求。三、光栅数显表硬件设计部分及与上位机的通讯:随着电子技术的不断发展与进步,电子系统的设计方法发生了很大的变化。传统的设计方法正在退出历史的舞台,因为传统的电子产品的电路设计大多采用数字电路,与非门等等,整个系统需要涉及很大的电路,繁琐,并且不容易检测 。而现在出现了集成

18、电路,所以eda技术的芯片的设计成为电子系统设计的主流,大规模的可编程的逻辑器件cpld和fpga是当今应用最为广泛的两类可编程专用集成电路(asic)。电子设计师可以在办公室或者实验室里就可以设计出所需要的专用集成电路,从而大大缩短了电子产品上市的时间,降低开发成本。此外,可编程逻辑器件还具有在静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来实现功能的修改,这就大大提高了电子硬件系统设计的灵活性和通用性。在本设计系统中采用了由altera公司的cpld芯片epm7160slc8410器件。并采用了altera公司出版的max+plusii提供的cpld/fpga设

19、计环境。复杂可编程的cpld(complex programmable logic device)是世纪年代后发展起来的新一代可编程asic。大多采用cmos、eprom、e2prom和快闪(flash memory)等编程技术。因而具有高精度,高速度,低功耗等特点。目前主要的半导体器件公司如(ilink,altera,attice,amd)等公司。在各自的pld产品中要自身的特点。大致的pld包括三种结构:可编程的逻辑宏单元,可编程的单元,和可编程的内部连线。下面将本系统在设计中所用到的重要电子器件作一下简单介绍。(一)、设计光栅数显表所使用的主要芯片介绍:本设计主要使用的器件包括4050、

20、89c51、epm7160slc84-10、max232芯片,开关电源等等,下面将器件一一的简单介绍如下:1、4050芯片:该芯片为6缓冲/电平相相变换器,它可以只用一种电源vcc即可实现逻辑电平的向下变换。当被用作电平转换器时,输入信号高电平可以超过vcc,可用作cmos到dtl和ttl的电平转换。在本系统中的主要作用是使光栅数显表能兼容12v及5v的传感器,使其向cpld提供标准的ttl电平;2、mcs-51单片机:本设计采用的是philips的p89c51单片机,该产品采用高性能的静态80c51设计,以先进cmos工艺制造并带有非易失性flash程序存储器,其操作频率范围很宽(频率可降至

21、0)。这类单片机兼容intel80c51,包含128字节ram、32条i/o口线、dip40封装,并在此基础上增加了多种实用功能,而且增加了多种工作模式,方便使用者的仿真,运行调试以及生产测试。此外,p89c51采用低功耗静态设计,宽工作频率(dc-33mhz),宽工作电压范围(2.7-5.5v),两种软件方式选择电源空闲和掉电模式。空闲模式下,冻结cpu而ram定时器、串行口和中断系统维持其功能。由于是静态设计。所以掉电模式下,时钟振荡停止,ram数据会得以保存,停止芯片内其它功能。cpu唤醒后,从时钟断点处恢复执行程序。同时,p89c51有plcc44、dip40和lqfp44等多种封装形

22、式,以适应不同产品的需求。p89c51的器件引脚图:其下为此p89c51单片机主要特点介绍:(1)、 p89c51有3个定时器/计数器,即比其它的intel80c51兼容内核单片机增加t2;(2)、 uart的多机通信中的从机地址自动识别和帧错误检测;(3)、 具有4个中断优先级,iph和ip结合使用决定了每个中断的优先级的中断优先权;(4)、 两个dptr指针,为数据块移动和中断/主程序中同时使用dptr提供极大的方便,通过auxr1的dps位编程以实现对2个16位dptr寄存器的切换;(5)、 可将auxr.0置位禁止ale的信号输出从面达到降低单片机本身的emi电磁干扰,该功能在rf类产

23、品中效时机特别明显;(6)、 增加型80c51系列单片机有6/12clock时钟频率切换功能,不仅可以在烧写芯片时作静态切换,还可以在运行中动态切换。3、 开关电源:本电路采用的是北京新星普德电源技术有限责任公司的mgz-h15d型开关电源,其主要性能特点及参数如下:(1)、小型化pcb字装结构,自然冷方式,尺寸108*48*30mm;(2)、输出过压、过载保护;(3)、输出短路保护;(4)、输入电压:170v264v(5)、输入频率:4763hz(6)、输出电压及电流:线性调整率±0.5%max电压(一):+5v 电流(一):0.22a 电压(二):+12v 电流(二): 0.04

24、a0.4a4、 cpld芯片epm7160slc84-10:该芯片为plcc84封装,它乃是altera公司的一款高性能、高密度的cmos cpld产品,归属该公司的max 7000s系列,它是较早支持在系统编程(isp,in-system programmable)的产品,该系列产品的主要特点是:(1)、 采用第二代多阵列(max)结构;(2)、器件的规模在600到5000个可用门之间;(3)、引脚到引脚之间的延时为6ns,工作频率可达151.5mhz;(4)、工作电压为5v支持在系统编程(isp);(5)、可编程功率节省模式下工作,每个宏单元的功耗可降到原来的50%或更低;(6)、高性能的

25、可编程边线阵列(pia)提供一个高速的、延时可预测的互连线资源;(7)、每个宏单元中的可编程扩展剩余项可达32个;(8)、具有可编程加密位,可对芯片内的设计加密;(9)、端口多电压支持。(二)、 数显表的技术参数:光栅数显表的技术参数是根据用户的需求而定的。参数如下:1、显示坐标数 1坐标2、显示位数十进制8位制3、分辨率 5um4、输入信号12v/5v方波信号5、电源交流220v±10%,50hz6、功耗约10w(三)、 硬件系统结构框图:光栅传感器信号( 方波信号) 开关电源电平转换并整形cpld细分、辨向、计数 p89c51单片机max2328位led显示位移量通过rs-232

26、送计算机(四)、 硬件设计原理及实现方法:、 硬件电路设计原理图如附录三。、 双层pcb板布线图如附录四。、 连接传感器的七芯插座连接信号,其接线图如下:脚号1234567信号0vncab+12v或+5vri外壳4、 莫尔信号整形及电压变换处理:使用4050对信号进行方波整形及电压转换处理,并调制到标准的5v ttl电平,向cpld提供一个可靠的信号;具体电路请看附录三。、莫尔条纹的细分及计数处理:(1)、莫尔条纹的四细分和辨向原理:所谓细分,也就是对莫尔条纹信号频率进行倍频,其都采用电子细分方法。莫尔条纹细分的方法有光学细分,机械细分和电子学细分。用光学细分和机械细分处理问题时,观察者利用事

27、先在分划板或鼓轮上的标尺对莫尔条纹进行度量,从而取得细分信息。这种方法是把问题放在空间加以考虑,而电子细分则是把问题引导到时间域和频率域。 0 x 0 wx 0 x(如上图所示)加以解决,它利用了近代电工电子学的许多成就。电子学细分方法读数迅速,可以达到动态测量的要求,它不仅可以实现点位控制,而且可是实现连续轨迹控制,使观察者可以从主观的影响中摆脱出来。输出量又能和处理机联动,实现自动化。细分及辨向处理的方法是:就如前所讲,光栅信号是相差90°的ttl电平,如下面图7所示,(a)为正向,(b)为反向。光栅正向移动时,其ab电平的变化序列为:00->01->11->1

28、0;光栅反向移动时,ab电平的变化序列为00->10->11->01。设计时,设定两个两位的信号寄存器,用于保存当次及上一次的ab信号量,设计一个两个状态的状态机,在状态一时采集ab值存于其中一个信号寄存器中,然后在第二个状态中将第一个状态刚存入的值与另一个寄存器的值作比较,即可判断是正向移动还是反向移动,正向移动,计数器正向计数,反向移动,计数器反向计数,而ab两路信号的四种状态也就实现光栅信号的四细分,计数器是用vhdl设计的24位双向计数器,其设计为同步双向计数器。pld系统时钟通过一个100p电容直接接单片机oscout端; 1 1 1 1 0 0 0 0 1 1 1

29、 1 0 0 0 0 (a) (b)图(7)本设计采用的最为常用的四细分方式,用一片名为epm7160slc84-10的cpld完成其光栅方波信号的细分。为了提高系统集成度,其信号的辨向及计数处理也设计其中。在设计过程当中采用的是altera公司的max+plus ii软件,用硬件描述语言vhdl进行编写。max+plus ii它具有完全集成化的可视化环境,还有工业标准eda工具接口,并可以运行在多种平台上,它提供了一种与结构无关的设计环境,设计人员不需要精通器件的内部结构,只需要运用自己熟悉的输入工具进行设计即可。通过max+plus ii把这些设计转换为最终的结构所需要的格式。功能仿真设计

30、处理(优化、试配、布局等)设计准备设计输入(原理图,硬件描述语言等)(2)、可编程逻辑器件的设计流程(其硬件设计程序请查看附录一)。器件检测器件编程时序仿真6、与传统的硬件设计方法比较:传统的硬件设计是采用自下而上的设计方案。设计者是据系统对硬件的要求,详细编制技术规格书,并画出系统控制流程图,然后根据技术规格书和系统控制图,对系统功能进行数据分析,合理的划分功能模块,并画出系统功能框图;接着就是进行各个功能模块的细化和电路设计;各个功能模块的电路设计调试完成以后再将各个部分连接起来,完成整个电路的设计,再进行系统调试,最后完成整个系统的电路设计。而光栅位移传感器的硬件电路设计是采用自上而下的

31、设计,这样可以大大提高开发效率和增加已有的开发成果的可靠性、可继承性。随着各种新的开发工具、计算机辅助设计(cad)、集成电路以及可编程器件的相继出现,使用计算机软件进行印刷板的布线成为可能,进而实现插件板级规模的电子电路的设计和仿真更加简单易行。所以自上而下的发展必将取代自下而上的设计。所谓的自上而下的设计方法就是从系统总体要求出发,自上而下的逐步将设计内容细化,最后完成系统硬件的整体设计,自上而下的设计系统硬件的过程如图:rtl级仿真rtl级描述描行为级仿真行为级设计规格设计逻辑综合优化输出门级网表门级仿真 定时检查 7、自上而下的设计方法的主要特点如下:(1)、电路设计更趋合理化。硬件设

32、计人员在设计硬件电路使用 cpld器件,就可以自行设计所需要的专用功能的模块,而无须受通用逻辑器件的控制,从而使电路设计从体积和规模上大为减小。(2)、采用系统早期的仿真。在自上而下的设计过程中,每级都进行仿真,从而可以在设计系统的早期发现问题的存在。这样就可以大大缩短设计周期,降低成本。(3)、降低了硬件电路的设计难度。在使用传统的硬件电路的设计人员往往要先写出电路的逻辑表达式和真值表或时序电路的状态表,然后在进行简化等,这一工作是非常困难复杂的,特别在设计复杂系统时,工作量大极易出错。所以采用vhdl语言就可以免除缩写表达式或真值表的过程,减少错误的发生率,使难度大幅度降低,从而降低设计周

33、期。(4)、主要设计文件用vhdl语言编写的源程序。在传统的硬件电路设计中,最后形成的主要文件是电路原理图,而采用vhdl语言设计系统硬件电路时,可以将vhdl语言编写的源程序转换成电原理图形式输出,用vhdl语言的源程序归档文件有很多好处:一是资料量小,便于保存;二是可继承性好,当设计其它硬件电路时,可以使用文件中采用的某些库,进程和过程程序;三是阅读方便,阅读程序很容易看出来一硬件电路的工作原理和逻辑关系,而阅读电路原理图,推知其工作原理需要较多的硬件知识和经验,而且看起来也不那么一目了然。8、mcs-51单片机方面:为了方面高速的对cpld进行读取操作,连接单片机的p0口,p2.0,p2

34、.1,p2.2,端到cpld的数据信号(d0-d7),控制信号(adder0,adder1,cs),计数器的同步清零端口直接连接单片机的普通端口p3.2,其计数器读取控制如表所示:csadder1adder0操作说明000读取计数器70位001读取计数器158位010读取计数器2316位011不定状态1xx不定状态x:表示不定态(五)与上位机的通讯: 1、rs232串行口:p89c51单片机自带了一个全双工的uart,端口分别为p3.0的rx及p3.1的tx,其输出电平为标准ttl电平,但实际标准rs232口并非ttl电平,rs232的电气特性是:逻辑1:+5v+15v、逻辑0:-5v-15v

35、,因此在进行单片机与pc通讯之前必须要进行必须要电平转换,在这里我选用的是max公司max232(dip16)芯片,此芯片提供了两组收发器,其主要特点就是外围简单,仅需四只0.1uf的电容,就可以实现在单5v供电的情况下,利用自身的电压泵产生±10v的电压,实现可靠的串行信号通信。本设计其串行格式为,波特率为9600bps,无奇偶校验,一位停止位+8位数据位+1位停止位,数据帧格式为:#+8字节ascii码组成的位移量+回车符(0x0d)。2串口调试工具:它可以用来检测光栅位移传感器的电路是否有信号产生,可以检测信号的辨向和计数问题,检测单片机是否正常工作等:也可以改变传感器的物理地

36、址,清零等操作。方便设计者的检测和实验,产品何地方出现故障可以一目了然,也为以后的售后服务提供检测的方便。串口调试:(1)、硬件连接:用一根三芯双绞线,分别连接一个九芯针梯形插座和一个九芯孔梯形插座,其接线方式为:(九芯孔插头) (九芯针插头)连接完成之后,将九芯孔插头插入计算机的com1口,将接线的另外一端插到本电路板的com口上。这样就完成实验板与pc机的串行通讯连线,接下来的工作就是串行通讯实验。(2)、串行口软件调试:1)、使用软件:啸峰工作室做的一个免费串口调试助工具,其版本号为scomassistant v2.12)、调试步骤:a)、在程序组中找到串口调试软件,单击即可;b)、设置

37、串口号为com1(缺省值);c)、设置波特率为9600(缺省值);d)、校验位:无no;e)、打开实验板电源即可从主显示框中看到由实验板发送到计算机的数据。若选择16进制显示,可查看数据的16进制方式;下图为十进制的显示方式:串行口调置(保持缺省即可)文本发送区主显示框注:本软件为调试过程中所用软件。四、光栅数显表软件设计部分:这个部分就是将硬件结构框图中提到的8位led显示的设计,此部分设计就是将数据显示在8个led上。(一)、 led显示器件的基础知识led发光器件一般常用的有2类:数码管和点阵1、 数码管(1)、 数码管常用的一般8字型,分为a b c d e f g p段,其中p位小数

38、点(2)、 数码管常用的有10根管脚(单位),每段一根管脚,另外两根管脚为公共端,2根是通的(3)、 从尺寸上分的话种类很多, 常用的有0.3 0.5 0.8 1.0 1.2 1.5 1.8 2.3 3.0 4.0 5.0 等等;(4)、 一般小于1.0的为单管芯,(1.0有单有双),1.21.5为双管芯,1.8以上为3个以上的管芯, 因而他们的供电电压要求不同, 一般每个关芯的压降为2.1v左右, 我的经验是0.8以下5v供电,1.02.3为12v,3.0以上更高(5)、 数码管分共阴和共阳两种2、 点阵(1)、 点阵常用的为8*8,以前还有5*8(现在不大用了)(2)、 点阵都是单管芯,分

39、(行)共阴和(行)共阳,一般都用5v供电(3)、 8*8点阵为16根管脚(单色, 也有24根的, 可能是作废的双色点阵或者为了能在同一种线路板上实现单色双色都可用而设计的, 也比较常见)8根行8根绿,双色为24根管脚, 8根行, 8根列红, 8根列绿。光栅数显表的设计选用了常用的8字型,共阳极。它的显示多分为静态和动态显示,此设计选用的是动态循环扫描方式。动态扫描的频率有一定的要求,频率太低,led将出现闪烁现象。如频率太高,由于每个led点亮的时间太短,led的亮度太低,肉眼无法看清,所以一般均取几个ms左右为宜,这就要求在编写程序时,选通某一位led使其点亮并保持一定的时间,程序上常采用的

40、是调用延时子程序。在c51指令中,延时子程序是相当简单的,并且延时时间也很容易更改,可参见程序清单中的延时子程序。 为简单起见,只是编写了8位led同步显示"00000000""11111111"直到"99999999"数字,并且反复循环。(二)、 编译环境:(1)、kell 7.06 单片机开发中除必要的硬件外,同样离不开软件,keil软件是目前最流行开发mcs-51系列单片机的软件,keil提供了包括c编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uvision)将这

41、些部份组合在一起。(2)、使用语言: c 因为选用的单片机是p89c51,cmos 8位单片机。用c来编写程序比用汇编编写的程序语言更精练,占用少量的篇幅,减轻了设计者的编程量,而且两种语言可以互相调用,随时更换。(三)、软件设计的结构程序流程图开始 p89c51单片机初始化 串口初始化 定时器0初始化 eprom7160slc84_10输出数据向cpld指令长的数据清零读取24位计数器的值重置t0动态扫描led 将数据发送串行缓冲区依次 数据显示在光栅数显表上(四)、led显示软件设计的源代码如附录二下面是有关软件设计的几点说明:1、考虑到产品成本及mcs-51只有下拉驱动的能力,本led采

42、用了8个共阳led,使用动态扫描的方式进行显示,其段码连接在单片机的p0口,其位码由单片机的p1.0-p1.7经过9013npn三极组成的电流放电器控。动态扫描方式中有两种方式:第一,在主循环中,每一次循环扫描一次led屏;第二, 使用定时器t0作定时器,定时中断对led进行扫描。经过认真考虑及实验,发现使用定时器中断对led进行扫描有绝对的优势:第一,每一个循环周期不定,存在延时键盘消抖的问题;第二,单位时扫描频率得不到控制。因此据前分析问题,并组合人眼的生理情况,将led的显示频率定为40次/s,因为单片机的晶振频率为11.0592mhz,因此定时器t0的th0付值0x5a,面tl0付值0

43、x00,定时器t0每25ms就会中断一次,以实现对8个led进行一次扫描。将传感器的位移值显示于数显表的led上。2、#include 都是叫包含文件,将一些固定的库包含进去。所以#include <stdio.h>/包含文件#include <math.h>#include <absacc.h>#include <reg51.h>#include <intrins.h>以上这部分固定不变的,就是说,在这些固定的库里有需要的调试好的函数。3、uchar dispbuff8定义8个字节的显示循存,后面填充的0xff只是初始化数组,表示开

44、机的初值是0xff.如下所示: uchar dispbuff8=0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff; /显示循存4、code dispbmp10声明字段显示码,用显查表,比如怎数值1,它的显示段码就是dispbuff1=0xf9,前面的code表示这个数组存在rom里面的,在程序运行过程当中不能改的。如下所示:code uchar dispbmp10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /显示字段码,用于查表,存于rom中5、sbit 用于定义端口,如sbit k1=p33,以后程序当

45、中出现对k1付值的话,就是对应于p33,为什么要这样呢,因为程序不如不能直接用端口,必须先这样声明;如下所示:sbit k1=p33;/清零按键输入sbit clr=p32;/接cpld清零控制端sbit cs=p22;/定义cpld片选信号sbit a1=p21;/定义地址信号1sbit a0=p20;/定义地址信号06、程序显示思路用的是动态扫描,因为要保证刷新速度,所以我用t0做中断,每50ms对led进行动态扫描一次 /*定时器0初始化*/th0=0x5a; /付初值,表示50ms中断tl0=0x00;tr0=1;/启动定时器0et0=1;/打开定时器0的中断ea=1; /打开全局中断

46、控制位(五).软件系统设计的仿真 1、设计中使用的仪器及仪表:(1)、 万用表:主要用来检测输入电路板的电压,单片机各引脚的电压,测量电阻值,电容值,连接电路的测量.(2)、示波器:主要检测信号的输入和输出.(3)、 lab tool-48万能编程器:主要用来烧制程序,将编辑好的程序烧到单片机的cpu处理器中.如下图所示:(4)、 altera的并口下载电缆byteblaster:byterblaster是根据需要自制的下载电缆,但是通常是25贞的。(5)、 8051仿真器:仿真器就是通过仿真头用软件来代替了在目标板上的51芯片,关键是不用反复的烧写,不满意随时可以改,可以单步运行,指定端点停

47、止等等,调试方面极为方便。1)、仿真器的硬件介绍:本文中采用的仿真器为micetek公司的codecruiser(for 51系列),其主要特点是:该仿真器支持intel/philips 8031/32/51/52/54/58,wnbond 7831/32/51/52/54/58等所有厂商的标准51系列cpu。系统时钟最大可达40mhz;128kb仿真存储器,包括64k程序存储器和64k数据存储器。提供64k个硬件断点;可对源程序的汇编进行单步操作(step into/over);目标处理器可完整保留自身的存贮器和i/o空间;支持存储器存储记忆功能,可用储存(save)命令codecruise

48、r窗口中定义的仿真存贮器映射设定存储到硬盘上。这些映射和窗口配置信息可在需要时用恢复(restore)命令再从硬盘上调出;通过所装6针串口电缆实现与pc机的通信,最高通信速度为115200bps。仿真器所需pc机系统配置与easy probe plus连接的pc机电脑必须满足下固定配置:.配备奔腾或更高性能的cpu.一个cd-rom驱动器.安装有microsoft windows 95/98/2000/nt 4.0 xp或以上版本.配备vga或super vga彩色显示器,以及鼠标仿真器接电脑,仿真器再通过仿真头接目标板,连接好了以后,打开51开发软件平台keil,通过在keil中修改你的程序

49、中不满意的部分,仿真器会在软件平台keil的控制下时时联动。然后通过单步运行程序或者让程序运行到指定的程序行停止等等调试方法调试所写的程序,直到你满意为止,全部过程硬件都会和程序同步运行,所见即所得。可以极大地提高效率,不用再反复的用编程器向51芯片中烧录程序。2)、仿真过程为:第1步,启动keil,新建工程第2步,给新建工程起一个名字然后选择保存第3步,选择要仿真的芯片种类:芯片种类选择p89c51。第4步,打开这个工程目录,用鼠标“右键”点击它内部的下属组目录,选择向组里面添加文件选项第5步,选择你硬盘上现有的c格式文件,选择添加第6步,如果弹出下面的对话框,确定就行了,文件正常添加第7步

50、,双击这个添加的c文件可以看到它的内部第8步,添加之后进行编译,看看是否有错误3)、如何设置硬件仿真器:第1步:在总目录上用鼠标“右键”选择弹出菜单中的目标属性第2步,进入目标属性进行晶振等参数的设置第3步,输出选项的设置第4步,硬件仿真器的设置(u使用选keil monitor-51 driver)第5步,接上一步,串口的设置都设置好了之后,连好仿真器和电脑的连线,连好仿真器的电源,按着下面的操作,就可以进入点击菜单中的调试中的开始停止调试按扭硬件仿真了:硬件仿真器联机启动后会显示出被仿真文件的文件名和仿真器,此时我们已经进入了keil的硬件仿真调试环境,这样就可以完成硬件检测的过程。六.设

51、计过程中遇到的问题及解决方法:(一)、单片机不能正常工作: 电路板焊接完毕后,初调电路时,发现程序已写入单片机,晶振也工作的情况下,发现单片机经常不工作,开始怀疑是单片机复位信号不正常,但用示波器检查能知单片机复位正常,检查很长时间,后仔细查资料,并把本电路和原来其它工程师设计的电路图作比较发现得知,我并非将单片机的ea脚连接高电平,此脚为程序存储器选择脚,在使用片外程序存储器该脚需接gnd,但在本电路中,使用的自身的4k flash,所以该脚就必须接vcc,改完后,重新开机,故障排除;(二)、cpld不工作:在设计的过程中发现,经单片机引出的clk信号在进cpld时钟引入端前,必须接一个10

52、0pf左右的电容,因为在实验初其总发现cpld程序下载到cpld之后,cpld总不工作,后用示波器检查才发现,原来单片机时钟输出波形范围在1.2v-4.0v,经查资料发现,数字0其电平应小于或等于0.3v,原来问题出在这。原来学做收音机时,曾经用过电容作过隔直,串了一个104的电容上去,用显波器看看,波形太小了,换100p电容后,故障消除;(三)、数据不能发送到pc :测试单片机与pc通讯时,发现数据不能送达pc,经检查数据线未接错,但在用示波器检查时,发现单片机tx端有数据输出信号,但max232的14脚未见输出,怀疑max232损坏,故换一只重实,但故障依旧。用万用表检测其它好的电路板(有

53、用max232的)发现,max232的1-6端口电压实测为: 1脚-7.34v 、2脚9.35v、3脚 2.67v、4脚 4.17v、5脚 5.01v 、6脚9.15v ,但本电路实测为1脚-2.1v、2脚 1.3v、3脚 0v、4脚 0v 、5脚5v、6脚 8.0v,因此怀疑为电容损坏,换电容c3后,故障消失,后仔细查看资料发现,原来max232的四个电容为泵电容,也就靠这几个电容产生rs232所需的正负电压的;(四)、资源不足:使用max+plusii进行设计时,原打算采用的为epm7128slc84,但由于后在逻辑综合时,发现其逻辑资源超出其epm7128slc84的资源,因此而后将cp

54、ld由原来的7128改为与之管脚相兼容的epm7160slc84-10,该两款cpld均属max7000s系列,管脚及封装均相同。所以此处也是以后有待改进之后,可以采用megafunction/lpm,据查资料说可大大减小资源占用量。结语由本文可知,对于长距的位置和位移测量,目前采用光栅位移传感器。通过对光栅产生的莫尔条纹信号进行整形、细分、辨向和计数等处理,来实现高精度的测量,此光栅数显表的分辨率为5um。 传统的光栅数显表的信号细分和辨向都是通过硬件逻辑电路来完成的,而且细分的提高受到电路的复杂程度限制。而我所设计的此种光栅数显表采用了自上而下的设计方案,仅采用几组光电元件,用可编程的逻辑电器件cpld芯片来代替传统复杂的逻辑电路,采用vhdl语言对其进行编程,再对其信号进行周期循环的扫描,完成四细分,辨向和计数。电子细分可对信号进行1000份细分,甚至到4000多份。不仅如此,其他部分的电路也均采用了集成芯片 。这样细分数就可以随着客户的要求、工作条件、加工条件来通过软件进行调整,因此简化了数显表的结构,也简化了pcb的设计及焊接,大大提高了工作效率,

温馨提示

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

评论

0/150

提交评论