完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
李言武 安徽工贸职业技术学院
控制信号中的模拟量传输正逐步改为数字量传输,各种非数字化设备也必将逐步为数字化智能产品所取代。但是,在实际生产现场依然有大量的数据是模拟量,例如压力、液位、温度等,必须通过A/D转换才能将这些数据送到控制系统进行分析处理。为满足实际需要,本文提出利用MC143150 Neuron芯片和12位串行模数转换器ADS7844开发与设计多通道A/D转换控制模块,实现了多个模拟量信号的并行采集、分析与处理功能,具有精度高和性能可靠等特点。 |
|
相关推荐
3个回答
|
|
1 硬件设计
多通道A/D转换控制模块的硬件总体结构如图1所示,主要包括模拟信号电路、8通道12位串行A/D转换器ADS7844和MC143150 Neuron芯片。设计中利用8通道12位串行A/D转换器ADS7844实现模拟量的数字化转换,同时利用MC143150 Neuron芯片对ADS7844的8通道模拟输入量的数字化转换结果进行循环采集,实现多个模拟量数据的并行采集、分析与处理,较大程度地满足了应用现场的实际要求。 1.1 ADS7844 ADS7844是Burr-Brown公司生产的宽电压、低功耗、高性能的12位串行模数转换器。它有8个模拟输入端,可编程设置为8通道单端输入或4通道差分输入的A/D转换器,还可编程使芯片处于低功耗电源工作模式。ADS7844的转换率可达200 kHz,而线性误差和差分误差最大仅为±1LSB。ADS7844电源电压为2.7~5 V之间均能正常工作,最大工作电流为1 mA,进入低功耗状态后的耗电仅3μA。 (1)ADS7844的引脚功能。 CH0~CH7:模拟输入端,当器件被设置为单端输入时,这些引脚可分别与信号地COM构成8通道单端输入A/D转换器;当器件被设置为差分输入时,利用CH0~CH1、CH2~CH3、CH4~CH5和CH6~CH7可构成4通道差分输入A/D转换器; COM:信号地; VREF:参考电压输入端,最大值为电源电压; 片选端,低电平有效,该脚为高电平时,其他数字接口线呈三态; DCLK:外部时钟输入端,在时钟作用下,CPU将控制字写入ADS7844,并将转换结果从中读出; DIN:串行数据输入端,在片选有效时,控制字在DCLK上升沿被逐位锁入ADS7844; DOUT:串行数据输出端,在片选有效时,转换结果在DCLK的下降沿开始被逐位从ADS7844移出; BUSY:“忙”信号输出端,在接收到控制字的第一位数据后变低,只有在转换结束且片选有效时,该脚才输出一个高脉冲; :电源关闭端,低电平有效。当SHDN为低电平时,ADS7844为低功耗状态; VCC,GND:分别为电源端和数字地。 (2)ADS7844的控制字。 通过ADS7844的控制字可以设置其信号联结方式、选择数据转换通道和电源工作模式。ADS7844控制字如表1所示。 其中,S是起始位,控制字的起始位总为“1”;A2~A0是通道选择位,在单端输入时分别对应8个通道,对应关系见表2,而对于差分输入,CH0~CH1、CH2~CH3、CH4~CH5、CH6~CH7分别对应差分信号的输入端,其对应关系如表3所示。 SGL/DIF是模式控制位,该位为“1”时是单端输入模式,为“0”时是差分输入模式;PD1和PD0是电源模式控制位,其含义如表4所示。 (3)ADS7844的转换时序图。 ADS7844有3种转换时序,分别是15-时钟转换时序、16-时钟转换时序和24-时钟转换时序,通常采用转换周期为24个时钟周期的工作时序,其中8个用于输入控制字,16个用于读取转换结果,如图2所示。控制字的所有位在时钟上升沿被锁入芯片,转换结果在时钟的下降沿被逐位移出。所有移入和移出的数据都是高位在前、低位在后。需要说明的是,ADS7844是12位A/D转换器,其转换结果只有12位,故在移出12位结果后,还需送入4个时钟来完成整个转换过程,这4个多余时钟移出的数据为“0”,使用时不应作为转换结果处理。 1.2 MC143150 Neuron芯片 MC143150 Neuron芯片是Motorola公司成熟的VLSI设备,集成了硬件和固件,提供了完整的系统资源,3个管线处理器,其中一个用于执行用户编写的应用程序、另外两个完成网络中Neuron芯片间的信息交互任务。Neuron芯片通过11只引脚与应用指定的外部硬件相连,可以配置直接I/O对象、并行双向I/O对象、串行I/O对象等多种工作方式,从而可以借助最少的外接电路实现灵活的输入输出功能。 为了便于现场应用,将MC143150 Neuron芯片、收发器Transceiver、定时器以及存储器集成在一起,如图3所示。其中Clock给MC143150 Neuron芯片提供工作基准时钟信号,RAM/ROM等存储器用于存放MC143150 Neuron芯片的固件与用户应用程序,Transceiver用于模块间网络互联,I/O调处与A/D转换器ADS7844的对应数据端口、外围电源、MC143150 Neuron芯片的Reset和Service控制按键相连接,维护MC143150 Neuron芯片的正常工作以及实现端口数据的采集、分析和处理等功能。 |
|
|
|
2 软件设计
Neuron C是专门为Neuron芯片设计的编程语言,它以ANSI C为基础,包括对ANSI C的扩展,可直接支持Neuron芯片的软件固化。Neuron C定义了多种I/O对象类型,如直接、计数器/计时器、串行和并行。下面介绍MC143150 Neuron芯片对ADS7844的8个通道工作在差分输入方式下进行循环采样的程序设计过程。 选用MC143150 Neuron芯片的Neurowire输入/输出作为I/O对象,使MC143150 Neuron芯片循环采集ADS7844输出端口DOUT信号,实现与ADS7844同步全双工串行通信。 2.1 Neurowire输入/输出对象语法结构定义 IO_8:Neurowire输入/输出对象使用管脚IO_8~IO_10,IO_8指定时钟管脚,IO_9是串行数据输出管脚,IO_10是串行数据输入管脚。 Master:指定Neuron芯片在管脚IO_8上提供时钟,设置为输出管脚。 Slave:指定Neuron芯片检测在管脚IO_8上的时钟,设置为输入管脚。 Select(pin-nbr):为Neurowire master指定片选管脚,为IO_0~IO_7管脚之一。 Timeout(pin-nbr):为Neurowire Slave指定一个可选择的超时信号管脚,其范围是IO_0~IO_7。当使用超时信号管脚时,当neuron芯片等待时钟的上升沿或下降沿时,将检查该管脚的逻辑电平。如果检测到逻辑电平为“1”,则传输停止。 Kbaud(const—expr):为Neurowire master指定比特率,const—expr可以为1 kb·s-1、10 kb·s-1或20 kb·s-1。对于10 MHz的Neuron芯片输入时钟,缺省值为20 kb·s-1。 Clockedge(+|-):指数据触发时钟信号极性,clockedge(+)为上升沿,clockedge(-)为下降沿。 io-object-name:由用户为该I/O对象指定的名字。 2.2 采样的程序清单 |
|
|
|
3 结束语
目前,该多通道A/D转换控制模块通过长时间运行测试,其性能可靠,故障率低,节约能耗,实现了多个模拟量转换、采集与处理功能,给现场自动化控制系统的集成带来较大的灵活性。 |
|
|
|
只有小组成员才能发言,加入小组>>
825 浏览 2 评论
12776 浏览 0 评论
4085 浏览 7 评论
2308 浏览 9 评论
2117 浏览 2 评论
428浏览 2评论
826浏览 2评论
555浏览 1评论
617浏览 1评论
AD7656在没有输入信号时,测量输入端都会有几mV至几十mV的电压,怎么消除呢?
494浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-3 06:49 , Processed in 1.028260 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号