sql中检索行列转换,将多行的数据转成一行,然后增加列数
上传时间: 2014-01-04
上传用户:zhuimenghuadie
8位并行输入的数转换成串行输出,是基于高级硬件编程语言VHDL编写的。
上传时间: 2017-07-28
上传用户:hwl453472107
超声波电机(Ultrasonic Motor简称USM)是八十年代发展起来的新型微电机。本文针对超声波电机及其控制技术的研究现状和发展趋势,以我国研究技术相对比较成熟并有产业化前景的行波超声波电机(Traveling-wave Ultrasonic Motor简称TUSM)的伺服控制技术为研究对象,以直径60mm的行波超声波电机TUSM60为研究实例,在特性测试、动稳态性能分析,辨识模型建立、控制策略与控制算法的选择与实现等方面展开研究。本论具体的研究内容为: 在分析超声波电机研究历史和现状的基础上,结合国内外超声波电机特别是行波超声波电机控制技术的发展趋势,重点论述了行波超声波电机及其驱动控制技术的研究进展。 介绍行波超声波电机的基本结构,并从该电机的主要理论基础--压电原理、行波合成、接触模型出发,分析了行波超声波电机定子质点的运动方程.并结合定转子摩擦接触特点,分析了行波超声波电机的运行机理。 根据对行波超声波电机测试和高精度控制的要求,研制出基于双DSP和FPGA的超声波电机高性能测试控制平台。其中控制核心采用了双DSP结构,可以在对行波超声波电机进行控制的同时,将必要的参数读取出来进行分析和研究。为行波超声波电机瞬态特性分析以及控制策略、控制算法的深入研究打下了基础。 对电机的瞬态、稳态特性进行的测试,可以分析驱动频率、电压以及相位差等调节量对电机输出的影响。在此基础上进一步对行波超声波电机的调节方式、控制算法选择方面进行分析,并得到相应结论。 通过对实验数据的总结和归纳,利用系统辨识中的非参数方法,建立在特定频率条件下的近似线性模型。在行波超声波电机工作范围内,辨识若干组不同频率条件下的近似线性模型,将这些模型的参数进行二维或三维拟合,可以得到一个关于行波超声波电机传递函数的模型。辨识模型的建立为合理的选择和优化控制参数,控制效果的验证等提供了行之有效的手段。 在对行波超声波电机的速度控制、位置控制展开的研究中.首先利用遗传算法对常规PI恒转速控制的控制参数整定及修正方法进行了研究;利用神经元的在线自学习能力,研究和设计单神经元PID-PI转速控制器,提高控制系统对电机非线性和时变性的适应能力;为了消除在伺服控制中,单一调节量(驱动频率)情况下,低转速的跳跃问题,研究和讨论了多调节量分段控制方法,并利用模糊控制对控制方法的有效性进行了验证;在位置控制中,利用转速控制研究的结果,研究和设计了位置--速度双环(串级)控制器,实现了电机高精度位置伺服控制。 通过对已有控制系统的改进和简化,设计和研制了具有实用化价值行波超声波电机控制器:并将研究成果应用于针对核磁成像设备而设计的行波超声波电机随动控制系统中,同时尝试了将该控制器用于高精度X-Y两维定位平台。
上传时间: 2013-07-13
上传用户:mpquest
当前,在系统级互连设计中高速串行I/O技术迅速取代传统的并行I/O技术正成为业界趋势。人们已经意识到串行I/O“潮流”是不可避免的,因为在高于1Gbps的速度下,并行I/O方案已经达到了物理极限,不能再提供可靠和经济的信号同步方法。基于串行I/O的设计带来许多传统并行方法所无法提供的优点,包括:更少的器件引脚、更低的电路板空间要求、减少印刷电路板(PCB)层数、PCB布局布线更容易、接头更小、EMI更少,而且抵抗噪声的能力也更好。高速串行I/O技术正被越来越广泛地应用于各种系统设计中,包括PC、消费电子、海量存储、服务器、通信网络、工业计算和控制、测试设备等。迄今业界已经发展出了多种串行系统接口标准,如PCI Express、串行RapidIO、InfiniBand、千兆以太网、10G以太网XAUI、串行ATA等等。 Aurora协议是为私有上层协议或标准上层协议提供透明接口的串行互连协议,它允许任何数据分组通过Aurora协议封装并在芯片间、电路板间甚至机箱间传输。Aurora链路层协议在物理层采用千兆位串行技术,每物理通道的传输波特率可从622Mbps扩展到3.125Gbps。Aurora还可将1至16个物理通道绑定在一起形成一个虚拟链路。16个通道绑定而成的虚拟链路可提供50Gbps的传输波特率和最大40Gbps的全双工数据传输速率。Aurora可优化支持范围广泛的应用,如太位级路由器和交换机、远程接入交换机、HDTV广播系统、分布式服务器和存储子系统等需要极高数据传输速率的应用。 传统的标准背板如VME总线和CompactPCI总线都是采用并行总线方式。然而对带宽需求的不断增加使新兴的高速串行总线背板正在逐渐取代传统的并行总线背板。现在,高速串行背板速率普遍从622Mbps到3.125Gbps,甚至超过10Gbps。AdvancedTCA(先进电信计算架构)正是在这种背景下作为新一代的标准背板平台被提出并得到快速的发展。它由PCI工业计算机制造商协会(PICMG)开发,其主要目的是定义一种开放的通信和计算架构,使它们能被方便而迅速地集成,满足高性能系统业务的要求。ATCA作为标准串行总线结构,支持高速互联、不同背板拓扑、高信号密度、标准机械与电气特性、足够步线长度等特性,满足当前和未来高系统带宽的要求。 采用FPGA设计高速串行接口将为设计带来巨大的灵活性和可扩展能力。Xilinx Virtex-IIPro系列FPGA芯片内置了最多24个RocketIO收发器,提供从622Mbps到3.125Gbps的数据速率并支持所有新兴的高速串行I/O接口标准。结合其强大的逻辑处理能力、丰富的IP核心支持和内置PowerPC处理器,为企业从并行连接向串行连接的过渡提供了一个理想的连接平台。 本文论述了采用Xilinx Virtex-IIPro FPGA设计传输速率为2.5Gbps的高速串行背板接口,该背板接口完全符合PICMG3.0规范。本文对串行高速通道技术的发展背景、现状及应用进行了简要的介绍和分析,详细分析了所涉及到的主要技术包括线路编解码、控制字符、逗点检测、扰码、时钟校正、通道绑定、预加重等。同时对AdvancedTCA规范以及Aurora链路层协议进行了分析, 并在此基础上给出了FPGA的设计方法。最后介绍了基于Virtex-IIPro FPGA的ATCA接口板和MultiBERT设计工具,可在标准ATCA机框内完成单通道速率为2.5Gbps的全网格互联。
上传时间: 2013-05-29
上传用户:frank1234
双基地合成孔径雷达(简称双基地SAR或Bistatic SAR)是一种新的成像雷达,也是当今SAR技术的一个发展方向,在军用及民用领域都具有良好的应用前景,近年来成为研究的热点。本文则侧重于研究双基地SAR的距离一多普勒(R-D)成像算法的实现。 在双基地SAR系统及成像算法的研究方面,推导了双基地SAR的系统分辨特性及雷达方程,分析了主要系统参数之间的约束关系。针对正侧视机载双基地SAR系统,本文对距离一多普勒算法进行了推广。最后得到点目标的仿真结果。 在成像算法的FPGA实现上,在System Generator环境下对算法进行定点仿真。完成距离一多普勒成像算法的硬件实现,其中包括了FFT快速傅立叶变换、硬件乘法器、:Rocket I/O接口设计、DCM数字时钟管理等主要部分。针对硬件实现的特点,对算法的部分运算进行了简化。 为了对算法实现进行验证,设计开发了该算法的硬件测试平台。主要基于ML310评估板上XC2VP30芯片中嵌入的Power PC 405,完成其硬件部分的设计,主要包括了Aurora协议接口、RS-232串行接口、DDR RAM接口以及其它如中断、时钟等部分。
上传时间: 2013-07-26
上传用户:是王洪文
MIL-STD一1553B是一种集中控制式、时分指令/响应型多路串行数据总线标\r\n准,具有高可靠性和灵活性,已经成为现代航空机载系统设备互联的最有效的解\r\n决方案,广泛的应用于飞机、舰船、坦克等武器平台上,并且越来越多的应用到\r\n民用领域。完成1553B总线数据传输功能的关键部件是总线接口芯片11][41。\r\n在对M几STD一1553B数据总线协议进行研究后,参考国外一些芯片的功能结\r\n构,结合EDA技术,本论文提出了基于FPGA的1553B总线接口芯片的设计方案。\r\n在介绍了总线
上传时间: 2013-08-26
上传用户:manlian
基于AT89C51应用系统的串行通信设计:介绍了基于AT89C51应用系统中的串行通信软硬件设计方法和实现过程,在基于红外成像技术的电力设备状态检测系统中,将红外测温仪检测到设备的温度数据传给控制电路,进行数据格式的转换后,在RAM 中存储,同时上传给PC机。系统利用MAX232实现RS 232C的EIA 电平与单片机的TTI 电平之闻转换,利用通用串口芯片8251A扩展串行接13',实现PC机与单片机之问的串行通信。 关键词:串行通信;单片机;接口;RS232C
上传时间: 2014-12-21
上传用户:aeiouetla
串行编程器源程序(Keil C语言)//FID=01:AT89C2051系列编程器//实现编程的读,写,擦等细节//AT89C2051的特殊处:给XTAL一个脉冲,地址计数加1;P1的引脚排列与AT89C51相反,需要用函数转换#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引脚排列相反#define C2051_P3_0 P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//编程前的准备工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//编程结束后的工作,设置合适的引脚电平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//从P0口获得数据{ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//转换并设置P0口的数据{ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//读特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//写器件{//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 //写一个单元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效验:循环读,直到读出与写入的数相同 { nTimeOut++; if(nTimeOut>1000)//超时了 { return 0; } } C2051_XTAL=1; C2051_XTAL=0;//一个脉冲指向下一个单元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//读器件{ BYTE Data;//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 //读一个单元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一个脉冲指向下一个单元//----------------------------------------------------------------------------- return Data;} void Lock01()//写锁定位{ InitPro01();//先设置成编程状态//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 if(ComBuf[2]>=1)//ComBuf[2]为锁定位 { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); } if(ComBuf[2]>=2) { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=0; C2051_P3_7=0; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//设置pw中的函数指针,让主程序可以调用上面的函数{ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}
上传时间: 2013-11-12
上传用户:gut1234567
RS-232-C 是PC 机常用的串行接口,由于信号电平值较高,易损坏接口电路的芯片,与TTL电平不兼容故需使用电平转换电路方能与TTL 电路连接。本产品(转接器),可以实现任意电平下(0.8~15)的UART串行接口到RS-232-C/E接口的无源电平转接, 使用非常方便可靠。 什么是RS-232-C 接口?采用RS-232-C 接口有何特点?传输电缆长度如何考虑?答: 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。 在串行通讯时,要求通讯双方都采用一个标准接口,使不同 的设备可以方便地连接起来进行通讯。 RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。它是在1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25 个脚的 DB25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。(1) 接口的信号内容实际上RS-232-C 的25 条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9 条引线。(2) 接口的电气特性 在RS-232-C 中任何一条信号线的电压均为负逻辑关系。即:逻辑“1”,-5— -15V;逻辑“0” +5— +15V 。噪声容限为2V。即 要求接收器能识别低至+3V 的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1”(3) 接口的物理结构 RS-232-C 接口连接器一般使用型号为DB-25 的25 芯插头座,通常插头在DCE 端,插座在DTE端. 一些设备与PC 机连接的RS-232-C 接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9 的9 芯插头座,传输线采用屏蔽双绞线。(4) 传输电缆长度由RS-232C 标准规定在码元畸变小于4%的情况下,传输电缆长度应为50 英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50 英尺,美国DEC 公司曾规定允许码元畸变为10%而得出附表2 的实验结果。其中1 号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对由22# AWG 组成,其外覆以屏蔽网。2 号电缆为不带屏蔽的电缆。 2. 什么是RS-485 接口?它比RS-232-C 接口相比有何特点?答: 由于RS-232-C 接口标准出现较早,难免有不足之处,主要有以下四点:(1) 接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL 电路连接。(2) 传输速率较低,在异步传输时,波特率为20Kbps。(3) 接口使用一根信号线和一根信号返回线而构成共地的传输形式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。(4) 传输距离有限,最大传输距离标准值为50 英尺,实际上也只能 用在50 米左右。针对RS-232-C 的不足,于是就不断出现了一些新的接口标准,RS-485 就是其中之一,它具有以下特点:1. RS-485 的电气特性:逻辑“1”以两线间的电压差为+(2—6) V 表示;逻辑“0”以两线间的电压差为-(2—6)V 表示。接口信号电平比RS-232-C 降低了,就不易损坏接口电路的芯片, 且该电平与TTL 电平兼容,可方便与TTL 电路连接。2. RS-485 的数据最高传输速率为10Mbps3. RS-485 接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。4. RS-485 接口的最大传输距离标准值为4000 英尺,实际上可达 3000 米,另外RS-232-C接口在总线上只允许连接1 个收发器, 即单站能力。而RS-485 接口在总线上是允许连接多达128 个收发器。即具有多站能力,这样用户可以利用单一的RS-485 接口方便地建立起设备网络。因RS-485 接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。 因为RS485 接口组成的半双工网络,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。 RS485 接口连接器采用DB-9 的9 芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485 采用DB-9(针)。3. 采用RS485 接口时,传输电缆的长度如何考虑?答: 在使用RS485 接口时,对于特定的传输线经,从发生器到负载其数据信号传输所允许的最大电缆长度是数据信号速率的函数,这个 长度数据主要是受信号失真及噪声等影响所限制。下图所示的最大电缆长度与信号速率的关系曲线是使用24AWG 铜芯双绞电话电缆(线 径为0.51mm),线间旁路电容为52.5PF/M,终端负载电阻为100 欧 时所得出。(曲线引自GB11014-89 附录A)。由图中可知,当数据信 号速率降低到90Kbit/S 以下时,假定最大允许的信号损失为6dBV 时, 则电缆长度被限制在1200M。实际上,图中的曲线是很保守的,在实 用时是完全可以取得比它大的电缆长度。 当使用不同线径的电缆。则取得的最大电缆长度是不相同的。例 如:当数据信号速率为600Kbit/S 时,采用24AWG 电缆,由图可知最 大电缆长度是200m,若采用19AWG 电缆(线径为0。91mm)则电缆长 度将可以大于200m; 若采用28AWG 电缆(线径为0。32mm)则电缆 长度只能小于200m。
上传时间: 2013-10-11
上传用户:时代电子小智
利用带线结环行器的相关理论,设计了870~880MHz 结环行器,最后实现的环行器在0.5~1.5GHz内,插入损耗≤0.4dB,最小隔离度≥ 20dB,电压驻波比≤ 1.20,符合基站用环行器的技术指标.
上传时间: 2014-03-25
上传用户:sqq