XMOS USB数字界面 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

专业版 XMOS USB数字界面

简介:基于XMOS的xCore-200系列中的XU208-128-QF48芯片设计的USB音频数字界面,实现了USB到I2S信号的转换。

开源协议: CC-BY-NC 3.0

(未经作者授权,禁止转载)

创建时间: 2023-01-07 16:36:04
更新时间: 2024-01-07 21:57:32
描述

2023/2/7:

附件中添加固件(xu208_audio_firmware.bin),支持192kHz/32bit PCM,不支持DSD,有条件的可以直接烧录到flash里使用。

 

2023/2/19:

第一版附件(xu208_audio_firmware.bin,已从附件中删除),引脚定义与PCB标注的不一致,实际引脚定义如下

nBXQTwHXXcacGSoVPlursK3p7MkrmzIBaq9I241c.png

第二版固件(xu208_audio_firmware_ver2.bin),修正了上述问题,引脚定义与PCB标注的丝印一致。

 

这是一个采用XMOS XU208制作的USB转I2S音频接口界面,支持32bit位深/192kHz采样率,理论最高支持PCM 32bit/768kHz和DSD512模式(我偷懒没做,要修改固件)。使用4层板工艺,大小4CM×2.2CM,应该是目前体积最小的数字界面。

csciPw6owqNT0cfok18ZOivKcwxdc1EPlTFN5H9Z.png

Rku0vVZdmfxhhi893CAhhLur6bzFL89unXhyWWh1.png

pAPLv5uj7AuZiDTwAaldg1CQ7PYcncjtIisTk6da.bmp

鉴于市面上售卖的大多数是Amanero板型,不仅板子面积大,而且还使用了笨重的USB Type-B接口,因此想要自己做一个小体积的C口数字界面。之所以选择XMOS是因为只有这个芯片的资料是开源的,意大利方案不开源,CMedia的CM6631A方案太老,并且这两个BOM面积也比较大,而Saivtech的SA9227同样不开源,至于ComTrue的CT7601则不支持使用外部时钟。

网上有制作成功的先例但是不多,现在已经被Amanero方案抢占了风光,但是综合而言XMOS的可开发性还是挺强的,这个芯片的资料官方全部开源,甚至手把手教学。原理图参照市面上多种USB数字界面的结构,设计成子卡的形式,方便与不同的板子连接。

BU6LxC9bizz8k0WyROonGwD8tDHPhNRlBrFGUaaf.png

因为是搭配我的数字D类功放使用的([Hi-Res]基于TAS5825M的D类数字功放),我制作的数字界面仅支持32bit/192kHz的PCM,不支持DSD模式,但是理论上修改固件就能实现支持。如果有需要还可以添加音频输入端口,这是市面上售卖的绝大部分数字界面都做不到的。

 

原理图说明:

主芯片使用QFN48封装的XU208-128-QF48-C10,是目前能搞到的体积最小的数字界面芯片,内建高速USB2.0 PHY,简化电路设计。

该芯片需要3.3V的IO电压和1.0V的核心电压进行供电,3.3V电压从LDO取得,核心电压则使用DC-DC方案,减小系统功耗。

搭配的时钟是Accusilicon的AS318B,2520封装,价格实惠,性能可靠,关键是体积够小,完美符合要求。

上电复位(POR)电路使用的是NCP303LSN09T1G,但鉴于立创没货,使用BU4209G TR替代,如果有更好的替代方案请在评论告诉我。

固件使用SPI NOR Flash进行存储,型号不太重要,大部分都是通用的,我这里选择便宜大碗的ZD25WQ80BTIGT,8Mbit容量,但是实测我的固件也就27kb,也就是说你换成512Kbit的Flash也是能工作的。注意XU208支持SPI和QSPI flash,两种不同协议的flash对接线方式和软件代码都有要求,需要自己详细对照手册和例程。

输出端使用2.0mm的2×10pin排针,但是感觉还是不太满意,如果有更好的连接方式也在评论区告诉我。

 

固件制作说明:

所有的资料官网上都有,需要自己注册一个XMOS账号,包括开发工具,软件库,例程和教程都在官网上有,自己对着教程折磨就行了。

软件写好后需要自己写一个SPI spec文件,具体网上能搜到就不说了,然后在Flash configurationbin中选择输出到xxx.bin文件,这个就是固件。其中还要指定你的SPI spec文件,设置启动区空间大小(比固件体积大就行,实在不够把flash空间全分配进去),Other XFlash Option里必须加--noinq(用于使用第三方工具烧录),可选加--verbose(查看生产flash的过程是否有报错)。

Vd5acy3Pk85r8gjajJt6wcVOkcV9cZTXUWGGf1x6.png

 

固件烧录教程:

烧录固件并不需要官方的XTAG调试器和因此XTAG接口。直接使用Flash编程器(例如CH341A编程器),夹住flash去烧就是了。要注意烧录过程要把XMOS设置成复位状态,自己想办法,不然flash可能会被占用而无法烧录。

 

初版存在的问题:

1、USB反接不识别,可能是DP/DN线阻抗寄了,现已修改,但能不能用还有待考证。

2、两个机械孔开成4mm了,本来应该设计成3mm的,现已改正。

 

可能需要大家修改的地方:

1、输出端的2.0mm排针,换成2.54mm的可能更符合大众需求,或者有更好的方式在评论区交流一下。

2、如果不希望从USB取电,而是自己额外供电,把图中的R7断开即可,然后在排针VIN端供电(不要超过5V)

Prubun2N5m84NhNwTDanm5mosH42EdL9HoIKvNGe.png

 

附件里有datasheet和最简单的教程,更详细的教程需要自己搜或者去XMOS论坛提问。

 

常年不看私信,所以你私信问的问题很可能不会有答复,建议在评论区交流。

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP