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转换控制模块通过长时间运行测试,其性能可靠,故障率低,节约能耗,实现了多个模拟量转换、采集与处理功能,给现场自动化控制系统的集成带来较大的灵活性。
上一篇:单电源供电回路中获得正负电源的原因
下一篇:固定频率工作的降压稳压器设计
推荐阅读最新更新时间:2023-10-18 16:03
Vishay线上图书馆
- 选型-汽车级表面贴装和通孔超快整流器
- 你知道吗?DC-LINK电容在高湿条件下具有高度稳定性
- microBUCK和microBRICK直流/直流稳压器解决方案
- SOP-4小型封装光伏MOSFET驱动器VOMDA1271
- 使用薄膜、大功率、背接触式电阻的优势
- SQJQ140E车规级N沟道40V MOSFET