maxwang71 发表于 2013-8-21 15:07

历时半年, 数字HIFI 全新模式, 无线网络播放器终于完成, 工程代号9018

首先说明 这个和ess9018 没有任何关系, 只是代号巧合而已, 不过最近9018 太火了, 希望也能占点仙气。

先列下这个东东的几个特点。

1。 用无线路由器 + enc424j600 + pic 的无线接受方式, 自认为是目前业余条件下, 最容易实现, 成本最低的的架构。

2。 理论上支持任何设备, PC 用foobar2000 + 自己开发的 ASIO 驱动, 可以播放多种音频格式, android 用一个简单的wav 读取程序。

3。 接收板和DAC 板独立设计, 接收板采用tcp 协议, 2级缓存, 确保数据的准确和流畅, 

4。 I2S 信号由CPLD产生, 能更好的保证 BCK LRCK 信号的质量, 

5。 差分时钟震荡电路, 独立供电, 比较器输出。 采用这种形势, 主要是在低成本下, 能得到一个好的时钟信号。

6。 DAC芯片采用 pcm1792, 由于pcm1792的争议比较大, 我采用 NOS 的工作方式bypass 内部滤波器。 用电阻作I/V 转换。 1792 的最大模拟电压是6.5v
    和老外学的 , 让他工作在8v, 这样才能有较好的电压输出。 为了不浪费 板上的软控 MCU, 我还加了个小的 TF 卡座, 也就是在不联网的情况下, 播放里面的 wav 文件。

欢迎专家指正。          焊接水平太差 不好意思。









VHDL 源代码 请勿商用

--------------------------------------------------------------------------------
-- Company:
-- Engineer:
--
-- Create Date:    17:22:29 08/06/13
-- Design Name:   
-- Module Name:    LedOn - Behavioral
-- Project Name:   
-- Target Device:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
--------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity IIS is
    Port ( LED, MCUCLK, SCK, BCK, LRCK, SDL, SDR, MOSI, SCLK : outstd_logic;
                CLK,MISO : in std_logic
                          
                       );
end IIS;

architecture Behavioral of IIS is
--constant max_count : natural := 11289600;       
   SIGNAL Shift_Reg                        : STD_LOGIC_VECTOR(15 downto 0);
        SIGNAL Shift_RReg                     : STD_LOGIC_VECTOR(15 downto 0);
        SIGNAL WSt,WS                           : STD_LOGIC := '0' ;
        SIGNAL CLKt                           : STD_LOGIC := '0' ;
   SIGNAL CLK_Div                        : STD_LOGIC_VECTOR(1 downto 0);
        SIGNAL WS_count                         : NATURAL RANGE 0 TO 63 := 63;
        SIGNAL WS_c                           : NATURAL RANGE 0 TO 15 := 15;
begin                               
          
Shift_IIS: PROCESS(CLKt,WSt)
BEGIN
        IF (rising_edge(CLKt)) THEN
           IF WSt='1' THEN
          
             Shift_Reg(0) <= MISO;
                  Shift_Reg(15 downto 1) <= Shift_Reg(14 downto 0);
                                                                  
               ELSE
                  Shift_RReg(0) <= MISO;
                  Shift_RReg(15 downto 1) <= Shift_RReg(14 downto 0);
      
                END IF ;
       END IF;
END PROCESS;

CLK_Div_4: PROCESS(CLK)
        BEGIN
        IF (rising_edge(CLK)) THEN
                CLK_Div <= CLK_Div+ 1;
        END IF ;
END PROCESS ;

CLK_div_32: PROCESS(CLKt)
        BEGIN
                IF ( rising_edge(CLKt) ) THEN                                
                       
                                WS_count <= (WS_count + 1) MOD 64 ;
                                WS_c <= (WS_c + 1) MOD 16 ;
               END IF;
               
END PROCESS ;

WS_gen: PROCESS(WS_count)
       
BEGIN
   IF ( (WS_count >= 0) AND (WS_count <= 31) ) THEN
                WSt <= '0' ;
        ELSE
                WSt <= '1' ;
        END IF ;
END PROCESS ;

WS_genE: PROCESS(WS_c)
       
BEGIN
       
   IF ( (WS_c >= 0) AND (WS_c <= 7) ) THEN
                WS <= '0' ;
        ELSE
                WS <= '1' ;
        END IF ;
END PROCESS ;

MCUCLK<= CLK;

SCK   <= CLK;

CLKt          <= CLK_Div(1);

BCK   <= CLKt;

SCLK    <= CLKt;        

LRCK    <= WS;

MOSI    <= WSt;

SDL   <= Shift_Reg(15)WHENWSt = '1'         ELSE '0';

SDR   <= Shift_RReg(15) WHENWSt = '0'         ELSE '0';

LED   <= '1';

end Behavioral;

ASIO 代码 请勿商用




hytf 发表于 2013-8-21 16:24

强人啊!

ohohoh1824 发表于 2013-8-21 18:03

好!

rabbitgg 发表于 2013-8-21 19:22

maxwang71 发表于 2013-8-21 21:12

Foobar2000 可以选曲 , 板上有四个按钮也可以选曲。

maxwang71 发表于 2013-8-21 21:34

这个东西 我觉得是pc hifi 和 手机hifi 很好的形式
一套好的音响系统 通常里沙发有点距离 如果你用笔记本上网 usb 线很难接到解码器上 太远了
手机也一样 房间任何地方都可以放音乐

op111op 发表于 2013-8-21 23:51

weiwei01 发表于 2013-8-22 04:34

很好-
内容

wulishi 发表于 2013-8-22 08:29

实在是没看明白这东西是做什么用的。

cordor 发表于 2013-8-22 09:00

dyh8283221 发表于 2013-8-22 11:20

楼主真是超人啊,不仅懂嵌入式,还懂安卓编程……

lsshwd 发表于 2013-8-29 17:15

voodoowow 发表于 2013-8-30 19:18

刀锋8898 发表于 2013-8-30 19:50

感觉到思想火花的喷发

cxjnet 发表于 2013-9-6 13:17

楼主你太强大了,至少电路图看不清楚。

xiaowu0750 发表于 2013-9-6 16:40

hujianbo910 发表于 2013-9-8 19:04

很强大,支持了!

iii123 发表于 2013-9-8 22:27

通过无线下载歌曲到sd卡播放

海歌 发表于 2013-9-21 22:00

这是一个很好的方案,希望出成品。最好有音量控制。

dhma 发表于 2013-9-21 22:28

mark,楼主强大!
页: [1] 2 3
查看完整版本: 历时半年, 数字HIFI 全新模式, 无线网络播放器终于完成, 工程代号9018