设备驱动程序在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所示。