基于Linux的高速模数转换器AD7859L的应用

最新更新时间:2009-04-17来源: 电子设计工程关键字:AD7859L  驱动  MISC类设备  高速数据采集 手机看文章 扫描二维码
随时随地手机看文章

  1 引言

  在嵌入式系统中基于ARM微核的嵌入式处理器已经成为市场主流。随着ARM技术的广泛应用,建立面向ARM构架的嵌入式操作系统成为测量行业的热点问题。在LINUX操作系统中添加新的外部设备时,只需为其添加对应的驱动程序即可。介绍另一种驱动程序的编写方式,即采用MISC类设备。其实质也是一个字符设备。可将用户各种不同的驱动设备类型合成到一种类型中,共用一个主设备号,通过不同的次设备号和设备节点名来区分。可方便管理这些驱动模块。字符型的驱动设备模块在挂载时都要分配主设备号、次设备号和创建设备节点名,在卸载驱动设备时还必须同时删掉设备节点名。通过采用MISC类设备,在挂载设备驱动时无须再用到mknod命令分配主设备号、次设备号和创建设备节点名,在insmodl挂载之后,只须mdev—s就能自动装配/dev目录下的设备文件。

  2 AD7859L的引脚功能描述和寄存器

  AD7859L的引脚功能描述如表1所示。

AD7859L的引脚功能描述表 

  AD7859L包含一个控制寄存器,A/D转换输出寄存器,状态寄存器,测试寄存器和10位校正寄存器。控制寄存器只能写入,A/D转换输出寄存器和状态寄存器只能读取,测试寄存器和校正寄存器是可读可写的。

  向AD7859L写入数据时,数据宽度必须是16位。16位数据写入AD7859L时,既可作为一个16位字,也可作为2个8位字节,取决于引脚W/B上的逻辑电平。当W/B接高电平时,16位数据从DB0传输到DBl5,DB0为最低位,DBl5为最高位。当W/B接低电平时,引脚DB8/HBEN作为高字节使能,2个8位字节的数据从DB0传输到DB7,DB0为最低位,DB7为最高位。当以2个8位字节写入数据时,必须先写低字节,再写高字节。16位数据的最高2位ADDRl、ADDR0,通过编码决定访问哪一个寄存器,后面的14位数据写入该寄存器。表2为编码分布。

  读寄存器时必须先设置控制寄存器的DB6和DB7位,即RDSLTO和RDSLTl。这2位通过编码决定访问哪一个寄存器。上电时这2位初始值是00,因此读取操作访问的寄存器是A/D转换输出寄存器。同写寄存器一样,字模式或者字节模式均可以。当以字节模式读校正寄存器时,必须先读低字节。

  3 AD7859L驱动程序

  操作系统一般提供设备驱动程序完成对特定硬件的控制,以建立应用程序和设备之间的抽象接口,而不是应用程序直接操作硬件。设备驱动程序实际上是操作硬件的软件,是内核中具有最高特权级的、驻留内存的、可共享的底层硬件处理例程。

  采用MISC类设备来添加AD7859L驱动。AD7859L的结构体定义语句如下:

AD7859L的结构体定义语句 

AD7859L的结构体定义语句 

写寄存器地址编码分布 

  从2.6版本内核开始引入了platform这个概念,在开发底层驱动程序时,首先要确认设备的地址、中断向量号。在内核中添加AD7859L的地址、中断号、设备节点名。设备驱动在加载时首先需要调用的入口函数module_init(),该函数完成设备驱动的初始化工作,如寄存器置位、结构体赋值等,其中最重要的工作就是向内核注册该设备。在应用程序中打开设备文件,然后利用ioctl()函数向驱动传递各种控制命令。每一次A/D转换完成后都会产生中断,调用中断响应函数,将转换好的数据写到缓冲区中。当用户需要读取A/D转换的数据时,通过调用read()函数,读取缓冲区数据。驱动程序结构如图1所示。

驱动程序结构图 

  3.1 平台资源

  在2.6内核中将每个设备的资源用结构platform_device描述,该结构体在/include/linux/platform_device.h中定义。AD7859L驱动的平台资源如下。在文件/arch/arm/roach—s3c2410/devs.c中添加下述结构体。

结构体 

结构体 

  该宏定义在map.h文件中。第二组描述了AD7859L设备的中断向量号。flags描述资源类型,设备驱动会根据flags来获取相应的资源信息。在结构体static struct platform_device*smdk2410_devices[]__initdata添加上述s3c_device_ad7859ADC平台资源。该结构体在/arch/arm/mach—s3c2410/mach—smdk2410.C文件中定义。

  3.2 MISC类设备

  在AD7859L的结构体内创建一个miscdevice类型设备驱动的结构体指针,增添一个misc类型设备。该结构体在/include/miscdevice.h中定义。

结构体 

  在AD7859L驱动的probe函数中调用misc_register(stmctmiscdevice*misc)函数,对misc类设备注册,这个函数会为内核注册一个misc类型设备,如果minor被设置为MISCDYNAMIC_MINOR,系统会动态的为该设备分配一个次设备号,用以区分其他的设备。不同类型的设备调用的设备注册和注销函数有所不同。misc类设备的注销函数为misc_deregister(struct miscdevice}misc)。成功均返回零,否则返回一个错误代码。

结构体 

  3.3 应用

  测试的应用程序相对简单,利用open函数打开设备文件,通过ioctl函数设置AD7859L的各个采样参数,包括选择哪几路通道进行采样,采样的时间间隔,采样的方式等等。利用read函数读取缓冲区数据,在程序退出时调用close函数关闭设备文件。

  4 结语

  AD7859L是一款高速、低功耗的模数转换器,在测量行业有着很广阔的应用前景。随着大家对Linux的认可,嵌入式Linux会被越来越多的人所接受。通过介绍在Linux下以MISC类设备方式开发AD7859L的设备驱动程序,让大家更清楚的理解MISC类型设备的操作方法。

关键字:AD7859L  驱动  MISC类设备  高速数据采集 编辑:金海 引用地址:基于Linux的高速模数转换器AD7859L的应用

上一篇:Maxim推出带有电流监测器的小型升压转换器
下一篇:TI推出SNRBoost双通道11位200MSPS ADC

推荐阅读最新更新时间:2023-10-12 20:14

西门子:PLM正在驱动工业4.0发展
西门子工业软件(Siemens PLM Software)高级副总裁Bob Haubrock最近受访时,谈到产品生命周期管理(PLM)能为汽车产业带来的好处。Haubrock表示,PLM能实现产品不同生命周期点的数据自动化,因此实际上正在推动工业4.0发展。 西门子PLM软件能实现制造系统数据自动化,因此能推动工业4.0发展。 根据Autocarpro报导,西门子最近收购E-CAD大厂Mentor Graphics,目前已能提供从最初概念设计到制造,直到产品使用寿命结束的完整解决方案。西门子最近还收购LMS和CD-adapco这两家CAE公司,以增强创造的产品双生数字化(digital twin)的能力。 Haubrock指出,
[嵌入式]
显示驱动IC供需缺口缩小,明年整体或呈现平衡状态
过去一年多,由于晶圆供需偏紧,导致各类IC产品缺货不断,尤其是显示驱动IC产品。据爱集微了解到,今年第二季度,显示驱动IC供需缺口高达50%,而如今也仅达到客户需求的80%,预计明年将会处于供应平衡状态。 尽管当前显示驱动IC供应仍存在不足,但随着终端市场需求下滑,LCD面板价格也出现了不同程度回调,而各类显示驱动IC价格走势也随着供需变化而波动。比如电视/Chromebook等产品驱动IC需求下滑,产品价格略有下降,而商用机型产品价格却略有上涨,但整体涨跌幅较小。 供需缺口缩小至20% 2020年下半年以来,在居家经济催生笔电、电视等消费电子需求爆发,以及5G、服务器、数据中心、新能源汽车等领域市场需求大增的背景下,晶圆需求持
[手机便携]
μC/OS-II下通用驱动框架的设计与实现
1、概述 在嵌入式应用系统中使用嵌入式操作系统可以提高应用系统的开发效率和提升嵌入式应用系统的稳定可靠性,因此,在嵌入式应用系统中使用嵌入式操作系统将成为嵌入式应用系统的设计主流 。μC/OS-II是由美国学者Labrosse设计的一个优秀的嵌入式实时操作系统 ,它是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统,目前已经得到广泛应用。 μC/OS-II提供了操作系统必须具备的基本功能,包括:任务管理、信号量管理、邮箱管理、消息队列管理、事件管理、时间管理、内存管理,但它不提供设备管理和文件系统管理,已有研究者对μC/OS-II进行了文件子系统功能扩展 。在实际应用中,对系统设备的有效管理也是一个非常重要
[嵌入式]
一种高速图像数据采集板的设计方案
  1.概述   随着图像处理技术的快速发展,图像采集处理系统在提高工业生产自动化程度中的应用越来越广泛。本文结合实际系统中的前端图像处理和图像数据传输的需要,充分利用ARM的灵活性和FPGA的并行性的特点,设计了一种基于ARM+FPGA的高速图像数据采集传输系统。所选用的ARM体系结构是32位嵌入式RISC微处理器结构,该微处理器拥有丰富的指令集且编程灵活;而FPGA则在速度和并行运算方面有很大优势,适合图像处理的实时性要求;并且通过千兆以太网接口实现了采集板与上位机之间图像数据的高速远程传输。   2.硬件设计方案   2.1 系统总体设计   本设计采用的ARM芯片为三星公司的S3C2440A、FPG
[单片机]
一种<font color='red'>高速</font>图像<font color='red'>数据采集</font>板的设计方案
数字万用表电路图大全(模数转换电路/显示驱动电路)
数字万用表电路图(一) 数字万用表是在一个只有基本量程的直流数字电压表的基础上扩展而成的,这个电压表相当于数字万用表的“表头”。其原理见图1。在图1中,除显示器外,其余功能可全都集成在一个芯片上,具有这些功能的芯片叫A/D转换器,较常见的有ICL7106、ICL7107等多种型号,它们部属于双积分式A/D转换器。双积分A/D转换器内部电路虽然很复杂,但根据图1的电路可以说明其原理。它在一个测量周期内的工作过程如下: 测试开始,计数器清零,积分电容c放电,然后控制逻辑使K2、K3断开,K1接通,积分器对被测电压Vx进行正向积分,正向积分也叫采样,采样期间积分输出V01线性增加,经过零比较器得到过零方波,通过控制逻辑打开门G,计数
[测试测量]
数字万用表电路图大全(模数转换电路/显示<font color='red'>驱动</font>电路)
输出电流维持在±5%之间的高效率LED照明驱动IC
  RT8454/5/6是立锜科技(Richtek)最新推出的LED照明驱动IC,。相较于先前所推出支持DC灯源方案,此一新系列,针对AC输入的灯源,例如E27、GU10灯泡、T5、T8灯管、路灯、台灯等等,其主要功能是二次侧的定电流控制,能够在-20°C到+105°C的范围内将输出电流维持在+/-5%之间,让LED稳定工作在最高效率的状态,延长使用寿命,同时也避免了市面上同一款LED灯具往往照度有很大差距的问题。   其中RT8456的小封装可以将整个电源方案放入如E27这样的小灯泡里,根据灯具的种类,搭配不同的一次侧IC,有效提升系统效率。RT8455支持包括Triac dimming在内的多种调光
[电源管理]
输出电流维持在±5%之间的高效率LED照明<font color='red'>驱动</font>IC
安森美LED驱动器设计网上仿真工具
  LED照明设计过程中,工程师们选好LED驱动器方案后,就可以开始具体的LED照明电路设计。这个电路设计过程并不轻松,涉及到确定具体的设计要求(如电压、电流及LED数量等)、绘制应用电路图、进行设计分析和确定最终物料单(BOM)等,需要工程师耗费相当多的时间和精力。   假如有一种简单易用的网上设计仿真工具,可以让工程师们坐在工作台旁,就可以轻易地进行上述一系列工作。安森美半导体身为应用于高能效电子产品的首要高性能硅方案供应商,想工程师所想,与半导体产业网上设计方案供应商Transim Technology共同推出了交互式GreenPoint®网上设计仿真工具,用于高能效LED照明应用。   本文将简要介绍这网上
[电源管理]
安森美LED<font color='red'>驱动</font>器设计网上仿真工具
XScale PXA270在Linux下的FPGA设备驱动
摘要 以ACEX1K50为例,介绍FPGA在Intel XScale PXA270微处理器系统上的应用。通过内存映射机制实现ACEX1K50在Linux下的设备驱动;通过用户应用程序实现对ACEX1K50设备的操作,为FPGA在嵌入式领域的应用提供一种方法。 关键词 XScale PXA270 FPGA Linux 驱动 引言   Intel公司推出的XScale采用ARM V5TE结构,是Strong ARM的升级换代产品。XScale PXA270处理器最高主频可达624 MHz,加入了Wireless MMX、Intel SpeedStep等新技术,以其高性能、低功耗、多功能等特点在信息家电、工业控制等领域得到了广泛的应用
[半导体设计/制造]
小广播
502 Bad Gateway

502 Bad Gateway


openresty
502 Bad Gateway

502 Bad Gateway


openresty
502 Bad Gateway

502 Bad Gateway


openresty
502 Bad Gateway

502 Bad Gateway


openresty
502 Bad Gateway

502 Bad Gateway


openresty
随便看看
    502 Bad Gateway

    502 Bad Gateway


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

502 Bad Gateway


openresty