虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

LU分解法、列

  • 时钟分相技术应用

    摘要: 介绍了时钟分相技术并讨论了时钟分相技术在高速数字电路设计中的作用。 关键词: 时钟分相技术; 应用 中图分类号: TN 79  文献标识码:A   文章编号: 025820934 (2000) 0620437203 时钟是高速数字电路设计的关键技术之一, 系统时钟的性能好坏, 直接影响了整个电路的 性能。尤其现代电子系统对性能的越来越高的要求, 迫使我们集中更多的注意力在更高频率、 更高精度的时钟设计上面。但随着系统时钟频率的升高。我们的系统设计将面临一系列的问 题。 1) 时钟的快速电平切换将给电路带来的串扰(Crosstalk) 和其他的噪声。 2) 高速的时钟对电路板的设计提出了更高的要求: 我们应引入传输线(T ransm ission L ine) 模型, 并在信号的匹配上有更多的考虑。 3) 在系统时钟高于100MHz 的情况下, 应使用高速芯片来达到所需的速度, 如ECL 芯 片, 但这种芯片一般功耗很大, 再加上匹配电阻增加的功耗, 使整个系统所需要的电流增大, 发 热量增多, 对系统的稳定性和集成度有不利的影响。 4) 高频时钟相应的电磁辐射(EM I) 比较严重。 所以在高速数字系统设计中对高频时钟信号的处理应格外慎重, 尽量减少电路中高频信 号的成分, 这里介绍一种很好的解决方法, 即利用时钟分相技术, 以低频的时钟实现高频的处 理。 1 时钟分相技术 我们知道, 时钟信号的一个周期按相位来分, 可以分为360°。所谓时钟分相技术, 就是把 时钟周期的多个相位都加以利用, 以达到更高的时间分辨。在通常的设计中, 我们只用到时钟 的上升沿(0 相位) , 如果把时钟的下降沿(180°相位) 也加以利用, 系统的时间分辨能力就可以 提高一倍(如图1a 所示)。同理, 将时钟分为4 个相位(0°、90°、180°和270°) , 系统的时间分辨就 可以提高为原来的4 倍(如图1b 所示)。 以前也有人尝试过用专门的延迟线或逻辑门延时来达到时钟分相的目的。用这种方法产生的相位差不够准确, 而且引起的时间偏移(Skew ) 和抖动 (J itters) 比较大, 无法实现高精度的时间分辨。 近年来半导体技术的发展, 使高质量的分相功能在一 片芯片内实现成为可能, 如AMCC 公司的S4405, CY2 PRESS 公司的CY9901 和CY9911, 都是性能优异的时钟 芯片。这些芯片的出现, 大大促进了时钟分相技术在实际电 路中的应用。我们在这方面作了一些尝试性的工作: 要获得 良好的时间性能, 必须确保分相时钟的Skew 和J itters 都 比较小。因此在我们的设计中, 通常用一个低频、高精度的 晶体作为时钟源, 将这个低频时钟通过一个锁相环(PLL ) , 获得一个较高频率的、比较纯净的时钟, 对这个时钟进行分相, 就可获得高稳定、低抖动的分 相时钟。 这部分电路在实际运用中获得了很好的效果。下面以应用的实例加以说明。2 应用实例 2. 1 应用在接入网中 在通讯系统中, 由于要减少传输 上的硬件开销, 一般以串行模式传输 图3 时钟分为4 个相位 数据, 与其同步的时钟信号并不传输。 但本地接收到数据时, 为了准确地获取 数据, 必须得到数据时钟, 即要获取与数 据同步的时钟信号。在接入网中, 数据传 输的结构如图2 所示。 数据以68MBös 的速率传输, 即每 个bit 占有14. 7ns 的宽度, 在每个数据 帧的开头有一个用于同步检测的头部信息。我们要找到与它同步性好的时钟信号, 一般时间 分辨应该达到1ö4 的时钟周期。即14. 7ö 4≈ 3. 7ns, 这就是说, 系统时钟频率应在300MHz 以 上, 在这种频率下, 我们必须使用ECL inp s 芯片(ECL inp s 是ECL 芯片系列中速度最快的, 其 典型门延迟为340p s) , 如前所述, 这样对整个系统设计带来很多的困扰。 我们在这里使用锁相环和时钟分相技术, 将一个16MHz 晶振作为时钟源, 经过锁相环 89429 升频得到68MHz 的时钟, 再经过分相芯片AMCCS4405 分成4 个相位, 如图3 所示。 我们只要从4 个相位的68MHz 时钟中选择出与数据同步性最好的一个。选择的依据是: 在每个数据帧的头部(HEAD) 都有一个8bit 的KWD (KeyWord) (如图1 所示) , 我们分别用 这4 个相位的时钟去锁存数据, 如果经某个时钟锁存后的数据在这个指定位置最先检测出这 个KWD, 就认为下一相位的时钟与数据的同步性最好(相关)。 根据这个判别原理, 我们设计了图4 所示的时钟分相选择电路。 在板上通过锁相环89429 和分相芯片S4405 获得我们所要的68MHz 4 相时钟: 用这4 个 时钟分别将输入数据进行移位, 将移位的数据与KWD 作比较, 若至少有7bit 符合, 则认为检 出了KWD。将4 路相关器的结果经过优先判选控制逻辑, 即可输出同步性最好的时钟。这里, 我们运用AMCC 公司生产的 S4405 芯片, 对68MHz 的时钟进行了4 分 相, 成功地实现了同步时钟的获取, 这部分 电路目前已实际地应用在某通讯系统的接 入网中。 2. 2 高速数据采集系统中的应用 高速、高精度的模拟- 数字变换 (ADC) 一直是高速数据采集系统的关键部 分。高速的ADC 价格昂贵, 而且系统设计 难度很高。以前就有人考虑使用多个低速 图5 分相技术应用于采集系统 ADC 和时钟分相, 用以替代高速的ADC, 但由 于时钟分相电路产生的相位不准确, 时钟的 J itters 和Skew 比较大(如前述) , 容易产生较 大的孔径晃动(Aperture J itters) , 无法达到很 好的时间分辨。 现在使用时钟分相芯片, 我们可以把分相 技术应用在高速数据采集系统中: 以4 分相后 图6 分相技术提高系统的数据采集率 的80MHz 采样时钟分别作为ADC 的 转换时钟, 对模拟信号进行采样, 如图5 所示。 在每一采集通道中, 输入信号经过 缓冲、调理, 送入ADC 进行模数转换, 采集到的数据写入存储器(M EM )。各个 采集通道采集的是同一信号, 不过采样 点依次相差90°相位。通过存储器中的数 据重组, 可以使系统时钟为80MHz 的采 集系统达到320MHz 数据采集率(如图6 所示)。 3 总结 灵活地运用时钟分相技术, 可以有效地用低频时钟实现相当于高频时钟的时间性能, 并 避免了高速数字电路设计中一些问题, 降低了系统设计的难度。

    标签: 时钟 分相 技术应用

    上传时间: 2013-12-17

    上传用户:xg262122

  • 漏电保护器的工作原理、使用范围、接线方式

    漏电保护器的工作原理:漏电保护器主要包括检测元件(零序电流互感器)、中间环节(包括放大器、比较器、脱扣器等)、执行元件(主开关)以及试验元件等几个部分。三相四线制供电系统的漏电保护器工作原理示意图。TA 为零序电流互感器,GF 为主开关,TL为主开关的分励脱扣器线圈。在被保护电路工作正常,没有发生漏电或触电的情况下,由克希荷夫定律可知,通过TA 一次侧的电流相量和等于零,即:这样TA 的二次侧不产生感应电动势,漏电保护器不动作,系统保持正常供电。当被保护电路发生漏电或有人触电时,由于漏电电流的存在,通过TA一次侧各相电流的相量和不再等于零,产生了漏电电流Ik。在铁心中出现了交变磁通。在交变磁通作用下,TL二次侧线圈就有感应电动势产生,此漏电信号经中间环节进行处理和比较,当达到预定值时,使主开关分励脱扣器线圈TL 通电,驱动主开关GF 自动跳闸,切断故障电路,从而实现保护。用于单相回路及三相三线制的漏电保护器的工作原理与此相同,不赘述。

    标签: 漏电保护器 工作原理 接线方式

    上传时间: 2013-10-19

    上传用户:zhangjinzj

  • 高性能、低价格、支持JTAG仿真的ATMEGA16单片机

    在16MHZ频率下速度为16MIPS的8位RISC结构单片机,内含硬件乘法器。 支持JTAG端口仿真和编程,仿真效果比传统仿真同更真实有效。 8通道10位AD转换器,支持单端和双端差分信号输入,内带增益可编程运算放大器。 16K字节的FLASH存贮器,支持ISP、IAP编程,使系统开发、生产、维护更容易。 多达1K字节的SRAM,32个通用寄存器,三个数据指针,使用C语言编程更容易。 512字节的EEPROM存贮器,可以在系统掉电时保存您的重要数据。 多达20个中断源,每个中断有独立的中断向量入口地址。 2个8位定时/计数器,1个16位定时/计数器,带捕捉、比较功能,有四个通道的PWM。 硬件USART、SPI和基于字节处理的I2C接口。 杰出的电气性能,超强的抗干扰能力。每个IO口可负载40mA的电流,总电流不超过200mA。 可选片内/片外RC振荡、石英/陶瓷晶振、外部时钟,更具备实时时钟(RTC)功能;片内RC振荡可达8MHZ,频率可校调到1%精度;片外晶振振荡幅度可调,以改善EMI性能。 内置模拟量比较器。 可以用熔丝开启、带独立振荡器的看门狗,看门狗溢出时间分8级可调。 内置上电复位电路和可编程低电压检测(BOD)复位电路。 六种睡眠模式,给你更低的功耗和更灵活的选择。 ATMEGA16L工作电压2.7V-5.5V,工作频率0-8MHZ;ATMEGA16工作电压4.5-5.5V,工作频率0-16MHZ。 32个IO口,DIP40、TQFP44封装。 与其它8位单片机相比,有更高的程序安全性,保护您的知识产权。

    标签: ATMEGA JTAG 16 性能

    上传时间: 2013-11-22

    上传用户:wcl168881111111

  • 自动计量分装机的控制系统

    摘要:自动计量分装机是近几年来广泛使用的一种机器,它的控制系统是分装机的核心部分。整个系统是由输入电路、显示电路及电气控制电路等组成,并采用AT89C51单片机及串行外围电路为主要部件:部分硬件功能采用软件实现,使得该系统结构简单,可靠性强,使用方便。该系统的主要功能包括参数设定、瞬时质量及分装次数显示、振荡强度的连续调节、超差报警等。系统功能强大,同时还具有装料、称重、判别、显示、统计、卸料控制等功能,在一定程度上满足了生产的要求,是实现各种粉状、颗粒状物料的计量、分装的专用分装设备。下文将详细介绍自动计量分装机控制系统的系统功能、结构特点、设计方案、工作原理等。关健词:自动计量分装机   单片机   主控电路

    标签: 自动计量 控制系统

    上传时间: 2013-11-12

    上传用户:1047385479

  • at91rm9200启动过程教程

    at91rm9200启动过程教程 系统上电,检测BMS,选择系统的启动方式,如果BMS为高电平,则系统从片内ROM启动。AT91RM9200的ROM上电后被映射到了0x0和0x100000处,在这两个地址处都可以访问到ROM。由于9200的ROM中固化了一个BOOTLOAER程序。所以PC从0X0处开始执行这个BOOTLOAER(准确的说应该是一级BOOTLOADER)。这个BOOTLOER依次完成以下步骤: 1、PLL SETUP,设置PLLB产生48M时钟频率提供给USB DEVICE。同时DEBUG USART也被初始化为48M的时钟频率; 2、相应模式下的堆栈设置; 3、检测主时钟源(Main oscillator); 4、中断控制器(AIC)的设置; 5、C 变量的初始化; 6、跳到主函数。 完成以上步骤后,我们可以认为BOOT过程结束,接下来的就是LOADER的过程,或者也可以认为是装载二级BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、连接在外部总线上的8位并行FLASH的顺序依次来找合法的BOOT程序。所谓合法的指的是在这些存储设备的开始地址处连续的存放的32个字节,也就是8条指令必须是跳转指令或者装载PC的指令,其实这样规定就是把这8条指令当作是异常向量表来处理。必须注意的是第6条指令要包含将要装载的映像的大小。关于如何计算和写这条指令可以参考用户手册。一旦合法的映像找到之后,则BOOT程序会把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超过16K-3K的大小。当BOOT程序完成了把合法的映像搬到SRAM的任务以后,接下来就进行存储器的REMAP,经过REMAP之后,SRAM从映设前的0X200000地址处被映设到了0X0地址并且程序从0X0处开始执行。而ROM这时只能在0X100000这个地址处看到了。至此9200就算完成了一种形式的启动过程。如果BOOT程序在以上所列的几种存储设备中找到合法的映像,则自动初始化DEBUG USART口和USB DEVICE口以准备从外部载入映像。对DEBUG口的初始化包括设置参数115200 8 N 1以及运行XMODEM协议。对USB DEVICE进行初始化以及运行DFU协议。现在用户可以从外部(假定为PC平台)载入你的映像了。在PC平台下,以WIN2000为例,你可以用超级终端来完成这个功能,但是还是要注意你的映像的大小不能超过13K。一旦正确从外部装载了映像,接下来的过程就是和前面一样重映设然后执行映像了。我们上面讲了BMS为高电平,AT91RM9200选择从片内的ROM启动的一个过程。如果BMS为低电平,则AT91RM9200会从片外的FLASH启动,这时片外的FLASH的起始地址就是0X0了,接下来的过程和片内启动的过程是一样的,只不过这时就需要自己写启动代码了,至于怎么写,大致的内容和ROM的BOOT差不多,不同的硬件设计可能有不一样的地方,但基本的都是一样的。由于片外FLASH可以设计的大,所以这里编写的BOOTLOADER可以一步到位,也就是说不用像片内启动可能需要BOOT好几级了,目前AT91RM9200上使用较多的bootloer是u-boot,这是一个开放源代码的软件,用户可以自由下载并根据自己的应用配置。总的说来,笔者以为AT91RM9200的启动过程比较简单,ATMEL的服务也不错,不但提供了片内启动的功能,还提供了UBOOT可供下载。笔者写了一个BOOTLODER从片外的FLASHA启动,效果还可以。 uboot结构与使用uboot是一个庞大的公开源码的软件。他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。其代码可以 http://sourceforge.net/projects/u-boot下载 在9200上,为了启动uboot,还有两个boot软件包,分别是loader和boot。分别完成从sram和flash中的一级boot。其源码可以从atmel的官方网站下载。 我们知道,当9200系统上电后,如果bms为高电平,则系统从片内rom启动,这时rom中固化的boot程序初始化了debug口并向其发送'c',这时我们打开超级终端会看到ccccc...。这说明系统已经启动,同时xmodem协议已经启动,用户可以通过超级终端下载用户的bootloader。作为第一步,我们下载loader.bin.loader.bin将被下载到片内的sram中。这个loder完成的功能主要是初始化时钟,sdram和xmodem协议,为下载和启动uboot做准备。当下载了loader.bin后,超级终端会继续打印:ccccc....。这时我们就可以下在uboot了。uboot将被下载到sdram中的一个地址后并把pc指针调到此处开始执行uboot。接着我们就可以在终端上看到uboot的shell启动了,提示符uboot>,用户可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了对内存、flash、网络、系统启动等一些命令。 如果系统上电时bms为低电平,则系统从片外的flash启动。为了从片外的flash启动uboot,我们必须把boot.bin放到0x0地址出,使得从flash启动后首先执行boot.bin,而要少些boot.bin,就要先完成上面我们讲的那些步骤,首先开始从片内rom启动uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz烧写到flash中的目的,假如我们已经启动了uboot,可以这样操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系统复位,就可以看到系统先启动boot,然后解压缩uboot.gz,然后启动uboot。注意,这里uboot必须压缩成.gz文件,否则会出错。 怎么编译这三个源码包呢,首先要建立一个arm的交叉编译环境,关于如何建立,此处不予说明。建立好了以后,分别解压源码包,然后修改Makefile中的编译器项目,正确填写你的编译器的所在路径。 对loader和boot,直接make。对uboot,第一步:make_at91rm9200dk,第二步:make。这样就会在当前目录下分别生成*.bin文件,对于uboot.bin,我们还要压缩成.gz文件。 也许有的人对loader和boot搞不清楚为什么要两个,有什么区别吗?首先有区别,boot主要完成从flash中启动uboot的功能,他要对uboot的压缩文件进行解压,除此之外,他和loader并无大的区别,你可以把boot理解为在loader的基础上加入了解压缩.gz的功能而已。所以这两个并无多大的本质不同,只是他们的使命不同而已。 特别说名的是这三个软件包都是开放源码的,所以用户可以根据自己的系统的情况修改和配置以及裁减,打造属于自己系统的bootloder。

    标签: 9200 at 91 rm

    上传时间: 2013-10-27

    上传用户:wsf950131

  • 关于PCB封装的资料收集整理.pdf

    关于PCB封装的资料收集整理. 大的来说,元件有插装和贴装.零件封装是指实际零件焊接到电路板时所指示的外观和焊点的位置。是纯粹的空间概念.因此不同的元件可共用同一零件封装,同种元件也可有不同的零件封装。像电阻,有传统的针插式,这种元件体积较大,电路板必须钻孔才能安置元件,完成钻孔后,插入元件,再过锡炉或喷锡(也可手焊),成本较高,较新的设计都是采用体积小的表面贴片式元件(SMD)这种元件不必钻孔,用钢膜将半熔状锡膏倒入电路板,再把SMD 元件放上,即可焊接在电路板上了。晶体管是我们常用的的元件之一,在DEVICE。LIB库中,简简单单的只有NPN与PNP之分,但实际上,如果它是NPN的2N3055那它有可能是铁壳子的TO—3,如果它是NPN的2N3054,则有可能是铁壳的TO-66或TO-5,而学用的CS9013,有TO-92A,TO-92B,还有TO-5,TO-46,TO-52等等,千变万化。还有一个就是电阻,在DEVICE 库中,它也是简单地把它们称为RES1 和RES2,不管它是100Ω 还是470KΩ都一样,对电路板而言,它与欧姆数根本不相关,完全是按该电阻的功率数来决定的我们选用的1/4W 和甚至1/2W 的电阻,都可以用AXIAL0.3 元件封装,而功率数大一点的话,可用AXIAL0.4,AXIAL0.5等等。现将常用的元件封装整理如下:电阻类及无极性双端元件:AXIAL0.3-AXIAL1.0无极性电容:RAD0.1-RAD0.4有极性电容:RB.2/.4-RB.5/1.0二极管:DIODE0.4及DIODE0.7石英晶体振荡器:XTAL1晶体管、FET、UJT:TO-xxx(TO-3,TO-5)可变电阻(POT1、POT2):VR1-VR5这些常用的元件封装,大家最好能把它背下来,这些元件封装,大家可以把它拆分成两部分来记如电阻AXIAL0.3 可拆成AXIAL 和0.3,AXIAL 翻译成中文就是轴状的,0.3 则是该电阻在印刷电路板上的焊盘间的距离也就是300mil(因为在电机领域里,是以英制单位为主的。同样的,对于无极性的电容,RAD0.1-RAD0.4也是一样;对有极性的电容如电解电容,其封装为RB.2/.4,RB.3/.6 等,其中“.2”为焊盘间距,“.4”为电容圆筒的外径。对于晶体管,那就直接看它的外形及功率,大功率的晶体管,就用TO—3,中功率的晶体管,如果是扁平的,就用TO-220,如果是金属壳的,就用TO-66,小功率的晶体管,就用TO-5,TO-46,TO-92A等都可以,反正它的管脚也长,弯一下也可以。对于常用的集成IC电路,有DIPxx,就是双列直插的元件封装,DIP8就是双排,每排有4个引脚,两排间距离是300mil,焊盘间的距离是100mil。SIPxx 就是单排的封装。等等。值得我们注意的是晶体管与可变电阻,它们的包装才是最令人头痛的,同样的包装,其管脚可不一定一样。例如,对于TO-92B之类的包装,通常是1 脚为E(发射极),而2 脚有可能是B 极(基极),也可能是C(集电极);同样的,3脚有可能是C,也有可能是B,具体是那个,只有拿到了元件才能确定。因此,电路软件不敢硬性定义焊盘名称(管脚名称),同样的,场效应管,MOS 管也可以用跟晶体管一样的封装,它可以通用于三个引脚的元件。Q1-B,在PCB 里,加载这种网络表的时候,就会找不到节点(对不上)。在可变电阻

    标签: PCB 封装

    上传时间: 2013-11-03

    上传用户:daguogai

  • Keil C51使用详解

    Keil C51使用详解Keil C51 是美国Keil Software 公司出品的51 系列兼容单片机C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C 来开发,体会更加深刻。Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍 Keil C51 开发系统各部分功能和使用。第二节 Keil C51 单片机软件开发系统的整体结构C51 工具包的整体结构,如图(1)所示,其中uVision 与Ishell 分别是C51 forWindows 和for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE 本身或其它编辑器编辑C 或汇编源文件。然后分别由C51 及A51 编译器编译生成目标文件(.OBJ)。目标文件可由LIB51 创建生成库文件,也可以与库文件一起经L51 连接定位生成绝对目标文件(.ABS)。ABS 文件由OH51 转换成标准的Hex 文件,以供调试器dScope51 或tScope51 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM 中。图(1) C51 工具包整体结构图第三节 Keil C51 工具包的安装81. C51 for Dos在 Windows 下直接运行软件包中DOS\C51DOS.exe 然后选择安装目录即可。完毕后欲使系统正常工作须进行以下操作(设C:\C51 为安装目录):修改 Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后运行Autoexec.bat2. C51 for Windows 的安装及注意事项:在 Windows 下运行软件包中WIN\Setup.exe,最好选择安装目录与C51 for Dos相同,这样设置最简单(设安装于C:\C51 目录下)。然后将软件包中crack 目录中的文件拷入C:\C51\Bin 目录下。第四节 Keil C51 工具包各部分功能及使用简介1. C51 与A51(1) C51C51 是C 语言编译器,其使用方法为:C51 sourcefile[编译控制指令]或者 C51 @ commandfile其中 sourcefile 为C 源文件(.C)。大量的编译控制指令完成C51 编译器的全部功能。包控C51 输出文件C.LST,.OBJ,.I 和.SRC 文件的控制。源文件(.C)的控制等,详见第五部分的具体介绍。而 Commandfile 为一个连接控制文件其内容包括:.C 源文件及各编译控制指令,它没有固定的名字,开发人员可根据自己的习惯指定,它适于用控制指令较多的场合。(2) A51A51 是汇编语言编译器,使用方法为:9A51 sourcefile[编译控制指令]或 A51 @ commandfile其中sourcefile 为汇编源文件(.asm或.a51),而编译控制指令的使用与其它汇编如ASM语言类似,可参考其他汇编语言材料。Commandfile 同C51 中的Commandfile 类似,它使A51 使用和修改方便。2. L51 和BL51(1) L51L51 是Keil C51 软件包提供的连接/定位器,其功能是将编译生成的OBJ 文件与库文件连接定位生成绝对目标文件(.ABS),其使用方法为:L51 目标文件列表[库文件列表] [to outputfile] [连接控制指令]或 L51 @Commandfile源程序的多个模块分别经 C51 与A51 编译后生成多个OBJ 文件,连接时,这些文件全列于目标文件列表中,作为输入文件,如果还需与库文件(.LiB)相连接,则库文件也必须列在其后。outputfile 为输文件名,缺少时为第一模块名,后缀为.ABS。连接控制指令提供了连接定位时的所有控制功能。Commandfile 为连接控制文件,其具体内容是包括了目标文件列表,库文件列表及输出文件、连接控制命令,以取代第一种繁琐的格式,由于目标模块库文件大多不止1 个,因而第2 种方法较多见,这个文件名字也可由使用者随意指定。(2) Bl51BL51 也是C51 软件包的连接/定位器,其具有L51 的所有功能,此外它还具有以下3 点特别之处:a. 可以连接定位大于64kBytes 的程序。b. 具有代码域及域切换功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系统RTX51 是一个实时多任务操作系统,它改变了传统的编程模式,甚至不必用main( )函数,单片机系统软件向RTOS 发展是一种趋势,这种趋势对于186 和38610及68K 系列CPU 更为明显和必须,对8051 因CPU 较为简单,程序结构等都不太复杂,RTX51 作用显得不太突出,其专业版软件PK51 软件包甚至不包括RTX51Full,而只有一个RTX51TINY 版本的RTOS。RTX51 TINY 适用于无外部RAM 的单片机系统,因而可用面很窄,在本文中不作介绍。Bank switching 技术因使用很少也不作介绍。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一个源级调试器和模拟器,它可以调试由C51 编译器、A51 汇编器、PL/M-51 编译器及ASM-51 汇编器产生的程序。它不需目标板(for windows 也可通过mon51 接目标板),只能进行软件模拟,但其功能强大,可模拟CPU 及其外围器件,如内部串口,外部I/O 及定时器等,能对嵌入式软件功能进行有效测试。

    标签: Keil C51 使用详解

    上传时间: 2013-11-01

    上传用户:zhouxuepeng1

  • 32位MCU开发全攻略 (含上册、下册)

    32位MCU(单片机)开发全攻略:本文因为内容很多,分为上下册,上册为基础知识篇,从第一章到第五章,下册为开发技巧篇,为第六章以后内容。本书可以作为MCU应用工程师、大中专学生或MCU爱好者学习32位MCU开发的参考教材。 1、汇集32位MCU基础知识与开发工具应用知识,一书在手迅速掌握32位MCU开发!2、首次独家披露LPC1700系列MCU权威中文开发信息! 3、问答实例结合让你的开发难题迎刃而解! 随着节能、高效、绿色理念的深入,32位MCU的应用已呈燎原之势,有数据显示仅在过去一年,基于ARM Cortex-M3的MCU的出货量增长率就达到200%!这些高性能、低功耗的32位MCU广泛应用于汽车电子、工业应用、医疗电子等领域,而据研究机构预测,中国MCU的可用市场总量(TAM)将从2009年的20亿美元增长到2013年的30亿美元以上,其增幅为全球水平的两倍!面对如此诱人的前景,立即学习掌握32位MCU开发基本技巧并将其用于个人设计中已经成为本土工程师的当务之急。 但是,一个有趣的现象是目前有关MCU的图书中大部分还以8位单片机为主要例举对象,很多图书传授的还是51单片机开发知识,可见在知识需求和供给之间出现了巨大的落差,这也是电子创新网推出《32位MCU开发全攻略》电子书的初衷之一。 基于上述原因,本电子书主要讲述32位MCU应用开发知识,对于8位单片机的开发,因为已经有大量书籍,这里不再赘述。本书的第一章主要介绍了嵌入式系统的背景知识、基本概念和目前发展状况,让大家对嵌入式系统的发展有大致的了解。第二章主要介绍了微控制器的基本原理、结构和32位ARM MCU供应商的信息。第三章主要介绍了ARM内核的一些特点及ARM指令集。第四章以恩智浦公司的MCU为例详细介绍了32位ARM MCU的具体结构、功能和特点。第五章是本书的重点内容,以恩智浦的LPC17xx系列MCU为例,分模块详细介绍了MCU的应用开发,这些介绍把软硬件结合在一起,这是本书和其他类似书籍的区别之一。第六章介绍了MCU开发工具及开发流程。第七章我们搜集了多个MCU开发应用实例,通过这些实例,进一步强化MCU开发技巧和系统设计方法。第八章我们以问答的形式介绍MCU开发的技巧,这些问答具有一定的基础性和代表性,可以帮助工程师解决MCU应用开发中遇到的难题。第九章我们罗列了一些MCU开发资源信息,工程师朋友可以通过链接获得所需的知识。第十章是有关本书的编委信息。第十一章是本书的版权声明,我们授权工程师朋友和媒体免费下载此书并进行推广,但是不得以本书切割或进行商业活动。《32位MCU开发全攻略》电子书主编张国斌。

    标签: MCU

    上传时间: 2013-12-18

    上传用户:wincoder

  • 分时操作系统思想在单片机编程中的实现

    作为嵌入式系统主控单元——单片机,其软件往往是一个微观的实时操作系统,且大部分是为某种应用而专门设计的。系统程序有实时过程控制或实时信息处理的能力,要求能够及时响应随机发生的外部事件并对该事件做出快速处理。而分时操作系统却是把CPU的时间划分成长短基本相同的时间区间,即“时间片”,通过操作系统的管理,把这些时间片依次轮流地分配给各个用户使用。如果某个作业在时间片结束之前,整个任务还没有完成,那么该作业就被暂停下来,放弃CPU,等待下一轮循环再继续做。此时CPU又分配给另一个作业去使用。由于计算机的处理速度很快,只要时间片的间隔取得适当,那么一个用户作业从用完分配给它的一个时间片到获得下一个CPU时间片,中间有所“停顿”;但用户察觉不出来,好像整个系统全由它“独占”似的。分时操作系统主要具有以下3个特点:① 多路性。用户通过各自的终端,可以同时使用一个系统。② 及时性。用户提出的各种要求,能在较短或可容忍的时间内得到响应和处理。③ 独占性。在分时系统中,虽然允许多个用户同时使用一个CPU,但用户之间操作独立,互不干涉。分时操作系统主要是针对小型机以上的计算机提出的。一般而言,微处理器(MPU)驱动的通用计算机,系统设计人员对每一台的最终具体应用都是不得而知的,因此,在价格允许的情况下,硬件设计务求CPU时钟尽可能的快;计算及管理能力尽可能的强;程序和数据存储器的容量尽可能的大;各种计算机外设的配接尽可能的详尽等等,特别是采用分时操作系统的机器,因为是一机多用户的管理系统,它的要求就更高了。相对而言,微控制器(MCU)俗称单片机,是一个单片集成系统,它将这些或那些计算机所需的外设,诸如程序和数据存储器、端口以及有关的子系统集成到一片芯片上。从硬件上,单片机系统与采用分时操作系统的计算机系统是无法比拟的。但是,在单片机系统的设计中,设计人员对其最终具体应用是一清二楚的,它的使用环境相对是单一固定的。所控制的过程的可预见性为分时系统思想的实现提供了可能性。具体一点就是:虽然单片机的CPU速度较低,但其任务是可预见的,这样作业调度将变得简单而无须占用很多的CPU时间,同时“时间片”的设计是具体而有针对性的,因此可变得很有效。一、单片机分时系统的设计单片机系统往往是一个嵌入式的控制系统,因此目前绝大部分的单片机系统还是一实时系统。能够真正体现分时系统的设计思想的往往是那些多路重复检测控制系统。即便是在这些多路重复检测控制系统中,它的实时性也是非常重要的。也就是说,在单片机系统中应用了分时系统设计思想,但其及时性应首先进行考虑。

    标签: 分时操作系统 中的实现 单片机编程

    上传时间: 2013-12-23

    上传用户:佳期如梦

  • LED显示屏恒流驱动电路设计

    摘要: 本文介绍了L ED 显示屏常规型驱动电路的设计方式及其存在的缺陷, 提出了简单的L ED 显示屏恒流驱动方式及电路的实现。关键词:L ED 显示屏 动态扫描 驱动电路中图分类号: TN 873+ . 93   文献标识码:A    文章编号: 1005- 9490(2001) 03- 0252- 051 引 言  L ED 显示屏是80 年代后期在全球迅速发展起来的新型信息显示媒体, 它利用发光二极管构成的点阵模块或像素单元, 组成大面积显示屏幕, 以其可靠性高、使用寿命、环境适应能力强、性能价格比高、使用成本低等特点, 在信息显示领域已经得到了非常广泛的应用[ 1 ]。L ED 显示屏主要包括发光二极管构成的阵列、驱动电路、控制系统及传输接口和相应的应用软件等, 其中驱动电路设计的好坏, 对L ED 显示屏的显示效果、制作成本及系统的运行性能起着很重要的作用。所以, 设计一种既能满足控制驱动的要求, 同时使用器件少、成本低的控制驱动电路是很有必要的。本文就常规型驱动电路的设计作些分析并提出恒流驱动电路的设计方式。2 L ED 显示屏常规驱动电路的设计  L ED 显示屏驱动电路的设计, 与所用控制系统相配合, 通常分为动态扫描型驱动及静态锁存型驱动二大类。以下就动态扫描型驱动电路的设计为例为进行分析:动态扫描型驱动方式是指显示屏上的4 行、8 行、16 行等n 行发光二极管共用一组列驱动寄存器, 通过行驱动管的分时工作, 使得每行L ED 的点亮时间占总时间的1ön , 只要每行的刷新速率大于50 Hz, 利用人眼的视觉暂留效应, 人们就可以看到一幅完整的文字或画面[ 2 ]。常规型驱动电路的设计一般是用串入并出的通用集成电路芯片如74HC595 或MC14094 等作为列数据锁存, 以8050 等小功率N PN 三极管为列驱动, 而以达林顿三极管如T IP127 等作为行扫描管, 其电路如图1 所示。

    标签: LED 显示屏 恒流驱动 电路设计

    上传时间: 2014-02-19

    上传用户:lingzhichao