快捷搜索:  test  as  www.ymwears.cn  test aNd 8=8

A/D芯片与神经元芯片的两种接口实现方法

1、 小序

在传统的工业节制中,现场的传感器与节制器之间总因此4~20mA的直流电流或1-5V的直流电压来通报信息的。跟着工业节制技巧的赓续成长,工业节制系统正向着数字化、智能化、收集化和开放化的偏向成长。是以,模拟传输垂垂被数字传输所取代。而现场总线(FieldBus)则可以很好地适应工业节制技巧成长的趋势,是对成熟节制系统布局的根本厘革。LonWorks总线是美国Echelon公司于1991年提出的一种现场总线,它采纳面向工具的设计措施,经由过程收集变量把收集通信设计简化为参数设置。LonWorks技巧的核心是神经元(Neuron)芯片,这个神经元片中有三个8位的CPU,它们不仅可以用作LonWorks总线的通信处置惩罚器,而且还可以用作采集和节制的通用场置惩罚器。本文先容具有串行口的A/D芯片TLC0832与作为通用场置惩罚器的神经元芯片的两种接口实现措施。

2、 Neuron芯片和TLC0832的基础特点

2.1 Neuron芯片的基础特点

LonWorks收集是由节点构成的,每个节点包括一片Neuron芯片、传感和节制设备、收发器和电源。此中,Neuron芯片是节点的核心,它具有3个CPU:CPU-1是介质造访处置惩罚器,CPU-2是收集处置惩罚器,CPU-3是利用场置惩罚器。Neuron芯片家族中的最初成员是Neuron 3120xx和Neuron 3150芯片。3120xx芯片中包括EEPROMRAM、ROM存储器,而3150芯无内部ROM,但拥有造访外部存储器的接口,其寻址空间可达64kB,可用于开拓更为繁杂的利用系统。

Neuron芯片经由过程11个引脚(IO-0~IO-10)与外部硬件相连。这11个引脚可定义34种I/O工具,用户可根据实际利用必要在利用法度榜样中定义不合的I/O工具,如直接的I/O工具、并行I/O工具、串行I/O工具和准时器/计数器输入/输出工具等。

2.2 TLC0832的基础特点

TLC0832是八位逐次贴近亲近模数转换器,它有两个可选择的输入通道。TLC0832的特征如下:

*8位分辨率;

*可和微处置惩罚器接口或自力应用;

*可满量程事情或应用5V基准电源;

*具有单通道或多路器选择的双通道,并可选择单端或差分输入;

*采纳单5V供电,输入范围为0~5V;

*输入和输出与TTL和CMOS兼容;

TLC0832处于事情状态时,置CS端方可启动转换,并使所有的逻辑电路使能。CS在全部转换历程中必须置为低电平,接着从处置惩罚器吸收一个时钟。当一个时钟的光阴距离被自动插入后,可以使多种转换器选定的通道稳定。而当DO离开高阻状态时,可供给一个时钟的光阴距离的前导低电平,以使多路器稳定。SAR对照器用于对电阻梯形收集输出的逐次旌旗灯号和输入模拟旌旗灯号进行对照,对照器输出则用于表示刘大年夜于照样小于电阻梯形收集的输出。在转换历程中,转换的数据同时从DO端输出,并以最高位(MSB)开首。在颠末8个时钟后,转换完成,CS变高,内部所有寄存器清零,此时,输出电路变为高阻状态。假如盼望开始另一个转换,CS必须有一个从高到低的跳变,且后面应紧随着输入地址数据。TLC0832的输入设置设置设备摆设摆设可在多路器寻址时序中进行,多路器地址经由过程DI端移入寄存器。用多路器地址选择模拟输入通道的措施如表1所列,其事情时序图如图1所示。

3、 Neuron和TLC083的两种接口措施

3.1 基于Neuron芯片Neurowire I/O模式规划

如上所述,Neuron芯片TMPN3150的11个I/O脚有多种I/O模式,这里用的是Neurowire模式。这种要领把TMPN3150的I/O脚定义为Neurowire I/O工具,即同步全双工串行通信模式,它每次最多可传送255比特的数据流。Neurowire I/O工具可设置设置设备摆设摆设为主控要领和被控要领。当为主控要领时,IO8为移位时钟旌旗灯号输出端,IO9为串行数据输出端,IO10为串行数据输入端,IO0~IO7可任选一个作为片选旌旗灯号线。若Neuron芯片的输入时钟为10MHz时,则IO8的输出时钟频率可选为1、10或20kb/s;当为被控要领时,IO8为移位时钟旌旗灯号输入端,IO0~IO7可任选一个作为光阴溢出旌旗灯号引脚。

a. 措施1的硬件实现

基于Neuron芯片的Neurowire I/O模式的硬件电路如图2所示。图中,IO0输出片选旌旗灯号。图1中的输入只画了一起CH0,另一起CH1与CH0相同。当输入为电压旌旗灯号时,J断开;输入为电流旌旗灯号时,J连通。

b. 措施1的软件实现

神经元芯片的编程是采纳Neuron C说话来完成的。Neuron C是专门为Neuron芯片设计的编程说话,它有着富厚的函数库,可直接完成许多繁杂的义务。

基于Neuron芯片的Neurowire I/O模式的A/D接口法度榜样如下:

//////// IO Objection ////////

//定义为Neurowire主模式,A/D芯片的主选旌旗灯号由IO0输出初始化为1

IO-8 neurowire master select (IO-0) ioA2D;;

IO-0 output bit ioA2Dselect =1;

IO-1 input bit start_adc;

# pragma ignore_notused ioA2Dselect

//////// funcTIon declare////////

unsigned long adc(unsigned long analog_addr);

////////funcTIon definiTIon////////

//A/D转子函数

unsigned long adc(unsigned long analog-addr)

//形参analog_addr通报要选择的通道,选择CH0时,analog_addr=0x06,选择CH1时,analog_addr=0x07

{

unsigned long adc_info;

unsigned long digital_out;

adc_info = (analog_addr 《《 13);

io_in(ioA2D,&adc_info,16); //选择通道,同时接管转换的结果

digital_out=adc_info & 0x0ff0;

digital_out=digital_out 》》4;

return digital_out;

}

因为eurowire I/O工具是双向的,即输入、输出同时进行。是以,调用io_in(ioA2D,&adc_info,16)时启动了16位的双向数据传输,该敕令可将adc_info中的数以比特流的形式从IO-9运送到TLC0832,同可时经由过程IO10从TLC0832的DO脚读入16位数并放入adc_info。由TLC0832的事情时序图(图1)可以看出,接管到的16位数中的第5位到第12位便是转换结果,以是做了后面的处置惩罚。

3.2 基于Neuron芯片的比特I/O模式规划

TMPN3150和TLC0832的第二种接口实现措施是把TMPN3150的I/O脚定义为比特I/O工具,它可用以监控与Neuron芯片相连的I/O设备中某个引脚上的逻辑状态,此中“0”为低电平,“1”为高电平。

a. 措施2的硬件实现

措施2的硬件电路如图3所示。图中,输入通道只画了一起CH0,另一起CH1与CH0相同。当输入为1-5V的电压旌旗灯号时,J断开;当输入与4-20mA的电流旌旗灯号时,J连通。

b. 措施2的软件实现

Neuron C说话是从ANSI C中派生出来的,相对付ANSI C而言,它进一步扩展了用以支持由Neuron芯片中的固件供给的各类运行特点。

措施2的A/D接口法度榜样如下:

////////IO ObjecTIon////////

//将IO脚定义为比特IO工具,

IO-2 input bit io-do;

IO-0 output bit cs;

IO-3 output bit di;

IO-1 output bit clk;

////////function declare////////

int adc(int adc-addr);

///////function definition//////

//A/D转换子函数

int adc(int adc_addr)

//形参analog_addr通报要选择的通道,选择CH0时,adc_addr=0x60;选择CH1时,adc_addr=0x70//

{

int adc_inbit,digital_out=0;

io_out(cs,0);

io_out(di,0);

for(i=0;i《3;i++)//选择通道

{

io_out(clk,0);

adc_addr=adc_addr《《1;

if(adc_inf0 &0x80)==0x80

io_out(di,1);

else

io_out(di,0);

io_out(clk,1);

}

io_out(clk,0); //一个时钟的距离

io_out(clk,1); //以使多路器稳定

for(i=0;i《8;i++) //接管转换结果

{

io_out(clk,0);

if(io_in(io_do)= =1)

{

adc_inbit=1;

adc_inbit=adc_inbit《《(7-i);

digital_out=digital_out+adc_inbit;

}

io_out(clk,1);

}

io_out(cs,1)

return digital_out;

}

4、停止语

Neuron芯片不合于通俗的微处置惩罚器,本文先容的神经元芯片与A/D芯片TLC0832的两种接口实现措施各有利弊,详细体现如下:

(1)措施1是Neuron芯片所特有的,而措施2较通用,它不仅适用于Neuron芯片,而且适用于各类有I/O脚的微处置惩罚芯片;

(2)措施1的硬件要求对照严格,可选的I/O脚只有一个,即片选旌旗灯号输出脚,而措施2脚把几个与TLC0832相连的I/O脚视为通俗的I/O脚,随便哪个I/O脚都可与TLC0832相连(假如Neuron芯片的IO8、IO9或IO10已用,那只能选措施2了);

(3)措施1编程较短,但不只于调试,而措施2则编程较长,但较为直不雅,而且便于调试;

(4)措施1的CLK占空比和时钟速度较为稳定,而措施2的CLK占空比与指令履行光阴有关。对付常用单片机的人来说,措施2较易上手,则措施1则更专业;措施2的硬件接法更机动,但编程较长……总之,应用这两种措施应根据实际环境机动地作出选择

责任编辑:gt

您可能还会对下面的文章感兴趣: