UID613658
威望0
金钱9113
交易诚信度0
主题38
帖子1739
注册时间2009-7-26
最后登录2021-6-4
初级会员
 
交易诚信度0
注册时间2009-7-26
|
马上注册 家电论坛,众多有奖活动等你来参与!
您需要 登录 才可以下载或查看,没有账号?注册
x
为什么HiFi播放器不能用操作系统(Linux或Windows..)来做?
由于目前大部分操作系统都是分时多任务系统,由最上层的进程调度,到底层的中断调度,最后才能送达硬件。多数操作系统的中断以100Hz左右作为一个时钟滴答。也就说至少每10ms应用程序才能得到调度,而且由于系统有大量的应用,音频应用的优先权并不是最高的。而底层方面,则有各种中断需要处理,其中网络中断,显示 / 视频中断都需要大量的数据处理,音频处理优先级一般都会较前两者低。因而产生大量的Jitter,这也是PCHiFi无法和CDP相比的关键原因,用操作系统的播放器就等同于独立的Mini PCHiFi。
在操作系统中,音频应用(播放器)是应用层的程序,它每隔一段时间会将一段音频数据发送到操作系统中。而应用层还有许多其它的应用,也会间歇占用CPU等系统资源。播放器必须等待CPU等资源空闲才能将音频数据发送到操作系统中 。所以,如果系统中各种应用越多,音频应用就会不能得到及时调度,无法及时发送数据到操作系统中。
再往下,就是内核发送数据到硬件,内核是通过调用音频设备的驱动程序和硬件进行交互的。而这一切的动力来源,便是系统的中断。每次硬件发出中断,CPU会进行响应,查看是哪个设备的中断,然后调用中断程序进行处理,或者从硬件读入数据,或者又是写入数据到中断。这里可以看到,系统中有各种各样的中断,低优先级中断处理到一半,如果有高优先级中断发生,就会暂停下来,处理高优先级中断 。很多中断都比音频中断优先级高。因此音频响应在操作系统中可能会得不到及时处理,这样会导致jitter的产生。
最近有个国货USB解码器,它是异步的,为了处理这个异步的问题,集成了8M的缓存,必要的时候可以缓存近3秒的音频数据.呵呵,这东西声音怎么样先不说,但是这个缓存近3秒的做派,说明设计师对操作系统音频输出的实时性抱以极大的不信任。 |
|