DAC7714在嵌入式激光跟踪仪设计中的应用

发布者:少年不识愁滋味最新更新时间:2018-04-07 来源: 21ic关键字:DAC7714  激光跟踪仪  AT91RM9200 手机看文章 扫描二维码
随时随地手机看文章

    设备驱动程序在Linux内核中占有极其重要的位置,在一个嵌入式系统中,除了CPU、内存以及其他很少的几个部件以外,所有的设备控制操作都必须由驱动程序来完成。系统设计者必须为系统中的每个外设开发相应的驱动程序,否则设备无法在Linux下正常工作。

    在基于AT91RM9200处理器的某嵌入式激光跟踪仪中,为了实现目标的快速、平稳跟踪,需要控制两路电机,即:方位电机、俯仰电机。其原理如下:通过不断读取两路角度编码器的数据,计算出两路电机实际角度与期望角度的偏差,利用反馈控制的原理,驱动两路电机跟踪目标。两路电机的控制电压为5V时,电机停止不动;控制电压为0V时,电机以最大速度顺时针旋转;控制电压为10V时,电机以最大速度逆时针旋转。

    根据上述控制要求,选择4通道12位的串行DA转换器——DAC7714转换器作为两路电机的控制驱动芯片。该芯片在嵌入式Linux系统下驱动程序的优劣,将直接决定整个仪器的跟踪效果,也是嵌入式开发的需要解决的基本问题之一。

    1 概述

    DAC7714是美国TI公司推出的一款4通道12位串行输入、电压输出型DA转换器。其供电电压为±15 V,可以实现输出自动保持,采用此串口芯片除了具有节省单片机资源的优点外,还具有同时输出多路0~10 V(参考电压为+10 V和0 V),特别适用于MCU资源紧缺而控制通道比较多的场合。

    DAC7714性能特点:

    1)12位分辨率,串行接口;

    2)功耗仅为250 mW;

    3)4个模拟输出通道,电压输出;

    4)线性误差±1LSB;

    5)支持单极性(0~10 V)或双极性(-10 V~+10 V)输出;

    6)自动输出保持;

    7)复位信号可选,不同复位方式具有不同初始值。

    2 硬件设计

    嵌入式激光跟踪仪硬件比较复杂,这里进介绍与电机驱动相关的DAC7714与AT91RM9200的硬件连接部分。由于实际使用时的电机功率较大,需要在DAC7714的两路输出再加一级驱动电路才能真正驱动电机。

    2.1 DAC7714引脚及功能

    DAC7714为SOJ16封装,具体引脚及功能介绍如下:

    VOUTA~VOUTD:4个模拟量输出

    CS:片选端,低电平有效

    CLK:串行数据时钟端

    VCC:正电源,通常为+15 V

    VSS:负电源,通常为0或-15 V

    GND:地

    VREFL:模拟输出电压参考(下限)

    VREFH:模拟输出电压参考(上限)

    SDI:串行数据输入

    LOADDACS:转换结束判断位

    RESET和RESETSEL:芯片复位设置位

    2.2 DAC7714硬件设计

    DAC7714硬件设计比较简单,其可编程引脚RESET、LOADDACS、CS、CLK、SDI分别与AT91RM9200的IO口PA0-PA1、PA3-PA5连接,为下一步驱动程序开发打下基础;其VOUTA、VOUTB接两路电机的控制信号;VREFL接地,VREFH接+10 V,使用单极性接法。其具体连接如图1所示。

   a.JPG


    3 驱动程序设计

    驱动程序的目的是驱动硬件正常工作,所以编写驱动程序要针对特定的硬件来进行。在嵌入式激光跟踪仪中,需要编写DAC7714的驱动程序,内核将以设备节点的形式调用、管理该芯片。DAC7714属于串行DA转换器,需要根据其工作时序图,控制AT91RM9200的上述引脚,模拟其工作时序,在内核Linux-2.4.19中完成驱动程序的设计。

 

    3.1 DAC7714工作时序图

    DAC7714完成一次数模转换,需要在CS为低电平期间,在CLK的上升沿,串行输出16位数据到SDI。16位数据中,前两位A1和A0的组合将决定对某一通道进行转换输出(00-A通道、01-B通道、10-C通道、11-D通道),接下来两位为无效位,最后的12位数据即真正需要转换的数据。其工作时序图如图2所示。

   b.JPG

    3.2 驱动程序组成

    DAC7714驱动程序作为设备文件,同样分为open、write、release等几个操作。对于内核来说,DAC7714属于字符型设备,并为该设备命名为Name[]=“DAC7714drv”。该模块在使用时采用insmod命令进行动态加载,使用rmmod命令进行动态卸载。DAC7714驱动程序主要由注册函数、注销函数、初始化函数、DA输出函数构成。

    用户在使用insmod命令加载模块时,实际调用的是以下注册函数:

    c.JPG

    应用程序中使用open函数打开DAC7714设备时,实际调用以下函数完成对控制器相应引脚的初始化操作(以PA0连接RESET为例介绍):

   d.JPG
e.JPG


    在DAC7714_write函数中,控制AT91RM9200的PA0-PA5引脚电平,模拟图2的时序完成DA输出,其流程图3所示。

    h.JPG


    4 测试程序设计

    在测试程序中,实现对DAC7714的4路输出分别进行测试。测试方法是,对于指定的数字量,通过万用表或示波器测量DAC7714相应通道的电压输出值,若该值与理论值一致,则表明驱动程序正确。

    首先调用open函数打开DAC7714设备,然后控制数字量从0依次加1,并结合通道号生成DAC7714所能识别的控制数字量,然后调用write函数控制输出,当控制数字量达到最大值时,切换下一通道。测试程序主要代码如下。

    i.JPG
j.JPG


    5 结论

    文中给出了DAC7714硬件设计方案,在AT91RM9200+嵌入式Linux环境下,详细介绍了基于其驱动程序和测试程序的设计方法,揭示了嵌入式开发的一般规律。在实际测试过程中,将4路通道的实际输出电压与理论电压进行了比较,误差最大为0.1%,完全能够满足激光跟踪的要求。


关键字:DAC7714  激光跟踪仪  AT91RM9200 引用地址:DAC7714在嵌入式激光跟踪仪设计中的应用

上一篇:ARM微处理器的指令的分类及功能
下一篇:基于STM32F103RCT6的电脑鼠控制系统的设计

推荐阅读最新更新时间:2024-03-16 15:59

浅谈AT91RM9200的嵌入式网络摄像机的设计与实现
  1. 引言   随着通信技术和网络技术的迅猛发展,通过网络远程实时监控重要场所已倍受人们关注,网络摄像机在此背景下产生,并成为人们关注的焦点。网络摄像机是一种结合传统摄像机与网络技术所产生的新一代摄像机,它可以将影像通过网络传至地球另一端,且远端的浏览者不需用任何专业软件,只要标准的网络浏览器(如"Microsoft IE或Netscape)即可监视其影像。网络摄像机要将高清晰度的实时视频信息通过互联网传送到监控终端,因其信息量巨大,所以必须压缩。通常人们采用DSP与MPEG-4算法相结合的方案来实现,不仅编程工作量大,而且产品的成本高。本文所介绍的网络摄像机采用专用的MPEG-4压缩芯片、以嵌入式Linux作为操作系统,不仅
[单片机]
浅谈<font color='red'>AT91RM9200</font>的嵌入式网络摄像机的设计与实现
基于AT91RM9200的CAN智能节点设计
近年来工业测控系统从传统的集中测量控制系统转向网络化的集散控制系统。随着现场总线技术高速发展和标准化程度的不断提高,以现场总线技术为基础的开放型集散测控系统得到广泛应用。总线是控制器局域网(controller area network,CAN)属于现场总线范畴,是一种能有效支持分布式控制的串行通信网络,可将挂接在现场总线上作为网络节点的智能设备连接成网络系统,并进一步构成集散测控系统。CAN智能节点位于传感器和执行机构所在的现场,在集散控制系统中起着承上启下的作用。一方面,它必须和上位机进行通信,以完成数据交换;另一方面,它根据系统的需要以完成测量与控制的功能。因此,CAN智能节点的设计在工业集散测控系统中有着十分重要的作用。本文
[单片机]
基于AT91RM9200的LCD驱动程序设计
1 引言 嵌入式系统应用于工控领域越来越普及,对于传统工控产品升级换代发挥重要作用,随着由此带来的工控产品性能的大幅提高,与之对应的较高档次、友好的人机界面需求也不断增大。为此,Linux也出现了许多图形界面软件包,在其开发和移植过程种都涉及到底层LCD的驱动。本文针对一款基于AT91RM9200芯片的工业级嵌入式系统开发板,加上可扩展外围控制器SLD13506,在Linux2.4.19操作系统下,通过编写其驱动程序,再用arm-linux-gcc进行编译,使ARM9开发板添加12.1英寸TFT彩色LCD显示功能。 2 硬件介绍 AT91RM9200是一款基于ARM920T内核的高性价比、低功耗、32位的ARM 芯片,拥有独立的
[单片机]
基于<font color='red'>AT91RM9200</font>的LCD驱动程序设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved