硅酸盐厂家
免费服务热线

Free service

hotline

010-00000000
硅酸盐厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

基于ARM9电能质量监测仪的数据采集 免费猫

发布时间:2020-02-17 13:58:55 阅读: 来源:硅酸盐厂家

基于ARM9电能质量监测仪的数据采集

在进行数据采集时,操作过程分为以下3步:(1)首先要将MAX1324的工作方式设置为8个通道的瞬时采样,引脚ALLON接高电平,拉低和时,向数据线D0~D7写入全“1”,这样8个通道就能都被选中,实现同步ADC;(2)拉低ARM的 GPAl2端子,使CONVST引脚为低电平,输入信号在采样保持器达到稳定的电平后,再由CONVST的上升沿开始启动A/D,这里的多通道转换是按通道号由低到高的顺序进行,当最后一个通道的转换结束后,所有通道转换结束信号跳变为低电平,转换结果先储存于片内对应的14位×8的SRAM中;(3)读取模数转换结果数据,其方式有两种:一种是查询方式,MAX1324的引脚接到S3C2410的一个I/0引脚上,S3C2410启动A/D转换后,不断地查询这个I/0引脚是否为低电平,以判断转换是否结束,然后再依次读取转换后的数字信号;另一种是中断方式,MAX1324的引脚直接接到 S3C2410的一个外部中断引脚上,一旦转换结束,则向S3C2410申请中断,S3C2410就会进入中断服务程序,依次读取MAX1324转换后的数据。为了提高CPU的使用效率,采用中断方式,图4中MAX1324的引脚接到S3C2410的外部中断EINT3的引脚上。当A/D数据转换结束后,就会向S3C2410的EINT3发出低电平,当EINT3引脚为低电平时,就会先后向MAX1324的引脚发出8个读脉冲,控制选通引脚分时读取 MAX1324转换后的8个通道ADC数据。

2 接口驱动

设备驱动程序的任务包括自动配置和初始化子程序,负责检测所要驱动的硬件设备是否能正常工作。如果该设备正常,则对这个设备及其相关的设备驱动程序需要的软件状态进行初始化。

Linux下的设备驱动程序被组织为一组完全不同任务的函数的集合。编写A/D驱动,主要完成对A/D器件控制寄存器和数据寄存器的 open0,closeO,read0,writeO等的操作,并在file_operations中注册。

static struct file_operations adcmax1324_fops={

open:ademaxl324_open,

ioctl:adcmaxl324_ioctl,

read:adcmaxl324_read,

write:ademaxl324_write,

release:adcmaxl324_release,

}

下面介绍其中几个重要的函数:

(1)adcmaxl324_write函数:调用该函数,通过双向数据线DATAO~DATA7向MAX1324写人数据OxOOFF,把 MAX1324设置成8通道同时转换的模式;(2)ademax1324_ioctl函数:Ioctl函数跟踪信号,启动A/D转换; (3)adcmax1324_read函数:read函数把中断处理函数中读到的数据发到用户程序。

最后在init()中完成初始化工作。包括注册设备驱动程序和申请系统资源。在编写驱动程序时通常编写成模块的形式,在模块加载时调用初始化函数 module_init(),在卸载时调用卸载模块函数module_exit()。

3 结束语

火车的故事

香蕉的种植技术

蜗居小说全文免费阅读