andygaof 发表于 2021-11-15 14:56:38

nServer技术详解

小白版主发的贴回帖量惊人,首先感谢大家对nServer的关注。看大家很迫切要nServer的内脏图,索性把软硬件的设计理念统一发出来,供大家指正。

设计目标:44.1KHz音源播放质量达到或者逼近高端CD水平,HiRES格式超过高端CD水平。

在五个多年头的网/数播研发过程中,反复在证实一个结论,整个系统的I/O处理越实时,系统的声音就越好。因此软硬件系统的实时性是声音的第一要务,其次是供电等周周边配套对声音的支持。前者需要技术,后者需要经验积累。2020年一季度,nServer的研发正式启动,期间多次携机走访高端用户,反复在多种环境下与国外高水平数播和CD进行比对验证,并改进。2021年九月上海SIVA终版工程样机亮相并开始接受预定,可以说nServer达到了它的设计目标。

设计核心思想:

在反复研究数字播放与声音关联的过程中,大概有三个重点领域非常值得关注,两个是硬件层面的,供电设计和数字通路的电气设计。一个是软件和操作系统层面的,整个数据在软件处理上的实时性,尤其是末端写入I/O物理设备的实时性。在使用FPGA仿真CD机的工作过程中,同样发现,对CD数据处理的越实时,声音就越好。因此在软件层面,提升系统实时性为系统的重中之重。

预售客户的反馈:

在正式详解nServer之前,先来看下已经收到nServer部分预定客户的反馈:



“nserver具备媲美hiend sacd转盘的实力,独有的celplayer可以完全超越roon”



“这是我目前听到的潜最深的低频了,感觉,音域范围比二嫂和金嗓子都要广,把箱子的低音潜力激发出来。”



”nServer的Celplayer是我听过本地播放中最好听的“




”对比 Aurender W20,nServer声音的密度,解析力,层次感,声场,低频下潜都提升明显,不过让我最惊喜的还是是它的“模拟味”。“



”nserver优秀的细节表现和流畅的乐感带来强烈的舞台现场感,听录音质量好的交响乐回放让我不舍得摘下耳机“



”在音源选择上,无须畏首畏尾。nServer是我这些年玩串流数播,对自己最好也最合理的交代。听感无法形容,也无须参考。让回放从源头逼近录音现场。“

andygaof 发表于 2021-11-15 14:56:57

本帖最后由 andygaof 于 2021-11-15 22:21 编辑

硬件设计原则:

nServer的硬件设计,大体上可以分为“散热部分”,”电源部分”,“接地部分”和”软件实时性支持部分”四大部分。
散热设计:

因为散热设计相对比较容易理解,这里放在最前面叙述。散热部分则是保证整机系统声音一致性的关键点之一,作为高性能X86主机系统。尤其是整机使用了数十片LT3045顶级LDO以确保噪声最低。其发热量也是巨大的。因此热噪声成为nServer必须严肃对待的问题,对声音一致性影响不容小觑。因此确保机箱内部温度的稳定也是可以说声音设计的一部分。

CPU散热:采用了行业内标准的热管方式,这里不做赘述。需要强调的一点是,散热部分除了硬件外,其实华擎定制的BIOS,在散热方面也提供了巨大的辅助。该BIOS关闭了大量主板的开关电源,基本上主板只有CPU,内存供电开关电源仍在工作,其他的NVME硬盘,PCIE供电已经直接从nServer的ATX电源模块取电,而主板板载网卡,USB等供电则已经彻底移除。因此发热量也大幅度降低。


电源散热:对于LDO,变压器和整流桥部分,nServer通过安装板的CNC结构完成,搭配电路板预先设计的散热位置,所有电源卡的热量会迅速通过CNC结构传递到机箱外围散热器。



通过以上两点热设计,nServer确保了在室温30摄氏度的情况下,无压力的正常工作,而整机温度仍然维持在50摄氏度以内。从而有效的降低了热噪声,保证了声音的一致性。

电源设计

nServer为了满足软件部分最小化I/O处理时间的要求,其逻辑架构为单一X86主机,无论是现在连接在主板之外的EUB(以太网/USB处理卡)还是未来的DAOB(数字音频输出卡)均通过PCIE总线连接。简而言之,nServer的所有板卡逻辑上只有两类,ATX电源部分或者X86部分。因此占整机2/3看似复杂的电源,需要在逻辑上组成一个单独的ATX电源,满足ATX标准上电时序要求,同时满足nServer特定应用环境。

所谓上电顺序是控制某些器件必须比另外一些器件更早工作,否则可能导致某些系统无法启动。这里做个简单说明,可能更加便于理解,未来DAOB的模块将采用10MHz OCXO+PLL的解决方案,有些经验的烧友应该知道,有PLL就会有锁定时间的问题,用过Helen的烧友可能对此深有体会。在开启高精度模式时,锁定时间非常长。而很多板卡可以正常启动的前提是有时钟信号,否则系统将无法启动。因此,当按下电源开关的时候,系统必须对时钟部分先加电,确认时钟信号有输出后,才能启动CPU,否则DAOB板卡将“消失”。

因此nServer电源系统事实上是一个集中管理的分布式电源系统。下图是nServer的主板供电稳压部分,其上有专门用于控制其他板卡上电时间的逻辑部分。正是因为这一点nServer的DAOB才可以采用PCIE总线与X86核心进行通讯,而不必单独做一个独立工作的网桥。后续将在软件部分继续讨论这一问题。



基于这一控制单元,nServer的电源成为一个集群分布式供电系统,即有效的保证了各个关键模块独立供电要求,又保证了无系统异常的问题。



在整个nServer的电源设计中,整机采用了数十片(目前无DAOB板卡的时候是22片,DAOB和时钟部分预计有10片左右)LT3045顶级LDO处理芯片。采用箭猪定制的两个两路隔离(共四路)防磁,防静电电源变压器。为了更好的隔离,四个自行设计的基于肖特基二极管整流的快速滤波单元采用独立电路板。一个ATX中控及主板供电单元,一个从属硬盘供电单元。而USB以太网供电单元与未来的时钟,数字卡为了最小化纹波,电源与板卡共板设计,接受ATX中控单元上电时序控制。整机电源做了300%的供电冗余设计。加上机内的铜屏蔽板,在EMI测试和实际纹波测试中表现出色。

这里需要说明,很多人看了之前隔壁的图,觉得nServer的电源系统很简陋。这里是有误解的,例如很多烧友误认为主板的供电是由一个绿色部分提供的,而实际上是由两个绿色的整流模块和一个ATX中控及主板供电模块整个红色部分组成的,之所以没有放置在同一块板卡上是因为有采用铜屏蔽消减EMI的原因。同时12V CPU供电,与5/3.3V IO供电分开会有很多好处。




同时为了确保设备的供电性能,nServer设计有市电除直与EMI降噪系统,这一系统在模拟电路上会严重影响系统动态,而在数字系统上则明显的加强了瞬态,同时彻底避免了牛叫,储备功率下降等常见问题。

接地设计:

数字音频的接地系统对声音的影响至关重要,处于保密关系,这里无法详细描述接地设计细节。只提供结果,整机通过X86主板实现单点接地。同时nServer提供接地柱,连接有地盒等接地处理设备时,声音表现力提升明显。

软件实时性支持设计:

nServer不采用常见的“净化”方案,例如USB净化设备。从至纯网音六个年头的网数播研发经验看,任何的“净化”方式都会损失系统实时性。因此,所有输出板卡全部通过PCIE接口(未来时钟卡除外)与X86核心直接相连,最小化系统延时。这一点将在软件描述部分详细说明。
避震设计:

在避震方面,nServer经过反复机箱测试。最终采用了“工”字形架构,实现了一种相对不常见的避震处理。




传统三明治结构中,往往采用其他材料,例如木制材料实现变压器等位置的震动处理。而在nServer设计中,采用了“工”字型架构的处理方式,整机震动,传入底部承重主梁,主梁再传递到散热器,散热器再传递到中间安装CNC板,变压器采用悬吊式安装。在整体噪声传递中尽管均采用了相同的铝合金材质,但是避震效果良好。在一些比较简单的安装环境中也有相对出色的声音表现力。同时也有效的避免了机箱内放置木材质的老化问题。

需要说明一点,nServer由于出色的细节表现力,对各种周边仍然极度敏感。避震优化仍任对nServer有明显的影响。






andygaof 发表于 2021-11-15 14:57:08

本帖最后由 andygaof 于 2021-11-16 15:37 编辑

软件设计——重中之重的I/O传输延迟
I/O之重:

回到之前在至纯网音QQ群里和论坛里反复表述的观点。CD之所以好声,不在时钟,亦不在电源。而是在传输延迟。(当然对于高端系统而言没有什么是不重要的,请不要曲解为时钟、电源无所谓),还是用老案例,80/90年代CD名机的声音出色,而时钟大概只有几百ps。

经过反复对CD机的仿真和实测分析,CD的核心优点是传输延迟极低。如何在网/数播系统上实现CD级的低延时是至纯网音研发的重点。下面将就这个问题仔细讨论。

系统平台选择,ARM,AMD,还是Intel?数据不出CPU完成全部工作之梦

PNA最后选择了AMD,对于普通烧友而言,如果不具备Linux内核开发和软件开发能力,建议不要选AMD和ARM,可能是最差的。Intel Core系列支持Advanced Smart Cache技术的CPU应该是普通烧友的首选。这里大致上描述一下问题所在。

首先说明一个技术词汇,Cache,Cache大概可以理解为CPU核心自带的一个内存,如果需要的数据在这里有,那么就不需要到其他地方取,这个地方的数据比放在任何地方都要快,延迟最低。

首先看下ARM的A系列处理器的CPU架构:



ARM最大的问题是每个Core有一个独立的L2 Cache,数据从一个Core转移到另外一个Core这个L2 Cache基本没啥用,老老实实从其他地方取。所以ARM的缺点是L2 Cache在回放上基本不可用,软件I/O延时最高。

然后看下Intel Core支持Advanced Smart Cache的结构,这是个天才设计。



传统的L2 Cache,一个Core一个,互相之间取数据,抱歉,去总线抢资源,然后再拿,ARM就是这个情况。抢不到总线就等着。而Intel的Advanced Smart Cache,所有的Core用一个,完全不用去总线,只要能抢到 L2的读写权力就可以,所以音频播放的时候,发往I/O的数据大概率是在L2 Cache里的,延迟小的很。但是这里有个问题,如果有8个Core,那么就会有8个Core去抢L2的读写权力。如果没有分配能力,有点小隐患,但是无论如何比ARM那个架构牛多了。

最后看下AMD,这个其实有点拉跨,但是有些地方挺有趣。

AMD RYZEN ZEN2/ZEN3的CPU L2 Cache大面上看跟ARM一个德行(ZEN2/ZEN3的L3架构不一样,但是L2是一样的)。也是要跑去总线拿。不过还有一级L3 Cache,这一点比ARM好。但是相比Intel 12M L2 Catch容量的阔气,AMD每个Core上只有少的可怜的512K L2 Catch,这简直就是贫民。注意,这里L1最快,L2次之,L3相比之下最慢,不过还是比内存快了不知道多少倍。同时注意一下ZEN2/ZEN3架构的AMD,L3很大,32M,这个图的8M不正确。没找到最合适的图,而且L3不是讨论的重点,所以先引用这个图。



但是别急,他的真实情况是这样的,这个图是本人画的,但是对技术准确性负全责。它每个Core里有两个Threads,技术上讲如果播放器代码一个Thread负责I/O,一个Thread负责转码,(比如绿色的负责把音频转成声卡数据,蓝色负责发送给I/O)而且能够控制每次产生的数据不大于128K,并且控制系统进程不运行在这个核心上,那么要发往I/O的数据一定在L2 Cache里,而且没人跟你抢。在音频回放这一数据量不大而且要求每次转发数量和时间间隔几乎一致的应用中,单纯加快CPU运行速率是没有意义的,所以只要这要这个想法可以实现,目前就不可能找到比它运行的更快,I/O延迟更低的CPU。



这个思想不仅适用于CelPlayer,也同样适用于ROON等播放优化。所以,在经过反复的内核调整和软件代码调整验证成功后,nServer最终情定AMD。CelPlayer 1.1版本 L2 Cache命中率超过96%,而正在研发的1.3版本几乎可以达到100%。ROON的RAAT通过其他方式评估测试命中率也应该在50%以上。

我们不生产水,我们只是大自然的搬运工——CelPlayer设计
为何有CelPlayer?Roon不香么?这个问题需要从另外一个维度解释,ROON很好,方便,音乐管理强大。但是ROON每个大版本声音巨变,每个小版本声音小变。买来一个高端产品,5个月之后天知道声音变成什么样,这对于一个成熟产品而言,是难以接受的。因此PNA下定决心——开发CelPlayer,同时支持Roon,将Roon定义为泛听,串流。将CelPlayer定义为严肃聆听选用。力争两手抓,两手都要硬。同时对Roon升级做了处理,将Roon运行在内存中,可以随意升级体验,不喜欢新版本的声音,重启系统,恢复成老的,同时PNA,对Roon声音不断调优,一旦声音确认可行,发行升级包,Roon完成固化升级。对于不想用Roon的用户,nServer支持UPnP和AirPlay实现串流播放。

下面重点解释CelPlayer的工作模式之前我们以播放FLAC文件的过程看一下数播必须要做的工作,假定解码器为XMOS(通常数据接收格式为S32_LE)。



通常情况下,数播的工作过程会经过多次的格式转换,不停在在硬盘,内存与不同的CPU核心之间交互数据,最终由I/O发送到解码器



CelPlayer 1.3的播放过程比较特殊,首先由CelConverter将FLAC文件转换为PNA专用格式,该格式携带了歌曲码率信息,声道数量等内容,其他为解码器所需的文件格式。然后将该文件放置于内存。转换完成后,启动CelPlayer播放程序,此时CelPlayer不涉及任何的格式转换,直接分片将数据周期性从内存读入CPU L2 Cache,然后,直接从L2 Cache发送到I/O接口,这一播放过程,甚至比CD机的I/O处理方式更加简单直接,实现了比CD更稳定,更有效率的声音处理方式。当前1.1版本的CelPlayer处理的相对1.3版本要粗糙很多,声音相对1.3版本也有比较大差距。也就是说大概45天后CelPlayer 1.3版本发布,nServer的声音将进一步提升。

对于CelPlayer 1.3的行为,大致可以理解为,插入一张CD,等CD机完成对CD碟片的分析后,提示准备就绪,然后可以开始播放。
nServer如何定义DAOB数字卡

声音登顶之路,路在何方?这是将近六年来一直反复拷问自己和整个研发团队的问题。传统意义上数字卡,仅仅是个转换部分,将音乐转换成AES,SPDIF,i2s等格式,然后用更好的时钟,更好的电发送出去。是否有更好的方法?既然技术掌握在自己手里,FPGA开发纯熟而简单。我们决定从新定义数字输出,DAOB严格讲,从新变为声卡与播放器二合一设备,当使用第三方应用时,DAOB是一个标准数字卡,但是一旦切换为CelPlayer播放,数字卡,将变成真正的CelPlayer。未来的DAOB将集成内存,CelConverter转换的音频数据将支持AES/SPDIF/i2s数据结构。再见了CPU——“大自然的搬运工”将由一个专门硬件完成,这将彻底改写音频播放的定义,X86负责转码,放入FPGA内存,FPGA完成数字分发,没了操作系统,没了“软件”,只由时钟定义发送间隔,由硬件完成实时操作,其实时性和延时将再进一步。如果之前的I/O实时性决定声音水平论断正确,这一次,不知道我们会走向何方?会到达何处?



数字回放绕不开的问题——时钟同步

开篇,对nServer的定位做了清晰表述,同码率媲美高端CD转盘,高码率战而胜之。并且说明已经达到设计目标,但是这一切有一个不得不加上的前提——在没有时钟同步的情况下。一旦顶级厂家CD、解码、时钟套装介入,结果就会被改写。nServer的USB输出与顶级厂家CD、解码、时钟套装存在差距。这看上去是个硬件和调音问题,实际上却是一个软硬件结合调音的问题。因此放在了软件部分讨论。DAOB结合10M OCXO加PLL时钟方案,支持数字时钟输入输出,无论是搭配自家研发中的nDAC解码器,还是其他解码器,均可以实现时钟同步。

登顶之路的障碍——用户体验

CelPlayer 1.3和DAOB应该可以在声音本身领域里大展风采,但是在用户操控体验上不得不承认与Aurender,Roon这些成熟产品的差距,目前1.1版本的CelPlayer仍然停留在目录浏览这个比较古老的方式上,没有封面,没有搜索,这也是为何nServer声音无惧这些产品的挑战,但是定价如此保守的原因。再有几个月到小半年时间,相信2.0版本的CelPlayer给出一个完美答卷,在操控体验上也不输一线大厂。


ymlhh 发表于 2021-11-15 15:07:25

占楼再看

小白 发表于 2021-11-15 15:26:33

来看看。别的不说,CelPlay播放本地音频的优势真的是明显的。

chunshuo 发表于 2021-11-15 15:53:56

本帖最后由 chunshuo 于 2021-11-15 15:55 编辑

喜欢这样讨论设备技术的官方贴。
官方可以解答很多用户的疑问。就像之前在过来论坛爬uptone的设备贴一样。
可以了解到很多产品说明书上没有的东西。

hifigeek 发表于 2021-11-15 16:20:06

反复对比过celplayer beta版本和roon,同样播放本地
支持高总的不随波逐流:victory:

寒山暮雪 发表于 2021-11-15 16:27:27

坐等高总的技术贴,作为一个穷烧,我对celplayer更感兴趣,希望能高总早点把这个播放软件下放到赛耳的中端产品。

wenter001 发表于 2021-11-15 16:33:31

手上在听NS200II的celplayer,比upnp和roon都好听,期待Nserver发货

armstrong 发表于 2021-11-15 16:46:52

本帖最后由 armstrong 于 2021-11-15 16:52 编辑

终于等到高宗的干货技术贴了。
nServer可玩性极大,越高端越敏感。
相信很快就能看到它带来的“周边”热潮。
避震,供电,接地,信号线,数字线(目前是usb)。。。
在这个大件到位的基础上,新的听感基线会重新建立。
想折腾的,可以重新审视系统。各种A/B,全是变量。
想休息的,听音乐就好了。已经很牛了。


andygaof 发表于 2021-11-15 17:06:16

本帖最后由 andygaof 于 2021-11-15 17:07 编辑

dfying 发表于 2021-11-15 16:58
我注意到一点:好几家数播厂家,不约而同的选择了华擎作为X86主板生产商,而不是名气更大的华硕,微星,Int ...
几方面原因,华擎主板首先在用料上不比上述一线大厂差。主板2OZ的铜对声音的好处很大。还有一个很重要的原因是因为华擎相对小,承诺一定采购量之后可以商量定制BIOS,跟ASUS聊过,不肯定为这点量定制BIOS。而BIOS的定制对于声音提升是巨大的。
ASUS旗下的研扬在沟通后也可以定制BIOS,但是后来反复测试选择了AMD平台。研扬只有Intel平台,所以最后nServer采用了华擎。

寒山暮雪 发表于 2021-11-15 17:09:43

andygaof 发表于 2021-11-15 17:06
几方面原因,华擎主板首先在用料上不比上述一线大厂差。主板2OZ的铜对声音的好处很大。还有一个很重要的 ...

建议高总放一些测试数据上来。

andygaof 发表于 2021-11-15 18:01:01

寒山暮雪 发表于 2021-11-15 17:09
建议高总放一些测试数据上来。

很多测试方法是我们独有的,出于商业秘密考虑,是没法发上来的。

zhouxiaotian 发表于 2021-11-15 18:08:29

期待高总的双aes输出和时钟卡;P

mifeng 发表于 2021-11-15 18:16:19

虽然看不懂,但是技术方向和路径选择似乎是make sense的。有时间听听看,虽然时间少的一批。;P
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: nServer技术详解

耳机俱乐部微信
耳机俱乐部微信