• 方案介紹
  • 附件下載
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

DAC芯片AD5689控制代碼SPI接口

04/29 10:52
895
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

1-23102Q159215K.doc

共1個文件

名稱:DAC芯片AD5689控制代碼SPI接口(代碼在文末付費下載)

軟件:QuartusII

語言:VHDL

代碼功能:

控制DAC芯片AD5689,通過芯片的SPI接口,進行命令和地址、數(shù)據(jù)寫入,控制DAC輸出模擬信號。

AD5689/AD5687采用多功能SPI接口,時鐘速率高達50 MHz,并均包含一個為1.8 V/3 V/5 V邏輯電平準備的VLOGIC引腳

設計語言使用VHDL,本代碼簡單易懂,注釋詳細,可以方便改寫為verilog代碼。

演示視頻:

FPGA代碼Verilog/VHDL代碼資源下載網(wǎng):www.hdlcode.com

部分代碼展示

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
ENTITY?AD5689_driver?IS
???PORT?(
??????clock????:?IN?STD_LOGIC;--50MHz
??????SYNC_N???:?OUT?STD_LOGIC;--AD5689接口
??????AD_SDO???:?IN?STD_LOGIC;--AD5689接口
??????AD_SCK???:?OUT?STD_LOGIC;--AD5689接口
??????AD_SDI???:?OUT?STD_LOGIC;--AD5689接口
??????WR_data??:?IN?STD_LOGIC_VECTOR(15?DOWNTO?0)--輸入數(shù)字信號
???);
END?AD5689_driver;
ARCHITECTURE?trans?OF?AD5689_driver?IS
???constant???CMD??????:?STD_LOGIC_VECTOR(3?DOWNTO?0)?:=?"0011";--寫指令
???constant???ADDRA????:?STD_LOGIC_VECTOR(3?DOWNTO?0)?:=?"0001";--通道A,通道B="1000",通道A和通道B="1001"
???
???SIGNAL?cnt?????????:?STD_LOGIC_VECTOR(7?DOWNTO?0)?:=?"00000000";
???SIGNAL?AD_SCK_buf??:?STD_LOGIC?:=?'0';
???
???SIGNAL?WR_data_buf?:?STD_LOGIC_VECTOR(15?DOWNTO?0)?:=?"0000000000000000";
???SIGNAL?AD_SDI_buf??:?STD_LOGIC?:=?'0';
BEGIN
???PROCESS?(clock)
???BEGIN
??????IF?(clock'EVENT?AND?clock?=?'1')?THEN
?????????IF?(cnt?>=?"00110101")?THEN--53
????????????cnt?<=?"00000000";
?????????ELSE
????????????cnt?<=?cnt?+?"00000001";--分頻計數(shù)器
?????????END?IF;
??????END?IF;
???END?PROCESS;
???
???PROCESS?(clock)
???BEGIN
??????IF?(clock'EVENT?AND?clock?=?'1')?THEN
?????????IF?(cnt?>=?"00000000"?AND?cnt?<=?"00000001")?THEN
????????????SYNC_N?<=?'1';--40ns之后,SYNC拉低,開始進入讀取數(shù)據(jù)的狀態(tài)
?????????ELSE
????????????SYNC_N?<=?'0';
?????????END?IF;
??????END?IF;
???END?PROCESS;
???
???PROCESS?(clock)
???BEGIN
??????IF?(clock'EVENT?AND?clock?=?'1')?THEN--clock2二分頻得到sck的值為--25MHz
?????????IF?(cnt?>?"00000001"?AND?cnt?<?"00110011")?THEN--1~51
????????????IF?(cnt(0)?=?'0')?THEN
???????????????AD_SCK_buf?<=?'0';?--cnt[0]==0的時候,sck為下降沿
????????????ELSE
???????????????AD_SCK_buf?<=?'1';--cnt[0]==1的時候,sck為上升沿

設計文檔:

  1. 工程文件

添加圖片注釋,不超過 140 字(可選)
  1. 程序文件

添加圖片注釋,不超過 140 字(可選)
  1. 程序編譯

添加圖片注釋,不超過 140 字(可選)
  1. 仿真文件

添加圖片注釋,不超過 140 字(可選)
  1. 仿真圖

添加圖片注釋,不超過 140 字(可選)

添加圖片注釋,不超過 140 字(可選)

添加圖片注釋,不超過 140 字(可選)

點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=216

  • 1-23102Q159215K.doc
    下載

相關推薦