音响放大器课程设计_第1页
音响放大器课程设计_第2页
音响放大器课程设计_第3页
音响放大器课程设计_第4页
音响放大器课程设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计任务书学生姓名: 赵雅丽 专业班级: 通信0906 指导教师: 刘新华 工作单位: 信息工程学院 题 目: 初始条件:要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)时间安排:(1)第18周理论讲解。(2)第19周理论设计、实验设计及安装调试。地点:鉴主13楼通信工程综合实验室、鉴主15楼通信工程实验室(1) 指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目 录 TOC o 1-3 h z u HYPERLINK l _Toc3861 摘 要 PAGEREF _Toc3861 I HYPERLINK l _Toc16582 Abstr

2、act PAGEREF _Toc16582 II HYPERLINK l _Toc5447 1. 绪论 PAGEREF _Toc5447 4 HYPERLINK l _Toc15032 1.2.设计任务及要求 PAGEREF _Toc15032 4 HYPERLINK l _Toc634 2. 设计方案 PAGEREF _Toc634 5 HYPERLINK l _Toc24611 3. 硬件电路设计 PAGEREF _Toc24611 7 HYPERLINK l _Toc20684 4. 仿真及分析 PAGEREF _Toc20684 15 HYPERLINK l _Toc10395 5.

3、实物制作 PAGEREF _Toc10395 17 HYPERLINK l _Toc4031 6. 设计心得及体会 PAGEREF _Toc4031 20 HYPERLINK l _Toc2766 参考文献 PAGEREF _Toc2766 21 HYPERLINK l _Toc21404 附录 PAGEREF _Toc21404 22武汉理工大学模拟电子技术基础课程设计PAGE III摘 要在音响放大器的制作过程中,控制该电路的主要核心电路是几个放大器的设计,其中主要包括:话音放大器,混合前置放大器,音调控制器,功率放大器等。随着电子技术的发展 ,话音放大器被广泛的应用到一系列放音设备中,混

4、合前置放大器 也在电路和数字电子电路的设计和制作过程中不可缺少的电路部分。功率放大器的运用使电子产品的成本大大减少,并且设计简单,易于操作,可靠性好的优点。音响放大器的设计目的是为了更好的掌握集成功率放大器内部电路工作原理,学会其外围电路的设计与主要性能参数测量方法以及掌握音响放大器的设计与电子线路系统的装试和调试技术。本次设计分为四的主要步骤:一 :构思和设计 ,话音放大器,混合前置放大器,音调控制级和功率放大级。二:根据设计要求和选择的电路通过计算选择元器件和参数,并准确无误的设计好要设计的电路原理图。 本次设计主要介绍了音响放大器的设计过程,其主要内容包括绪论、设计方案的选取、硬件电路设

5、计、仿真机分析、实物制作等。其中在绪论中主要介绍了设计的目的及意义以及电子技术的发展,设计方案的选取中对比了各种方案的优缺点,在硬件电路设计这一章中介绍了音响放大器各个分电路的工作原理以及参数的计算,仿真机分析中主要是仿真图形的得出,在实物制作这一章中主要内容是对调试过程的分析。AbstractIn audio amplifier production process, control of this circuit main core circuit is several amplifier design, which mainly includes: audio amplifier, mi

6、xed pre-amplifier, tones controller, power amplifiers, etc. With the development of electronic technology, voice amplifier is widely applied to a series of playback equipment, mixing the preamplifier also in circuit and digital circuit design and manufacture process the essential circuit parts. Powe

7、r amplifier apply make the electronic product cost decrease greatly, and design is simple and easy to operate, reliability good points. Audio amplifiers are designed to better grasp integration power amplifier circuit inside the working principle, learn its periphery circuit design and the main prop

8、erty parameter measurement method and mastering sound amplifier design and electronic circuit system loading test and debug technology. This design is divided into four main steps: a: design and design, the voice of amplifier, mixing the preamplifier, tone control level and power amplifier level. 2:

9、 according to the design requirement and the choice of circuit through computation select components and parameters, and accurate design good to design the circuit principle diagram. This design mainly introduces the design process of audio amplifier, its main content includes introduction, design s

10、cheme selection, hardware circuit design, analysis and physical real-tim make etc. Among the introduction of mainly introduced the design purpose, significance and the development of electronic technology, the selection of design scheme comparison of various scheme, the hardware circuit design in th

11、is chapter introduces the audio amplifier various points electric circuit principle of work and parameter calculation, simulator is largely a function of the simulation analysis of draw the conclusion that in making of objects in this chapter is main content to debugging process analysis. PAGE 21绪论新

12、旧世纪的的交替,不是一个简单的更迭,而是事物不断发展,循序渐进的过程。新世纪带来的是新的起点,新的追求,新的开拓。近几年来,计算机技术进入了前所未有的快速发展时期,随着电子信息技术的发展关于音响放大器在电子技术基础中所出的位置越来越来重要,它不仅是电子信息类专业的一个重要部分,而且在其它类专业工程中也是不可缺少的。放大器电路作为子系统的应用,发展更是迅速,以成为新一代电子设备不可缺少的核心部件,其现实生活中的运用也是非常普遍和广泛。音响技术的发展历史可以分为电子管、晶体管、集成电路、场效应管四个阶段。1906年美国的德福雷斯特发明了真空三极管,开创了揉电声技术的先河。1927年贝尔实验室发明了

13、负反馈NFB(Negative feedback)技术后,使音响技术的发展进入了一个崭新的时代,比较有代表性的如“威廉逊”放大器,而1947年威廉逊先生在一篇设计Hi-Fi(High Fidelity)放大器的文章中介绍了一种成功运用负反馈技术,成为了Hi-Fi史上一个重要的里程碑。 1.1。设计目的及意义音响放大器的设计目的是为了更好的掌握集成功率放大器内部电路工作原理,学会其外围电路的设计与主要性能参数测量方法以及掌握音响放大器的设计与电子线路系统的装试和调试技术。本次设计分为四的主要步骤:一 :构思和设计 ,话音放大器,混合前置放大器,音调控制级和功率放大级。二:根据设计要求和选择的电路

14、通过计算选择元器件和参数,并准确无误的设计好要设计的电路原理图。 1.2.设计任务及要求利用分离元件或集成电路制作一个音响放大器,可以放大话筒信号或毫伏级音频信号。技术指标如下:a输出功率:0.5W;b负载阻抗:4欧姆;c频率响应:fLfH=50Hz20KHz;d 输入阻抗:20K欧姆;e整机电压增益: 50dB;电路要求有独立的前置放大级(放大话筒信号);电路要求有独立的功率放大级。设计方案方案一 :采用锁环频率相合成技术外加音响放大器采用锁相环频率合成技术,先用锁相环频率合成产生一定范围的频率,在通过传感器把接收到的频率信号转化音频信号。再通过低通滤波器把频率控制在音频所需要的频率范围。它

15、的优点就是工作频率可调,也可以达到很高的频率分辨率;缺点是要求使用的滤波器通带可变,实现很困难。具体方案如3-1所示:晶振整形电路晶振整形电路R分频器鉴相器环路滤波器压控振荡器可变分频器图3-1 锁环频率相合成技术框图方案二:采用直接数字式频率合成器DDS技术外加音响放大器采用直接数字式频率合成器(DDS),是用RAM存储所需波形的量化信息,按照不同频率要求以频率控制字K为步进对相位增量进行累加,以累加相位值作为地址码读取存放在内存里。DDS具有相对带宽很宽、频率转换时间极短、频率分辨率高等优点;另外,全数字化结构便于集成,输出相位连续,频率、相位和幅度也可实现程控。但在方案中需要一块FPGA

16、,一块双口RAM,那么设计的成本较高。同时电路也不好仿真。实现起来也比较困难。方案三:采用直接给定的音频信号外加音响放大器采用直接所定的音频信号,是由MP3、数字激光(CD)、或DVD-Audio等现代音频信号设备,直接给音响放大器。此电路简单,其优点是:在音频信号具有直接给定的音频频率,在频率方面没有失真效果,而且具有混响器的效果。它的设计简单可靠,软硬可相互补充各自的缺点。同时音响效果也比较好。其结构框图如3-2所示话音放大器话音放大器磁带放音机混合前值放大器音调控制器功率放大器本设计中,采用方案三,即直接所给定的音频信号,输入信号是由磁带放音机所提供。设计采用这种方案主要是因为:此电路简

17、单,其优点是:在音频信号具有直接给定的音频频率,在频率方面没有失真效果,而且具有混响器的效果。本次设计采用这种方案主要是因为:它的设计简单可靠,软硬可相互补充各自的缺点。同时音响效果也比较好硬件电路设计本设计由语音放大器、电子混响器、混合前置放大器、音调控制器及功率放大器五部分组成。其工作原理如下:当语音信号由话筒输出后,进入语音放大器放大并传入电子混响器产生混响效果。混响后的信号连同磁带放音机产生的信号一同进入混合前置放大器,并进行放大。放大后的信号进入音调控制器,然后进入功率放大器进行功率放大后,由扬声器输出声音。接下来我们详细的分析各级的结构原理。3.1语音放大器的介绍说明由于话筒的输出

18、信号一般只有5mV左右,而输出阻抗达到20k 亦有低输出阻抗的话筒,(如20 ,200 等),所以话筒放大器的作用是不失真地放大声音信号(最高频率达到10kHz)。其输入阻抗应远大于话筒的输出阻。如图3.1.1 AvF=1+Rf/R2 (3.1.1)Ri=R1 (R1一般取几十千欧)耦合电容C1、C3可根据交流放大器的下限频率fL来确定,一般取 C1 = C3 = (310)1/ 2pRLfL (3.1.2)反馈支路的隔直电容C2一般取几微法。图3.1.1语音放大器原理图 V0= (RFV1/R1+RFV2/R2) (3.2.1)上式中 , U1为话筒放大器输电压 ,U2为录音机输出电压混合前

19、置放大电路图3.2.2混合前置放大器3.2音调控制器1.音调控制器主要是控制、调节放大器的幅频特性,理想的控制曲线如图3.3.1所示,图中f0(等于1kHz)表示中音频率,要求Av0=0dB; fL1 表示低音频转折(或截止)频率,一般为几十赫兹;fL2(等于10 fL1)表示低音频区的中音频转折频率; fH1表示高音频区的中音频转折频率;fH2(等于10fH1 )表示高音频转折率,一般为几十千赫兹。 图3.3.1音调控制器理想的控制曲线由图可见,音调控制器只对低音频与高音频的增益进行提升与衰减,中音频的增益保持0 dB不变,因此,音调控制器的电路可由低通滤波器与高通滤波器构成。由运算放大器构

20、成的音调控制器,如图3.3.2所示。这种电路调节方便,元器件较少,在一般收录音响放大器中应用较多。下面分析该电路的: 设电容C1 = C2 C3 , 在中低音频区,C3 可以视为开路,在中高音频区,C1,C2 可视为短路。 ( 1).当ff0 时,音调控制器的低频等效电路如图3.3.3所示。其中,图(a)为滑臂在最右端,对应于低频衰减最大的情况。分析表明,图(a)所示电路是一个一介有源低通滤波器,其增益函数的表达式为: A(j)= - (3.3.1)式中 ,1=1/(RP1C2)或 fl1=1/(2RP1C2),2=(RP1+R2)/(RP1R2C2)或fl2 =(R1+R2)/(2RP1R2

21、C2)(2).当ff0时,音调控制器的高频等效电路如图3.3.4所示。图3.3.4音调控制器的高频等效电路由于此时可将C1,C2视为短路,R4与R1,R2组成星型连接,转换成三角形连接后的电路如图3.3.5所示,其电阻的关系为: Ra=R1 +R4+( R1R4 /R2) Rb =R4 +R2 +(R4R2 /R) (3.3.3) Rc=R1 +R2 +(R2R1/R4)若取R1=R2=R4 ,则式(3.3.3)为: Ra=Rb=Rc=3R1=3R2=3R4图取的高频等效电路如图3.3.6所示,其中,图(a)为RP2的滑臂在最在最左端时,对于高频提升最大的情况:图(b)为RP2的滑臂在最右端时

22、,对应于高频衰减最大的情况。图3.3.5电路等效如 图3.3.6高频等效电路(a)为高频提升;(b)为高频衰减分析表明,图(a)所示电路为一价有源高通波器,其增益函数的表达式为A(jw)= (3.3.4)式中w=1/(Ra+R3)C3或fH1=1/ 2(Ra+R3)C3w4=1/(R3 .C3) 或fH2 =1/(2R3C3)与分析低频等效电路的方法相同(从略),得到下列公式。(2).f f H2时,C3 视为短路,此时电压增益 AVH=(Ra+R3)/R3同理可以得出图(B)所示电路的相应的表达式,其增益相对于中频增益为衰减量。音调控制器高频时的幅频特性曲线3.3.1中右半部分实线所示。实际

23、应用中 ,通过先提出对低频区(或)和(或( EQ )即 =. =/ 3.3功率放大器功率放大器(简称功放)的作用是给音响放大器的负载RL(扬声器)提供一定的输出功率.当负载一定时,希望输出的功率尽可能大,输出信号的非线性失真尽可能地小,效率尽可能高,功率放大器的常见电路形式有OTL(单电源供电的互补推挽电路)电路和OCL(乙类双电源互补对称功率放大电路)电路,有用集成运算放大器(简称运放)和晶体管组成的功率放大器,也有专用集成电路功率放大器。3.3.1集成运放与晶体管组成的功率放大器由集成运放与晶体管组成的OCL功率放大器电路如图3.4.1所示,其中,运放为驱动级,晶体管T1T4级成复合式晶体

24、管互补对称电路图3.4.1集成运放与晶体管组成的功率放大器3.3.2电路工作原理三极管T1、T2为相同类型的NPN管,所组成的复合管仍为NPN型。T3、T4为不同类型的晶体管,所组成的复合管的导电极性由第一只决定,即为PNP型。R4、R5、RP2及二极管D1、D2所组成的支路是两对复合管的基极偏置电路,静态是支路电流I0可由下式计算: I0=(2Vcc-2VD)/(R4+R5+RP2) (3.4.1)(3.4.1)式中,VD为二极管的正向压降。为减小静态功耗和克服交越失真,静态时T1、T3应工作在微导通状态,即满足下列关系:VAB/VD1+VD2/BE1+VBE3 称此状态为有甲乙类状态。二极

25、管D1、D2与三极管T1、T3应为相同类型的半导体材料,如图D1、D2为硅二极管2CP10,则T1、T3也应为三极管。RP2用于调整复合管的微导通状态,其调节范围不能太大,一般采用几百欧姆或1K电位器(最好采用精密可调电位器)。安装电路时首先应使RP2的阻值为零,在调整输出级静态工作电流或输出波形的交越失真时再逐渐增大阻值。否则会因RP2的阻值较大而使复合管损坏。R6、R7用于减小复合管的穿透电流,提高电路的稳定性,一般为几十欧姆至几百欧姆,R8、R9为负反馈电阻,可以改善功率放大器的性能,一般为几欧姆。R10、R11称为平衡电阻使T1、T3的输出对称,一般为几十欧姆至几百欧姆。R12、C3称

26、为消振网络,可改善负载为扬声器时的高频特性。因扬声器呈感性,易引起高频自激,此容性网络并入可使等效负载呈阻性。此外,感性负载易产生瞬时过压,有可能损坏晶体三极管T2、T4。R12、C3的取值视扬声器的频率响应而定,以效果最佳为好。一般R12为几十欧姆,C3为几千皮法至0.1F。功放在交流信号输入时的工作过程如下:当音频信号Vi为正半周时,运放的输出电压Vc上升,VB亦上升,结果T3、T4截止,T1、T2导通,负载RL中只有正向电流iL,且随Vi增加而增加。反之,当Vi为负半周时,负载RL中只有负向电流iL且随Vi的负向增加而增加。只有当Vi变化一周时负载RL才可获得一个完整的交流信号。静态工作

27、点设置:设电路参数完全对称。静态时功放的输出端O点对地的电位应为零,即VO=0,常称O点为“交流零点”。电阻R1接地,一方面决定了同相放大器的输入电阻,另一方面保证了静态时同相端电位为零,即V+=0。由于运放的反相端经R3、RP1接交流零点,所以V-=0。故静态时运放的输出Vc=0。调节RP1电位器可改变功放的负反馈深度。电路的静态工作点主要由I0决定,I0过小会使晶体管T2、T4工作在乙类状态,输出信号会出现交越失真,I0过大会增加静态功耗使功放的效率降低。综合考虑,对于数瓦的功放,一般取I0=1mA3mA,以使T2、T4工作电甲乙类状态。仿真及分析4.1.话筒放大级仿真图3.1话放级仿真4

28、.2.二级放大仿真图3.2二级放大仿真4.3.音调控制电路仿真图3.3音调控制电路仿真实物制作实践表明,新安装完成的电路板,往往难于达到预期的效果。这是因为人们在设计时,不可能周全地考虑到元件值的误差、器件参数的分散性等各种复杂的客观因素,此外,电路板安装中仍有可能存在没有查出的错误。通过电路板的测试和调整,可发现和纠正设计方案的不足,并查出电路安装中的错误,然后采取措施加以改进和纠正,就可使之达到预定的技术要求。5.1话筒放大器与混合前置放大器调试1.设计电路由话筒放大与混合前置放大两级电路组成。其中第一部分A1组成同相放大器,具有很高的输入阻抗,能与高阻话筒配接作为话筒放大器电路,其放大倍

29、数Av1为Av1=1+ R12/R11=8.5(18.5dB) (5.1.1)四运放LM324的频带虽然很窄(增益为1时,带宽为1MHz),但这里放大倍数不高,故能达到fH= 10kHz的频响要求。混合前置放大器的电路由运放A2组成,这是一个反向加法器电路,电压V02的表达式为 (5.1.2)根据图5.1.1的增益分配,混合级的输出电压V0237.5mV,而话筒放大器的输出V01已经达到了V02的要求,即V01=Av1V11=42mV,所以取R21=R22。录音机输出插孔的信号V12一般为100mV,已经远大于V02的要求,所以对V12要进行适当衰减,否则输出会产生失真。取R23=100k,R

30、22=R21=39k。5.2 音调控制器的调试1.音调控制器的设计及参数的确定音调控制器的电路如图6.2.1所示。运算放大器选用单电源供电的四运放LM324,其中RP33称为音量控制电位器,其滑臂在最上端时,音箱放大器输出最大功率。根据低频区fLX与高频区fHX处提升量或衰减量x(dB)与转折频率关系得到转折率fL2及fH1: 则 则 当ffL1时C32可视开路则 AvL=(RP31+R32)/R3120dBR31、R32、RP31不能取得太大,否则运放漂移电流的影响不可忽略,但也不能太小,否则流过它们的电流将超出运放的输出能力。一般取几千欧几百千欧。现取RP31=470k,R31=R32=4

31、7k则AvL=(RP31+R32)/R31=1+RP31/R31=11(20.8dB)根据式fL1=1/2RP31C32得; 取标称值0.01F,即C31=C320.01F。根据:Ra=Rb=Rc=3R1=3R2=3所以对等效电路R34=R31=R32=47k,Ra=3R34=141k因为 AvH=(Ra+R33)/R3320dB所以 R33=Ra/10=14.1k取标称值13K因为 所以 取标称值510pF 取 RP32=RP31=470k,RP33=10k,级间耦合与隔直电容C34=C35=10F图5.2.1音调控制电路5.3 功率放大器调试功率放大器(简称功放)的作用是给音响放大器的负载

32、RL(扬声器)提供一定的输出功率。当负载一定时,希望输出的功率尽可能大,输出信号的非线性失真尽可能地小,功率尽可能的高。有用集成运算放大器(简称运放)和晶体管组成的功率放大器,也有专用集成电路功率放大器。(1).集成运放与晶体管组成的功率放大器由集成运放与晶体管组成的OCL功率放大器电路如图5.3.1所示。其中,运放为驱动级。晶体管T1T4组成复合式晶体管互补对称电路。 图5.3.1 集成运放与晶体管组成的功率放大器由分析电路可得功率放大器的参数确定如下: R1=47K R2=1K R3=10K R4=11K R5=11K R6=240K R7=240K R8=R9=1K R10=100K R

33、11=100K R12=10K C1=10F C2=10F C3=0.1F RL=8K功放在交流信号输入时的工作工程如下:当音频信号Vi为正半周时,运放的输出电压VC上升,VB亦上升,结果T3、T4截止,T1、T2导通,负载RL中只有正向电流IL,且随Vi增加而增加。反之,当Vi为负半周时,负载RL中只有负向电流IL且随Vi的负向增加而增加。只有当Vi变化一周时负载RL才可获(2) 集成功率放大器 由两片LA4100接成的BTL(Balanced Transformerless)功率放大器的电路如图5.3.2 所示。输入信号Vi经LA4100(1)放大后,获得同相输出电压VO1,其电压增益AV

34、IR11/RF(40dB)。VO1经外部电阻R1、RF2分压加到LA4100(2)的反输入端,衰减量为RF2/(R1+RF2)(-40 dB),这样两个功率放大器的输入信号大小相等,方向相同。如果使LA4100(2)的电压增益AV2=(R2/R11)/RF2AV1,则两个功放的输出电压VO1与VO2大小相等,方向相反,因而RL两端的电压VL=2VO1。输出功率PL=(2VO1)2/RL=4 VO12/RL。可见接成BTL电路形式后,输出功率在理论上比OTL电路的功率要增加4倍。由于电路不完全对称,实际上获得的输出功率只有OTL电路的23倍。双声道集成功率放大器的内部就有两个完全相同的集成功放,

35、可以接成BTL电路。设计心得及体会 这次的课程设计,把以前我们所学的模电知识有机的结合了起来,组成了一个完整的系统。通过这次的锻炼,我们不仅动手能力得到了加强,更重要的是学到了很多新的专业技能知识,经验也更加丰富了。经过这一次设计我们认识到实验是一门能够提高个人动手能力的一门学科,同时也帮助了我们,怎么样把书本上理论的知识应用到实践中去。这次我们也充分利用了网络的优势,找了很多参考资料。参考了他人的制作方案和经验,再根据自己的理解和认识设计出了电路图。可以说网络的存在也是我们成功的关键。 经过这段时间的学习研究,基本完成音响放大器的设计。在音响放大器的制作过程中,控制该电路的主要核心电路是几个

36、放大器的设计,其中主要包括:话音放大器,混合前置放大器,音调控制器,功率放大器等。随着电子技术的发展 ,话音放大器被广泛的应用到一系列放音设备中,混合前置放大器 也在电路和数字电子电路的设计和制作过程中不可缺少的电路部分。功率放大器的运用使电子产品的成本大大减少,并且设计简单,易于操作,可靠性好的优点。忙碌之后看到属于自己的这份课程设计,心中也体会到了成功之后的那份喜悦和安慰,也使我在这一段时间留下了一份美好的回忆。参考文献【1】. 谢自美,阎树兰.电子线路设计、实验、测试(第二版).武汉:华中科技大学出版社,2000.7【2】. 康华光.电子技术基础(第四版).北京:高等教育出版社,1999

37、.1【3】. 童诗白.模拟电子技术基础.第二版.北京:高等教育出版社,1988【4】. 谈文心、钱聪、宋云闲.模拟集成电路-原理及应用.西安:西安交通大学出版社,1995【5】.设计竞赛组委会编. 全国大学生电子科技竞赛.1994-1999.【6】. 张珍华、, 苏志武 模拟与数字电路【7】.胡宴如,狄苏燕.模拟电子技术.第二版.北京:高等教育出版社,2004.2【8】.谢自美.电子线路设计实验测试.第三版.武汉:华中科技大学出版社,2006.8PAGE 37附录附录1:元件清单元件数量元件数量电容(1微法)1个电容(10微法)9个电容(0.01微法)2个电容(560皮法)1个电容(470微法

38、)1个电容(100微法)2个电容(33微法)1个电容(220微法)2个电容(51皮法)1个电容(560皮法)1个滑动变阻器(10千欧姆)3个滑动变阻器(470千欧姆)2个电阻(10千欧姆)8个电阻(75千欧姆)1个电阻(3千欧姆)2个电阻(47千欧姆)3个电阻(470千欧姆)1个电阻(13千欧姆)1个电阻(600欧姆)1个电阻(8欧姆)1个LM3243块LA41021个附录2:电路原理总图本科生课程设计成绩评定表姓 名性 别专业、班级题 目:答辩或质疑记录:成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定)附录资料:不需要的可以自行删除 busybox详解制作根文件系统详解制作根文件

39、系统 一、FHS(Filesystem Hierarchy Standard)标准介绍当我们在linux下输入ls / 的时候,见到的目录结构以及这些目录下的内容都大同小异,这是因为所有的linux发行版在对根文件系统布局上都遵循FHS标准的建议规定。该标准规定了根目录下各个子目录的名称及其存放的内容:目录名存放的内容/bin必备的用户命令,例如ls、cp等/sbin必备的系统管理员命令,例如ifconfig、reboot等/dev设备文件,例如mtdblock0、tty1等/etc系统配置文件,包括启动文件,例如inittab等/lib必要的链接库,例如C链接库、内核模块/home普通用户主

40、目录/rootroot用户主目录/usr/bin非必备的用户程序,例如find、du等/usr/sbin非必备的管理员程序,例如chroot、inetd等/usr/lib库文件/var守护程序和工具程序所存放的可变,例如日志文件/proc用来提供内核与进程信息的虚拟文件系统,由内核自动生成目录下的内容/sys用来提供内核与设备信息的虚拟文件系统,由内核自动生成目录下的内容/mnt文件系统挂接点,用于临时安装文件系统/tmp临时性的文件,重启后将自动清除制作根文件系统就是要建立以上的目录,并在其中建立完整目录内容。其过程大体包括:编译安装busybox,生成/bin、/sbin、/usr/bin

41、、/usr/sbin目录 利用交叉编译工具链,构建/lib目录 手工构建/etc目录 手工构建最简化的/dev目录 创建其它空目录 配置系统自动生成/proc目录 利用udev构建完整的/dev目录 制作根文件系统的jffs2映像文件 下面就来详细介绍这个过程。二、编译安装busybox,生成/bin、/sbin、/usr/bin、/usr/sbin目录这些目录下存储的主要是常用命令的二进制文件。如果要自己编写这几百个常用命令的源程序,my god, 这简直是一个噩梦!好在我们有嵌入式Linux系统的瑞士军刀busybox,事情就简单很多。1、从 HYPERLINK / / 下载busybox

42、-1.7.0.tar.bz22、tar xjvf busybox-1.7.0.tar.bz2解包3、修改Makefile文件175 ARCH ?= arm176 CROSS_COMPILE ?= arm-linux- 4、make menuconfig配置busyboxbusybox配置主要分两部分。第一部分是Busybox Settings,主要编译和安装busybox的一些选项。这里主要需要配置:1)、Build Options - Build BusyBox as a static binary (no shared libs),表示编译busybox时,是否静态链接C库。我们选择动态链

43、接C库。2)、Installation Options - Applets links (as soft-links) - (X) as soft-links,表示安装busybox时,将各个命令安装为指向busybox的软链接还是硬链接。我们选择软链接。3)、Installation Options - (/work/nfs_root/fs_mini3) BusyBox installation prefix,表示busybox的安装位置。我们选择/work/nfs_root/fs_mini34)Busybox Library Tuning。保留Command line editing以支持

44、命令行编辑;保留History size以支持记忆历史命令;选中Tab completion和Username completion以支持命令自动补全 第二部分是Applets,他将busybox的支持的几百个命令分门别类。我们只要在各个门类下选择想要的命令即可。这里我们基本保持默认设置。1)选中Networking Utilities - httpd下的Enable -u option,以启用http服务器的功能allows the server to run as a specific user5、编译busyboxmake6、安装busyboxmake install安装完成后,可以看到

45、在/work/nfs_root/fs_mini3目录下生成了binsbinusr/binusr/sbin目录,其下包含了我们常用的命令,这些命令都是指向bin/busybox的软链接,而busybox本身的大小不到800K:dennisdennis-desktop:/work/nfs_root/fs_mini3$ lsbin linuxrc sbin usrdennisdennis-desktop:/work/nfs_root/fs_mini3$ ls -l bintotal 740lrwxrwxrwx 1 dennis dennis 7 2010-04-03 23:57 addgroup -

46、 busyboxlrwxrwxrwx 1 dennis dennis 7 2010-04-03 23:57 adduser - busyboxlrwxrwxrwx 1 dennis dennis 7 2010-04-03 23:57 ash - busybox-rwxr-xr-x 1 dennis dennis 749632 2010-04-03 23:57 busyboxlrwxrwxrwx 1 dennis dennis 7 2010-04-03 23:57 cat busybox 而普通PC机上的ls命令就有差不多80K的大小: dennisdennis-desktop:/work/nf

47、s_root/fs_mini3$ ls -l /bin/ls-rwxr-xr-x 1 root root 78004 2007-09-29 20:51 /bin/ls busybox以它娇小的身躯容纳了数以百计的命令代码,实在是让人佩服不已,其不愧嵌入式系统瑞士军刀之美誉。据说,busybox的作者身患绝症,这更让人钦佩GNU开源软件的作者们。 三、利用交叉编译工具链,构建/lib目录 光有应用程序(命令)是不够的,因为应用程序本身需要使用C库的库函数,因此还必需制作for ARM的C库,并将其放置于/lib目录。my god,要自己写C库的源代码吗?不用!还记得交叉编译工具链的3个组成部分吗

48、?交叉编译器、for ARM的C库和二进制工具。哈哈,for ARM的C库是现成的,我们只需要拷贝过来就可以了。遗憾的是:整个C库目录下的文件总大小有26M。而我们根文件系统所在分区不过区区16M而已,根本放不下。怎么办呢? dennisdennis-desktop:/work/nfs_root/fs_mini3$ du -s -si /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib26M /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib 需要C库目录下所有的文件吗?no,absolutely no!

49、让我们来分析一下glibc库目录下内容的组成。该目录下的子目录和文件共分8类: 目标文件,如crtn.o,用于gcc链接可执行文件 libtool库文件(.la),在链接库文件时这些文件会被用到,比如他们列出了当前库文件所依赖的其它库文件,程序运行时无需这些文件 gconv目录,里面是各种链接脚本,在编译应用程序时,他们用于指定程序的运行地址,各段的位置等 静态库文件(.a),例如libm.a,libc.a 动态库文件 (.so、.so.0-9*) 动态链接库加载器ld-2.3.6.so、ld-linux.so.2 其它目录及文件很显然,第1、2、3、4、7类文件和目录是不需要拷贝的。由于动态

50、链接的应用程序本身并不含有它所调用的C库函数的代码,因此执行时需要动态链接库加载器来为它加载相应的C库文件,所以第6类文件是需要拷贝的。除此之外,第5类文件当然要拷贝。但第5类文件的大小也相当大。dennisdennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ du -c -si *.so* 7.2M total 需要全部拷贝吗?非也,非也!其实,需要哪些库完全取决于要运行的应用程序使用了哪些库函数。如果我们只制作最简单的系统,那么我们只需要运行busybox这一个应用程序即可。通过执行 dennisdennis-des

51、ktop:/work/nfs_root/fs_mini3$ arm-linux-readelf -a bin/busybox | grep Shared0 x00000001 (NEEDED) Shared library: libcrypt.so.10 x00000001 (NEEDED) Shared library: libm.so.60 x00000001 (NEEDED) Shared library: libc.so.6 可知:busybox只用到了3个库:通用C库(libc)、数学库(libm)、加密库(libcrypt),因此我们只需要拷贝这3个库的库文件即可。但是每个库都有4

52、个文件,4个文件都要拷贝吗?当然不是。 dennisdennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ ls -l libcrypt.-*-rwxr-xr-x 1 dennis dennis 30700 2008-01-22 05:32 libcrypt-2.3.6.so-rw-r-r- 1 dennis dennis 23118 2008-01-22 05:32 libcrypt.alrwxrwxrwx 1 dennis dennis 13 2008-12-22 15:38 libcrypt.so - libcryp

53、t.so.1lrwxrwxrwx 1 dennis dennis 17 2008-12-22 15:38 libcrypt.so.1 - libcrypt-2.3.6.sodennisdennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ ls -l libm.-*-rwxr-xr-x 1 dennis dennis 779096 2008-01-22 05:31 libm-2.3.6.so-rw-r-r- 1 dennis dennis 1134282 2008-01-22 05:32 libm.alrwxrwxrwx

54、1 dennis dennis 9 2008-12-22 15:38 libm.so - libm.so.6lrwxrwxrwx 1 dennis dennis 13 2008-12-22 15:38 libm.so.6 - libm-2.3.6.sodennisdennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ ls -l libc.-*-rwxr-xr-x 1 dennis dennis 1435660 2008-01-22 05:48 libc-2.3.6.so-rw-r-r- 1 dennis dennis 2

55、768280 2008-01-22 05:31 libc.a-rw-r-r- 1 dennis dennis 195 2008-01-22 05:34 libc.solrwxrwxrwx 1 dennis dennis 13 2008-12-22 15:38 libc.so.6 - libc-2.3.6.so 4个文件中的.a文件是静态库文件,是不需要拷贝的。另外3个文件是: 实际的共享链接库:libLIBRARY_NAME-GLIBC_VERSION.so。当然需要拷贝。 主修订版本的符号链接,指向实际的共享链接库:libLIBRARY_NAME.so.MAJOR_REVISION_VERS

56、ION,程序一旦链接了特定的链接库,将会参用该符号链接。程序启动时,加载器在加载程序前,会检索该文件。所以需要拷贝。 与版本无关的符号链接,指向主修订版本的符号连接(libc.so是唯一的例外,他是一个链接命令行:libLIBRARY_NAME.so,是为编译程序时提供一个通用条目)。这些文件在程序被编译时会被用到,但在程序运行时不会被用到,所以不必拷贝它。关于共享库的2个符号链接的作用的特别说明:当我们使用gcc hello.c -o hello -lm编译程序时,gcc会根据-lm的指示,加头(lib)添尾(.so)得到libm.so,从而沿着与版本无关的符号链接(libm.so - li

57、bm.so.6)找到libm.so.6并记录在案(hello的ELF头中),表示hello需要使用libm.so.6这个库文件所代表的数学库中的库函数。而当hello被执行的时候,动态链接库加载器会从hello的ELF头中找到libm.so.6这个记录,然后沿着主修订版本的符号链接(libm.so.6 - libm-2.3.6.so)找到实际的共享链接库libm-2.3.6.so,从而将其与hello作动态链接。可见,与版本无关的符号链接是供编译器使用的,主修订版本的符号链接是供动态链接库加载器使用的,而实际的共享链接库则是供应用程序使用的。通过以上分析,我们只需要拷贝3个库(每个库各1个主修

58、订版本的符号链接和1个实际的共享链接库)以及动态链接库加载器(1个符号链接和1个实体文件)。步骤如下:dennisdennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ mkdir /work/nfs_root/fs_mini3/lib dennisdennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ cp libcrypt-* /work/nfs_root/fs_mini3/libdennisdennis-desktop:/work/tools/g

59、cc-3.4.5-glibc-2.3.6/arm-linux/lib$ cp -l libcrypt.so.* /work/nfs_root/fs_mini3/libdennisdennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ cp libm-* /work/nfs_root/fs_mini3/libdennisdennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ cp -l libm.so.* /work/nfs_root/fs_mini3/

60、libdennisdennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ cp libc-* /work/nfs_root/fs_mini3/libdennisdennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ cp -l libc.so.* /work/nfs_root/fs_mini3/lib dennisdennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ cp -l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论