资源描述
目 录1 绪 论11.1课题来源与研究意义11.2论文工作和容安排12 主控板总体方案设计32.1 主控板硬件方案需求32.2主控板总体结构设计33 主控板硬件平台的构建43.1 微处理器S3C2410描述43.2 Nand Flash电路83.3 SDRAM电路93.4电源电路113.5复位电路123.6系统时钟电路133.7 A/D转换电路133.8 LED数码管驱动电路163.9 JTAG接口电路183.10 串行接口电路193.11 本章小结204 ADS集成开发环境简述214.1 ADS集成开发环境简述214.2 ADS软件组成21工作总结与展望24参考资料26致 2831 / 331 绪 论1.1课题来源与研究意义本论文研究的课题是基于ARM9数字信道仿真器的主控板设计,信道是通信系统中不可缺少的重要组成部分,信道特性直接影响着通信系统的性能。同样在通信仿真系统与各种通信对抗模拟仿真系中,信道的模拟仿真也是一个重要的环节,可以说,信道模拟仿真的好坏,同样直接影响着整个模拟仿真系统的性能,而在信道的模拟仿真中,短波信道最为困难和复杂,因为短波信道是一个随机变参信道,它具有信道衰落信道传输延时与多径传播均随时间而变三大特点,信道中的信号、噪声和干扰都随昼夜、频率、地点而不断地变化着,很难确定一个能较为全面地反映短波信道特性的数学模型,但是,根据短波通信信道的一些统计规律,有所侧重地建立近似的信道模型,采用硬件与软件相结合的方法实现短波信道的模拟仿真是可以做到的。以往对通信系统设计与通信装备的鉴定、验收试验工作主要靠外场试验系统完成。外场试验系统的优点在于试验环境的真实性,信号环境虽然是人工制造的,但也是相对逼真的。但外场试验系统的局限性也非常明显,它的真实信道环境只限于试验场区环境,而在试验场区营造各种不同的信道环境几乎不可能。另外它还存在受气候条件限制、机动性差、试验成本高等一系列缺点。与之相比,仿真试验系统具有很多优点,它可以很容易地制造各种典型信道特性环境和电磁环境,能够模拟的地域跨度非常广阔,不受气候条件限制,可以随时进行多次重复试验。显然要建立仿真试验系统,信号环境和信道环境的仿真问题是需要解决的核心技术问题。1.2论文工作和容安排本论文所研究的是对信道环境的模拟问题。由于仿真仿真系统所具有的优越性,因此也出现了各种信道仿真器,其部分是对中频模拟信道的模拟。在这种情况下,基本上是对某一信道进行模拟,如卫星信道、短波信道等等。数字信道仿真器由配置计算机和实时硬件仿真器构成,硬件仿真器是整个信道仿真器系统的核心,系统采用模块化设计的方式,每一路双向数字信道作为硬件仿真器的一个基本子模块(以下简称“收发”通道),整个信道仿真器由8个“收发”通道、背板、电源板和主控板构成,能提供16个以太网口、E1接口和RS-530接口,每个子模块中相同类型的两个接口组成一个双向数字信道,用户选择使用某种接口。系统一般流程为:配置计算机提供用户界面,输入各路的延时、误码率、突发误码时间、突发误码方式等参数,主控板通过RS232接口与配置计算机相连接,接收并分发配置计算机发送的各通道仿真参数与其它控制命令,完成硬件仿真器仿真参数配置,再由子模块根据用户当前所使用的接口和配置参数,完成信道延时和插入误码。另外,主控板提供了必要的人机界面,当系统中没有配置计算机的时候,主控板可以代替配置计算机,即主控板提供用户界面,输入各路的延时、误码率、突发误码时间、突发误码方式等参数,各通道仿真参数由主控板配置给子模块,子模块根据用户当前所使用的接口和配置参数,完成信道延时和插入误码。这种双重控制设计提高了整个系统的灵活性,也便于成本控制(如去掉配置计算机可节省一笔开支)。本论文主要是设计基于ARM9数字信道模拟器的主控板。根据主控板的功能需求,选择了适宜的方案,使用以高速的ARM9处理器S3C2410为核心的信道仿真器的主控板,软件开发环境是ARM公司推出的ARM核微控制器集成开发工具ADS(ARM Developer Suite)集成开发环境,版本为ADS1.2,采用EasyJTAG仿真器调试。论文的容安排如下:第一章介绍数字信道模拟器的用途、基本构架和系统流程。重点说明主控板在系统中的作用。第二章简单了解主控板的功能需求,提出主控板的硬件设计方案,描述主控板的各个功能模块。第三章详细介绍主控板的硬件设计工作,分析各模块电路的功能和组成并做工作小结。第四章 简单介绍ADS(ARM Developer Suite)集成开发环境和ARM在未来发展中的展望。2 主控板总体方案设计2.1主控板硬件方案需求主控板硬件需要有:1)可供系统运行的电源电路;2)能提供性能优越的电源监视功能的复位电路;3)向CPU与其他电路提供的工作时钟电路;4)采集和输出模拟量的A/D、D/A转换电路;5)数码显示的LED电路;6)用于存放程序代码等在系统掉电后需要保存用户数据的Flash电路;7)用作程序运行的空间、数据与堆栈区的SDRAM电路;8)用于对Flash器件进行编程的JTAG接口电路;9)用于数据传输的串行接口电路。2.2主控板总体结构设计根据以上对主控板的总体结构要求的阐述,对部分硬件设计原理与工作原理有了大体的了解,作出2410的外围电路模块的配置,在下面的章节我将重点介绍我所做的系统基本组成,框图如2-1所示,这里不再赘述。图2-1系统基本组成框图3 主控板硬件平台的构建3.1微处理器S3C2410描述ARM公司和ARM处理器简介1)ARM是一个CPU核。ARM公司自己并不生产或销售芯片,它采用技术授权模式,通过出售芯片技术授权,收取授权费和技术转让费。2)基于ARM核的处理器是目前消费类电子市场中占有量第一的处理器,尤其是手机行业。3)ARM是“Advanced RISC Machine”的缩写,最早的ARM处理器诞生于80年代的英国。ARM处理器的特点:1)支持ACHE和MMU2)诺依曼体系结构/哈佛体系结构诺依曼体系结构一般ARM7所使用的机构,如图3-1所示。指令寄存器控制器数据通道输入输出中央处理器程序指令0指令1指令2指令3指令4数据数据0数据1数据2存储器图3-1诺依曼体系结构图哈佛体系结构是 ARM9与后继型号的结构,如图3-2所示。程序存储器指令寄存器控制器数据通道输入输出中央处理器指令0指令1指令2数据存储器数据0数据1数据2地址指令地址数据图3-2哈佛体系结构图3)RISC指令集固定的32位指令Load/Store体系结构大多数指令单周期完成4)流水线执行:几个指令可以并行执行 。提高了CPU的运行效率 。部信息流要求通畅流动。5)ThumbDSPjazeller功能扩展6)低功耗ARM处理器的分类基于处理器核的分类:ARM7T,ARM7E,ARM9,ARM9E,ARM10T,ARM10E,ARM11基于指令集体系结构的分类:v4T,v5T,v5TE,v5TEJ,v6。ARM核简介处理器核/整数核(Processor Core/Integer Core):ARM7TDMI, ARM9TDMI, ARM9E-S, ARM10TDMI,ARM10E等。ARM CPU核(ARM CPU Cores):ARM710T/720T/740T, ARM920T/940T, ARM946E-S, ARM966E-S, ARM1020E等。基于ARM Core CPU的应用处理器,比如:Intel的PXA25x,Philip的lpc22#系列, Samsung的S3C44B0等。ARM的市场ARM处理器市场覆盖率最高、发展趋势广阔基于ARM技术的32位微处理器,市场的占有率目前已达到80%。绝大多数IC制造商都推出了自己的ARM结构芯片。我国的中兴集成电路、大唐电讯、中芯国际和华虹,以与国外的一些公司如仪器、意法半导体、Philips、Intel、Samsung等都推出了自己设计的基于ARM核的处理器。ARM芯片选择的一般原则:从应用的角度,对在选择ARM芯片时所应考虑的主要因素做一详细的说明。1)ARM芯核如果希望使用WinCE或Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(Memory Management Unit)功能的ARM芯片.2)系统时钟控制器系统时钟决定了ARM芯片的处理速度。ARM7的处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHz,ARM9的处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟为100MHz-233MHz, ARM10最高可以达到700MHz 。3)部存储器容量在不需要大容量存储器时,可以考虑选用有置存储器的ARM芯片。4)USB接口许多ARM芯片置有USB控制器,有些芯片甚至同时有USB Host和USB Slave控制器。 5)GPIO数量在某些芯片供应商提供的说明书中,往往申明的是最大可能的GPIO数量,但是有许多引脚是和地址线、数据线、串口线等引脚复用的。这样在系统设计时需要计算实际可以使用的GPIO数量。6)中断控制器ARM核只提供快速中断(FIQ)和标准中断(IRQ)两个中断向量。但各个半导体厂家在设计芯片时加入了自己不同的中断控制器,以便支持诸如串行口、外部中断、时钟中断等硬件中断。外部中断控制是选择芯片必须考虑的重要因素,合理的外部中断设计可以很大程度的减少任务调度的工作量。 7)LCD控制器有些ARM芯片置LCD控制器,有的甚至置64K彩色TFT LCD控制器。在设计PDA和手持式显示记录设备时,选用置LCD控制器的ARM芯片较为适宜。8)扩展总线大部分ARM芯片具有外部SDRAM和SRAM扩展接口,不同的ARM芯片可以扩展的芯片数量即片选线数量不同,外部数据总线有8位、16位或32位。某些特殊应用的ARM芯片如德国Micronas的PUC3030A没有外部扩展功能。 9)I/O接口CPU与外部设备与存储器的连接和数据交换都需要通过接口设备来实现,而前级被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下,作为接口电路比较简单。而I/O设备品种繁多,其相应的接口电路也各不相同,因此,习惯上说到接口只是I/O接口。根据CPU设计的不同,集成度也不一样。一般用于手持或移动的设备所具有的接口大致相同,我在本次设计中所使用的基于ARM9的处理器S3C2410是著名的半导体公司SAMSUNG推出的一款32位RISC处理器。他为手持设备和一般类型的应用提供了低价格低功耗高性能微控制器的解决方案。S3C2410的核基于ARM920T,带有MMU(Memory Management Unit)功能,采用0.18m工艺,其主频可到203MHz,适合于对成本和功耗敏感的需求,同时它还采用了新型的总线结构AMBA(Advanced Microcontr-oller Bus Architecture),实现了MMU,AMBA- BUS , Harvard的高速缓冲体系结构,同时支持Thumb16位压缩指令集,从而能以较小的存储空间需求,获得32位的系统性能。S3C2410其片上功能如下:1)其核工作电压为1.8V/2.0V,存储器供电电压为3.3V;2)16KB的指令Cache和16KB的数据Cache;3)LCD控制器,最大可支持4KSTN和256TFT;4)4通道的DMA请求;5)3通道的UART,2通道的SPI接口;6)2通道的USB;7)4路PWM和1个部时钟控制器;8)117个通用I/O,24路外部中断;9)272PinFBGA封装;10)16位的看门狗定时器11)1通道的IIC/IIS控制器;12)带有PLL片上时钟发生器。后面所介绍的是设计中所必不可少的外围电路,如图3-3所示。核心板图3-3基本结构图3.2 Nand Flash电路flash的英文解释为:n.闪光,闪现,一瞬间,闪现,反射,使迅速传便,vt.使闪光,反射 adj.闪光的,火速的。Flash也是由macromedia公司推出的交互式矢量图和 Web 动画的标准,由Adobe公司收购。网页设计者使用 Flash 创作出既漂亮又可改变尺寸的导航界面以与其他奇特的效果。Flash也是存储芯片的一种,Flash存储器又称闪存,它通过特定的程序可以修改里面的数据。在实际开发中,设计者可以根据产品的接口、容量和成本、可靠性、寿命、产品的升级、读写性能等需求来进行合理选择。Nand Flash相较于Nor Flash存储器它具有:通用的SDAM接口,可以轻松的挂接在CPU的地址、数据总线上,对CPU接口要求低;性价比要比Nor Flash高一些;Nand Flash借口是固定的,升级比较简单;Nand Flash执行擦除操作是十分简单的。所以本系统所采用的64MB Nand Flash,它的型号为K9F2808。由于S3C2410直接带有NAND FLASH接口,因此接口逻辑极为简单。需要注意的是FRB信号是OC门输出,因此需要外部的上拉电阻。Nand Flash电路如图3-4所示:图3-4Nand Flash电路图K9F2808的引脚定义图表3-1如下:K9F2808的引脚图表3-1引脚描述引脚描述I/O0 I/O7数据、命令、地址输入/输出引脚WP写保护CLE命令锁存使能_R/B是否忙碌ALE地址锁存使能Vcc电源(2.73.3)CE芯片使能Vss地RE读使能N.C.无连接WE写使能3.3 SDRAM电路于Flash存储器相比,SDRAM电路不具有掉电保持数据的特性,但其存取速度大大高于Flash存储器,且具有读/写的属性.因此,SDRAM在系统中主要用作程序的运行空间、数据与堆栈区。当系统启动时,CPU首先从复位地址0x0出读取启动代码,在完成系统初始化后,程序代码一般应调入SDRAM中运行,以提高系统的运行速度,同时,系统与用户堆栈、运行数据也都放在SDRAM中。SDRAM具有单位空间存储量大和价格便宜的优点,已广泛应用在各种嵌入式系统中。SDRAM的存储单元可以理解为一个电容,总是倾向于放电,为避免数据丢失,必须定时刷新(充电)。因此,要在系统中使用SDRAM,就要求微处理器具有刷新控制逻辑,或在系统中另外加入刷新控制逻辑电路。S3C2410与其他一些ARM芯片在片具有独立的SDRAM刷新逻辑控制,可方便地与SDRAM接口。但某些ARM芯片则没有SDRAM刷新逻辑控制,就不能直接与SDRAM接口,在进行系统设计中应注意这一点。目前常用的SDRAM为8位/16位的数据宽度,工作电压一般为3.3V。主要的生产厂商为HYUNDAI,Winbond等。他们生产的同型器件一般具有相同的电气特性和封装形式,可通用。该系统中使用的HY57V561620为例,简要描述一下SDRAM的基本特性与使用方法:HY57V561620存储容量为4组*16M位(32MB),工作电压为3.3V,常见封装的54脚TSOP,兼容LVTTL接口,支持自动刷新(Auto-Refresh)和自刷新(Self- Refresh),16位数据宽度。HY57V561620引脚分布与信号描述如以下图表3-2所示:HY57V561620引脚图表3-2引脚名称描 述CLK时钟片时钟输入CKE 时钟使能片时钟信号控制/CS片选禁止或使能除CLK、CKE和DQM外的所用信号BA0、BA1组地址选择用于片4个组的选择A12A0地址总线行地址:A12A0,列地址:A8A0自动预充电:A10/RAS行地址锁存参照功能表/RAS的操作/CAS列地址锁存参照功能表/CAS的操作/WE写使能参照功能表/WE的操作LDQM、UDQM数据I/O屏蔽读模式下控制输出缓冲,写模式下控制输入数据DQ15DQ0数据总线数据输入/输出引脚Vdd/Vss电源/地部电路与输入缓冲电源/地Vddq/Vssq电源/地输出缓冲电源/地NC未连接未连接SDRAM电路图如3-5所示:图3-5 SDRAM电路图3.4电源电路在该系统中,需要用到5V,3.3V,1.8V的直流稳压电源,其中,SC32410的I/O电压需要3.3V的电源,S3C2410的核心电压需要1.8V的,另外其他外围器件有需要用到5V和3V的。系统的输入电压为5V。电源电路如图3-6所示:1)左图电路中3.3V使用LM1805;电路中1.8V使用AS11172)右图中是我们常用的LM7805的5V输出图3-6电源电路图3.5复位电路复位电路主要为了提供性能优越的电源监视功能,选取了专门的系统监视复位芯片IMP811S,该芯片性能优良,可以通过手动控制系统的复位,同时还可以实时监控系统的电源,一旦系统电源低于系统复位的阈值(2.9V),IMP811S将会起作用,对系统进行复位,复位电路图如3-7所示:图3-7复位电路图3.6系统时钟电路时钟电路用于向CPU与其他电路提供工作时钟。根据S32410的工作频率与PLL电路的工作方式,选择12MHz的无源晶振,与S3C2410部的PLL电路倍频后最高可以达到207MHz。片的PLL电路见有频率放大和信号提纯功能,因此系统可以较低的外部时钟信号获得较高的工作频率,以降低因高速开关时钟所造成的高频噪声。在该系统中S3C2410所使用的是无源晶振,系统晶振电路如图3-8所示,另外,S3C2410继承了实时时钟控制器,需要外部提供32.768kHz的实时时钟信号,电路图如图中3-9所示。图3-8 实时时钟电路图 图3-9系统晶振电路图3.7 A/D转换电路A/D转换的重要指标:1) 分辨率(Resolution):分辨率反映A/D转换器对输入微小变化响应的能力,通常用数字输出最低位(LSB)所对应的模拟输入的电平值表示。n位A/D能反应1/2n满量程的模拟输入电平。由于分辨率直接与转换器的位数有关,所以一般也可简单地用数字量的位数来表示分辨率,即n位二进制数,最低位所具有的权值,就是它的分辨率。值得注意的是,分辨率与精度是两个不同的概念,不要把两者相混淆。即使分辨率很高,也可能由于温度漂移、线性度等原因,而使其精度不够高。2) 精度(Accuracy)精度有绝对精度(Absolute Accuracy)和相对精度(Relative Accuracy)两种表示方法。1) 绝对误差 在一个转换器中,对应于一个数字量的实际模拟输入电压和理想的模拟输入电压之差并非是一个常数。我们把它们之间的差的最大值,定义为“绝对误差”。通常以数字量的最小有效位(LSB)的分数值来表示绝对误差,例如:1LSB等。绝对误差包括量化误差和其它所有误差。2) 相对误差 是指整个转换围,任一数字量所对应的模拟输入量的实际值与理论值之差,用模拟电压满量程的百分比表示。例如,满量程为10V,10位A/D芯片,若其绝对精度为1/2LSB,则其最小有效位的量化单位:9.77mV,其绝对精度为4.88mV,其相对精度为0.048%。3) 转换时间(Conversion Time)转换时间是指完成一次A/D转换所需的时间,即由发出启动转换命令信号到转换完毕信号开始有效的时间间隔。转换时间的倒数称为转换速率。例如AD570的转换时间为25us,其转换速率为40KHz。4) 电源灵敏度(power supply sensitivity)电源灵敏度是指A/D转换芯片的供电电源的电压发生变化时,产生的转换误差。一般用电源电压变化1时相当的模拟量变化的百分数来表示。5) 输出逻辑电平多数A/D转换器的输出逻辑电平与TTL电平兼容。在考虑数字量输出与微处理的数据总线接口时,应注意是否要三态逻辑输出,是否要对数据进行锁存等。6) 量程量程是指所能转换的模拟输入电压围,分单极性、双极性两种类型。例如,单极性量程为0+5V,0+10V,0+20V;双极性 量程为-5+5V,-10+10V。7) 工作温度围由于温度会对比较器、运算放大器、电阻网络等产生影响,故只在一定的温度围才能保证额定精度指标。一般A/D转换器的工作温度围为(0700C),军用品的工作温度围为(-55+1250C)。S3C2410X芯片自带一个8路10位A/D转换器,最大转换率为500K,非线性度为正负1.5位,其转换时间可以通过下式计算:如果A/D使用的时钟为50MHz,预定标器的值为49,那么:A/D转换频率=50MHz(49+1)=1MHz转换时间=1/(1MHz/5时钟周期)=1/200kHz=5us注意:因为A/D转换器的最高时钟频率是2.5MHz,所以转换速率可达500kSPS。(一)A/D转换电路如图3-10所示:图3-10A/D转换电路图注:1)3个ADC电位器对应AIN0-2,可通过跳线选择处理器的AIN0-2是连接电位器还是引出到扩展槽;2)ADC电路的参考电压VREF由多圈电位器RP1004来提供。(二)D/A转换电路如图3-11所示:图3-11 D/A转换电路图注:1)使用SPI经由MAX504 扩展2)MAX504的片选和清零线为由74HC573扩展出来的EXIO3.8 LED数码管驱动电路1)8位数码管由ZLG7290控制显示,是通过IIC总线接到2410 处理器2)电路中对IICSDA和IICSCL两个信号都接有3.3K上拉电阻。LED接口电路如图3-12所示:图3-12LED接口电路图电路中所使用的芯片ZLG7290键盘/LED驱动器是周立功公司针对仪器仪表行业的需要自行研制的一款芯片。该芯片能自动完成8位LED数码管的动态扫描和(最多)64按键检测扫描,大大减轻单片机的用于显示/键盘的工作时间和程序负担,可使集中资源用于信号的检测和控制。由于采用I2C总线方式使得芯片与单片机间的通讯只用2个I/O口便可完成,节省了单片机有限的口资源。ZLG7290能够直接驱动8 位共阴式数码管(或64 只独立的LED),同时还可以扫描管理多达64 只按键。其中有8 只按键还可以作为功能键使用,就像电脑键盘上的Ctrl、Shift、Alt 键一样。另外ZLG7290B 部还设置有连击计数器,能够使某键按下后不松手而连续有效。采用I2C 总线方式,与微控制器的接口仅需两根信号线。可控扫描位数,可控任一数码管闪烁。该芯片为工业级芯片,抗干扰能力强,在工业测控中已有大量应用。该芯片特点:1)I2C串行接口,提供键盘中断信号,方便于处理器接口;可驱动8位共阴数码管2)或64只独立LED和64个按键;可控扫描位数,可控任一数码管闪烁;提供数3)据译码和循环,移位,段寻址等控制;8个功能键,可检测任一键的连击次数;4)无需外接元件即直接驱LED,可扩展驱动电流和驱动电压;5)提供工业级器件,多种封装形式PDIP24,SO24。ZLG7209芯片其引脚功能如图3-13所示:图3-13ZLG7209芯片其引脚功能图3.9 JTAG接口电路80年代由联合测试行动组(Joint Test Action Group)制定的边界扫描测试(Boundary-Scan Testing,简写BST)规,在1990年被批准为IEEE std 1149.1-1990 标准,简称JTAG标准。优点是:可以迅速检测芯片之间的连接是否可靠;对于一些结构复杂的芯片,比如CPU、FPGA,只使用少量的管脚资源就可以实现在线调试,而不需要大量管脚引出信号。JTAG调试的原理是通过JTAG电缆控制CPU的引脚和寄存器,从而达到仿真的目的。软件仿真器和硬件仿真器的区别:软仿将硬仿的功能用PC来实现,不如硬仿稳定快速。JTAG接口电路图如图3-14所示:图3-14 JTAG接口电路图3.10串行接口电路系统带有两个串行接口,分别为UART0和UART1其中UART1复用为支持RS485和RS422的接口,另外还将其复用为IRDA的红外模块。几乎所有的微控制器、PC都提供串行接口,使用电子工业协会(EIA)推荐的RS-232-C标准,这是一种很常用的串行数据传输总线标准。早期它被应用于计算机与终端通过线和Modem进行远距离数据传输。随着微型计算机和微处理器的发展,不仅远距离,近距离也采用该通信方式。在近距离通信系统中,不再使用线和Modem,而直接进行端对端的连接。该系统使用的串行接口电路如图3-15所示:图3-15串行接口电路图3.11本章小结经过多番的查阅资料和请教指导老师,了解了硬件设计的基本要求,在本章节的编写过程中了解到了许多以前没有用到的元器件资料,并且系统学习了DXP电器绘图软件,并且就每个电路进行了系统的了解其工作原理和须知。4 ADS集成开发环境简述4.1 ADS集成开发环境简述ADS全称为ARM Developer Suite,是ARM公司推出的新一代ARM集成开发工具。现在ADS的最新版本是1.2,它取代了早期的ADS1.1和ADS1.0。在ADS工具诞生之前,一直使用的是ARM SDT工具,目前ARM SDT工具已经慢慢被淘汰。ADS除了可以安装在Windows NT4、Windows 2000、Windows 98和Windows 95操作系统下,还支持Windows XP和Windows Me操作系统。4.2 ADS软件组成ADS由命令行开发工具、GUI(Graphics User Interface,图形用户界面)开发环境(Code Warrior和AXD)、实用程序和支持软件组成。有了这些部件,用户就可以为ARM系列的RISC处理器编写和调试自己的开发应用程序了。下面将分别介绍这4个组成部分。1命令行开发工具命令行开发工具在实际应用中相对比较广泛,用它最大的好处就是可以将许多编译命令写在一个脚本文件中,然后只执行该脚本文件就可以让工具自动完成所有编译的工作。命令行中常用的命令如下。(1)armccarmcc是ARM C编译器,这个编译器通过了Plum Hall C Validation Suite为ANSI C的一致性测试。armcc用于将用ANSI C编写的程序编译成32位ARM指令代码。(2)armcpparmcpp是ARM C+编译器,它将ISO C+ 或EC+ 编译成32位ARM指令代码。该编译器的命令选项和armcc的选项基本一样,这里就不再重复。(3)tcctcc是Thumb C编译器,该编译器通过了Plum Hall C Validation Suite为ANSI一致性的测试。tcc将ANSI C源代码编译成16位的Thumb指令代码,同时它的编译选项和用法类似armcc,具体使用请参考ADS软件的在线帮助文件。(4)tcpptcpp是Thumb C+ 编译器,它将ISO C+ 和EC+源码编译成16位Thumb指令代码,同时它的编译选项和用法类似armcc,具体使用请参考ADS软件的在线帮助文件。(5)armasmarmasm是ARM和Thumb的汇编器,它对用ARM汇编语言和Thumb汇编语言写的源代码进行汇编。在命令行输入:armasm help将会看到armasm汇编器的用法以与它的编译选项。(6)armlinkarmlink是ARM连接器,该命令既可以将编译得到的一个或多个目标文件和相关的一个或多个库文件进行连接,生成一个可执行文件,也可以将多个目标文件部分连接成一个目标文件,以供进一步的连接。ARM连接器生成的是ELF格式的可执行映像文件。(7)armsdarmsd是ARM 和Thumb的符号调试器,它能够进行源码级的程序调试。用户可以在用C或汇编语言写的代码中进行单步调试,设置断点,查看变量值和存单元的容。2GUI开发环境ADS GUI开发环境包含Code Warrior和AXD两种,其中Code Warrior是集成开发工具,而AXD是调试工具。下面将分别介绍这两个工具。CodeWarrior for ARM是一套完整的集成开发工具,充分发挥了ARM RISC 的优势, 使产品开发人员能够很好的应用尖端的片上系统技术。该工具是专为基于ARM RISC的处理器而设计的,它可加速并简化嵌入式开发过程中的每一个环节,使得开发人员只需通过一个集成软件开发环境就能研制出ARM产品,在整个开发周期中,开发人员无需离开CodeWarrior开发环境,因此节省了在操作工具上花的时间,使得开发人员有更多的精力投入到代码编写上来,CodeWarrior集成开发环境(IDE)为管理和开发项目提供了简单多样化的图形用户界面。用户可以使用ADS的CodeWarrior IDE为ARM和Thumb处理器开发用C、C+或ARM汇编语言编写的程序代码。CodeWarrior IDE缩短了用户开发项目代码的周期,主要是由于:一是全面的项目管理功能;二是子函数的代码导航功能,使得用户能迅速找到程序中的子函数。关于CodeWarrior的具体使用将在1.3.2中详细介绍。AXD(ARM eXtended Debugger),即ARM扩展调试器。调试器本身是一个软件,用户通过这个软件使用调试代理可以对包含有调试信息的,正在运行的可执行代码进行比如变量的查看,断点的控制等调试操作。调试代理既不是被调试的程序,也不是调试器。在ARM体系中,它有这样几种方式:Multi-ICE(Multi-processor in-circuit emulator)、ARMulator和Angel。其中Multi-ICE是一个独立的产品,是ARM公司自己的JTAG在线仿真器,不是由ADS提供的。AXD可以在Windows和UNIX下进行程序的调试,它为用C、C+和汇编语言编写的源代码提供了一个全面的Windows和UNIX环境。1.3.3中会具体介绍AXD工具的使用方法。3实用程序ADS除了提供上述工具外,它还提供以下的实用工具来配合前面介绍的命令行开发工具的使用。(1)Flash downloader是用于把二进制映像文件下载到ARM开发板上的Flash存储器的工具。(2)fromELF是ARM映像文件转换工具。该命令将ELF格式的文件作为输入文件,将该格式转换为各种输出格式的文件,包括plain binary(BIN格式映像文件)、Motorola 32-bit S-record format(Motorola 32位S格式映像文件)、Intel Hex 32 format(Intel 32位格式映像文件)和Verilog-like hex format(Verilog 十六进制文件)。fromELF命令也能够为输入映像文件产生文本信息,例如代码和数据长度。(3)armar,ARM库函数生成器将一系列ELF格式的目标文件以库函数的形式集合在一起,用户可以把一个库传递给一个连接器以代替几个ELF文件。4支持的软件ADS为用户提供ARMulator软件,使用户可以在软件仿真的环境下或者在基于ARM的硬件环境调试用户应用程序。ARMulator是一个ARM指令集仿真器,集成在ARM的调试器AXD中,它提供对ARM处理器的指令集的仿真,为ARM和Thumb提供精确的模拟。用户可以在硬件尚未做好的情况下,开发程序代码。ADS软件主要由上述4个部分组成,它是新一代ARM集成开发工具。工作总结与展望这次毕业设计过程中了解了信道的概念和作信道仿真的实际意义,在整个设计过程中对以前所学的专业知识得到了很好的运用,所用到的元器件资料经过在同学中搜集和上网查阅的途径有了大致的了解,指导老师也对各个电路给我做了大致的讲解,是我对所做的硬件设计有了很好的认识,在硬件设计过程中,信道仿真器外部电路的绘制成了重中之重,在电路图绘制期间我运用以前所掌握的AutoCAD绘图软件,并且和同学系统的学习了DXP中电路图绘制。我在整个信道仿真器设计中只作了外部硬件设施,软件方面所知甚少,这是我的一大缺陷,在以后的学习生活中我要系统的学习一下关于软件方面的知识,尤其嵌入式系统中关于ARM的一些相关知识。因为我在网上了解到ARM公司自成立以来,迄今为止已经占有75%以上32位RISC嵌入式产品市场。在低功耗、低成本的嵌入式应用领域确立了市场领导地位。现在,已经有200多家芯片公司购买了ARM的知识产权,有几万名设计工程师在使用ARM技术开发芯片,十几万家系统厂商采用ARM芯片来开发产品,面世的产品会达到上百万种,最终全世界每年会有数十亿人使用带有ARM技术的产品,未来就是ARM世界。ARM技术应用领域可以分为四类:移动应用、家庭解决方案、企业应用和嵌入式应用方案。据ARM2007年第2季度统计,全球共有7亿带有ARM技术的产品出货,其中66%为移动产品、11%为嵌入式产品、8%为家庭应用产品、15%为企业应用产品。移动应用是ARM技术发展最为成功的领域,与传统领域不同,手机产品在几年间的变化迅速,功能的增加要求CPU性能更高、功耗更低、具有三维的用户界面等特性,其中近阶段成长最快的就是Smartphone。由于要运行更加复杂的操作系统,并且3G的发展使通讯模块更加复杂,所以应用处理器和通讯处理器都需要高性能支持。例如中国移动于2008年4月1日在中国八大城市推出第一批TD-SCDMA手机,用于3G服务的商业试运营。而这批手机全部基于ARM926EJ-S处理器。而目前只占出货量11%的嵌入式领域,却正是ARM未来几年的重点市场所在。嵌入式市场应用广泛,从低端到高端、从简单到实时的各种应用,简单的8位MCU依然存在巨大市场,而汽车、家庭、智能卡等对智能控制、联网要求的提高,软件可靠性的提升,使32位MCU呈现出高速成长状态。在产品开发过程中,ARM统一兼容的软件平台提供了便利。据ARM预测,嵌入式应用将是其未来发展最快的领域,预计到2015年ARM嵌入式领域的出货量将为现阶段的五倍,成为ARM产品最大的应用市场。当今世界正处于数字变革时代,但这场变革在消费电子和家电领域其实才刚刚开始,例如如今的洗衣机、空调、微波炉等采用的大部分还都是模拟技术,人机界面功能不够齐全,功耗也不理想。而要真正实现消费者要求的智能化,如洗衣机可以根据衣物的材质自动调节,空调可以远程调节等,不仅需要良好的用户界面,还需要降低功耗。我相信ARM在未来的数字时代的发展中有着不可或缺的地位。参考资料1 周立功等编著.ARM嵌入式系统基础教程M.:航空航天大学,2005. 2 周立功等编著.ARM嵌入式系统实验教程(一)M.:航空航天大学,2004. 3 周立功等编著.ARM嵌入式系统软件开发实例(一)M.:航空航天大学,2005. 4 王田苗.嵌入式系统设计与实例开发M.:清华大学,2002.5 梁合庆.当今嵌入式系统综述与新的投资机遇J.测控技术,2000,19(4).6 熊光泽,罗蕾.嵌入式软件技术的现状与发展动向J.计算机应用,2001,20(7). 7 马忠梅,马广云,徐英慧等.ARM嵌入式处理器结构与应用基础M.:航空航天大学,2002. 8 吴明晖.基于ARM的嵌入式系统开发与应用M.:人民邮电,2004.9 Ganssle Jack G.The Art of Programming Embedded Systems,San Diego:Academic press,1992. 10 Laplante Phillips.A Real-time Systems Design and Analysis,An Enginneers Handbook,Piscataway, New Jersey:IEEE Computer Society Press,1992. 11 Edward L Lamie.Real-Time Embedded Multithreading:Using Threadx And Arm,2004. 12 Michael Barr.Programming Embedded Systems in C and C+M,1999. 13 ARM公司.ARM Architecture Reference Manual (2nd Edition)S. ARM Corp,2000. 14 ARM公司.The ARM-THUMB Procedure Call StandardS.ARM公司,2000. 15 PHILIPS公司.LPC2292/2294 User ManualS. Philips Semiconductors Corp,2004. 16 ARM7TDMI-S(Rev 4)技术参考手册S.周立功单片机发展. 17 胥静.嵌入式系统设计与开发实例详解基于 ARM 的应用M.:航空航天大学,2005.18 峥嵘,智超等.嵌入式 Linux 应用开发详解M.:机械工业,2004. 19 田泽.嵌入式系统开发与应用M.:航空航天大学,2005.20 马忠梅等.ARM&Linux 嵌入式系统教程M.:航空航天大学,2004. 21 岚,凯.ARM7嵌入式系统的中断设计与中断处理优化J.理工大学学报,2004,(04).致 本文是在导师段海龙工程师精心指导下完成的.本人在毕业设计学习期间得到了导师段海龙工程师的悉心指导和热心教诲。段老师渊博的理论知识、严谨的治学态度令我受益匪浅,使我掌握了很多科学的研究和思维方法,并积累了大量的专业理论知识。在毕业设计的整个过程中,段老师给予了我很多指导意见,使我顺利的完成了课题的研究和论文的撰写。段老师在学术研究上严谨,紧密与最新科研动态和新技术新理论相接轨;为人朴实无华,诲人不倦。我衷心的感我的指导老师段海龙工程师,我无以回报,只有在今后的学习工作中更加勤奋努力,拼搏进取,争取以更大的成绩向老师献礼!在论文的撰写过程中也得到了的同班的允同学和林建斌同学的很多帮助,在此向他们表示感。对在百忙中抽出宝贵的时间评阅本文的老师表示万分感,感各位老师对本文提出宝贵意见,并感老师批评指导!最后,祝所有曾经关心和真诚帮助过我的老师和同学,朋友和亲人身体健康,工作顺利,万事如意!
展开阅读全文