国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

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

AD7321代碼12位ADC,SPI接口模數(shù)轉(zhuǎn)換連接DAC0832輸出

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

1-23102R2255K56.doc

共1個文件

名稱:AD7321代碼12位ADCSPI接口模數(shù)轉(zhuǎn)換連接DAC0832輸出(代碼在文末付費(fèi)下載)

軟件:QuartusII

語言:VHDL

代碼功能:

使用VHDL語言編寫代碼,實(shí)現(xiàn)AD7321的控制,將模擬信號轉(zhuǎn)換為數(shù)字信號,再經(jīng)過處理后,將數(shù)據(jù)通過DAC0832轉(zhuǎn)換為模擬信號輸出。

AD7321輸入,(2000-輸入)/6(仿真輸出=009),DAC0832輸出。

要求:有vhdl代碼(詳盡注釋),有fpga連線圖,有完整功能仿真結(jié)果,有方案分析。

演示視頻:

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

部分代碼展示

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
--AD控制模塊,輸出011110011010
ENTITY?AD7321?IS
???PORT?(
??????clk?????:?IN?STD_LOGIC;--時鐘
??????rst?????:?IN?STD_LOGIC;--復(fù)位
??????CS_n????:?OUT?STD_LOGIC;--AD控制信號
??????SCLK????:?OUT?STD_LOGIC;--AD控制信號
??????DOUT????:?IN?STD_LOGIC;--AD控制信號
??????DIN?????:?OUT?STD_LOGIC;--AD控制信號
??????DB??????:?OUT?STD_LOGIC_VECTOR(11?DOWNTO?0)--輸出AD值
???);
END?AD7321;
ARCHITECTURE?behaval?OF?AD7321?IS
???TYPE?State_type?IS?(s_init,?s_cs_h,?s_sclk,?s_end);??--?定義狀態(tài)
???SIGNAL?state?:?State_type;
???SIGNAL?cs_h_cnt?:?STD_LOGIC_VECTOR(3?DOWNTO?0)?:=?"0000";--CS計數(shù)
???SIGNAL?sclk_cnt?:?STD_LOGIC_VECTOR(7?DOWNTO?0)?:=?"00000000";--sclk計數(shù)
BEGIN
--狀態(tài)機(jī)控制
???PROCESS?(clk,?rst)
???BEGIN
??????IF?(rst?=?'1')?THEN--復(fù)位
?????????state?<=?s_init;
??????ELSIF?(clk'EVENT?AND?clk?=?'1')?THEN--時鐘上升沿
?????????CASE?state?IS
????????????WHEN?s_init?=>--初始狀態(tài)
???????????????state?<=?s_cs_h;
????????????WHEN?s_cs_h?=>--cS高電平狀態(tài)
???????????????IF?(cs_h_cnt?>=?"1010")?THEN--計數(shù)10個時鐘
??????????????????state?<=?s_sclk;
???????????????END?IF;
????????????WHEN?s_sclk?=>--SCLK狀態(tài)
???????????????IF?(sclk_cnt?>=?"00100000")?THEN--計數(shù)32時鐘
??????????????????state?<=?s_end;--結(jié)束
???????????????END?IF;
????????????WHEN?s_end?=>--結(jié)束狀態(tài)
???????????????state?<=?s_init;
????????????WHEN?OTHERS?=>
?????????END?CASE;
??????END?IF;
???END?PROCESS;
???
???--根據(jù)狀態(tài)控制CS信號
???PROCESS?(clk,?rst)
???BEGIN
??????IF?(rst?=?'1')?THEN
?????????CS_n?<=?'1';--復(fù)位
??????ELSIF?(clk'EVENT?AND?clk?=?'1')?THEN--時鐘上升沿
?????????IF?(state?=?s_cs_h)?THEN--CS高電平狀態(tài)
????????????CS_n?<=?'1';--輸出高電平
?????????ELSIF?(state?=?s_sclk)?THEN--SCLK狀態(tài)
????????????CS_n?<=?'0';--輸出低電平
?????????END?IF;
??????END?IF;
???END?PROCESS;
???
???--根據(jù)狀態(tài)控制SCLK信號
???PROCESS?(clk,?rst)
???BEGIN
??????IF?(rst?=?'1')?THEN
?????????SCLK?<=?'1';--復(fù)位
??????ELSIF?(clk'EVENT?AND?clk?=?'1')?THEN--時鐘上升沿
?????????IF?(state?=?s_sclk)?THEN--SCLK狀態(tài)
????????????SCLK?<=?NOT(sclk_cnt(0));--SCLK輸出sclk_cnt(0)取反信號作為SCLK
?????????ELSIF?(state?=?s_end)?THEN
????????????SCLK?<=?'1';
?????????END?IF;
??????END?IF;
???END?PROCESS;

設(shè)計文檔:

1. 工程文件

2. 程序文件

連線圖

3. 程序編譯

4. RTL圖

5. 仿真圖

  • 1-23102R2255K56.doc
    下載

相關(guān)推薦

尼玛县| 嘉禾县| 西藏| 白山市| 会泽县| 富平县| 措勤县| 宝兴县| 临江市| 上思县| 芮城县| 栾川县| 河津市| 河池市| 江永县| 光山县| 来凤县| 南涧| 玉林市| 凌海市| 双城市| 青海省| 稷山县| 红安县| 紫云| 镇赉县| 汕尾市| 广河县| 奉贤区| 青神县| 东港市| 承德市| 高邮市| 沂水县| 泗阳县| 凤山市| 长武县| 汝城县| 易门县| 施秉县| 吴旗县|