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

多电平

  • I2C SMBus总线中继器和扩展器

    信号传输距离有限,常用于一个PCB板之内;总线上挂接的节点器件有限,受容性负载最大值400pF的限制;拓扑结构只能是二线总线型,不能扩充到星型结构;速度只能取最低值,高速I2C器件速度发挥不出来;不同电平的器件不能挂接在同一总线上;如果要解决上述问题,一般方法是再增加一或多条I2C总线,为不同的总线编写不同的程序,增加了工作量还降低了软件的可移植性。

    标签: SMBus I2C 总线 中继器

    上传时间: 2013-10-17

    上传用户:Jesse_嘉伟

  • PCA9306 I2C总线和SMBus双向电平转换器简介

    PCA9306是一款支持I2C总线和SMBus的双向电平转换器,支持从1.0V~3.6V(Vref(1))到1.8V~5.5V(Vbias(ref)(2))的电平转换,并且带有使能输入。

    标签: SMBus 9306 PCA I2C

    上传时间: 2013-11-25

    上传用户:xiaodu1124

  • 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

  • ARM多端口存储器控制器PL176技术手册

     NXP半导体设计的LPC3000系列ARM芯片,适用于要求高性能和低功耗结合的嵌入式应用中。  NXP通过使用90纳米的处理技术,将一个带有矢量浮点协处理器的ARM926EJ-S CPU内核与一系列包括USB On-The-Go在内的标准外设结合起来,从而实现LPC3000的性能目标。LPC3000系列ARM可工作在高于266MHz的CPU频率下。ARM926EJ-S CPU内核加入5级流水处理并采用哈佛结构。该内核还具有一个完整的存储器管理单元(MMU),以提供支持现代操作系统多程序设计所需的虚拟存储器功能。ARM926EJ-S CPU内核还包含了带有单周期MAC操作的一系列DSP指令扩展,以及Jazelle Java字节代码执行。NXP实现的器件具有一个32kB指令高速缓存和32kB数据高速缓存。

    标签: ARM 176 PL 多端口

    上传时间: 2013-11-20

    上传用户:xiaowei314

  • USB-1620A工业多串口设备

    USB-1620A工业多串口卡采用的是最新的USB2.0接口技术,兼容的USB2.0以下接口。可以应用于传统的RS-232串行通讯领域,扩充PC机标准RS-232通讯端口的数量,如工业自动化制作、POS系统和ATM的应用。

    标签: 1620 USB 工业 多串口

    上传时间: 2013-10-16

    上传用户:diets

  • 基域C8051F020芯片的多功能计数器设计

    本系统针对设计制作简易多功能计数器能接收函数信号发生器产生的信号,实现周期测量、频率测量和时间间隔测量的功能的要求。通过分频和整形,利用C8051F020 [1] 的可编程计数器阵列(PCA)的边沿捕捉模式对信号的上升沿捕捉并计时,从而达到对频率、周期和时间间隔测量的目的,并能使测量的范围和测量精度达到预期的要求,还能实现显示温度、时间和记忆10 个测量过的历史数据、显示峰值等扩展需求。

    标签: C8051F020 芯片 多功能 计数器

    上传时间: 2013-10-21

    上传用户:13788529953

  • 基于单片机控制多路PZT的驱动电路设计

    设计了一种基于C8051F005 单片机控制多路PZT(压电陶瓷)的驱动电路,采用串行数据传输的方法,利用新型数模转换器AD5308 具有8 通道DAC 输出的特性,极大的简化了电路设计,给出了硬件系统设计和软件流程图以及主要的软件模块设计。本电路主要用于自适应光学合成孔径成像相位实时校正系统中。结果表明,该电路可以成功为12 路PZT 提供所需的驱动电压。

    标签: PZT 单片机控制 多路 驱动

    上传时间: 2013-10-19

    上传用户:pans0ul

  • 基于SMBus的双单片机多通道ADC

    针对人行径方向测量的红外探测系统需求,提出了实现多通道模数转换器(ADC)的一种新方法,采用了双片可独立工作的带有8 通道ADC 的单片机,基于双片单片机之间的SMBus 通讯可实现16 通道ADC 系统,从而可简化后端处理电路,提高系统的数据处理能力,并取得较好的数据采集的同步性。

    标签: SMBus ADC 双单片机 多通道

    上传时间: 2013-10-09

    上传用户:jiiszha

  • 基于单片机的多点温度烟雾测控系统设计

    针对机舱消防应急救援模拟训练系统中训练环境控制的难题,设计了一种以AT89C52单片机为核心的多点温度烟雾测控系统。该系统可实现对模拟系统中消防环境(烟雾,温度)的实时测量和控制。根据训练系统对温度烟雾指标要求严格的特点,引入了基于NCD 与优化函数结合的非线性PID 对PID 参数进行优化整定,实现了实时控制。整个设计简明,清晰。

    标签: 单片机 多点 温度 测控

    上传时间: 2013-10-21

    上传用户:lunshaomo

  • 基于单片机的粮库多点测温系统的设计

    本文介绍了一种以单片机为核心的智能粮库温度测量系统,阐述了其工作原理,设计了硬件和软件系统。介绍了测温系统的组成,采用单片机对温度传感器进行控制和数据传输,温度信号采集由智能传感器DS18B20完成。根据单总线独特的优点,方便地组建传感器网络。多点温度数据可通过中心控制室的PC机实现图文显示的效果。该系统采用RS485总线技术,传输距离超过1200米,克服了电缆电阻对测量结果的影响,提高了测量的准确性,能实现可靠的多点、动态的温度监控。试验结果表明,该检测系统精度高,检测误差均在0.5%以内。该系统已经在粮库温度测量中推广应用。

    标签: 单片机 多点测温

    上传时间: 2013-11-17

    上传用户:黄酒配奶茶