·上一文章:TKScope仿真/烧录BootLoader方法
·下一文章:基于YGV629的系统图形用户界面设计
图4为TLV5637的时序图。如图所示,TLV5637的数据采样是在SCK时钟的上升沿发生,而且该器件只支持16位的数据格式。
可以看出,16位的数据包含两个部分:编程位和数据位。SPD为速度控制位,1表示快速,0表示慢速;PWR为功率控制位,1表示掉电模式,0表示工作模式;R1和R0为寄存器选择位。表1为TLV5637的寄存器写入选择表。
表1中的写控制寄存器即设置参考电压,数据位的低两位表示参考电压的相关信息。其中,“00”和“11”表示参考电压取自外部,“0l”表示参考电压为1.024 V,“10”表示参考电压为2.048 V。输出电压的幅度由下式决定:
CODE为所写入的电压数据值,REF为所设定的参考电压。此外,在写入电压数据时,12位的数据只保持高10位有效,低2位可以忽略。TLV5637的写函数如下:
经过验证,可以通过GPIO口模拟的SPI接口对TLV5637的输出电压进行精确设置,而且其输出满足系统的电压误差要求。
结 语
本文提出了利用ARM芯片LPC2378的GPIO接口来仿真SPI接口的方法,同时实现了对串行D/A转换芯片TLV5637的模拟SPI接口访问。该方法具有一定的普遍意义,只要稍加改动,便可以应用于各种类型的微处理器。