新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 二线串行8位数模转换器MAX517的特性与应用(图)

二线串行8位数模转换器MAX517的特性与应用(图)

——
作者:合肥工业大学 王玉琳 时间:2007-02-06 来源: 收藏

摘 要:介绍了二线串行8位数模转换器max517的特性,并以at89s52单片机与max517的通信为例,详细说明了max517的硬件连接与软件编程方法。
关键词:数模转换器;max517;单片机;通信;应用

引言
---在计算机的测控系统中,常要用到模拟输出,数模转换器(dac)就是一种将数字信号转换成模拟电信号的器件。dac根据输入数据的格式一般分为并行和串行两种,并行的dac通常有8位、10位、12位和16位等,并行芯片进行d/a转换时,输出建立时间短,通常不超过10μs,但它们的引脚比较多,芯片体积大,与cpu连接时电路较复杂。有些应用并不太计较d/a转换的输出建立时间,比如在数控机床中,主轴电机通常由交流变频器来控制,交流变频器接受数控系统输出的模拟电压,当需要改变主轴转速时,从数字量转速的输入到模拟量转速的实现,由于三相异步电机的启动,中间通常有一个较长的时间(一般需要1~3s)。此时,在数控系统中,选用串行dac来控制变频器,即可满足要求,虽然输出建立时间比并行dac稍长(通常也不超过100μs),但这样的时间与电机的启动时间比起来,完全可以忽略不计,且串行dac与cpu连接时所用引线少、电路简单,芯片体积小、价格低。
 ---当精度要求不是太高时,对于单路的dac,可以选用美国maxim公司生产的8位串行d/a芯片max517。本文将主要介绍max517的特性及其与at89s52单片机的通信。

max517的性能简介
---max517是8位电压输出型数模转换器,它带有简单的双线串行接口,允许多个设备之间进行通信。max517使用简单的双线串行接口,只需要标准的微处理器提供2根总线与之相连,如图1所示。微处理器的scl输出时钟信号,sda输出数据。当微处理器的scl传送时钟脉冲时,对于max517来说,最高频率不能超过400khz,即波特率不超过400kbps。图2是max517的一个完整的串行数据传送时序。
---首先,微处理器应给max517一个地址字节,max517收到之后,给处理器一个应答信号;其次,处理器再给max517一个命令字节,max517收到之后,又发一个应答信号给处理器;最后,处理器将要转换的数字量(输出字节)送给max517,max517收到之后,再一次向处理器发送一个应答信号。至此,一个完整的串行数据传送即告结束。

max517与at89s52单片机的通信
---对于at89s52单片机来说,有两种方式向max517传送数据,一种是串行传送方式,另外一种是普通输出方式。
● 串行传送方式
---如图4所示,将at89s52的rxd、txd引脚分别连接到max517的sda和scl引脚,把at89s52的串行口设置成工作方式0。此时,at89s52 cpu的串行口为同步移位寄存器方式,其波特率是固定的,为cpu晶振频率fosc的 1/12,数据由rxd引脚出入,同步移位脉冲由txd引脚送出,发送或接收的是8位数据,低位在先,高位在后。当一个8位的数据写入cpu的串行口发送缓冲器sbuf时,串行口即将8位数据以 fosc/12的波特率从rxd引脚输出(从低位到高位),发送完成时,置中断标志ti=1。采用上述传送方式时,正好与max517的串行口特性相吻合。详细的传送程序清单如下。
---clr es ;关串行口中断
---mov scon,#00h ;初始化,写串行口控制字,取工作模式0
---mov a,#01011000b ;准备max517的地址字节
---mov sbuf,a ;向cpu的串口发送
---jnb ti,$ ;送完8位否?若未送完,则踏步等待
---clr ti ;若送完,则清ti标志
---jb p3.0,$ ;查应答信号
---nop ;地址已送完
---mov a,#00000000b ;准备max517的命令字节
---mov sbuf,a ;向cpu的串口发送
---jnb ti,$ ;送完8位否?若未送完,则踏步等待
---clr ti ;若送完,则清ti标志
---jb p3.0,$ ;查应答信号
---nop ;命令已送完
---mov a,#xxh ;准备max517的输出字节
---mov sbuf,a ;向cpu的串口发送
---jnb ti,$ ;送完8位否?若未送完,则踏步等待
---clr ti ;若送完,则清ti标志
 ---jb p3.0,$ ;查应答信号


---nop ;输出字节已送完
---ret
---值得注意的是,max517的+5v scl在接收cpu送来的脉冲信号时,fmax=400khz,而cpu的串口工作在方式0时,从txd引脚输出的脉冲频率ftxd=fosc/12。这样,就要求ftxd=fosc/12≤400khz,即fosc≤4.8mhz,也就是说,cpu的晶振频率不能超出4.8mhz。对于机床数控系统来说,选用mcs-51系列单片机作cpu时,若fosc≤4.8mhz,虽然照顾了max517的数据传送,但会导致系统的处理速度大大降低。因此,采用cpu串口方式0进行数据传送的方案,要视具体场合,在高速场合,通常不可取,只能用在低速场合。另外,采用串行传送时,cpu就不能再与其他系统进行串行通信了。
● 普通输出方式
---在普通输出方式下,可以通过cpu的2根输出线,或系统扩展输出芯片(如8255a)的2根输出线与max517进行通信。图4中采用的是at89s52的p1.1、p1.0两引脚,分别与max517的scl、sda两引脚相连接。cpu遵照max517的工作时序,通过其p1.1引脚在必要的时候主动地输出单个的时钟脉冲,作为时钟信号,然后从p1.0引脚逐个地输出地址字节、命令字节和输出字节。在普通输出方式下,串行数据传送的软件流程如图5所示。在数据的传送过程中,必须遵守以下的约定:
(1)起始条件
---传送没有开始的时候,cpu 先将p1.1置高,使得max517的scl=1;然后cpu控制p1.0由高变低,使得max517的sda产生负跳变,标志着传送的开始。
(2)中间过程
---中间过程需要传送地址字节、命令字节和输出字节。根据max517的工作时序,当且仅当scl=0(即p1.1=0)时,sda才能产生跳变(p1.0由0变1,或由1变0);当scl=1(即p1.1=1)时,sda状态保持(即p1.0=0或1,保持不变)。
(3)终止条件
---当传送快要结束的时候,cpu先将p1.1置高,使得max517的scl=1;然后cpu控制p1.0由低变高,使得max517的sda产生正跳变,标志着传送的结束。
---在普通输出方式下,不占用cpu的串行口,不影响本系统与其他系统的串行数据通信;并且普通输出方式的传送易于控制速度,不像串行传送方式对cpu的晶振频率有限制,因此推荐使用普通输出方式。

结束语
---在研制的机床数控系统中,选择at89s52单片机作为cpu,采用本文提出的普通输出方式向max517传送数据,实现了对交流变频器的控制。应用实践表明,采用max517进行d/a转换时,硬件连接简单,软件编程方便,器件成本低廉,系统运行可靠。本文提出的单片机与max517的通信方式,对于max518和max519两种dac也具有一定的参考价值。

参考文献
1 吴秀清等.微型计算机原理与接口技术.中国科学技术大学出版社.2002
2 刘红玲等.实用微机接口技术.中国电力出版社.2003
3 maxim. new releases data book. volume v. printed usa.1996
4 李华.mcs-51系列单片机实用接口技术.北京航空航天大学出版社.1993
5 王玉琳.ck-i型车床闭环控制系统的研究与应用.合肥工业大学.1991



关键词:

评论


相关推荐

技术专区

关闭