在嵌入式应用系统中,特别是智能仪器、仪表、机电设备及装置控制中,需要使用A/D转换将模拟的电量信号转换为数字信号进行处理,而后再将处理的结果通过D/A转换为模拟量实现对被控过程和对象的控制。下面由卓跃教育为您介绍基于基于s3c2410和嵌入式Linux的D/A转换器MAX504。 基于ARM920T内核的s3c2410是一款低功耗,高性价比的处理器。这款处理器内部集成了多种控制接口,自带8路10位的A/D转换器,用于支持对于触摸屏输入的控制,而且足以满足外部模拟量采集的需要,但是s3c2410内部没有集成D/A转换器,因此在上述应用中,就需要采用独立的D/A转换芯片与s3c2410配合,满足应用的需要。而MAX504一款通用的10位串行D/A转换器,可以满足一般应用对于分辨率和精度的要求,并且采用串行通信,芯片面积小,占用的处理器管脚数少。 10位的D/A转换器MAX504 MAX504是MAXIUM公司推出的低功耗,电压输出,10位串行数字/模拟转换芯片,支持+5V单供电和±5V双供电方式,并且该芯片对于包括偏移、增益和线性误差在内的各项误差均以调整,所以应用非常简单,不需要再度校正。 MAX504采用的是三线串行接口,与SPI,QSPI和Microwire标准均兼容。MAX504可通过写入两个8位长的数据进行编程,其写入的先后顺序为,4个填充位,10个数据位和最低两位的0。此处,最高4位的填充位只有当MAX504采用菊花链方式连接时必须写入,而最低的两位0则一定需要写入。当且仅当CS片选有效时,数据在SCLK的上升沿逐位打入片内的16位移位寄存器,并在CS上升沿,将有效的10位数据(第2~第11位)传送到D/A转换寄存器中,修改原寄存器内容。 MAX504芯片为14管脚的DIP或者SO封装形式,除电源和地管脚外,管脚可以分为两组,一组与处理器相连接,另一组管脚的不同连接可以改变MAX504的工作模式。 MAX504具有三种工作模式,分别是单极性输出,双极性输出和四象限乘法器。通过将MAX504 REIN,VOUT,BIPOFF和RFB几个管脚的不同连接方式,可以根据需要将MAX504定义为需要的工作模式。 MAX504与S3c2410的连接 MAX504与处理器之间可以使用SPI,QSPI和Microwire中的任何一种串行通信方式,而s3c2410带有两个SPI接口,所以MAX504与s32410之间通过SPI进行连接非常方便。 MAX504与处理器连接的主要管脚有四个,分别是: (1)DIN—数据输入端。 (2)SCLK—串行时钟输入端。 (3)CS—片选管脚。 (4)CLR—清除端。 该电路中,采用的是单极性工作模式,输出电压范围为0~2VREF,参考电压VREF由片内电路形成,为2.048V,故该电路的输出电压范围为0~4.096V。
|