1内部总线
(I2C
SPI)是芯片与芯片之间的接口
2系统总线
PCI
是板子仔含与板子之间的接口
3外部总线
RS232
是通信设备之间的接口
所以你要多看看
SPI的知识。
然后用quartus写个具体的SPI程序(verilog
VHDL)或者调用一个信仔IP核
自己修改。
AD
DA转换芯片的性能指标参数差别大,因此接口格式无法统一。基本上
有标准接口和特殊接口(高速的AD
DA采用LVDS差分信号电平标准)。
FPGA是不能实现DA转码蚂换的,它内部处理的都是数字信号,不能输出模拟信号。一般是用FPGA控制系统工作流程,产生控制信号,DSP输出数字信号处理后得到的数字信号,经专门的DA芯片,如PCM1798、1794、AD1955、CS4398、AK4396、AK4399等等,FPGA只能实现特定类轿行型的脉冲,如下:library ieee
use ieee.std_logic_1164.all
use ieee.std_logic_arith.all
use ieee.std_logic_unsigned.all
entity dac_ds is
port(reset :in std_logic
clk :in std_logic
din :in std_logic_vector(7 downto 0)--Signed integer
dout :out std_logic)
end dac_ds
architecture arch_dac_ds of dac_ds is
signal error :std_logic_vector(9 downto 0)--Error accumulator is 2 bits larger
constant zeros:std_logic_vector(7 downto 0):=(others=>'0')
begin
process(reset,clk,din)
variable val :std_logic_vector(9 downto 0)
begin
if reset='1'then
error<=(others=>'闭模哗0')
dout<='0'
elsif clk'event and clk='1' then
--val:=din+errordin is sign extended to nbits+2
val:=(din(din'high)&din(din'high)&din)+error
if val(val'high)='0'then
dout<='1'
error<=val+("11"&zeros)
else
dout<='0'
error<=val+("01"&zeros)
end if
end if
end process
end arch_dac_ds
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)