声卡与主板硬冲突

2024-04-12

声卡与主板硬冲突(通用6篇)

篇1:声卡与主板硬冲突

那台老机主板芯片组为VT693+VT596,用Slot1接口的赛扬CPU,没有板载音效芯片,外接了一块FM801芯片PCI声卡,后来系统经常出现“中断冲突”的现象,而且一冲突系统就死机,鼠标、键盘都锁死,设置BIOS、调整中断死机照旧,进安全模式都不行,一定得把声卡卸下才行,

几经折腾后系统干脆找不到声卡了,换到别的电脑上也检测不到,看来声卡是报销了。当时也没在意,心想可能是声卡质量太差,随便给它换了一块AD1815 ISA声卡,这次更邪乎了,在别的电脑上用得好好的声卡,一到这台机上就死活不能用了:键盘居然没有反应,连DOS也不能用,只在系统自检时能用它进BIOS,换用别的键盘情形还是照旧,而且要想正常使用也得把声卡卸下才行。后来不经意摸了一下声卡主芯片,温度居然和工作的CPU一样烫……看来某些主板与一些声卡有太深的“世仇”,骨子里面就水火不容,不是软件设置能解决的啊!不得已给它找了块CS4237 ISA声卡后系统终于正常了。

篇2:声卡与主板硬冲突

板载声卡一般有软声卡和硬声卡之分。这里的软硬之分,指的是板载声卡是否具有声卡主处理芯片之分,一般软声卡没有主处理芯片,只有一个解码芯片,通过CPU的运算来代替声卡主处理芯片的作用。而板载硬声卡带有主处理芯片,很多音效处理工作就不再需要CPU参与了。

AC97

AC97的全称是AudioCODEC97,这是一个由英特尔、雅玛哈等多家厂商联合研发并制定的一个音频电路系统标准。它并不是一个实实在在的声卡种类,只是一个标准。目前最新的版本已经达到了2.3。现在市场上能看到的声卡大部分的CODEC都是符合AC97标准。厂商也习惯用符合CODEC的标准来衡量声卡,因此很多的主板产品,不管采用的何种声卡芯片或声卡类型,都称为AC97声卡,

板载声卡优缺点

因为板载软声卡没有声卡主处理芯片,在处理音频数据的时候会占用部分CPU资源,在CPU主频不太高的情况下会略微影响到系统性能。目前CPU主频早已用GHz来进行计算,而音频数据处理量却增加的并不多,相对于以前的CPU而言,CPU资源占用旅已经大大降低,对系统性能的影响也微乎其微了,几乎可以忽略。

音质问题也是板载软声卡的一大弊病,比较突出的就是信噪比较低,其实这个问题并不是因为板载软声卡对音频处理有缺陷造成的,主要是因为主板制造厂商设计板载声卡时的布线不合理,以及用料做工等方面,过于节约成本造成的。

而对于板载的硬声卡,则基本不存在以上两个问题,其性能基本能接近并达到一般独立声卡,完全可以满足普通家庭用户的需要。

集成声卡最大的优势就是性价比,而且随着声卡驱动程序的不断完善,主板厂商的设计能力的提高,以及板载声卡芯片性能的提高和价格的下降,板载声卡越来越得到用户的认可。

篇3:声卡与主板硬冲突

股权结构的相对集中使得金字塔式股权控股结构在我国上市公司普遍存在,最终控制人通过金字塔结构实现对下属公司经营管理活动的控制。金字塔控股结构层级较长,且不同公司之间交叉持股,从而形成了较为严重的双重委托代理局面。在上市公司内部,内部资本市场是一个不容忽视的因素,控股股东、管理层及中小股东之间的代理冲突也会非常明显的体现在公司内部资本运作上,占有信息优势和拥有决策权的行为主体很可能利用内部资本市场来谋取私利,进而损害处于劣势地位的利益相关者的利益,不仅会损害中小股东的利益,还会影响到资本市场的健康发展。而控股股东、管理层为了逃避惩罚、维持获得的私利必然会采取一定的措施来掩盖自己的这类行为,操纵公司盈余会计信息成为最常用的手段。因此,上市公司控股股东、管理层都具有操纵会计信息谋求私人收益的动力,进而影响会计盈余质量。我国关于内部资本市场的研究还不够全面和深入,有关研究针对集团公司内部资本市场在公司资源配置中的作用进行了较为深入的研究,但随着研究的深入,人们发现内部资本市场不仅存在企业内部并发挥作用,还在不同企业法人之间进行内部资本配置并发挥作用。本文以上市公司内部资本市场运作行为作为中介变量,在检验公司两类代理冲突与公司会计盈余质量关系的同时,考察了内部资本市场的中介效应。

二、理论分析与研究假设

我国上市公司的股权结构普遍较为集中,控股股东多采用金字塔控股结构实现对公司的控制,这种控股结构为其谋取私人收益提供了便利。在该控股模式下控股股东可以利用地域其控制权的现金流权获得超额控制权收益,因此,控股股东有操纵盈余信息质量进而掩饰其侵占行为的动机。因此,上市公司控制权与现金流权分离度越大,其进行盈余操控的可能性也越大。同时,控股股东与公司高管之间存在利益诉求上的差异,前者的目标在于实现股东利益最大化,而公司管理层的收益是基于公司价值最大化的,同时,还有在职消费等收益。这也使得公司高管与控股股东之间存在利益冲突,管理层为逃避来自股东的监管,掩饰其私利行为也具有盈余管理的动机。由于信息不对称,公司股东难以完全控制管理层的自利行为,而管理层持股正是基于这一困境所实施的减缓二者利益冲突的措施,因此,股权激励能够促使管理层按照股东利益最大化的目标来改善盈余质量。基于上述分析提出本文研究假设1:

假设1a:第二类代理冲突会降低公司盈余质量,表现为两权分离度与可操控性应计利润绝对值正相关

假设1b:第一类代理冲突会降低公司盈余质量,表现为管理层持股与可操控性应计利润绝对值负相关

在我国高度集中的股权结构使得控股股东对公司具有绝对的控制权,而中小股东虽然拥有现金流权但是并没有控制权,这为控股股东谋取控制权私有收益提供了条件,控股股东可以通过内部资本运作来攫取公司利益,其中最主要的方式是内部交易形式,公司内部资本市场成为控股股东利益掏空的有效方式。管理层与控股股东之间的利益并不一致,为了获得额外津贴、在职消费等私人收益,公司管理层会关注公司的短期业绩,并在这一因素的驱使下增加内部资本市场运作。基于上述分析提出本文的研究假设2:

假设2a:股权分离程度会促使内部资本市场运作的发生

假设2b:管理层持股比例会降低内部资本市场运作的发生

根据上述分析,内部资本市场在上市公司资源配置方面发挥着重要作用,无论是控股股东还是公司管理层都会借助于公司内部资本市场来谋取个人私利,而内部资本市场运作成为其盈余操控的工具和手段,其中以关联交易最为常见,因此提出本文的研究假设3:

假设3a:内部资本市场在第二类代理冲突与盈余质量关系中具有中介效应

假设3b:内部资本市场在第一类代理冲突与盈余质量关系中具有中介效应

三、研究设计

(一)样本选择与数据来源

本文选取2012-2014年沪深主板市场上的上市公司作为研究对象,并对样本进行了以下筛选:(1)鉴于遵循的会计准则、监管机制的不同本问题剔除了金融保险类上市公司;(2)剔除ST、ST*类上市公司;(3)由于公司实际控制权的变动会影响公司利益关系,使得关联交易产生重大调整,因此,剔除了研究区间内发生实际控制权转移的公司;(4)剔除财务数据缺失、不连续的公司。经过上述筛选后共获取120家上市公司360组观测值。数据来源于国泰安数据库(CSMAR)、锐思数据库(RESSET)及中国证监会网站。

(二)变量定义

(1)盈余质量。本文以截面修正Jones模型进行计量可操纵应计利润DA并以其绝对值作为公司盈余质量的计量变量,该指标越大公司盈余质量越低。应计利润DA的计算过程如下:

式(3)中,NDAi,t代表的是非操纵性应计利润,ETAi,t代表的是总应计利润,即GA。

Ai,t-1代表i企业第t-1年的总资产,△REVi,t代表i企业本年度主营业务增长值,△RECi,t代表i企业t期末与上一期应收账款净额的差值。PPEi,t代表i企业第t年固定资产报价。首先,将企业某一年的截面财务数据放到公式(1)中,就可以获得回归系数的估计值。其后,将企业本年数据放入公式(2),就可以获得当年预估操纵性应计利润ε,ε表示企业第t期的操纵性应计利润,其计算方式见公式(3)。

(2)双重代理冲突。管理层与股东代理冲突。本文以管理层持股比例来衡量公司股东与管理层之间的代理冲突,持股比例越高,股东与管理层之间的委托代理冲突越小。借鉴Bebchuk等人的做法,以控制权与现金流权的分离程度作为衡量控股股东与中小股东委托代理冲突的代理变量,该变量数值越大表明二者的代理冲突越激烈。具体衡量办法为:分离度SEP=现金流权CR/控制权VR。计算现金流权时按照每一控制链条上各个层级的持股比例加以计算,所得数值为该链条上最大控制人的现金流权,拥有多个控制链条的按着多个链条的持股比例之和计算。控制权是指终极控制人对目标公司重大决策的表决权。

(3)内部资本市场运作。借鉴李江平(2010)的做法,本文以企业与关联方间的债权类交易和资金交易之和与总资产的比例来衡量内部资本市场运作。

(4)控制变量。根据已有研究结论影响盈余质量的变量还包括企业规模、资产负债率等变量,本文考虑这些变量的影响并将其加入构建的模型当中。此外本文还考虑加入了行业虚拟变量和年度虚拟变量来控制时间差异和行业差异对研究结论带来的影响。本文各变量定义见表1。

(三)模型构建

为检验本文的研究假设1构建如下静态面板回归模型1和模型2:

为检验本文的研究假设2构建面板Logit回归模型:

为检验本文研究假设3构建回归模型:

四、实证研究

(一)描述性分析

表2展示了本文主要变量的描述性统计特征。从盈余质量的统计结果看,可操控性应计利润的绝对值均值为0.0449,标准差为0.0436,这表明盈余管理在我国上市公司普遍存在。代表这第二类代理冲突的控制权与现金流权的分离度指标均值为0.0477,表明第二类代理冲突在我国上市公司的公司治理中也非常突出,标注差为0.0824,说明这一问题具有普遍性。高管持股比例方面均值为0.0069,上市公司高管持股比例较低,股权激励方式在我国尚不普遍,第一类代理冲突较为严重。内部资本市场运作发生可能性均值为0.8732,内部资本市场运作较为普遍,成为控股股东、公司管理层获取私有收益的重要途径。

(二)相关性分析

表3是本文相关变量的相关性分析。除INCAP1与INCAP2相关系数为0.7685并显著相关外,其余变量之间相关系数均小于0.5。由于INCAP1与INCAP2不在同一回归模型中,因此本文统计变量可以进行回归分析而不会产生严重的多重共线问题。具体来看,盈余管理与控制权-现金流权分离度、管理层持股比例的相关系数分别为0.0352和-0.0399,表明盈余质量因两类代理冲突的影响而下降。内部资本市场比例与盈余管理正相关,表明内部资本市场降低了公司盈余信息质量。

注:***、**和*分别表示在1%、5%和10%水平上显著相关,下同。

(三)回归分析

(1)双重代理冲突与盈余质量的回归分析。双重代理冲突与盈余质量的回归分析见表4。本文以固定效应模型进行静态面板回归统计,从模型的稳健性检验看,Wald-chi2值在1%水平上显著相关,表明该模型的估计结果非常稳健。此外,模型的平均方差膨胀因子小于10也进一步支持了本文研究变量之间不存在多重共线问题。模型1的回归统计结果表明第二类代理冲突变量CT1与可操控性应计利润在5%水平上显著正相关,这支持了本文的研究假设1,即公司两权分离度越大公司可操控性应计利润越大,公司的盈余质量显著降低。模型2的回归统计结果表明第一类代理冲突CT2与可操控性应计利润在5%水平上显著负相关,表明第一类代理冲突降低了公司的盈余质量,研究假设2得到检验。控制变量方面,公司规模、负债水平与可操控性应计利润正相关,这表明公司规模越大、负债水平越高,公司盈余质量水平越低。营业收入越高公司盈余质量越高,公司经营业绩的改善会促使企业提高盈余质量。

(2)双重代理冲突与内部资本市场运作的回归分析。采用固定效应模型进行回归统计,统计结果如表5所示。从模型的稳健性检验看,Wald-chi2值在1%水平上显著相关,表明该模型的估计结果非常稳健。此外,模型的平均方差膨胀因子小于10也进一步支持了本文研究变量之间不存在多重共线问题。统计结果表明CT1与内部资本市场运作INCAP之间的相关系数为0.3586,且在5%水平上显著正相关,即随着公司内部控制权与现金流权的分离程度的增大,公司内部资本市场运作交易量上升,这与本文的研究假设2a一致。CT2与内部资本市场运作INCAP之间的相关系数为-0.2033,且在5%水平上显著,即随着管理层持股的增加,内部资本市场运作交易量减少,这与本文的研究假设2b一致。

(3)双重代理冲突、内部资本市场运作与盈余质量的回归分析。采用固定效应模型进行回归统计,统计结果如表6所示。从模型的稳健性检验看,Wald-chi2值在1%水平上显著相关,表明该模型的估计结果非常稳健。此外,模型的平均方差膨胀因子小于10也进一步支持了本文研究变量之间不存在多重共线问题。模型5的回归统计结果表明第二类代理冲突CT1与DA在5%水平上显著正相关,进一步支持了本文的研究假设1a,交乘项CT1*INCAP相关系数为0.0214,且在5%水平上显著相关。综合以上两点可以发现,控股股东为谋取个人私利会采取一系列措施掩饰自己的私利行为,而内部资本市场成为其进行掩饰的重要途径,这一系列行为进一步恶化了公司的盈余质量。模型6的回归统计结果表明第一类代理冲突CT2与盈余质量DA在5%水平上显著负相关,这与本文的研究假设1b相符合,交乘项CT2*INCAP相关系数为-0.1369,且在5%水平上显著相关。综合以上两点可以发现,管理层利用其占有的信息不对称优势为谋求个人私利具有很强的盈余操控动机,这一点集中体现为CT2与DA之间的负相关性上,而内部资本市场同样成为其进行盈余操控的重要途径。

五、结论与建议

(一)结论

本文研究表明:控股权与现金流权的分离度CT1与可操控性应计利润DA在5%水平上显著正相关,而管理层持股比例CT2与可操控应计利润DA在5%水平上显著负相关,内部资本市场运作变量INCAP与上市两个变量的交乘项CT1*INCAP、CT2*INCAP与可操控应计利润DA均显著相关,综合以上两点可以发现,控股股东为谋取个人私利会采取一系列措施掩饰自己的私利行为,而内部资本市场成为其进行掩饰的重要途径,这一系列行为进一步恶化了公司的盈余质量。另一方面管理层利用其占有的信息不对称优势为谋求个人私利具有很强的盈余操控动机,这一点集中体现为CT2与DA之间的负相关性上,而内部资本市场同样成为其进行盈余操控的重要途径。

(二)建议

通过研究分析,本文得出如下结论:(1)从控股股东方面看,当前我国上市公司过于集中的股权结构导致控股股东的权力过大,而整个公司治理机制的不健全使得控股股东缺少有效的权力制衡机制,这就为公司控股股东谋取私利创造了条件。要形成对公司控股股东的有效制约必须进一步深化股权机制改革,降低公司股权集中程度。适当引入外部机构投资机构,充分发挥机构投资者的信息优势和专业优势,形成对控股股东的内部制衡力量。完善公司治理机制,充分发挥董事会、监事会等的作用,依靠有效的机制来形成长久的约束机制。(2)从公司管理层来看,公司应激励与监管并举。首先,应进一步完善公司的绩效评价机制,优化考评指标,使得公司的长期发展与管理层个人利益趋于一致,例如,更好的采用股权激励方式来缓和公司利益与管理层个人利益的冲突,在业绩指标的选择上,不仅要重视传统的会计指标,还应重视不宜被操控的指标的选取,当然还有各类非财务指标,压缩管理层进行盈余操控的空间。要完善公司内部监督机制,充分发挥内部审计、内部控制的监督作用,降低代理成本。(3)规范公司内部资本市场运作,强化对公司内部资本运作的监管,尤其是关联交易的规范和监督,充分发挥内部资本市场在资源配置方面的作用,同时,又要避免内部资本市场成为大股东、公司高层管理人员进行利益侵占的途径。

摘要:本文选取2012-2014年沪深主板上市公司为研究对象,分析了双重代理冲突对公司会计盈余质量的影响,并检验了内部资本市场的中介作用。研究表明:控股权与现金流权的分离度与可操控性应计利润显著正相关,而管理层持股比例与可操控应计利润显著负相关,内部资本市场运作变量与上市两个变量的交乘项与可操控应计利润均显著相关。综合以上两点可以发现:一方面控股股东为谋取个人私利会采取一系列措施掩饰自己的私利行为,而内部资本市场成为其进行掩饰的重要途径,这一系列行为进一步恶化了公司的盈余质量;另一方面管理层利用其占有的信息不对称优势为谋求个人私利具有很强的盈余操控动机,而内部资本市场同样成为其进行盈余操控的重要途径,内部资本市场在双重代理冲突与盈余质量的关系中发挥了中介效应。

关键词:双重委托代理冲突,内部资本市场,盈余质量

参考文献

[1]李玥:《我国上市公司内部资本市场效率实证研究》,浙江大学2007年硕士学位论文。

[2]魏明海、万良勇:《我国企业内部资本市场的边界确定》,《中山大学学报》2006年第1期。

[3]邓建平、曾勇:《上市公司家族控制与股利决策研究》,《管理世界》2009年第7期。

[4]王俊秋、张奇峰:《家族企业的“掏空”行为与会计盈余质量》,《上海立信会计学院学报》2008年第1期。

[5]王正军等:《家族上市公司终极控制权、现金流权分离与盈余管理》,《财会月刊》2012年第5期。

[6]Liu A.Corporate Management and Property Rights.Economic Policy and the Regulation of Corporate Securities,2007.

[7]Cheng J F.Nature and Significance of Conglomerate Firms.The John's L.Rev.,2009.

[8]Williamson O E.Markets and Hierarchies:Antitrust Analysis and Implications.2014.

[9]Matsusaka J G,Nanda V.Internal Capital Markets and Corporate Refocusing.Journal of Financial Intermediation,2002.

篇4:每一个主板都自带声卡吗

电脑主板是自带声卡的,但不自带带显卡。

电脑主板自带的声卡怎么样

电脑主板是自带声卡的,但是不同的电脑,电脑主板所带的声卡的质量也不一样。主板自带的集成声卡分等级,顶级的主板自带HiFi级别的解码芯片,可以有较好的音频输出,不过总体来说集成的声卡解析能力还是不及中端以上的独立声卡。做工好,设计到位的独立声卡可以支持高保真还原和输出,专业级别的建议使用独立声卡,日常听音乐唱歌的普通集成即可满足。

篇5:声卡与主板硬冲突

独立显卡与板载声卡冲突是怎么回事

试过几种方法如:重装系统,更换系统,升级到最新驱动。这是目前装好6570后的截图。板载网卡和声卡都是瑞昱的。

搞了半天,还是“ATI HDMI AUDIO”的问题,这块显卡里内置了声卡,装上后默认就是启用这个内置声卡,而原来的所有接口、控制按钮等,都是试用的主板集成声卡。将显卡内置声卡关闭后,问题解决。

篇6:声卡与主板硬冲突

可编程片上系统SoPC (System on a Programming Chip) 是一种新兴的嵌入式微处理器系统, 其综合了通用处理器的灵活性和ASIC的高速性, 是SoC (System on a Chip) 片上系统和FPGA的结合。在设计周期、成本、可配置性、可重用性等各方面均有明显的优势, 已经成为嵌入式发展的一个重要方向。

高级Linux声音架构ALSA (Advanced Linux Sound Architecture) 是替代OSS/Free (Open Sound System Free) 作为Linux内核中新一代音频驱动的标准, 并从2.6.0版内核开始作为标准的声卡驱动。ALSA具有支持多种声卡设备, 模块化、SMP和线程安全的设计, 提供应用程序开发库并支持OSS应用程序等特点[1], 但现阶段国内在ALSA声卡编程方面的研究, 特别是针对在SoPC平台下嵌入式音频控制器IP核的研究还比较少。

本文是基于Xilinx Virtex系列SoPC开发平台所进行的驱动程序开发。该系列平台以硬核PowerPC 405处理器为核心, 利用Xilinx公司开发的工具包EDK9.1i及其提供的外设接口IP核库, 如PLB, OPB等总线接口、SDRAM控制器、UART通用异步收发器、中断控制器、定时器等资源, 构建一个完善的嵌入式微处理器系统[2]。具体的实验平台使用XUPV2P开发板, 开发板上提供有AC97 CODEC芯片LM4550, 配置系统时选用AC97控制器IP核opbac97[3], 并对该平台移植好嵌入式Linux系统。

本文针对Xilinx Virtex系列平台的多媒体应用, 介绍最新的Linux音频驱动标准ALSA, 并介绍Linux下符合ALSA标准的嵌入式AC97声卡控制器IP核驱动的设计与实现。

1 ALSA音频子系统介绍

同NETWORK, TTY, USB等子系统一样, ALSA音频子系统延续了Linux系统软件模块架构设计的思想。ALSA系统包括内核驱动包alsa-driver, 应用程序开发包alsa-libs, 应用程序开发包插件alsa-libplugins, 设置管理工具包alsa-utils, 其他声音相关处理小程序包alsa-tools, 特殊固件支持包alsa-firmware, OSS接口兼容模拟层工具alsa-oss共7个子项目。ALSA架构以及数据流[4]如图1所示。

在图1中可以看出, ALSA应用库和ALSA内核API作为整个模块的中间层, 对音频接口做了抽象。应用程序通过调用ALSA应用库API提供的接口实现对设备的操作。OSS应用程序可通过内核空间OSS仿真模块或用户空间OSS仿真接口提供的OSS API在ALSA音频系统中运行。

目前Linux内核ALSA标准对音频设备在各平台下的主设备号统一为116, 在创建设备节点时统一建立在文件系统的/dev/snd目录下, ALSA音频主要的设备文件有:

(1) 控制接口 (/dev/snd/controlCX)

(2) 混音器接口 (/dev/snd/mixerCXDX)

(3) PCM接口 (/dev/snd/pcmCXDX)

(4) 定时器接口 (/dev/snd/timer)

其中, X从0开始。

相对于Linux2.6内核之前的OSS音频驱动标准, ALSA具有更加友好的编程接口, 并且完全兼容OSS。具体声卡设备的ALSA内核驱动程序仅需实现ALSA内核库API所要求的接口。

2 基于Xilinx Virtex系列平台AC97控制器驱动程序的设计与实现

2.1 Linux2.6内核字符设备驱动程序

在2.6内核中Linux引入了设备模型的概念[5], 设备模型跟踪系统所包含的所有设备, 进而让内核协调驱动程序与设备之间的关系。具体来说[7], 驱动程序由struct devicedriver 或者struct platformdriver定义, 其中主要的结构成员是probe () 和remove () 函数指针。通过使用driverregister () 或者platformdriverregister () 函数向系统注册该数据结构定义的设备驱动。

2.2 AC97控制器驱动设计

在ALSA的驱动程序中, 对于每个声卡而言, 必须创建一个card实例。card是声卡的“总部”, 它管理这个声卡上的所有组件, 如PCM, mixers, MIDI等。

PCM组件由PCM播放和录音流组成, 而每一个PCM流又由一个或多个PCM子流组成。此外驱动还需实现控制接口, 用于实现对设备的控制功能。AC97标准[6]的音频设备使用广泛, ALSA内核API提供一个完善的AC97控制模块。对于支持AC97的芯片而言, 只需编写少量底层的控制函数, 进一步简化了设备驱动的编写。

针对Xilinx Virtex系列可配置SoPC系统平台的AC97控制器Linux驱动程序数据流如图2所示。PCM组件实现驱动程序中内存缓冲区与AC97控制器IP核的IO缓冲区之间的PCM码流数据传送。控制接口实现AC97控制器IP核的控制, 设置或者获取CODEC芯片的状态信息。

2.3 ALSA音频驱动probe函数实现

实现AC97控制器IP核的驱动, 最主要是实现struct devicedriver 或者struct platformdriver结构成员probe () 函数。驱动程序的probe函数实现基本流程[8]如图3所示。通过函数sndcardnew () 创建struct sndcard数据结构的声卡card实例, 作为整个声卡硬件的资源封装, 并使用snddeviceregister () 向Linux ALSA子系统添加该声卡设备。

sndopbac97v2mixer () 用于创建一个AC97控制接口组件, 通过sndac97bus () 函数构建AC97总线及其操作。其中操作结构体struct sndac97busops主要包括read () 和write () 两个函数指针成员, 用于对符合AC97标准的声卡各控制寄存器的读写, 完成底层的硬件访问。这两个回调函数的实现与具体的AC97控制器IP核相关, 但控制寄存器的具体地址与AC97控制器IP核基地址的偏移量是固定的, 驱动实现过程中无需关注这一部分内容, 只需实现具体读写寄存器的方法即可。在这部分代码的实现过程中, 需详细查看IP核的开发文档[7]来完成这两个函数。在驱动编写过程中, 其它部分代码需要实现对AC97特定寄存器的读写访问, 可通过sndac97wsite () 和sndac97read () 函数来实现。

sndopbac97v2pcm () 用于PCM组件的创建, 这是整个驱动程序的核心部分。通过sndpcmnew () 函数实现PCM组件构造后, 使用sndpcmsetops () 设置PCM操作结构体。PCM操作结构体sndpcmops的成员包括open () , close () , ioctl () , pointer () 等函数。当一个PCM子流被打开时, open () 函数将被调用, 关闭PCM子流时close () 函数被调用。open () 函数将在打开PCM码流时完成对AC97控制器IP核个别寄存器的控制操作, 以实现PCM值的播放, 对应的close () 函数在关闭PCM码流时调用。pointer () 函数用于PCM中间层查询目前缓冲区的硬件位置, 该函数以帧的形式返回当前数据指针在缓冲区中的位置。

特别需要指出的是, 对嵌入式音频控制器来说, 一般其硬件缓冲区较小, 且不处于常规IO内存中, 这时就需要实现sndpcmops中的成员函数copy () 和silence () 。例如本文中使用的AC97控制器IP核硬件缓冲区 (FIFO) 大小仅为512个字, 而且这个硬件缓冲区不能被映射到常规内存中, 无法使用DMA操作。根据该硬件的情况及系统环境, 驱动程序在内存分配一段缓冲区, 如果驱动按照通用的AC97音频驱动实现方法实现, 播放或录制声音时该AC97控制器IP核中断将会比较频繁。因而在中断处理程序实现中, 在进入中断处理程序后, 将会关闭AC97控制器IP核的中断。通过查询寄存器确认当前控制器硬件缓冲区中的数据是空或满来确定是否退出当前的中断处理函数并开中断。中断处理程序实现数据在内存缓冲区和硬件缓冲区之间的搬移, 并利用ALSA中周期性调用struct sndpcmops中pointer指向的函数来定位当前数据播放指针。

2.4 驱动程序加载及测试

驱动程序以模块的形式进行加载, 加载驱动之前需提前加载以下几个依赖模块, 具体包括:snd-page-alloc, snd-timer, snd-pcm, ac97bus, snd-ac97-codec等模块。然后创建基本的设备节点:

root@xupv2p# mkdir /dev/snd

root@xupv2p# mknod /dev/snd/controlC0 c 116 0

root@xupv2p# mknod /dev/snd/pcmC0D0c c 116 24

root@xupv2p# mknod /dev/snd/pcmC0D0p c 116 25

交叉编译alsa-lib库和alsa-utils工具集可用于对驱动程序进行功能的有效性测试。对于ALSA设备, 默认启动状态是关闭的, 可使用amixer工具打开音频设备:

3 结束语

详细阐述了Linux下ALSA音频设备驱动程序的设计流程, 并介绍了AC97控制器IP核驱动程序实现过程。本文中所设计的驱动驱动程序实际应用到Xilinx Viterx系列SoPC系统中, 在测试过程中, 该驱动程序运行稳定, 并且达到了预期的实时效果。本文介绍的驱动程序在各SoPC平台具有可移植性, 且其设计方法适用其他SoPC平台AC97控制器的Linux驱动程序开发。

参考文献

[1][DB/OL].http://www.alsa-project.org.

[2]吴育烦, 等.基于ML403开发板的嵌入式Linux移植[J].计算机工程与设计, 2007, 28 (13) :3168-3171.

[3]Mike Wirthlin.opb ac97 (version 2.00a) [DB/OL].[2008].http://mlxup.ee.byu.edu/docs/opb ac97.pdf.

[4]Takashi Iwai.Sound Systems on Linux:From the Past To the Future[C].Linux 2003 Conference, Edinburgh, Scotland.

[5][美].Jonathan Corbet, 等.Linux设备驱动程序[M].魏永明, 等译.3版.北京:中国电力出版社, 2006.

[6]Inter Coporation, Audio Codec 97 Revision 2.2[S].2000.

[7]Linux-2.6-xlnx rc5[CP/OL].http://git.xilinx.com/cgi-bin/gitweb.cgi?p=linux-2.6-xlnx.git;a=summary.

上一篇:学习-信仰的力量-心得下一篇:我觉得我很棒 教学设计

本站热搜