基于可编程数字电位器在AVR单片机中的应用

发布者:电子创意达人最新更新时间:2010-08-17 来源: 电子工业专用设备关键字:X9221  数字电位器  AVR  通信 手机看文章 扫描二维码
随时随地手机看文章

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)相当于普通电位器中间抽头,是无摩擦"触点"。  

     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总线通信时序。  

    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时间才能完成,在设计通信软件时一定要特别留意。

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

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

    X9221数字电位器与AVR系列单片机硬件接口如图3所示。硬件连接非常简单,只需将所有设备串行数据线SDA、串行时钟线SCL相连接并接10 kΩ左右的上拉电阻即可。连接在I2C总线上的逻辑电平为"线与"逻辑关系,只要有一个设备将其拉低,总线上即出现低电平,当所有设备总线都悬挂起时呈现高阻状态。主机发送模式就是向其中一个外设写入数据,首先产生一个启动信号"START","START"发送成功后才向外设发送设备地址,地址发送成功后,再发送数据,数据可以是1~N个字节,所有数据发送完成,最后发送"STOP"完成主机写的过程。主机接收模式也是一样的,过程类似。对X9221来说地址发送完成后,必须发送指令模式,告诉X9221目前将做什么,指令的含义上面已提到,指令模式后是一组数据,其它过程一样。  

    为了使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∑+按下式确定:  

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

    N是0~63共64种状态变化值,那么,当U∑+从0~3.5 V变化时,最小分辨率可以达到55 mV左右,用手工进行一般电位器调节达到这样的分辨率是难以掌控的。  

    基准电压(即U∑+)通过机器的人机界面可以"直接调节",如果将电位器数值进行标定,随时还可以看到当前的基准电压大小。传感器输出电压与基准电压比较,使电压比较器输出反应当前的状态,不同的时刻高低电平代表不同的意义,如"吸头阻塞"、"芯片丢片"、"真空不足"等。  

4.2测量微小电流变化  

    图5是微小电流测量电路模型,用于引线键合设备中去检测断线、连线、短路等情况,被测器件是一个半导体元件,当在焊盘上键合上一根金线时,通过检测漏电流来判断这条金线与芯片键合过程中是否存在"断线"、"连线"、"短路"等情况。计算机通过界面操作发送指令以改变X9221可编程数字电位器的阻值,进而改变电压源的放大倍数以改变加在被测元件的电压,从而达到适应不同品种的半导体器件性能要求。  

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


  
     通过主机界面改变Rx可编程电阻值,即可以改变U0,U0的改变等于改变了I0,而I0的改变等于改变了流过被测器件的最大允许电流,从而保护了被测器件不会因为检测漏电流而损坏,通过检测被测器件上施加的电压和U0之差值即可判断漏电流大小,从而检测金线是否与被测器件焊盘点键合上。I0是根据不同器件在工艺参数上需要经常调节的量,以适应不同场合的要求。  

5 结束语  

    可编程数字电位器的最大优点在于直接可以和带有I2C总线单片机相连而无需特殊设计,上位机可以随机读取电位器当前设定值。利用它的这些优点,可以提高设备仪器的智能化水平,特别是在带有I2C总线的嵌入式单片机中应用十分灵活简单。随着电子技术的飞速发展,人们对设备、仪器以及家用电器的追求已不再仅仅满足功能使用上,而是在产品应用的人性化上要求越来越高,由于大多数自动化设备上,都具有友好的人机界面,人们通过计算机界面想完成所有操作,比如调节一个电位器以调节电流、电压或者电机速度、转矩、频率等物理量,利用可编程数字电位器完全可以通过界面完成。适时采用可编程数字电位器不但可以降低成本、简化电路设计、提高可靠性,而且可以使设计更加人性化。另外,AVR单片机可以通过JTAG接口完成仿真调试、下载程序;片内有FLASH和E2ROM存储单元,有标准的串行接口、I2C总线接口、SPI接口增强了其硬件功能;支持C语言编程,便于掌握C语言者无需太多地了解硬件就能进行一些编程。

关键字:X9221  数字电位器  AVR  通信 引用地址:基于可编程数字电位器在AVR单片机中的应用

上一篇:基于PICl2F508的交流接触器节电器设计
下一篇:基于AVR单片机的ISP1362OTG设计

推荐阅读最新更新时间:2024-03-16 12:29

电力线载波通信芯片提供商瑞斯康即将香港IPO
集微网消息,中国第三大电力线载波通信技术公司瑞斯康集团控股有限公司昨天宣布其股份于香港联合交易所有限公司(「联交所」)主板上市计划的详情。 投资摘要 - 瑞斯康拥有卓越电力载波芯片设计和技术研发能力,致力维持卓越的电力线载波通信技术研发实力 - 全国最大的电力载波芯片供应商之一,处于优势可受惠于电力载波线通信的高进入门槛以及持续增长及升级 - 与国家电网之间合作关系长期而稳定,成功把握电力载波线通信市场的庞大商机 - 智慧能源管理行业的先行者,于中国推出多个能源管理试点项目 - 经验丰富的管理及销售团队,具备显赫技术专业知识及销售营销经验 发售详情 瑞斯康集团控股有限公司全球发售合共200,000,000股股份(视乎超额配股权行使
[手机便携]
STM32串口通信printf重定向方法
在源程序中加入如下代码,包含“stdio.h”。 默认使用USART1,确认串口已经初始化成功、 #pragma import(__use_no_semihosting) _sys_exit(int x) { x = x; } struct __FILE { int handle; /* Whatever you require here. If the only file you are using is */ /* standard output using printf() for debugging, no file handling */ /* is required. */ }; /*
[单片机]
USB的便携式ARINC429总线通信设备设计
在航空 电子 综合化系统中,快速、有效的数据传输对整个航空 电子 系统的性能有很大影响,因此数据总线被称为现代航空电子系统的“骨架”。ARINC429是航空电子系统之间最常用的通信总线之一。要在计算机上实现与机载设备的ARINC429总线数据通信,必须实现429总线与计算机总线之间的数据传输。本文设计了基于USB总线的便携式ARINC429总线通信设备,并通过实际运行测试,对该设备的可靠性和稳定性进行了验证。 1 系统总体设计 1.1 系统功能分析 该系统主要分为3大功能单元:中央 控制 单元、429数据收发单元、429电平转换单元。系统的功能结构框图如图1所示。中央 控制 单元与PC机进行USB通信,将USB总线转换为自定
[模拟电子]
业界领先的Marvell G.hn芯片组助力Billion电力线通信产品
2012年6月6日北京讯 —— 全球整合式芯片解决方案的领导厂商美满电子科技(Marvell,Nasdaq: MRVL)今日宣布,Marvell ITU-T G.hn收发器芯片组被Billion公司新的电力线通信(PLC)产品系列所采用,为互连家庭中流式多媒体应用带来更高的性能和灵活性。在6月5日至9日台北国际会议中心举行的Computex 2012展览会上,Marvell和Billion将共同展示采用Marvell G.hn芯片组的Billion产品, 展位号为101C。 Billion公司高级副总裁Greg Chen表示:“我们的电力线适配器产品线有忠诚的客户群,我们很高兴在推出重要的新产品系列之际,再次与Marvell合作
[网络通信]
AVR单片机与74HC595的SPI显示程序
使用SPI接口控制74HC595 LED显示 SPI接口的全称是 Serial Peripheral Interface ,意为串行外围接口。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。 SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。 SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件,其接口包括以下四种信号: (1)MOSI 主器件数据输出,从器件数据输入 (2)MISO 主器件数据输入,从器件数据输
[单片机]
MSP430第三十六章:通用异步收发通信模块 – UART Mode
1. 通用串行通信接口——USCI总览 USCI模块支持多种串行通信方式,不同的USCI模块支持不同的模式,每个不同的USCI模块都用不同的字母命名。例如,USCI_A和USCI_B是不同的。如果在一个设备上配备了多个相同的USCI模块,那么这些模块的名称将以递增的数字命名。例如,如果一个设备有两个USCI_A模块,它们被命名为USCI_A0和USCI_A1。 USCI_Ax模块支持: UART模式 用于IrDA通信的脉冲整形 用于LIN通信的波特率自动检测 SPI模式 USCI_Bx模块支持: I2C模式 SPI模式 2. UART模式 在异步模式下,USCI_Ax模块通过两个外部引脚UCAxRXD和UCAxTXD连
[单片机]
MSP430第三十六章:通用异步收发<font color='red'>通信</font>模块 – UART Mode
通信服务运营商(CSP)数字化转型的目标应是6-8%的利润改善
通信服务运营商(CSP)知道转型势在必行,但是如何成功转型以及制定什么目标却是棘手的问题。Strategy Analytics无线运营战略(WOS)服务发布的最新研究报告《数字化转型:用户中心化对通信服务运营商至关重要》指出,现今的用户体验都是由Facebook、谷歌、Uber、亚马逊、微信以及其它行业大咖领先的数字原生品牌所塑造。消费者期待品牌能够提供更多的随时随地的情景化个人互动。通信服务运营商仍处在落后的阶段。若不能够更加以消费者为中心和提供改进的数字互动,将会有流失客户的风险,丧失通过新的数字化服务业务获取盈利增长的机遇,还会导致用户消极的评价,最终会削弱市场定位和品牌认知度。2017年5月15-18日即将在法国尼斯Acr
[其他]
<font color='red'>通信</font>服务运营商(CSP)数字化转型的目标应是6-8%的利润改善
中日韩共同研发超3G无线标准 速度媲美光纤
  新浪科技讯 3月28日消息,据日本广播协会(NHK)报导,中日韩三国高层官员26日在中国厦门市举行的会谈中达成共识,将共同开发新移动电话技术标准。   NHK报道称,该标准将能够高速传输数据以及高品质的视频,速度媲美光纤。   与会者包括中国信息产业部部长王旭东、日本经济财政大臣竹中平藏(Heizo Takenak   a)和韩国信息通信部部长卢俊亨(Rho Jun-hyong)。   中日韩未来移动通信国际峰会自2002年开始,已相继在北京、汉城、东京召开了三次。2004年在日本举行的中日韩三国通信部长会议上,未来移动通信国际峰会作为三国移动通信合作的一项重要内容写入合作备忘录,将在中日韩三国间轮流召开。   去年
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved