当前位置:首页 > 智能硬件 > 智能硬件
[导读]根据神经元芯片TMPN3150的两种I/O模式,给出了该神经元芯片与A/D芯片TLC0832实现接口的两种不同方法。

摘要:根据神经元芯片TMPN3150的两种I/O模式,给出了该神经元芯片与A/D芯片TLC0832实现接口的两种不同方法,同时给出了硬件电路和软件程序,并对两种方法进行了比较。

    关键词:Neuron芯片 TMPN3150 A/D芯片 TLC0832

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芯片中包括EEPROM、RAM、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所示。

表1 选择模拟输入通道

通道号 CH0 CH1
输入数据流(bit) 110 111

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的硬件接法更灵活,但编程较长……总之,使用这两种方法应根据实际情况灵活地作出选择。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭