您当前的位置:首页>论文资料>基于S3c2410和嵌入式Linux的ADC驱动程序实现与应用

基于S3c2410和嵌入式Linux的ADC驱动程序实现与应用

资料类别:论文资料

文档格式:PDF电子版

文件大小:2.24 MB

资料语言:中文

更新时间:2024-12-20 16:34:42



推荐标签:

内容简介

基于S3c2410和嵌入式Linux的ADC驱动程序实现与应用 应用研究
基于S3c2410和嵌入式
Linux的ADC驱动程序实现与应用
新光明杜文平
(绵阳职业技术学院计算机科学系四川绵阳621000)
事费与度人
摘要:评期介绍s3c2410芯片ADC模块以及Limux的驱动模型,并且通过s3c2410内置的ADC驱动程序设计说明字并型设备驱动开发方法;将驱动端译为模块的方式,单独加载入内核,便于调试。以超级终端为操作台,控制驱动模块的加载和应用程序的运行。并通过实例介绍ADC驱动程序在信号进行采集处理
关键词:S3C2410 ADCLinux宇并设备驱动程序
中图分类号:TP311 1、引言
文献标识码:A
近年来,传感测试技术正朝着多功能、微型化、智能化、网络化无线化方向发展。无线传感器作为其中的新技术,是目前国内外研究的热点叫随着电子产业数字化程度的不断成熟,目前的控制电路以ARM系统为主体,同时在ARM系统下包含了很多数字电路和模拟电路的混合电路。所以作为模拟和数字电路的接口A/D、A/D转换器,越来越受到关注。
S3C2410是韩国三星电子公司推出的一款基于ARM920T内核的16/32位RISC最人式微处理器3,s3c2410配合SDRAM,FLASH 网口和串口就构成了基本的ARM嵌人式硬件平台。
嵌入式设备种类繁多的特点决定了不同的嵌人式产品在开发时都必须设计和开发自已的设备驱动程序,使得最人式Limux设备驱动程序的开发在整个嵌人式系统开发工作中占有非常重要的地位。下面分析Linux字符设备驱动程序的结构以及ADC驱动程序的开发方法,本驱动可以测试电压信号,或着作为工业传感器接口的部分对现场标准工程量信号进行采集处理,本文的硬件平台基于
北京博创嵌人式经典平台(UP-S3C2410)。 2、S3c2410及ADC模块
s3c2410芯片内部集成了一个8路10位的A/D转换器,并且支持触摸屏功能。ARM2410开发板只用作3路A/D转换器,其最大转换效率为500K,非线性度为±1.5位,如果系统时钟为50Mhz,比例值为49,则转换频率为1Mhz,转换时间为5μS
对ADC的操作,主要是通过ADC的几组寄存器进行读写操作: ADC控制寄存器(ADCCON),在ARM2410开发板上对应的物
理地址为0x58000000ADC数据寄存器(ADCDAT0),对应的物理地址为0x5800000c。
ADCCON寄存器的IS位是转换结束标志,为1时表示转换结束。14位表示A/D转换的预定标器使能位,为1表示预定标器启动。[13:6]位表示预定标器的数值,需要注意的是如果这单的值为N,则除数因子为N+1.[5:3]位表示模拟通道选择位,000表示IN0,111表示IN7。[2]位表示待用模式选择位。[1]位是读使能A/D转换开始位,[0]位置1,则A/D转换开始
ADCDAT0的前10位[9:0])表示转换后的结果,全1(03f)时为满量程3.3V。
3、Linux的设备驱动程序模型
在人式系统中,各种硬件设备繁多,而且没有统一的标准,而
文章编号:1007-9416(2012)09-0094-03
控制硬件又是最人式系统的核心内容。因此,联人式设备中的管理分为两层:上层与设备无关,它根据输人输出请求,通过特定的设备驱动接口,来与设备通讯。下层与硬件设备密切相关,常称为设备驱动程序,它直接与硬件设备打交道,并向上层提供一组访问接口。
在Linux中,系统调用是内核和应用程序之间的接口,而驱动程序是内核与硬件之间的接口。驱动程序为应用程序屏蔽了硬件的细节,应用程序可将硬件设备看成一个设备文件,像操作普通文件一样对硬件设备进行操作。
Linux系统里,任何设备都是以文件的形式来表示,即对文件的操作实质反映的是对设备的操作。Linux系统的设备分为3种类型,分别是字符设备、块设备和网络设备。
字符设备是指不需要缓冲而直接读写的设备,如串口,键盘,鼠标等。本文所涉及的ADC模块驱动程序就属于字符设备驱动程序。对字符设备发出读写请求时,实际的硬件1/O一般就紧接着发生

3.1驱动程序的功能
驱动程序作为内核的一部分,主要完成功能有:(1)对设备进行
初始化和释放,如向内核注册设备,设置相关IO参数,分配设置使用内存等。(2)把数据从内核传送到硬件或从硬件读取数据并提交给内核。(3)读取应用程序传送给设备文件的数据和回送应用程序请求的数据。(4)检查和处理硬件设备出现的错误:
3.2驱动程序开发、调试的方法
种是将其作为内核的一部分,直接编译到内核中,即静态编
译。另一种是将驱动程序单独作为一个模块编译,在需要时再动态地把它加载到内核,不需要时可以从内核中卸载,即动态连接。由于 S3c2410芯片中有MMU,使用动态连接方式进行加载便于调试。本文ADC驱动使用后一种方式。
3.3设备文件和设备号
Linux使用设备文件的概念来统一对设备的访问接口。在2.4 版内核中引人了设备文件系统(devfs),面之前的linux将设备文件放在"/dev"目录下。
传统的设备管理中,除了设备类型外,linux内核中还需要一对称作主设备号、次设备号的参数才能唯一标示一个设备。
3.4设备文件相关的数据结构
设备文件作为Linux中的一种特殊文件,也可以通过普通文件的操作函数访问,前提是必须实现文件中的相应函数,这些函数和文件相关的数据结构的定义是对应的。
file_operations是定义文件操作的数据结构,其定义了一组l/
作者简介:新光明,男,1967年出生,陕西丹风人,制投授。适年来主要从事计算机原理、嵌入式系统的教学及科研工作。
社文平,男,1974年出生,内蒙乌兰察布市人,工程师。近年来主要从事计算机网络、物联网的教学及科研工作。
上一章:微波雷达辅助视频车辆分类检测器 下一章:面向数据库的中间件技术研究

相关文章

ARM9嵌入式系统设计:基于S3C2410与Linux 嵌入式Linux应用程序开发详解 嵌入式设计及Linux驱动开发指南-基于ARM9处理器 基于ARM9_2410EP的嵌入式Linux的研究和移植 基于ARM和RT-Linux的嵌入式机床数控系统设计 一种基于嵌入式Linux 和 Boa的SF6互联网仪表 Qt4在Linux﹢ARM9嵌入式系统中的移植与应用 基于Linux的嵌入式停机坪保障设备状态监测平台设计