新闻中心

EEPW首页>测试测量>设计应用> 基于S3C2410的氢气浓度监测系统设计

基于S3C2410的氢气浓度监测系统设计

作者: 时间:2010-06-25 来源:网络 收藏

输入电流I1进入放大器ICL7650的反向端,输出电压正比于输入电流,电压U1=I1R2。为防止产生高频振荡,在电阻R2上并接了电容C1。R1为ICL7650的限流保护电阻。经过I/V转换后的电压信号U1和R4上所分得的电压一起,作为差动输入进入仪用放大器AD620AN,它的放大倍数仅由电阻RG(即R6)决定,增益公式为G=(49.4 kΩ/R6)+1。由于R4上所得的电压为一恒定值,而U1会随着输入信号的变化而变化,那么AD620AN的输出端电压信号U2即包含了一定的基底电压和被测信号量,对其进行滤波采样后,进行处理,可以从中分离出需要补偿的基底电压,得到实际的被测信号。由于基底电压是缓变的直流信号,在一定的时间(min级)内为定值,因此可以忽略处理时间(ms级),保证实时动态补偿。电路中的R3和R5与G2组成低通滤波电路,可以防止高频噪声进入放大器,减小噪声干扰。
2.2 滤波电路
经过放大后的直流信号附有噪声干扰,对于传感器信号滤波最常用的是RC有源模拟滤波器,即用运算放大器和电阻、电容构成,具有结构简单、调整方便、成本低的特点。因此采用由2个2阶巴特沃斯有源滤波电路级联构成的截止频率为50 Hz的4阶巴特沃斯低通滤波器。
2.3 ADC与微处理器接口电路
传感器输出信号频率一般都远小于1 kHz。根据香农采样定理可知,采样频率至少要大于信号最高频率的2倍。另外,为了满足最小2 mg/m3的分辨率,这里采用美国ADI公司推出的一款高速低功耗串行12位8 通道A/D转换器AD7888。它是单电源工作,电压VDD范围为2.7~5.25 V。AD7888有2.5 V的片内基准电压,也可以使用外部基准电压,范围从1.2 V到VDD。模拟输入电压从O到VREF,采样频率可高达125 kHz,可与多种串行接口(SPI/QSPI/MICROWIRE/DSP)兼容。
系统的核心处理器是三星公司推出的16/32位RISC处理器。它为手持设备和一般应用提供了低价格、低功耗、高性能的小型微控制器解决方案。提供了丰富的内部设备:分开的16KB的指令Cache和16 KB的数据Cache,MMU虚拟存储器管理,LCD控制器,支持NAND Flash系统引导,系统管理器,3通道UART,4通道的DMA,4通道PWM定时器,I/O端口,RTC,8通道10位ADC和触摸屏接口,I2C总线接口,USB主从机,USB设备,SD主卡和MMC卡接口,2通道的SPI以及内部PLL时钟倍频器等。
该系统利用SPI实现A/D转换器与ARM处理器的数据传输,其接口电路如图3所示。SPlCLK0为SPI串行时钟信号,SPIMISO0和SPIMOSI0数
据引脚用来发送和接收串行数据。nSS0作为SPI的片选信号,低电平有效。

本文引用地址://m.amcfsurvey.com/article/195385.htm

3 系统软件结构设计
本系统在上移植了韩国Mizi公司开发的Bootloader(VIVI)、嵌入式Linux-2.6.14内核以及cramfs根文件系统,构建了具有嵌入式Linux操作系统的软件环境。
3.1 外围设备驱动程序设计
Linux设备驱动程序是为特定硬件提供给用户程序的一组标准化接口,它隐藏了设备工作的细节。但对于特定的硬件设备来说,其对应的设备驱动程序不同,所以不同外部设备驱动程序的开发是嵌入式软件设计过程中必不可少的一部分。
Linux常以模块的形式加载设备,便于多个设备的协调工作也利于应用程序的开发和扩展。设备驱动在加载时首先需要调用入口函数ini-t_module()。该函数完成设备驱动的初始化工作,比如寄存器置位、结构体赋值等。其中最重要的一个工作就是向内核注册该设备,字符设备调用函数register_chrdev()完成注册,块设备调用函数reglster_blkdev()完成注册。相应地,设备驱动在卸载时需要调用cleanup_mod-ule()。该函数完成相应资源的回收、设备的注销、释放主设备号和设备文件名等。字符设备利用unregister_chrdev()注销设备,块设备利用unregister_blkdev()注销设备。



评论


相关推荐

技术专区

关闭