您的位置 首页 芯闻

根据可编程数字电位器的AVR嵌入式单片机分析

基于可编程数字电位器的AVR嵌入式单片机剖析-AVR嵌入式单片机具有丰富的硬件、软件资源,其中的串行I2C接口能满足很多应用场合的要求,两个AVR单片机通过I2C总线直接连接就可实现单片机相互通信;AVR单片机还可以和任何具有I2C总线接口的外设直接连接而无须其它硬件电路支持。而X9221系列可编程数字电位器在智能测试设备上应用非常广泛,通过I2C总线可以简单地构成单片机与各种外设之间乃至与计算机之间的通信,建立友好的人机界面联系。硬件设计简单、灵活,只需要将所有设备的SDA和SCL信号线分别并联在一起并加上拉电阻即可,有助于提高设备的自动化水平、可靠性、稳定性及电气装配的工艺性。AVR单片机和X9221系列可编程数字电位器都有内置的E2ROM单元,可以非常方便地为用户保留一些工艺参数;X9221系列电位器0~63级的变化可以将电位器调节到手动无法实现的平滑级别,调节过程中不

1 导言

AVR嵌入式单片机具有丰厚的硬件、软件资源,其间的串行I2C接口能满意许多运用场合的要求,两个AVR单片机经过I2C总线直接衔接就可完结单片机彼此通讯;AVR单片机还能够和任何具有I2C总线接口的外设直接衔接而无须其它硬件电路支撑。而X9221系列可编程数字电位器在智能测验设备上运用非常广泛,经过I2C总线能够简略地构成单片机与各种外设之间甚至与核算机之间的通讯,树立友爱的人机界面联络。硬件规划简略、灵敏,只需求将一切设备的SDA和SCL信号线别离并联在一起并加上拉电阻即可,有助于进步设备的主动化水平、可靠性、稳定性及电气安装的工艺性。AVR单片机和X9221系列可编程数字电位器都有内置的E2ROM单元,能够非常方便地为用户保存一些工艺参数;X9221系列电位器0~63级的改动能够将电位器调理到手动无法完结的滑润等级,调理进程中不会发生噪声且寿命长、不受机械振荡污染湿润影响等。

2 X9221系列数字电位器介绍

2.1电气特性及硬件结构原理

X9221系列电位器共有15种规格型号,有双列直插DIP20和外表贴装SOIC20两种封装。电源电压民等第、工业级为4.5~5.5V,军等第为2.7~5.5V;一组封装芯片内有两个数字电位器,参见图1,X9221系列电位器封装及引脚功用。内置的E2ROM单元,能够在掉电时将数据很好地保存,上电时主动加载到自己的RAM单元,电位器接口是规范的I2C总线,其间的数据寄存器可经过I2C总线进行读写操作;电位器滑动端(VW0/RW0,VW1/RW1)相当于一般电位器中心抽头,是无冲突“触点”。

依据可编程数字电位器的AVR嵌入式单片机分析

X9221系列电位器总电阻装备有3种阻值2 kΩ、10kΩ、50kΩ,用户可依据自己的规划需求来选型。每一个芯片有A0~A3四位二进制编程的器材地址以差异I2C总线上接入的不同外设,因而,一条总线上最多可接入16个X9221器材。器材内部有两组类型的寄存器“DATA”和“WCR”,他们的拜访则由串行数据线上的指令字来确认。电阻阵列经过内部编码能够有64种状况,0~63种状况的接连改动,相当于电位器中心抽头从一般电位器的一端滑动到另一端;一切的寄存器都能够经过I2C总线进行双向操作,即可读可写。

“在线”实时的调理电位器“中心抽头方位”能够有3种方法:经过I2C总线向WCR寄存器写数据(串行加载)、经过对相应的DATA类寄存器直接写数据(并行加载)、以及增量减量指令(下面会讨论到)直接写数据;概念上电位器“中心抽头方位”能够由“WCR”寄存器来代替,其另一类寄存器能够由“DATA”寄存器来代替。

2.2数字电位器I2C总线时序及指令

2.2.1一般I2C总线通讯时序

X9221系列数字电位器其接口是按规范的I2C总线规划的,因而,硬件衔接非常简略,只需把串行时钟线SCL、串行数据线SDA与之对应相连即可。其通讯彻底符合I2C总线协议要求,串行时钟线SCL、串行数据线SDA依照规则的协议发生一序列脉冲串,然后完结传输一组数据的使命。参见图2 I2C总线通讯时序。

依据可编程数字电位器的AVR嵌入式单片机分析

X9221系列数字电位器彻底以从机的身份出现在I2C总线上,它不能够主机的身份出现在I2C总线上,也便是说对其寄存器的读写操作都受控于主机,这一点必定要在硬件和软件规划上留心。当主机宣布“START”信号后,从机(X9221A)芯片行将拉高SDA线,标明抛弃数据线权限由主机操控,主机发送一个字节后再由从机(X9221A)芯片主动拉低SDA线,标明数据收到,假如此刻从机将SDA线拉不低,标明从机没有正常承受数据,主机有必要发动下一个写周期。能够了解为主机每发送一个字节后都会等候一个ACK答复呼应信号,不然,主机以为从机(X9221A)没有正常接纳数据。

2.2.2 X9221指令表

表1是X9221一切指令阐明,其间前4种指令的正常履行需求在串行数据线上至少有3个进程:①经过数据线写从机地址;②写指令;③写数据。才干完结一个寄存器的读或写,这4种指令适用于X9221三字节时序格局操作。假如是写在WCR类型的寄存器中,掉电后数据丢掉,写在DATA类型的寄存器中,掉电后数据存在其间;大局转化的4种指令的正常履行需求在串行数据线上至少有2个进程:①经过数据线写从机地址、②写指令,才干完结一切寄存器之间的数据交换,适用于X9221两字节时序格局操作;最终一种“+/-”指令相当于“在线”上下调理电位器中心抽头,比较直观,很好了解。“+/-”指令仅拜访WCR类型寄存器,且只是写操作,假如数据线SDA坚持高电平,下一个时钟信号SCL周期到来,WCR寄存器数据“+1”。假如数据线SDA坚持低电平,下一个时钟信号SCL周期到来,WCR寄存器数据“-1”。可是,不论哪种指令,只需写DATA类型的寄存器(芯片内的E2ROM存储单元),写操作要花费大约10 ms时间才干完结,在规划通讯软件时必定要特别留心。

依据可编程数字电位器的AVR嵌入式单片机分析

3 AVR系列单片机与数字电位器硬件和软件规划

3.1 X9221数字电位器与AVR系列单片机硬件接口

X9221数字电位器与AVR系列单片机硬件接口如图3所示。硬件衔接非常简略,只需将一切设备串行数据线SDA、串行时钟线SCL相衔接并接10 kΩ左右的上拉电阻即可。衔接在I2C总线上的逻辑电平为“线与”逻辑联系,只需有一个设备将其拉低,总线上即出现低电平,当一切设备总线都悬挂起时出现高阻状况。主机发送形式便是向其间一个外设写入数据,首要发生一个发动信号“START”,“START”发送成功后才向外设发送设备地址,地址发送成功后,再发送数据,数据能够是1~N个字节,一切数据发送完结,最终发送“STOP”完结主机写的进程。主机接纳形式也是相同的,进程相似。对X9221来说地址发送完结后,有必要发送指令形式,告知X9221现在将做什么,指令的含义上面已说到,指令形式后是一组数据,其它进程相同。

依据可编程数字电位器的AVR嵌入式单片机分析

为了使I2C总线处于正常状况,一切总线上的设备有必要加电,假如有一个设备没有加电,总线将处于不正常作业状况。在总线上有几个设备一起欲将发送数据时,竞赛中某主机发现裁定失利后,应当即回到从机状况或抛弃总线恳求,确保获取总线操控权的主机正常发送数据;不同的主机有不同的总线时钟频率,经过SCL信号“线与”来确保,即高电平为高电平中最短的,低电平为低电平中最长的,也便是说协议“照料”了速度最慢的设备;集结在总线上一切的传送有必要包括相同数目的数据包,不然,多主机体系中裁定成果无法界说,这在规划上要特别留意。

3.2 X9221数字电位器与AVR系列单片机通讯软件规划

下面是一个经过查询由atmega16单片机向X9221发送数据的例程,在这个例程中需求留意的是TWINT标志运用软件写“1”进行清零(铲除硬件置位标志),而当时发送完结后由硬件主动将TWINT标志置“1”,TWINT标志是不能经过硬件清零的;每次经过查看TWINT标志判别当时发送是否完结,经过读取状况寄存器TWSR的值判别发送的数据是否正确。

START:

LDI R16,$A4;设置AVR单片机I2C总线操控寄存器

OUT TWCR,R16;软件铲除TWINT标志WAIT1:

IN R16,TWCR;读取操控寄存器TWCR

SBRS R16,7;等候硬件置位TWINT标志

RJMP WAIT1;TWINT标志没置位,循环查看等候

IN R16,TWSR;读取状况寄存器TWSR

ANDI R16,$F8;屏蔽无效位

CPI R16,$08:查看“START”信号是否发送成功

BRNE ERROR;“START”信号发送未成功,转入犯错处理

LDI R16,$56;发送X9221器材地址56=“5”器材标识,“6”器材地址

OUT TWDR,R16

LDI R16,$84

OUT TWCR,R16;软件铲除TWINT标志

IN R16,TWSR

ANDI R16,$F8

CPI R16,$18;查看X9221器材地址是否发送成功

BRNE ERROR;X9221器材地址发送未成功,转入犯错处理

LDI R16,$2F;设置所发送的数据(0~63有用,例中为47)

OUT TWDR,R16;数据输出到数据寄存器TWDR

LDI R16,$84

OUT TWCR,R16;软件铲除TWINT标志;查看数据“2F”是否发送完结,相似于上述循环持续

LDI R16,$94;发送“STOP”信号,一次‘$2F’数据发送完结

OUT TWCR,R16

ERROR:···;犯错处理进程

END

在此例程中,器材的地址对X9221来说为56,其间“5”是器材自身固有的以差异于其它类型的设备,而“6”是规划硬件时规则的,能够是“0~F”任何十六进制数值;例程中AVR单片机仅作为主机运用且向X9221发送数据,其实从X9221中读取当时数据也是相同的。本例程选用查询方法,程序显得繁琐,可是假如选用中止方法的话,程序就会显得简略多,只需标志SREG寄存器中“I”位和I2C总线操控寄存器中的“TEWIE”置“1”,即中止使能有用,当“TWINT”标志置“1”当即发生中止恳求,标明完结当时数据发送完结,能够预备下一个字节数据发送或中止发送等操作。

4 X9221可编程数字电位器在半导体专用设备一些运用研究

4.1用于丈量细小电压改动

图4是细小电压丈量电路模型,用于芯片键合设备中去检测吸头上是否有芯片吸附以及吸头是否堵塞、或许芯片是否丢掉等现象。当内径为大约0.1~0.15 mm的吸头去吸附一个小芯片时,假如芯片较通明,光敏传感器检测出来的电压改动较小,一般在10~50 mV间;相同当吸头吸附一个小芯片时,气路真空的压力也会发生改动,这种压力的改动以传感器电压改动输出。为了改动电位器“中心抽头”以便与传感器检测输入电压相匹配,核算机经过RS232接口向单片机发送数据,单片机收到数据后转发给X9221可编程数字电位器以改动基准电压值。比较基准电压U∑+按下式确认:

依据可编程数字电位器的AVR嵌入式单片机分析

U∑+是LM393运放同相输入端电压(在这种状况下,考虑到前级传感器输出基本上处于扩大状况,所用传感器电源电压为+5 V,最高输出电压按3.5 V核算)

N是0~63共64种状况改动值,那么,当U∑+从0~3.5 V改动时,最小分辨率能够到达55 mV左右,用手艺进行一般电位器调理到达这样的分辨率是难以掌控的。

基准电压(即U∑+)经过机器的人机界面能够“直接调理”,假如将电位器数值进行标定,随时还能够看到当时的基准电压巨细。传感器输出电压与基准电压比较,使电压比较器输出反响当时的状况,不同的时间凹凸电平代表不同的含义,如“吸头堵塞”、“芯片丢片”、“真空缺乏”等。

4.2丈量细小电流改动

图5是细小电流丈量电路模型,用于引线键合设备中去检测断线、连线、短路等状况,被测器材是一个半导体元件,当在焊盘上键合上一根金线时,经过检测漏电流来判别这条金线与芯片键合进程中是否存在“断线”、“连线”、“短路”等状况。核算机经过界面操作发送指令以改动X9221可编程数字电位器的阻值,然后改动电压源的扩大倍数以改动加在被测元件的电压,然后到达习惯不同种类的半导体器材功用要求。

依据可编程数字电位器的AVR嵌入式单片机分析

设:信号源的输出为Us,运放LM324输出为U0,X9221电阻为Rx,被测元件阻抗为Rz,被测元件流过的漏电流为I0,则用以下两个表达即可表达它们之间的联系:

依据可编程数字电位器的AVR嵌入式单片机分析

经过主机界面改动Rx可编程电阻值,即能够改动U0,U0的改动等于改动了I0,而I0的改动等于改动了流过被测器材的最大答应电流,然后维护了被测器材不会因为检测漏电流而损坏,经过检测被测器材上施加的电压和U0之差值即可判别漏电流巨细,然后检测金线是否与被测器材焊盘点键合上。I0是依据不同器材在工艺参数上需求常常调理的量,以习惯不同场合的要求。

5 结束语

可编程数字电位器的最大长处在于直接能够和带有I2C总线单片机相连而无需特别规划,上位机能够随机读取电位器当时设定值。运用它的这些长处,能够进步设备仪器的智能化水平,特别是在带有I2C总线的嵌入式单片机中运用非常灵敏简略。跟着电子技术的飞速发展,人们对设备、仪器以及家用电器的寻求已不再只是满意功用运用上,而是在产品运用的人性化上要求越来越高,因为大多数主动化设备上,都具有友爱的人机界面,人们经过核算机界面想完结一切操作,比方调理一个电位器以调理电流、电压或许电机速度、转矩、频率等物理量,运用可编程数字电位器彻底能够经过界面完结。当令选用可编程数字电位器不光能够降低成本、简化电路规划、进步可靠性,并且能够使规划愈加人性化。别的,AVR单片机能够经过JTAG接口完结仿真调试、下载程序;片内有FLASH和E2ROM存储单元,有规范的串行接口、I2C总线接口、SPI接口增强了其硬件功用;支撑C言语编程,便于把握C言语者无需太多地了解硬件就能进行一些编程。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/xinwen/341078.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部