勇敢的芯伴你玩转Altera FPGA连载100:基于LED显示的DA输出驱动实例

2018年12月02日 17:54    发布者:rousong1989
勇敢的芯伴你玩转Altera FPGA连载100:基于LED显示的DA输出驱动实例特权同学,版权所有配套例程和更多资料下载链接:http://pan.baidu.com/s/1i5LMUUD DA芯片概述         DA芯片DAC5571的控制使用了标准模式,它的接口是大家耳熟能详的IIC接口,关于IIC通信的基本接口时序这里不详细介绍,大家可以参考DAC5571的datasheet。如图10.53所示,FPGA作为IIC总线的主机,若要控制芯片DAC5571完成一次转换,则一共需要传输三个字节的数据。首字节内容是从机地址(SLAVE ADDRESS)和读或写指示位(R\W#);第二个字节的高4bit是控制数据,低4bit是有效数据的高4bit;第三个字节的高4bit是有效数据的低4bit,第三个字节的低4bit无效。图10.53 DA芯片通信协议 功能简介         首先需要使用跳线帽连接好SF-CY4开发板上插座P9的PIN1和PIN2(默认已经连接好)。这样,我们的DA芯片DAC5571的模拟电压输出就直接作为D14指示灯的正端,它的电压值决定了D14指示灯的亮暗与否。FPGA工程实例产生一个0-255循环递增的数据,通过IIC接口不断的写入到DAC中,输出的模拟电压可以控制LED的亮暗变化         该实例工程的功能框图如图10.54所示。图10.54 DA实例功能框图         本实例模块划分如图10.55所示。图10.55 DA实例模块层次 板级调试连接好下载线,给CY4开发板供电。打开Quartus II,进入下载界面,将本实例工程下的cy4.sof文件烧录到FPGA中在线运行。         此时我们可以观察到SF-CY4开发板上的D14指示灯不断的由暗变亮,然后熄灭,然后再由暗变亮,如此循环往复。         我们若用示波器测量D14指示灯的正负两端,则可以看到如图10.57所示的波形,这正是我们输出的给DAC的数据递增值。图10.57 DA芯片输出模拟信号波形