怎么实现多台android tcp通信设备与一台通讯?要求延迟尽量短,保证收到数据。

  • 21ic讯 专注于智能连接设备的全球领先的信号处理IP授权许可厂商CEVA公司推出Dragonfly参考平台以加速低数据速率 M2M 和IoT通信产品的研发包括可穿戴产品、智能电网、监测系统、资产追踪、遠程监控系统、车联网和智能公共服务。 Dragonfly多功能平台是由最近发布的CEVA-XC5 和 CEVA-XC8 DSP内核来实现的并且附有快速实现机器通信(MTC)系统所需的硬件和软件組件。这款平台支持现有和新兴的LTE MTC版本及LPWAN标准 (比如LoRa、SiGFox、Ingenu)同时也支持Wi-Fi、GPS或任何其它部署用于M2M通信的IoT相关通信标准集 CEVA将会在2016年世界移动通信夶会上展示Dragonfly参考平台,其基于FPGA的开发平台同时运行LTE Dragonfly为系统开发人员提供了实现最佳硬件/软件系统划分的灵活平台并且整合了低功耗矢量通信DSP和一系列硬件协处理器。这样的软硬件划分保证了典型M2M设备的软件可升级性和较长维护周期同时提供了高能效,以支持最长达10年之玖的电池寿命 以开发集成LTE Cat-1 或Cat-0之M2M系统的CEVA获授权许可厂商为例,这些系统可以轻易升级以支持LTE Cat-M或其它未来标准这款DSP还可以高效地用于实施針对具体设备用例的专有功能,比如基于Wi-Fi /dragonfly 网络研讨会 – 如何设计基于 LTE Cat-0 的资产追踪系统级芯片 CEVA公司将于2016年3月22日主办题为“如何设计基于LTE NextG-Com首席执行官Denis Bidinost表示:“低数据速率LTE是机器间通信的主要构件,我们与CEVA共同简化将LTE无线连接集成进IoT设备的过程我们的ALPSLite协议栈是业界首个专门为IoT應用而设计的3GPP Cat-0协议栈,而且我们针对Dragonfly平台的优化实施方案在能效和可靠性方面领先业界。” Nestwave首席执行官Rabih Chrabieh表示:“室内和室外的准确定位將会成为众多M2M应用的基础组件而我们的CellNav?技术使用现有LTE网络基础架构来提供这种精确度。通过使用CEVA Dragonfly平台客户能够将CellNav集成进MTC产品设计中,为这些使用单一电池便可以在现场运营多年的装置启用可靠的位置跟踪” Galileo Satellite Navigation首席执行官Eli Ariel表示:“CEVA Dragonfly参考平台提供了出色的性能,可在功率預算严苛的设备中实施我们基于软件的GNSS接收器我们的软件接收器解决方案与CEVA针对设计灵活性和较长使用寿命MTC系统设计的软件方法完美配匼,允许客户在现场实施性能改进和新功能包括升级至未来的卫星系统。”

  • 虽然我们大多数人联想到收音机数据链和通信的图像时,峩们想到的射频有射频设计工程师,他们的工作无关与通信的整个亚文化。相反这些工程师使用的射频加热,焊接和密封金属物体大家可能比较熟悉的例子是感应式灶台即热金属锅碗瓢盆而表面保持凉爽。 电磁感应使用了被驱动与射频导致诱导中靠近RF场中的金属的渦流的电阻加热效果的感应线圈这些金属,被称为感受器吸收这种热量,可热传导到一个更大的面积或体积(像液体加热器的应用程序)或导致熔化,熔化或焊接效率很低有没有爆炸性气体,烟雾或化学品使这个过程非常适用于工厂,自动化机械系 25毫米金属条制成嘚图像红热     图1:留出25 mm的金属条可以用热15千瓦的射频能量在450千赫进行红色。 本文着眼于感应加热使用RF能量并讨论了设计方案和应用这种技術可以使用。所有部件数据表,教程和开发此处引用套件可在网上Digi-Key的网站上找到 不只是做饭 几十年来,感应加热已被用于工厂车间用於密封和金属容器的包装早期的专利附图示出如何相对较少的部件可以实现一个有效的解决方案(图2)。相比较而言它只是到了最近的感應加热烹调已经提供对中期和低成本的烹饪表面。这已经电感然而我们都已经使用的产品热封。我们都熟悉的食品罐头需要一个开门红打破真空密封。如果你仔细看这些罐的顶部你会看到盖焊接到罐;专用机采用高功率RF驱动的特制感应炉熔化的盖,罐快速可靠,反反複复 感应焊接加热专利绘制的图像     图2:此早期专利图示出如何相对较少的部件,需要使感应焊接和加热系统该设计的最苛刻的部分是該组合物和RF传递线圈的尺寸。 人们甚至可以找到简单的自由的,公共领域现有的教育和业余爱好者使用的DIY设计简化原理图(图3,左)为证據充分的设计(图3右)显示一个相对安全的陶瓷保护领域的加热器可以build1中 简化原理图(左)为充分证明设计的图像(右)     图3:教育套件和图表都是现荿的网络,可以让你开始用自己的感应加热设计简化原理图(左)为证据充分的设计(右)显示一个相对安全的陶瓷保护领域的加热器,你可以建立[!--empirenews.page--] 感应加热不只是在金属焊接使用。它也可以用于强化或加强通过退火金属或热气体进入等离子体为先进的化学反应和研究在所有嘚情况下,高功率RF场需要和这些设计包括专门离散的以及活性,组分即使连接器必须仔细检查,以确保它们传递能量而不是吸收它。 设计高功率射频感应加热 射频感应加热基本有源和无源部件需要能够处理大量的功率并且它们必须被散热器,它的热传导表面液体冷却可能要求为好,也就是说即使该组件的外壳和身体可能需要是热传导到一个高度简要千甲当前突发,例如即使是通过0.01欧姆电阻将需要消散万瓦的功率,而电流流过 一些合适的电阻器制造商,如AVX商Bourns,和TE连接提供了相当不错的大功率和良好散热器它的电阻。这些通常将用在底盘安装配置以允许热排气和传输。 例如一起来看看在商Bourns 50欧姆机箱安装CHF190104CBF500L 800 W的电阻(图4)。五十欧姆是一个神奇的甜蜜点RF匹配高效的动力传输和使用,无论传输线和天线大多是由投其所好到50欧姆的阻抗 商Bourns 50欧姆的图像底盘贴装电阻为800 W的设计     图4:50欧姆底盘贴装电阻为800 W嘚设计允许最大功率传输的射频传输线的特性。 作为对供应商的CHF射频功率系列的一部分它的特点是从0到1 GHz操作具有非常低(1.2)电压驻波比(VSWR),以朂小化反射的信号和不必要的加热 可其他的值,如12.525和100欧姆。注意所选择的值是如何可以把串联和并联同时散发的热量,以创造更高嘚功率水平 1000瓦的版本,商Bourns CHF190104KBF500L也可 高功率射频电容器并不常见电阻器,晶体管和电感器特别是当它涉及到射频感应技术。在大多数情况丅series'ed和并联阵列可能需要专门为一个设计而成。 这里重要的是保持等效串联电阻和等效串联电感低由于潜在的高电流,IIR加热是一个问题甚至是相当高的,高温陶瓷电容器可迅速降解 你不想使用电解或钽电容器用于这些应用。这两种类型的不喜欢过应力和灾难性故障时鈳实际发生爆炸猛烈高电压版本的陶瓷电容可能是最好用,即使电压并不高有了感性负载,非常高的水平尖峰和浪涌可以在紧密间隔嘚陶瓷电容弧年纪大了,高压电容器聚酯薄膜和聚苯乙烯可以提供良好的耐老化性能和严格的公差并能帮助消除电弧,因为这些技术仳表面贴装陶瓷大 使连接 设计被设计成加热金属高功率RF链接时,连接器可以具有十分重要的意义毕竟,连接器使用的金属留给我们┅个难题:金属做一个好盾牌和射频连接器,如BNCF型,MCXSMA,和其他人使用的金属外壳与屏蔽的利益阻抗控制的一部分 但是,这些相对小呎寸的连接器没有太多总表面积和散热可能是一个问题这意味着,当需要高功率链路小型和低成本的连接器是不适合的。 一旦你这样莋的工程你可以使自己的实体是正确的构图,造型以及有效的耦合密度。对于中等功率预最终放大级,老式和较大的射频连接器洳旧UHF和N型,可以是最好的 底盘贴装部件,如腰带26-8011有很多热物质和使成固体底盘和/或散热片(图5)具有良好的热连接他们的特点是在50欧姆,鼡摩擦相关的联锁可靠的螺丝接触代替这可以使他们在震动和冲击的存在更安全。 阻抗控制的射频连接器图片     图5:用大量的热质量可鉯有效地将热量传递到机箱或散热器的阻抗控制的射频连接器是用于中等功率水平是有用的。可能需要定制的解决方案非常大功率的最后階段最终的功率放大后。 配合电缆的RG-8213,58和59,例如使用公插头还与很多热质量。黄铜和镍涂层应该足以满足大多数应用高达500兆赫 功率晶体管 很少管设计正在发生和高压大功率半导体技术的蓬勃发展,许多美好的半导体器件已准备好处理的射频功率相当不错的金额 雖然在多数情况下,频率也不会那么高载流容量和电压的可能。在大多数情况下场效应管技术是最好的,因为它可以用它携带非常低嘚RDS(ON)规格而这样做的切换做好。必须小心以保护FET的从过应力由于薄氧化物层在栅极可能破裂。 像NXP 图6:所有的高功率组件可能需要散热囷冷却,但要小心:如果案件和热安装非电隔离他们可能有不同的电压,并且不能安装到公共导体 评估您的需求 最终,这将是要焊接戓退火这将决定您需要的最佳频率选择(频率或混合)材料的种类。更重要的是这将是你的愿望来加热或焊接,将决定的功率水平将需要嘚体积和截面面积 除了烹饪和焊接,也有该技术的要求不高用途例如,一金属编织可以使用在TFT显示器,以允许精确和有效的加热控淛使得一个显示在-50℃下操作。与往常一样知道射频技术和部件的能力,你将需要实现这些和其他的应用是成功的一半

  • 摘要:IEC61850标准是迄今为止变电站自动化领域最为完善的通信标准,其中ASN.1编码规范是IEC61850使用的MMS协议最基础的编码方式这里给大家介绍一下IEC61850协议通信的“基石”— ASN.1编码。 早期计算机通信使用的网络协议栈在传输数据时没有采用统一的编码规则,不同编码规则的信息如果要再两台计算机之间通信开发人员要实现不同信息的编解码。 ASN.1(抽象语法标记)规范的应用对计算机网络通信来说是一个具有里程碑意义的变革,它使得通信双方更加关注信息交换的内容而不是具体编解码过程。 IEC61850协议定义的ACSI(抽象通信服务接口)具体映射至MMS(制造报文规范)协议而MMS协议正是采用了ASN.1的編码规范。IEC61850标准不再关心具体的通信过程而是把重点放在变电站内IED之间的数据交换模型和互操作上,因此ASN.1的应用是IEC61850标准在实用性、规范性、灵活性和易扩展性都强于传统规约的原因之一 主要内容 ASN.1规范位于ISO/OSI七层开放互连模型的第六层表示层,主要分为语法规则和编码规则兩部分:语法规则用于描述信息对象的具体构成包括数据类型、内容顺序或结构;编码规则定义了信息的具体编解码语法。 ASN.1定义的数据类型既有简单的基本数据类型也有复杂的结构类型,如下表所示 编码规则: ASN.1提供了多种编码规则,如BER(Basic encoding rules)、DER、CER、PER等本文主要介绍IEC61850在MMS编解码Φ使用的基本编码规则BER,其他编码规则可参考ASN.1官网文档 ASN.1基本编码规则BER采用的编码结构由标记Tag、长度Length、内容Value三部分组成,简称TLV结构基本編码规则采用8位位组作为基本传送单元。 标记Tag共4种类型通用类、应用类、上下文相关类以及专用类。分类信息如下: ASN.1 BER编码规则定义了一批简单类型的Tag值但这些Tag值无法满足MMS应用需要,如无法区分整型和无符号整型因此MMS扩展定义了一组专用的Tag值,具体可查阅ISO/IEC 9506-2规范 长度Length字段指明Value部分所含的8位位组的数目。 内容Value部分对于简单类型来说Value字段是数据的实际值,对于结构类型来说Value字段是一个或者多个数据的TLV结構,形成分层嵌套的结构 ASN.1提供了丰富的数据组织形式和灵活的扩展机制,可以描述结构非常复杂的数据 MMS语法规范实现: ISO/IEC 9506 – 1 以及ISO/IEC 9506 – 2 由上述内容可看出,ASN.1规范在MMS协议实现过程中起到非常重要的作用正确的数据编码是确保IEC61850应用的重要前提。 致远电子E8000、E8300电能质量分析监测终端率先通过开普实验室IEC61850一致性测试认证每一组MMS报文都是经过精心设计而且高度符合ASN.1编码规范,使得设备与主站通信更加健壮稳定

  • 机器人聲控系统的研究一直是机器人研究的主要内容之一。传统的声音控制系统一般采用PC 机作为核心平台对机器人进行控制虽然其具有处理能仂强大、语音库完备、系统更新能力强等优点,但是PC 机体积大功耗大,成本高不适合于中、小型机器人使用。本文以SPCE061A 为核心设计了┅套机器人声控系统,和传统的PC 机声控系统相比较具有成本低、体积小、耗能低和使用灵活方便等特点。 本系统采用的机器人平台是北京博创兴盛机器人技术有限公司提供的Voyager II 型地面移动机器人该机器人采用了模块化的设计理念,高负载能力的直流伺服控制可选配声纳、红外、视觉、罗盘、GPS 等传感器和机械手等执行器。完全可以满足声控系统的设计要求本文提出了一种以凌阳单片机为核心的Voyager II 型机器人聲控系统的设计方案, 该产品具有低成本、低功耗、体积小和使用灵活方便等特点不仅适合于中、小型机器人使用,还适合与教学科研使用 系统的整体设计分为硬件设计和软件设计两部分,下面首先介绍一下系统的硬件设计 系统硬件结构 根据机器人平台情况, 声控系統的硬件结构主要由微处理器单元、供电单元、声音采集单元和串口输出单元四部分组成如图所示:     1 微处理器单元 本系统采用凌阳公司嘚16 位单片机SPCE061A 作为核心控制芯片,内置32K 闪存其较高的处理速度能使芯片非常快速的处理复杂的数字信号, 适用于语音识别等应用领域 SPCF061A 的笁作频率范围为0.32-49.152MHz.具备8 通道10位ADC 输入功能, 内置了具有自动增益控制的麦克风输入功能双通道10 位DAC 音频输出功能及A、B 两个I/ 0 口输入输出功能。具囿集成度高、性能可靠、价格低廉、功耗小等特点这些特点充分体现了微控制器工业发展的新趋势。目前凌阳单片机SPCE061A 的应用越来越广,深受广大用户的欢迎 2 声音采集单元 声音采集单元的换能器采用驻极体话筒, 通过话筒将采集到的声音信号通过MIC_IN 通道传送给CPUMIC_IN 通道专门鼡于对语音信号进行采样。语音信号经MIC 转换成电信号由电容将其中的直流成分滤除, 然后输入到集成在SPCE061A 内部的前置放大器中SPCE061A 的内部增益控制电路AGC 能随时跟踪、监视前置放大器输出的音频信号的电平,当输入信号过大时自动减小放大器增益;当输入信号减小时,自动增大放大器增益这样即可以使A/D 转换器接收到的信号一直保持在最佳电平,又可以使声音损失减至最少从而提高语音识别的精度。 3 外接供电單元 外接供电单元是声控系统的选配单元 由于声控系统的能耗很低,可以外接3 个1.5V 电池作为外接供电单元给系统供电。在没有选配外接供电单元时也可以直接使用Voyager II 型地面移动机器人的蓄电池为关济实: 讲师工学硕士声控系统供电,Voyager II 型机器人的蓄电池供电电压为24V 将24V 电压先经过7805 转换成5V电压, 然后使用SPY0029 将5V 电压转换成3.3V 电压给SPCE061A 供电 4 存储器单元 存储器单元也是声控系统的选配单元, 当需要识别的语音资源较少时则使用单片机中集成的FLASH 存储器,就可以满足要求当语音资源较丰富时,就需要连接外部存储器单元对语音资源进行存储。为了保证系统的兼容性 选用凌阳公司的SPR4096 作为外部存储器, 和IOB1 连接 构成串行数据通信。 5 串口输出单元 由于SPCE061A 单片机的输入、输出电平是TTL 电平而Voyager II 型機器人配置的是RS-232 标准串行接口,二者的电气规范不一致因此,要完成SPCE061A 和机器人之间的串行通信必须对SPCE061A 输出的TTL 电平进行电平转换,本系統中使用MAXIM 公司的MAX232 作为电平转换芯片MAX232 使用单电源供电, 只需外接5 个0.1uF 的电容 就可以实现SPCE061A 和Voyager II 型机器人之间的电平转换。 系统软件设计 软件设計中最重要的部分就是编写语音识别程序语音识别过程本质上是一种多维模式识别过程。针对凌阳单片机编写语音识别程序主要可以汾为:训练、辨识、辨识结果输出三部分。 1 训练程序 当程序第一次运行时需要进行语音识别训练。完成识别训练后会在FLASH 存储器中设定標志位,下次重新启动时可以跳过语音训练过程,直接进行语音识别程序如果用户需要重新训练,也可以通过按键来擦除标志位该蔀分程序框图如下:   [!--empirenews.page--]   2 语音识别程序 语音识别程序是整个程序编写过程中最重要的部分, 该功能调用void BSR_EnableCOUIndicator()函数来实现主要用来辨识是否正常工莋。如果辨识正常CPU 会产生一个占空比为50%的方波。如果CPU 超载则会产生不稳定的波形,这时为了避免语音辨识产生错误信息就需要删除命令或者优化程序。 2.3 获取辨识结果 该功能调用int BSR_GetResult()函数来实现当无命令识别出来时,返回值为0;当识别器未初始化或识别未激活返回-1;当识别不匼格时返回-2;当识别出来时返回命令的序号。 2.4 终止辨识 该功能调用void BSR_StopRecognizer()函数实现主要用于停止识别,并关闭FIQ_TMA 中断 3 辨识结果输出 通过BSR_GetResult()可以得箌命令的序列号,将命令的序列号改写成Voyager II 型机器人的相关协议 然后通过RS232口传输给机器人即可达到语音控制的目的。 4 串口通信程序 为了方便用户对Voyager II 型机器人进行二次开发 北京博创兴盛机器人技术有限公司提供了标准串行接口, 并制定了详细的通信协议供用户使用。为了提高通信的效率和稳定性在Voyager II 型机器人内部,先将RS-232 标准电平转换为TTL电平再将TTL 电平通过MAX491 转换为RS-485 的标准电平。 由于协议中只支持一个主机,所以在本声控系统中将声控系统的单片机作为整个硬件系统的主机, 即整个硬件系统的最高管理者其地址默认为0.其他设备的地址默認为1-255.具体分配如下:系统设备占用地址0x01-0x0F;电机设备地址 0x100-0x1F;系统保留地址为0x20-0x7F;用户设备地址:0x80-0xAF;在系统运行过程中,主机一直占用自己的TXD 线从机的RXD 線在不进行通信时为高阻状态,只有在接收到与自己地址相符的数据帧时才能占用总线,一旦通信结束立即释放总线,回到高阻状态 主机和从机采用标准的“一问一答”通信机制,如果主机的命令需要有数据反馈则返回需要的数据;如果不需要数据反馈,就返回上位機发送的命令 下面,以控制机器人前进为例说明串口通信的协议格式: (1)发送固定通信字头两字节:0x55 0xAA (2)发送接收设备地址:0x01 (3)发送数据长度:0x04 (4)發送命令字:0x26 (5)发送左电机速度两字节:0x00 0x06 (6)发送右电机速度两字节:0x00 0x06 (7)发送数据效验和:0x3A 在明确了协议格式和需要发送的内容之后 就可以编写串口通信程序。首先根据SPCE061A 的PLL 的串口每次只能发送1个字节的数据,所以需要采用循环的方式依次将通信内容发送给Voyager II 型机器人。Voyager II 型机器人收到指令后 就可以按照指令,进行相应的动作 总结 本系统采用了低成本的DSP-SPCE061A 作为主控芯片,和传统的基于PC 机的语音识别系统相比 虽然識别的语音库相对较少,但是其具有低成本、低功耗、体积小和使用灵活方便等特点不仅适合于中、小型机器人,还适合于教学科研使鼡所以,本声控系统具有良好的市场前景和广阔的使用空间

  • 传统的电流式控制方法是检测流经绕组的电流,并将反馈信号送到控制芯爿然后由控制芯片决定是增加还是降低绕组电流,以取得所需的电流强度这种控制方法使电机在宽转速和宽电源电压范围内保持理想嘚转矩,非常适用于全步进和半步进电机驱动而且实现起来非常容易。 闭环控制电路将电流施加到绕组反电动势(BEMF)会降低绕组电压,延長电流达到理想值的时间因此,反电动势限制电机转速虽然系统无需知道反电动势值,但是不重视且不修正这个数值将会导致系统性能降低。 因为电源电压变化导致峰值电流有时波动幅度很大所以,直到现在工程师还是尽量避免使用电压式控制方法。工程师们还想避免反电动势随着电机转速增加而升高的问题 在这种情况下,业内出现了能够补偿反电动势的智能电压式控制系统这种驱动方法使電机运转更顺畅,微步分辨率更高是对高精度定位和低机械噪声要求严格的应用的理想选择。电压式控制是一种开环控制:当正弦电压施加到电机相位时机电系统将回馈正弦电流。 我们可以用数字方法补偿反电动势和峰流变化在记住电机的准确特性(电机电感-转速曲线、反电动势-转速曲线、电机电阻)后,计算并施加电压以取得理想的电流值。 电压式控制方法是向电机施加电压而不是恒流。施加的电壓值能够补偿并完全消除反电动势效应施加电压的上升速率与因电机转速增加而导致反电动势上升的速率相同,保证电流幅度对转速曲線平坦在已知所需电流后,就可以确定取得该电流需要施加的准确电压值因此,电流是由电压间接控制如图1所示。     图1:反电动势(BEMF)补償 电压式控制还节省了分流电阻可取得高微步分辨率和极低的转矩脉动。事实上意法半导体的L6470取得了多达128步的微步控制。 这款数字电機控制驱动器的核心是一个能够降低微控制器资源占用率的数字运动引擎(DME) 数字运动控制引擎是由行为命令控制,例如绝对位置请求,並按照预设转速曲线边界驱动电机运动全部指令集包括相对位置和绝对位置(达到目标位置)、转速跟踪(达到并保持目标转速)和电机停止顺序,还包括机械位置传感器管理专用命令图2所示是前述部分命令。     图2:行为命令 该控制器通过具有菊花链功能的高速SPI总线接口与主微控淛器通信 通过一个串行接口,一个微控制器能够管理多个控制器从而控制多台步进电机,如图3所示     图3:SPI接口菊花链拓扑

  • 四旋翼飞行器是一种具有6个自由度和4个控制输入的可垂直起降、悬停、前飞、侧飞和倒飞的无人驾驶飞行器,4只旋翼可相互抵消反扭力矩不需要专門的反扭矩桨。被广泛应用于无人侦察、森林防火、灾情监测、城市巡逻等领域飞行控制系统是四旋翼飞行器的核心部分,其性能的好壞决定了整个系统的性能近年来,微小型四旋翼无人机的自主飞行控制得到了研究人员的广泛关注随着计算机技术和电子技术的发展,国内的小型飞行器研究开发工作逐渐升温许多公司形成了产业。例如大疆公司将四轴飞行器等多轴飞行器实现了商业化应用国内研究的重点主要为三个方面:姿态控制、传感器技术发展以及新材料的应用、电池领域技术的研究。典型代表有哈工大、北京航空航天大学、南京航空航天大学、国防科技大学等在控制算法上,先进PID控制得到广泛应用 本文以ARM Cortex-M3架构的STM32C8T6作为飞行器控制处理器,以MPU-6050作为飞行器的姿态传感器以低功耗2.4GHz的nRF24L01作为无线传输器件,以HC-RS04超声波作为障碍物报警传感器设计系统硬件电路经过实验调试,硬件系统能够稳定、可靠运行 1 系统总体结构设计 1.1 物理结构设计 四旋翼飞行器由一个十字支架和四个螺旋桨组成,支架中间安放飞行控制处理器及外部设备四個螺旋桨半径和角度相同,呈左、右、前、后四个方向两两对称排列四个电机对称安装在支架端,其中电机1和电机3逆时针旋转,电机2囷电机4顺时针旋转通过改变四个电机的转速来控制电机的运行状态。其结构形式如图1所示     1.2 工作原理 四旋翼飞行器在工作时,是通过电機调速系统对四个电机的转速进行调节以实现升力的不同变化,从而控制飞行器的运行状态飞行器的电机1和电机3呈逆时针旋转,电机2囷电机4呈顺时针旋转此时飞行器的陀螺效应和空气扭矩效应均被抵消,从而保证飞行器能够平衡稳定的飞行通过适当地改变电机的转速,来控制飞行器的飞行状态 1.3 飞行器控制系统总体系统设计 飞行控制系统分为地面和机载两部分,其在物理上是彼此单独的在逻辑上昰彼此相连的。地面部分又分为地面站部分和遥控器部分这两部分相互独立。整个飞行控制系统由微控制器模块、无线模块、电机驱动模块、姿态测量模块、高度测量模块、报警电路模块、地面站和遥控器等部分组成系统总体框图如图2所示。     2 系统主要功能模块硬件电路設计 2.1 微控制器模块 本控制系统是一个多输入多输出系统控制模块的主要输入信号有各个传感器的测量数据,输出信号为四路变脉宽电机控制信号需要多个定时/计数器控制信号脉宽。系统需要处理很多传感器传来的数据并且需要将数据送回地面系统,需要实时控制响應速度必须要快。此外本系统传感器的接口多样化,需要更多样的接口才能便于软件读取基于这些需求,本设计中飞行器微处理器模塊选用ARM Cortex-M3内核的STM32F103C8T6它的时钟频率可以达到72MHz,并且拥有IIC总线接口、JTAG接口、SPI接口、AD采集接口、多路PWM输出和多个串口便于多样化传感器的挂接和程序的下载与调试。此微控制器具有8个定时器对于信号采集和PWM输出均能满足。 2.2 姿态测量模块 四旋翼飞行器受电机振动和外界干扰影响较夶精确数学模型建立较难,且其载重有限一般以惯性器件作为姿态测量装置,姿态测量部件是整个硬件系统的重要部分本设计综合栲虑硬件设计原则,采用MPU-6050作为飞行器的姿态传感器MPU-6050通过IIC协议接口进行通讯,只需要将MPU-6050的SDA数据线和SCL时钟线与STM32通用I/O口相连接其电路如图3所礻。为了稳定输出避免空闲总线开漏,利用R2与R3作为SDA和SCL的上拉电阻提高总线的负载能力。电路中C9为数字供电电压滤波电容C8为校准滤波電容,C10为电荷泵电容C11为供电电压滤波电容。 2.3 无线通讯模块 系统在这三个方面需要无线通讯:首先需要将遥控器的信号通过无线模块发送絀去其次,地面站需要接收飞控端的姿态数据并需要发送控制参数。最后在飞控端需要接收遥控器和地面站的数据。结合通讯距离成本等因素,本设计选用nRF24L01无线模块器件其发射电路可以通过LC振荡电路构成。为了便于维修利用接口将无线模块独立出来。     本设计采鼡摇杆控制方式利用数-模转换器将摇杆的模拟量转化为数字量,再将转化后的数字信号传递给小型控制器经过一定的数据处理,通过無线发射出去供飞行器控制器接收利用。采用nRF24L01作为遥控器的无线发射器件为了便于数-模转换,遥控器摇杆采用摇杆电位器通过采集電位器的电压值去衡量遥控的行程量;由于遥控器处理信号单一,不需要高速的处理器采用8位的51单片机STC89C52RC作为遥控器的控制器,用来采集摇杆的模拟信号和发送采集到的数据采用PCF8591作为数据获取器件,其含有4路模拟量输入1路模拟量输出,属于标准的IIC通讯能够满足本设计要求。遥控器硬件电路如图4所示 飞行器地面站主要完成以下两个方面的功能:(1)在飞行器稳定飞行时检测飞行器的飞行状态,传递控制参数給飞行器使其按照控制算法运行;(2)在飞行器调试阶段,完成飞行器PID参数的修改和调整由于PC机一般留给用户操作的多为USB接口,然而nRF24L01通讯接ロ为SPI接口本设计选用51单片机读取nRF24L01的数据,继续由单片机将数据通过USB转串口芯片与PC机通讯完成地面站数据的传输功能。[!--empirenews.page--] 本设计选用直流無刷电机作为飞行器的动力驱动设备根据无刷直流电机的换向原则,无刷直流电机的控制形式分为:开环控制、转速负反馈控制和电压反馈加电流正反馈控制其中,开环控制无反馈进行校对应用于转速精度要求不高的场所;转速负反馈控制的机械性能好;电压反馈加电流囸反馈控制一般应用在动态性能要求高的场合。针对本设计来说需要实时调整电机的转速,并且调速频率比较大所以在本设计中采用電压反馈加电流正反馈控制方法。 2.4.2 电机驱动电路设计 根据电机控制原理本设计将电机驱动电路划分为三个部分:微处理器、反电动势检測和功率驱动部分。 (1)微处理器 由于无刷直流电机的换向频率比较高不宜使用低频率的处理器,再加上电机的旋转会产生旋转的磁场对處理器有很大的干扰。通过比较本设计采用ATMEGA8单片机作为电机驱动微处理器。 (2)反电动势检测 在换向的过程中需要不停地检测转子的位置,通过转子产生的反电动势就可以知道转子的位置信息通过分压衰减原理,检测电机三相反电动势电压相对中性点的电压从而确定转孓的位置。反电动势检测电路如图5所示     其中,A、B、C端子为电机三相电压R33~R38为分压电阻,P-A、P-B、P-C分别三相反电动势对应电压P-M为中性点电压。 (3)功率驱动 功率驱动是为了给电机提供大的电流使其达到能够稳定运行的目的,本设计采用并联MOS管提高输出的电流在每一相上桥臂并聯3个P沟道MOS管,达到三相全桥可控的目的在每一相的下桥臂上也并联3个N沟道MOS管。     3 硬件系统调试 3.1 PWM控制飞行器驱动电机调试 通过对4个电机进行通电加上不同占空比的PWM波形,来控制电机的转速记录电源电压、电流的变化情况,在稳定输出11.1V不同的占空比下,电源电流变化情况洳表1所示     由表1可知:占空比越大,电机驱动工作需要的电流越大;在占空比达到接近极限值时电流输出变化很小,实验表明硬件系统能夠可靠运行 3.2 无线通讯调试 通过测试无线的连通性、传输距离和丢包率,来确定无线模块的性能特性把遥控器设置为发送模式,地面站設置为接收模式利用地面站的报警灯来指示接收的状态,成功接受一次闪一下通过改变遥控器和接收机之间的距离,记录一分钟内指礻灯闪烁的次数来评估无线传输质量;测试分别在教学楼楼道和空旷操场进行,详细记录见表2 由表2可知:无线通讯在15m之后的传输效果有奣显下降,这是由无线通信模块的功率决定的实验表明无线通信部分在设计需求范围内能够可靠运行。 3.3 综合调试 图6为PID控制算法下载到四旋翼飞行器控制器进行实际飞行控制的姿态曲线图其中①代表横滚角,②代表俯仰角③代表偏航角。图6为飞行器受到侧风干扰后姿態角受控重新收敛到平稳(0,0,0)状态的角度数据。下图为飞行器从某一个姿态受控收敛到平稳(0,0,0)状态的角度数据从实验结果可以看出系统能稳定運行。 4 结束语 完成了四旋翼飞行器控制系统方案设计以及系统各个模块硬件器件选型和电路设计进行了系统硬件电路的调试,实验结果表明系统能够稳定、可靠运行。

  • 随着人工智能和传感器技术的发展机器人已从工厂的结构化环境进入人们的日常生活环境,机器人不僅能自主完成工作还能与人共同协作完成任务或在人的指导下完成任务。家庭服务机器人是智能家居系统的一个重要组成部分在生活Φ的作用越来越重要。当前大部分的家庭服务机器人不具备行走功能或只具有简单的避障能力,机器人的研究很多依赖于仿真实现但昰现实情况和仿真结果可能大相径庭。也有一些研究将问题复杂化反而走了更多的弯路。 针对当前家庭服务机器人的不足和现代智能服務机器人的要求本文提出一种基于STM32的家庭服务机器人系统的设计方案。该方案模拟智能家居环境简化了定位方式,有效地利用了ZigBee技术低成本、低功耗的特点设计出一个合适大小的轮式机器人进行试验,试验结果表明机器人能够实现预期目标并体现出较强的自主决策能仂 1 系统整体设计方案 整个家庭服务机器人系统主要由四部分组成,包括铺满RFID智慧地板的模拟智能家居环境、移动的轮式机器人、XBee协调器鉯及上位机 智能家居环境设计长为3.25米,宽为2米铺满RFID智能地板,分隔成厨房和客厅两个房间中间的房门宽0.3米。厨房有水槽、搁板、智能冰箱等电器客厅有餐桌、餐椅等。RFID智能地板的排列信息给机器人提供准确定位轮式机器人负责往返厨房与客厅之间给服务对象运送粅品,是整个系统的核心部分XBee协调器是基于ZigBee技术的无线传输模块,负责数据快速稳定地传递上位机主要负责数据的接收、处理和控制指令的下达等。 2 系统工作原理和流程 系统的主要工作流程是:上位机输入任务命令该命令通过XBee协调器发送给轮式机器人。机器人收到任務命令后从休眠模式启动读取智能地板RFID定位信息,将该实时位置信息上传到上位机以显示机器人运动轨迹。机器人通过传感器模块检測自身姿态和周围障碍物情况自主决策移动至目标位置抓取物品,运送到最终目标位置给服务对象使用其中,轮式机器人是整个系统設计的重点 2.1 XBee协调器工作流程 XBee协调器是最先启动的XBee网络节点,主要完成XBee网络的组网功能和数据的收发功能其中组网功能包括XBee网络的建立囷子节点的入网。 首先在XBee协调器上电复位后对包括硬件和软件的各个模块进行初始化。然后开始扫描信道、进行能量检测、选择信道鉯及选择合适的PAN ID。成功之后就广播网络ID、信道XBee网络就建立了。之后XBee协调器进入监听状态,等待子节点发送入网请求信号收到入网请求后协调器允许子节点入网并分配网络短地址给子节点,这就实现了节点的入网功能最后,XBee协调器将上位机数据发送给子节点射频模块启动轮式机器人,在收到来自子节点的数据请求后将接收数据并通过串口线传输给上位机,这就是数据的收发功能 2.2 轮式机器人工作鋶程 轮式机器人是任务的执行设备,往返于厨房和客厅两个房间之间准确和高效地执行用户对象发送的各种命令任务,并发送机器人坐標数据给XBee协调器进行以下工作 首先,轮式机器人上的XBee模块需要初始化和发送入网请求实现节点入网。然后XBee模块接收XBee协调器传输的任務命令数据,主板对各传感器模块初始化RFID读卡器读取智能地板坐标数据,发送给XBee协调器电子罗盘获取机器人当前的姿态信息。红外传感器检测机器人所处环境的障碍物距离主板控制启动由左右两个连续旋转舵机组成的移动轮。机器人通过自主决策规划路径移动至目標位置,启动机械臂抓取物品其中机械臂由多个角度舵机组成。在机械臂保持抓取物品的状态下再次规划路径移动至最终地点,机械臂准确将物品放在目标位置完成任务后机器人回到起始位置,进入休眠模式 3 关键环节设计 3.1 机器人硬件结构设计 轮式机器人采用模块化嘚设计原则,使机器人的设计为模块化方式并采用分层控制,有利于综合性能的发挥将机器人系统分为五个部分:主板、传感器模块、无线射频模块、舵机模块和电源模块。轮式机器人的结构框图如图1所示     3.1.1 主板 主板是针对该轮式机器人设计,采用ARM Cortex-M3内核的STM32F103VCT6处理器主板資源包括SDRAM、NAND Flash,UART接口、GPIO接口、SPI接口和JTAG接口辅助的资源有USB接口、定时器等。 主板的设计专门为射频模块、传感器模块和机械臂模块提供了接ロ简化了电路结构,使控制器集成度更高运行更加稳定和高效,从而节约硬件成本 3.1.2 传感器模块 传感器模块由传感器和相应的信号调悝电路组成。轮式机器人使用的传感器包括红外传感器、电子罗盘和RFID读卡器根据轮式机器人移动过程中检测障碍物距离的精度要求,红外传感器采用的型号为Sharp GP2D12分别安装在机器人前方、左前方、右前方、左侧和右侧五个位置。电子罗盘采用GY-80九轴模块中的HMC5883L三轴电子罗盘可鉯在复杂环境下测得准确方位值,抗磁电干扰能力较强RFID读卡器采用Parallax公司的低频段28140读卡器,可读取125kHz标签 3.1.3 射频模块 射频模块是设备之间通信的主要模块,负责整个网络的数据传输工作射频模块采用基于ZigBee技术的XBee无线传输模块,该模块覆盖面积大且易于配置是机器人通讯组網的不错选择。 XBee协调器由XBee无线模块和XBee USB适配板组成XBee USB适配板是专门为XBee无线模块配套设计,通过使用该模块可以在PC机使用配套的X-CTU软件对XBee无线模块进行配置及串口通讯监控。XBee协调器通过USB线与上位机连接通信 3.1.4 舵机模块 舵机模块分为机械臂舵机和移动轮舵机,机械臂由角度舵机和金属杆件组成五个角度舵机构成五自由度机械臂,尺寸大小与搭建智能家居环境匹配为保证机械臂动作精度,采用HS-322HD角度舵机移动轮舵机使用Parallax连续旋转舵机。 3.1.5 电源模块 根据各个组成部分工作的场合和特点的不同采用不同的供电模式,轮式机器人采用电池供电的模式洏XBee协调器则要一直保持工作状态,所以采用上位机USB供电的模式电源模块与主板相连,而主板留有接口给传感器模块、射频模块和舵机模塊通过接口给传感器模块、射频模块和舵机模块进行供电。由于RFID读卡器对电流要求较高因此主板和RFID读卡器分开使用双电源供电。[!--empirenews.page--] 3.2 机器囚软件设计 3.2.1驱动控制设计 驱动控制设计包括各个模块的初始化、模块之间的通信和上位机软件设计该文采用与STM32F103VCT6配套的MDK-ARM作为开发环境,完荿各个模块初始化和通信上位机软件采用VC++开发。具体的各个模块软件实现的功能及工作流程在系统的工作原理和流程中已经介绍这里鈈再叙述。     3.2.2 路径规划 路径规划主要可分为全局路径规划和局部路径规划前者是指在环境信息完全已知的情况下,机器人规划一条从初始位置到目标位置的无碰撞最优路径;后者由于环境信息是未知的需考虑局部的特定情况来进行路径调整。 机器人移动过程中利用电子罗盘進行姿态调整即调整前进方向,努力寻找一条最快捷的路径到达目标位置机器人姿态调整主要取决于当前位置和前一位置与目标位置嘚距离,包括横向距离和纵向距离若当前位置与目标位置的横向距离和纵向距离分别小于或者等于前一位置与目标位置的横向距离和纵姠距离,表明机器人与目标位置的距离在逐渐缩小机器人在朝目标位置前进,否则就说明机器人没有按预期的轨迹前进需要再次进行姿态调整。姿态调整示意图如图2所示 局部路径规划包括避障处理、振荡位置分析、房门位置搜索和过房门策略分析。在机器人移动过程Φ需要不断探测周围环境,从而更好地决定下一步动作五个红外传感器数据使机器人时刻掌握周围环境,避障处理要求机器人合理避開障碍物向目标位置移动。 振荡位置指的是机器人不能顺利通过某一位置而在这一点附近反复来回走动。如果起始位置和目标位置分別在两个房间在全局路径规划思想的指导下,机器人会在两间房的公用墙边不断徘徊振荡位置分析示意图如图3所示。     当机器人到达振蕩位置时需要调整路径规划策略,此时放弃全局路径规划策略选择直接以公用墙为基准墙搜索房门。沿墙走算法的基本规则是:当机器人不断靠近墙面时需要调整两轮速差使机器人朝偏离墙面的方向前进;当机器人不断远离墙面时则需要调整两轮速差,使机器人朝靠近牆面的方向前进综合调整的结果是机器人的前进轨迹是以基准线为轴的类正弦曲线,沿墙走轨迹如图4所示 过房门是机器人完成任务必鈈可少的一个环节,怎样确保机器人顺利穿过房门是任务成功的关键机器人准备过房门时并不是正对房门,可能向左侧或者右侧不同程喥的倾斜根据倾斜程度的划分,机器人检测相对应的红外传感器距离值不断调整机器人姿态,使机器人正对房门并顺利通过     4 结束语 夲文设计的家庭服务机器人系统,为智能家居环境服务对象的需求任务提出了详细可行的解决方案整个系统应用了基于XBee模块的主流无线通信技术,以保证数据的传输速率此外,对轮式机器人的模块化设计具有结构简单和性能稳定等特点大大提高了家庭服务机器人的可靠性,并且降低了系统的硬件成本自主决策过程中的路径规划,使得机器人能够快速沿着最合适的路线移动总之,该设计系统对家庭垺务机器人相关问题的解决提供了可借鉴的方法

  • 传统的电流式控制方法是检测流经绕组的电流,并将反馈信号送到控制芯片然后由控淛芯片决定是增加还是降低绕组电流,以取得所需的电流强度这种控制方法使电机在宽转速和宽电源电压范围内保持理想的转矩,非常適用于全步进和半步进电机驱动而且实现起来非常容易。 闭环控制电路将电流施加到绕组反电动势(BEMF)会降低绕组电压,延长电流达到理想值的时间因此,反电动势限制电机转速虽然系统无需知道反电动势值,但是不重视且不修正这个数值将会导致系统性能降低。 因為电源电压变化导致峰值电流有时波动幅度很大所以,直到现在工程师还是尽量避免使用电压式控制方法。工程师们还想避免反电动勢随着电机转速增加而升高的问题 在这种情况下,业内出现了能够补偿反电动势的智能电压式控制系统这种驱动方法使电机运转更顺暢,微步分辨率更高是对高精度定位和低机械噪声要求严格的应用的理想选择。电压式控制是一种开环控制:当正弦电压施加到电机相位时机电系统将回馈正弦电流。 我们可以用数字方法补偿反电动势和峰流变化在记住电机的准确特性(电机电感-转速曲线、反电动势-转速曲线、电机电阻)后,计算并施加电压以取得理想的电流值。 电压式控制方法是向电机施加电压而不是恒流。施加的电压值能够补偿並完全消除反电动势效应施加电压的上升速率与因电机转速增加而导致反电动势上升的速率相同,保证电流幅度对转速曲线平坦在已知所需电流后,就可以确定取得该电流需要施加的准确电压值因此,电流是由电压间接控制如图1所示。     图1:反电动势(BEMF)补偿 电压式控制還节省了分流电阻可取得高微步分辨率和极低的转矩脉动。事实上意法半导体的L6470取得了多达128步的微步控制。 这款数字电机控制驱动器嘚核心是一个能够降低微控制器资源占用率的数字运动引擎(DME) 数字运动控制引擎是由行为命令控制,例如绝对位置请求,并按照预设转速曲线边界驱动电机运动全部指令集包括相对位置和绝对位置(达到目标位置)、转速跟踪(达到并保持目标转速)和电机停止顺序,还包括机械位置传感器管理专用命令图2所示是前述部分命令。     图2:行为命令 该控制器通过具有菊花链功能的高速SPI总线接口与主微控制器通信 通過一个串行接口,一个微控制器能够管理多个控制器从而控制多台步进电机,如图3所示     图3:SPI接口菊花链拓扑

  •     它的主要功能是完成对过電压的瞬时值和峰值的检测、过电压次数的检测、电源输出电压和电流的检测,并通过键盘的操作显示出各个检测值的大小;同时通过MAX485接口囷上位机实现通信在有过电压的时候通过控制电路启动各用电源,实现对电源本身的保护

  • TC35i是德国SIEMENS(西门子)公司的一款双频900/1800MHZ高度集成的GSM模塊。在GSM网络日臻完善的今天TC35i秉承了西门子一贯的优秀品质,它易于集成使用它您可以在较短的时间内花费较少的成本开发出新颖的产品。 它设计小巧、功耗很低 可以为很多通信应用提供经济高效的解决方案。它支持EGS900 和GSM1800 双频 数据传输的内容支持语音、数据、短消息和傳真服务, 通信接口采用RS232( 指令和数据的双向传送)供电电源采用单电源3.3 V~5.5 V 的电压。 适用的范围包括: 便携电脑的低功耗通信设备、遥测遥感、远程信息处理和通信等工业领域以下为一款TC35I与微控制器的连接电路图。 TC35I与微控制器的连接电路图  

  • 除了极少数例外所有的电子电路需偠一个振荡器,也被称为一个时钟时钟发生器,或定时电路它的作用是提供“心跳”的处理器,内存的功能通信端口,A / D和D / A转换器(如果有的话)等诸??多功能在非关键,低预算的情况下如$ 10质量市场电子温度计,该时钟可以从一个简单的电阻器/电容器(RC)的振荡器制成嘫而,对于这是更关键的场合绝大多数振荡器是基于一个石英晶体(图1)。这是一个可以支持宽的频率范围从kHz到几百MHz具有性能跨越相当卓樾的,这取决于晶体切割加工,包装等方面的考虑成熟的(80 +岁)和高效的技术     图1:古老的石英晶体(而不是整个振荡器)由标准示意符号表示; b)該等效电路开始所示的简化模型中,但可以得到作为操作频率的增加复杂得多。然而晶体的进步已经达到了一个平台,而在计时功能嘚性能尺寸,成本和集成的需求正在增加。为了满足这些需求一个新的和破坏性的方法是开始染指石英器件,基于硅MEMS(微机电系统)技術该技术可以提供石英级性能,并在它适合于许多应用的性能和成本的水平 MEMS器件已经高度发展和大批量用于感测压力,运动和加速喥,以及它们现在正扩展到一个新的角色上的计时功能的要求是在RF应用,其中所述振荡器是不只是为处理器并且其中一个小的抖动是可鉯容忍的时钟特别具有挑战性在射频,它建立基本载体/信道调谐处几百MHz而进入GHz范围内以确保A / D和D / A转换器的正确计时。对于转换器任何抖动转变成转换器噪声和失真,因此在RF设计的一个关键指标 振荡器操作 一个晶体定时装置的结构和操作是基于长期已知压电原理,由此┅个电信号诱导应力在晶体并且反之亦然,以及:施加的应力使晶体以产生分钟电压通过使用一个微小的板坯或坯件石英沿与合适的電路,石英用作调谐谐振器以提供对整个电子系统精确地间隔的时钟信号。在基于MEMS的装置一个完全不同的方法被使用。在模具芯的蚀刻的硅的作用就像一个音叉共鸣在期望频率而在管芯附加电子电路的管理和放大该时钟信号(图2)。 图2:MEMS振荡器技术使用一个版本的音叉状諧振蚀刻到硅中加上支持电路。(SiTime公司提供)有几十个第一第二,甚至第三层参数用于评估任何振荡器,无论是水晶或其它所需的最低或最高值取决于应用,当然但这些参数的相对权重的设计而变化。关键参数包括额定工作频率绝对精度,衰老相关的稳定性短期囷长期漂移(温度系数和补偿),抖动工作温度范围,包装尺寸工作电压,供给灵敏度功耗,休克/振动性启动时间,自动售货机的变囮和成本,举出几个大多数这些以不同的方式和不同条件下测得的合法,这取决于两个应用要求以及任何历史背景 甲石英晶体基振蕩器从多个部分,包括持有在包同时也提供电触点(和一些冲击/振动阻力)经仔细切割和抛光石英毛坯,安装及在壳体包本身(组装更多的褙景看CTS的产品培训模块“水晶时钟振荡器”)。相反MEMS振荡器是一个集成电路,作出标准工艺的CMOS生产线采用8英寸晶片在大多数情况下。探測微调和测试后,器件封装;再次就像任何IC。因此从用于常规集成电路的大规模生产批次技术和工艺的MEMS装置的好处。(了解更多的背景仩的MEMS振荡器看到ABRACON产品培训模块上的ASFLM1系列)基于MEMS的器件的其他优点包括: ?最终器件比石英版本小。这不仅节省了宝贵的电路板房地产但咜允许定时装置被放在更接近它的支持,更好的信号完整性和降低电磁干扰的设备 ?该MEMS振荡器可以具有内置在上述冲模,其可用于补偿電路从而提高性能对温度或电源轨变型有源电路它也可以被用来提供完整振荡器功能,作为既不是石英晶体也不是MEMS谐振器是由本身就昰一个完整的振荡器(尽管该术语通常使用的方式);每一个需要一些相关的电路来驱动的核心要素时机和条件/缩放的输出。许多振荡器也需要鎖相环乘以基振荡器频率到期望的载波频率而这也可以是集成电路的一部分。 ?完整的MEMS振荡器的核心振荡电路和接口均功率低于同等石英功能。 ?此外工作完成,以允许共包装与它在相同的方式存储器IC现在堆叠并共同封装与他们的微控制器或微处理器驱动(如A / D转换器)嘚集成电路的MEMS装置的裸片的。这将提供多种好处:更少的电路板房地产需要简化了BOM,提高单的完整性并经过测试,保证振荡器以及转換器的性能而不关心PC机的布局问题(这是在RF的GHz范围内具有挑战性,往往令人沮丧电路) 考虑到所有这些优点外,还有为什么MEMS器件还没有取玳晶体振荡器几个原因: ?可用MEMS器件的性能可能尚未达到在特定应用中的要求 ?RF设计是相当谨慎的,因为定时功能是如此重要的系统性能 ?当晶体有其不足之处和文物,这些都相当了解与此相反,MEMS器件的微妙和变化莫测刚开始被称为到的RF设计人员能够接受先进的设计沝平 ?新的射频设计通常包含一个或几个新进入市场的组成部分,如高性能低噪声放大器或A / D和D / A转换器但设计人员都不愿意去尝试太多噺的组件。这是关于风险管理有多少不熟悉设备的设计者是舒适使用一次,即使每个人都是潜在的有利 ?成本当然是:作为一种成熟嘚技术,液晶厂商已经设法通过经验和体积使成本降下来。虽然MEMS器件提供了潜在的成本较低这对一个案件逐案BOM基础上进行判断。 MEMS振荡器成为关闭的现成的标准件 一些可用的微机电系统器件的定时说明这些组件的功能。例如SiTime的SiT820??9高频,超高性能的??振荡器(图3)可订購80.000001和220 MHz之间的任何频率精确的6位小数。对于过渡的方便它被打包为一个引脚对引脚插入式替代石英振荡器,并设有只有0.5皮秒的超低相位抖动随着频率稳定度低至±10ppm的。     图3:SiTime的SiT820??9提供了非常低的抖动关键的许多通信应用;当在3.3 V与LVCMOS输出操作显示的情节是相位噪声在156.25兆赫。 Silicon Labs還提供四大系列(Si501Si502,Si503Si504),其成员在不同的额外功能具有10年的频率稳定性,包括焊料转移负载牵引,电源变化工作温度范围,振动和沖击性能保证;销售商声称这是10×媲美石英器件的保证。单元提供32千赫至100兆赫,和频率稳定性的选项之间的任何频率包括±20±30和±50ppm的跨商业(-20?C至70℃)和工业(-40℃至85 4 Labs公司的成员都有相同的基本性能规格,但不同的附加功能的可用性如输出使能和频率的选择。从麦克雷尔(图5)的麦克雷尔MEMS振荡器单元都可以从2.3至460兆赫操作(DSC1123例如,具有156.25兆赫的频率)典型RMS相位抖动低于1皮秒,而稳定性为±10订购±25或±50 图5:麦瑞半导体的DSC单位是“插入式”替代标准的6引脚LVDS石英晶体振荡器;设备只在使用使能控制销的不同。总结这是很难预测到什么程度基于MEMS的定时装置将取代已玖的基于石英的结晶单元在RF设计而这种转变需要多长时间。毫无疑问MEMS器件以及未来在性能,尺寸成本和包装潜在美德的好处让他们鉯较低的频率和增加在更高的RF频谱非常有吸引力的竞争。市场研究公司IHS日前预测超过十亿MEMS计时单位出货量将在2016年,主要是为移动手持设備和消费电子产品厂商看机会中,MEMS技术已在大众市场使用它在前进和成熟,以及用户欢迎的益处只要任何折衷 - 这显然将随应用 - 是可鉯接受的。

  • 这节我们主要讲单片机上串口的工作原理和如何通过程序来对串口进行设置以及根据所给出的实例实现与PC 机通信。 一、原理簡介 51 单片机内部有一个全双工串行接口什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送但不能哃时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行通信是指数据一位一位地按顺序传送的通信方式其突出优点昰只需一根传输线,可大大降低硬件成本适合远距离通信。其缺点是传输速度较低 与之前一样,首先我们来了解单片机串口相关的寄存器 SBUF 寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据可通过指令对SBUF 的读写来区别是对接收缓冲器的操作還是对发送缓冲器的操作。从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1)同时发送、接收数据,实现全双工 串行口控制寄存器SCON(见表1) 。     表1 SCON寄存器 表中各位(从左至右为从高位到低位)含义如下 SM0 和SM1 :串行口工作方式控制位,其定义如表2 所示     表2 串行口工作方式控制位 其中,fOSC 为单片机嘚时钟频率;波特率指串行口每秒钟发送(或接收)的位数 SM2 :多机通信控制位。 该仅用于方式2 和方式3 的多机通信其中发送机SM2 = 1(需要程序控制设置)。接收机的串行口工作于方式2 或3SM2=1 时,只有当接收到第9 位数据(RB8)为1 时才把接收到的前8 位数据送入SBUF,且置位RI 发出中断申请引发串行接收中斷否则会将接受到的数据放弃。当SM2=0 时就不管第位数据是0 还是1,都将数据送入SBUF并置位RI 发出中断申请。工作于方式0 时SM2 必须为0。 REN :串行接收允许位:REN =0 时禁止接收;REN =1 时,允许接收 TB8 :在方式2、3 中,TB8 是发送机要发送的第9 位数据在多机通信中它代表传输的地址或数据,TB8=0 为数据TB8=1 时为地址。 RB8 :在方式2、3 中RB8 是接收机接收到的第9 位数据,该数据正好来自发送机的TB8从而识别接收到的数据特征。 TI :串行口发送中断请求标志当CPU 发送完一串行数据后,此时SBUF 寄存器为空硬件使TI 置1,请求中断CPU 响应中断后,由软件对TI 清零 RI :串行口接收中断请求标志。当串行口接收完一帧串行数据时此时SBUF 寄存器为满,硬件使RI 置1请求中断。CPU 响应中断后用软件对RI 清零。 电源控制寄存器PCON(见表3)     表3 PCON寄存器 表Φ各位(从左至右为从高位到低位)含义如下。 SMOD :波特率加倍位SMOD=1,当串行口工作于方式1、2、3 时波特率加倍。SMOD=0波特率不变。 GF1、GF0 :通用标志位 PD(PCON.1) :掉电方式位。当PD=1 时进入掉电方式。 IDL(PCON.0) :待机方式位当IDL=1 时,进入待机方式 另外与串行口相关的寄存器有前面文章叙述的定时器相關寄存器和中断寄存器。定时器寄存器用来设定波特率中断允许寄存器IE 中的ES 位也用来作为串行I/O 中断允许位。当ES = 1允许 串行I/O 中断;当ES = 0,禁止串行I/O 中断中断优先级寄存器IP的PS 位则用作串行I/O 中断优先级控制位。当PS=1设定为高优先级;当PS =0,设定为低优先级 波特率计算:在了解了串行ロ相关的寄存器之后,我们可得出其通信波特率的一些结论: ① 方式0 和方式2 的波特率是固定的 在方式0 中, 波特率为时钟频率的1/12 即fOSC/12,固萣不变 在方式2 中,波特率取决于PCON 中的SMOD 值即波特率为:     当SMOD=0 时,波特率为fosc/64 ;当SMOD=1 时波特率为fosc/32。 ② 方式1 和方式3 的波特率可变由定时器1 的溢出率决定。     当定时器T1 用作波特率发生器时通常选用定时初值自动重装的工作方式2( 注意:不要把定时器的工作方式与串行口的工作方式搞混淆了)。其计数结构为8 位假定计数初值为Count,单片机的机器周期为T则定时时间为(256 ?Count)×T 串行通信实验电路图 下面就对图1 所示电路进行详细说明。 最小系统部分(时钟电路、复位电路等)第一讲已经讲过在此不再叙述。我们重点来了解下与计算机通信的RS-232 接口电路可以看到,在电路圖中有TXD 和RXD 两个接收和发送指示状态灯,此外用了一个叫MAX3232 的芯片那它是用来实现什么的呢?首先我们要知道计算机上的串口是具有RS-232 标准的串行接口,而RS-232 的标准中定义了其电气特性:高电平“1”信号电压的范围为-15V~-3V低电平“0” 信号电压的范围为+3V~+15V。可能有些读者会问它为什么偠以这样的电气特性呢?这是因为高低电平用相反的电压表示,至少有6V 的压差非常好的提高了数据传输的可靠性。由于单片机的管脚电平為TTL单片机与RS-232 标准的串行口进行通信时,首先要解决的便是电平转换的问题一般来说,可以选择一些专业的集成电路芯片如图中的MAX3232。MAX3232 芯片内部集成了电压倍增电路单电源供电即可完成电平转换,而且工作电压宽3V~5.5V 间均能正常工作。其典型应用如图中所示其外围所接嘚电容对传输速率有影响,在试验套件中采用的是0.1μF 值得一提的是MAX3232 芯片拥有两对电平转换线路,图中只用了一路因此浪费了另一路,茬一些场合可以将两路并联以获得较强的驱动抗干扰能力此外,我们有必要了解图中与计算机相连的DB-9 型RS-232的引脚结构(见图2)     图2 DB-9连接器接口圖 其各管脚定义如下(见表4)。     表4 DB-9型接口管脚定义 三、程序设计 (6)定时器1 高8 位赋初值波特率为1200b/s(7)定时器1 低8 位赋初值。 (8)启动定时器 (9)主函数。 (10)定义┅个字符型变量 (11)初始化串口。 (12)死循环 (13)如果接收到数据。 (14)将接收到的数据赋给之前定义的变量 (15)将接收到的值输出到P0 口。 (16)对接收标志位清0准备再次接收。 (17)将接收到的数据又发送出去 (18)查询是否发送完毕。 (19)对发送标志位清0 四、调试要点与实验现象 接好硬件,通过冷启动方式将程序所生成的hex文件下载到单片机运行后,打开串口调试助手软件设置好波特率1200,复位单片机然后在通过串口调试助手往单片機发送数据(见图3),可以观察到在接收窗口有发送的数据显示此外电路板上的串行通信指示灯也会闪烁,P0 口所接到LED 灯会闪烁所接收到的数據     图3 串口软件调试界面 另外串口调试助手软件使用时应注意的是,如果单片机开发板采用串口下载而且和串口调试助手是使用同一串口则在打开串口软件的同时不能给单片机下载程序,如需要下载请首先点击“关闭串口”,做发送实验的时候注意如果选中16 进制发送嘚就是数字或者字母的16 进制数值,比如发送“0”实际接收的就应该是0x00,如果不选中默认发送的是ASCII 码值,此时发送“0”实际接收的就應该是0x30,这点可以通过观察板子P0 口上的对应的LED 指示出来 五、总结 本讲介绍了单片机串口通信的原理并给出了实例,通过该讲读者可以叻解和掌握51 单片机串口通信的原理与应用流程,利用串口通信单片机可以与计算机相连,也可以单片机互联或者多个单片机相互通信组網等在实际的工程应用中非常广泛。从学习的角度来说熟练的利用串口将单片机系统中的相关信息显示在计算机上可以很直观方便的進行调试和开发。

  • 这节我们主要讲单片机上串口的工作原理和如何通过程序来对串口进行设置以及根据所给出的实例实现与PC 机通信。 一、原理简介 51 单片机内部有一个全双工串行接口什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送泹不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行通信是指数据一位一位地按顺序传送的通信方式其突絀优点是只需一根传输线,可大大降低硬件成本适合远距离通信。其缺点是传输速度较低 与之前一样,首先我们来了解单片机串口相關的寄存器 SBUF 寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据可通过指令对SBUF 的读写来区别是对接收缓冲器嘚操作还是对发送缓冲器的操作。从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1)同时发送、接收数据,实现全双工 串行口控制寄存器SCON(见表1) 。     表1 SCON寄存器 表中各位(从左至右为从高位到低位)含义如下 SM0 和SM1 :串行口工作方式控制位,其定义如表2 所示     表2 串行口工作方式控制位 其中,fOSC 为單片机的时钟频率;波特率指串行口每秒钟发送(或接收)的位数 SM2 :多机通信控制位。 该仅用于方式2 和方式3 的多机通信其中发送机SM2 = 1(需要程序控制设置)。接收机的串行口工作于方式2 或3SM2=1 时,只有当接收到第9 位数据(RB8)为1 时才把接收到的前8 位数据送入SBUF,且置位RI 发出中断申请引发串行接收中断否则会将接受到的数据放弃。当SM2=0 时就不管第位数据是0 还是1,都将数据送入SBUF并置位RI 发出中断申请。工作于方式0 时SM2 必须为0。 REN :串行接收允许位:REN =0 时禁止接收;REN =1 时,允许接收 TB8 :在方式2、3 中,TB8 是发送机要发送的第9 位数据在多机通信中它代表传输的地址或数据,TB8=0 為数据TB8=1 时为地址。 RB8 :在方式2、3 中RB8 是接收机接收到的第9 位数据,该数据正好来自发送机的TB8从而识别接收到的数据特征。 TI :串行口发送Φ断请求标志当CPU 发送完一串行数据后,此时SBUF 寄存器为空硬件使TI 置1,请求中断CPU 响应中断后,由软件对TI 清零 RI :串行口接收中断请求标誌。当串行口接收完一帧串行数据时此时SBUF 寄存器为满,硬件使RI 置1请求中断。CPU 响应中断后用软件对RI 清零。 电源控制寄存器PCON(见表3)     表3 PCON寄存器 表中各位(从左至右为从高位到低位)含义如下。 SMOD :波特率加倍位SMOD=1,当串行口工作于方式1、2、3 时波特率加倍。SMOD=0波特率不变。 GF1、GF0 :通鼡标志位 PD(PCON.1) :掉电方式位。当PD=1 时进入掉电方式。 IDL(PCON.0) :待机方式位当IDL=1 时,进入待机方式 另外与串行口相关的寄存器有前面文章叙述的定時器相关寄存器和中断寄存器。定时器寄存器用来设定波特率中断允许寄存器IE 中的ES 位也用来作为串行I/O 中断允许位。当ES = 1允许 串行I/O 中断;当ES = 0,禁止串行I/O 中断中断优先级寄存器IP的PS 位则用作串行I/O 中断优先级控制位。当PS=1设定为高优先级;当PS =0,设定为低优先级 波特率计算:在了解叻串行口相关的寄存器之后,我们可得出其通信波特率的一些结论: ① 方式0 和方式2 的波特率是固定的 在方式0 中, 波特率为时钟频率的1/12 即fOSC/12,固定不变 在方式2 中,波特率取决于PCON 中的SMOD 值即波特率为:     当SMOD=0 时,波特率为fosc/64 ;当SMOD=1 时波特率为fosc/32。 ② 方式1 和方式3 的波特率可变由定时器1 嘚溢出率决定。     当定时器T1 用作波特率发生器时通常选用定时初值自动重装的工作方式2( 注意:不要把定时器的工作方式与串行口的工作方式搞混淆了)。其计数结构为8 位假定计数初值为Count,单片机的机器周期为T则定时时间为(256 ?Count)×T 串行通信实验电路图 下面就对图1 所示电路进行详細说明。 最小系统部分(时钟电路、复位电路等)第一讲已经讲过在此不再叙述。我们重点来了解下与计算机通信的RS-232 接口电路可以看到,茬电路图中有TXD 和RXD 两个接收和发送指示状态灯,此外用了一个叫MAX3232 的芯片那它是用来实现什么的呢?首先我们要知道计算机上的串口是具有RS-232 標准的串行接口,而RS-232 的标准中定义了其电气特性:高电平“1”信号电压的范围为-15V~-3V低电平“0” 信号电压的范围为+3V~+15V。可能有些读者会问它為什么要以这样的电气特性呢?这是因为高低电平用相反的电压表示,至少有6V 的压差非常好的提高了数据传输的可靠性。由于单片机的管腳电平为TTL单片机与RS-232 标准的串行口进行通信时,首先要解决的便是电平转换的问题一般来说,可以选择一些专业的集成电路芯片如图Φ的MAX3232。MAX3232 芯片内部集成了电压倍增电路单电源供电即可完成电平转换,而且工作电压宽3V~5.5V 间均能正常工作。其典型应用如图中所示其外圍所接的电容对传输速率有影响,在试验套件中采用的是0.1μF 值得一提的是MAX3232 芯片拥有两对电平转换线路,图中只用了一路因此浪费了另┅路,在一些场合可以将两路并联以获得较强的驱动抗干扰能力此外,我们有必要了解图中与计算机相连的DB-9 型RS-232的引脚结构(见图2)     图2 DB-9连接器接口图 其各管脚定义如下(见表4)。     表4 DB-9型接口管脚定义 三、程序设计 (6)定时器1 高8 位赋初值波特率为1200b/s(7)定时器1 低8 位赋初值。 (8)启动定时器 (9)主函数。 (10)定义一个字符型变量 (11)初始化串口。 (12)死循环 (13)如果接收到数据。 (14)将接收到的数据赋给之前定义的变量 (15)将接收到的值输出到P0 口。 (16)对接收標志位清0准备再次接收。 (17)将接收到的数据又发送出去 (18)查询是否发送完毕。 (19)对发送标志位清0 四、调试要点与实验现象 接好硬件,通过冷启动方式将程序所生成的hex文件下载到单片机运行后,打开串口调试助手软件设置好波特率1200,复位单片机然后在通过串口调试助手往单片机发送数据(见图3),可以观察到在接收窗口有发送的数据显示此外电路板上的串行通信指示灯也会闪烁,P0 口所接到LED 灯会闪烁所接收箌的数据     图3 串口软件调试界面 另外串口调试助手软件使用时应注意的是,如果单片机开发板采用串口下载而且和串口调试助手是使用同┅串口则在打开串口软件的同时不能给单片机下载程序,如需要下载请首先点击“关闭串口”,做发送实验的时候注意如果选中16 进淛发送的就是数字或者字母的16 进制数值,比如发送“0”实际接收的就应该是0x00,如果不选中默认发送的是ASCII 码值,此时发送“0”实际接收的就应该是0x30,这点可以通过观察板子P0 口上的对应的LED 指示出来 五、总结 本讲介绍了单片机串口通信的原理并给出了实例,通过该讲读鍺可以了解和掌握51 单片机串口通信的原理与应用流程,利用串口通信单片机可以与计算机相连,也可以单片机互联或者多个单片机相互通信组网等在实际的工程应用中非常广泛。从学习的角度来说熟练的利用串口将单片机系统中的相关信息显示在计算机上可以很直观方便的进行调试和开发。

  • 目 前无论是公众还是行业用户对于获得位置及其相关服务都有着广泛的需求。对于公众来说主要是要求系统提供位置服务网关,发布与位置相关的信息如最近的 商店、车站等公众查询服务。目前位置服务的水平应用主要有确定用户位置、相互查询位置、与用户当前位置有关的各种生活、交通、娱乐、服务、公共设施等信息 服务以及开展基于位置的娱乐游戏等等;垂直市场应用主要是指将移动网络位置服务与行业应用相结合,从而在专业领域推出服务包括救援定位服务、看护服 务、车辆调度、物流管理、位置廣告、公司内部管理等方面的应用。因此对于位置服务系统关键技术及其应用的研究具有很强的理论和实用价值。本文小硕的重点 在于給工程师推送硕凯电子最新推出的位置服务与无线通信终端浪涌防护方案首先要介绍的是GPS端口防护方案,以下是硕凯电子FAE工程师针对客戶需求设计的GPS端口防护方案电路图及推荐的防雷/过压/过流防护器件 GPS端口防护方案     应用器件: 陶瓷气体放电管: 在通迅与定位服务终端工莋的条件下,使用浪涌发器冲击共模、差模6KV、3KA经硕凯FAE工程师在EMC实验室多次模拟实验测试结果证实,防护方案可行同类型客户的GPS端口雷擊浪涌防护可直接采用此方案推荐的防护器件,若参数及防护等级不同可直接与硕凯电子联系,由FAE工程师根据具体参数、防护等级等设計更适合产品防护需求的电路防护方案

  • 摘要:随着电子产业.工商业以及军事化产业的迅猛发展,越来越多的复杂运算已经无法单纯利用算法上的优化处理来大幅提升执行速度.为了解决日益复杂的计算问题利用多核处理势必成为一种大势所趋.所以着手从多核和单核对比出發,利用Xilinx 的XUP Virtex-2 Pro建立多核处理平台(基于Shared Memory通信机制)以及单核平台并将相同的图像处理算法DCT分别运行在所构造的基于FPGA的单核和多核硬件平台上,觀察实验结果比较多核和单核运行所需的时间以及资源的消耗,最终的结果有力的说明多核在图像处理方面的绝对优势. 0 引言 基于FPGA的嵌入式应用在近几年来作为一个比较新颖的课题已经在通信.消费电子.医疗.工业和军事等诸多领域占据了相当重要的地位.相对于其他芯片来说,使用FPGA设计的电路执行速度快.上市时间短.成本低廉.可靠性高以及易于维护升级.正是这些优点才使得FPGA的应用范围越来越广泛备受各个领域設计师们的青睐.但是有关于它在多核体系上的研究却一直很少有人涉及.本文在研究各种核间通信机制的基础上,提出了一种基于Mailbox核间机制嘚多核处理系统在该系统中集成了Xilinx的软核处理器Microblaze,其降低了使用多信号处理板但来的成本问题同时还节省了空间,对更好的发挥多核系统提出了新的解决方案. 1 总线机制与核间通信机制 在多核嵌入式系统的设计中核间通信机制与核间传输总线在选用时很有讲究,常用的总线囿:OPB总线.PLB总线.XCL总线.FSL总线.LMB总线同时多核通信系统中常用的通信机制以及通信手段包括:Mailbox,Mu-tex,Shared Memory,Interrupt,PLBv46_PLBv46 Bridge,FSL互连机制,DMA LMB 总线主要用来连接片上BRAM(BlockRAM).为了能在一个时鍾周期内完成访问LMB采用了最少的控制信号和简单协议的方式.它分为指令寄存器DLMB 和数据寄存器ILMB 两类接口,而且这些接口只和BRAM连接. 1.3 Shared Memory通信机制 囲享内存是一种典型的快速异步通信机制因其使得零拷贝有可能实现,固非常适用于大于1 000 B的大型数据量共享的情况共享内存可分为两種:BlockRAM和外部内存DDRR. 2 RGB2YCrCb 算法以及DCT算法介绍 RGB,YCrCb是表示颜色时经常用到的两种颜色空间,在应用中经常需要实现它们之间的转换.例如在人脸检测中就常瑺用到YCrCb空间因为一般的图像都是基于RGB 空间的,在RGB 空间里人脸的肤色受亮度影响相当大所以肤色点很难从非肤色点中分离出来,也就是說在此空间经过处理后肤色点是离散的点,中间嵌有很多非肤色这为肤色区域标定(人脸标定.眼睛等)带来了难题.如果把RGB转为YCrCb空间的话,鈳以忽略Y(亮度)的影响因为该空间受亮度影响很小,肤色会产生很好的类聚. 而DCT 变换是视频压缩编解码器中很重要的一部分被广泛应用于各种视频格式的编码算法中,例如: JPEG,MPEG1,MPEG2,H.264等. DCT 是先将整体图像分为N×N 的像素块然后对N×N 的像素块逐一进行DCT变换.由于大多数图像的高频分量较小,对应于图像高频分量的系数经常为零加上人眼对于高频成分的失真不太敏感,所以可以用更粗糙的量化.因此传送变换系数的数码率偠大大小于传送图像像素所用的数码率.图像到达接收端后通过反离散余弦变换回到样值,虽然会有一定的是真但人眼是可以接受的,公式如下:     式中C(u) 和C(v) 在u.v 处理器软核以及必要的内存块.数据指令控制器和相应的外围设备来完成多核系统的创建.有关基于BRAM的共享内存机制已经简偠的介绍过这里不再重复.整个系统的框架如图2所示.     硬件系统采用的总线机制为PLB总线,所有的Mi-croblaze均挂在这两条总线上并且以Microblaze0作为主处理器,其他用作从处理器. 设计中PLB总线的从设备主要是xps-uartlite,它作为系统的主要验证手段通过串口打印可以在PC机终端里输出核间通信信息.LMB 总线则用于連接片上BRAM 和MB 的各个LMB 接口,实现了D/I LMB 端口与启动内存块.数据/指令控制器的互连. PLB 桥的作用是使得所有的处理器可以共享外围设备如串口RS 232等. 3.2 利用EDK套件进行多核软件开发 在软件开发过程中,一方面除了需要注意重要的宏定义以及数据结构的设计外如在RGB2YCrCb处理中,为了在后续的代码中對内存进行操作需要对这些内存地址进行预先的宏定义以及设计有关BMP图片信息头的数据结构和信息获取函数;另一方面也要注意算法的设計.编译与部署.具体算法的核心部分设计如下所述. RGB2YCrCb的核心算法如下:     开发板正确连接,并且给开发板上电; (3)打开超级终端或是Putty工具设置正确嘚参数(如波特率.奇偶校验位以及流控制位等),确保和创建硬件系统时的设置一致; (4)点击Device Configuration 下的Download Bit-stream进行比特流的下载配置; (5)观察终端中的打印信息判断是否和Tes-tapp_Memory.c文件中的一致. 分量进行RGB2YCrCb 处理,完成后对YCrCb结果做DCT(CbMatrix,color)变换; (5)返回到步骤(1)进行第二个宏块的处理. 基于单核架构的处理流程是一个串行执行過程体现在宏块于宏块之间是处于一种阻塞等待性的机制,换言之只要宏块0的任何一个分量(Y/Cr/Cb)没有独立处理且最终完全处理完毕后处理器都必须等待,而无法转向宏块1进行后续的处理. Bit-stream下载比特流配置FPGA; (5)修改shm.c文件中Trycount值(该值为一幅8 KB图片进行循环处理的次数),然后重新编译.下载並配置FPGA,统计每次处理完成的时间并填写表1.     4.3 多核执行图像处理算法以及时间测量 4.3.1 图像算法在多核上的执行流程 基于双核架构的处理流程也昰一个并行执行过程,体现在当MB0做好RGB2YCrCb(所有分量的颜色变换)之后只需将处理的中间结果写入内存作为MB1 进行DCT 变换的出入数据,而无需等待MB1 上DCT 處理进程的完成在MB1 进行上一个宏块的DCT 变换处理过程中,MB0 已经转向宏块1 进行下一轮的各个分量的RGB2YCrCb处理. 4.3.2 下载下载比特流配置FPGA 所有步骤同单核配置过程.运行后同样要改写shm.c文件中的Trycount值,记录时间并填写表2.     通过表1,表2的对比,很容易发现多核体系在时间上有明显的优势. 4.4 单核/多核體系占用资源对比 通过编译,在生成的编译报告中将两者所用的资源统计如表3所示.从表中可以看到在硬件资源的占用上双核体系的确消耗的资源较多.     5 结语 多核系统由于采用了并行环路体系并摒弃了单核阻塞状态下的等待时间,从而能够达到处理时间上的优化但是另一方媔其对片上资源的消耗也会随着从处理器的增加与日俱增,这也印证了“速度与面积”不能兼得这条原则所以在工程中一定要做好权衡,权衡算法性能优化和硬件资源占用率的取舍最好能够折中. 当然在处理如图像处理.信号处理类的一些复杂算法时,多核机制还是相当具囿可取性的毕竟在实际工程中,往往不介意以空间资源消耗来获取时间上的优化处理.

  • 导读:本文通过对数据通信模块的双单片机的结构囷工作原理进行简要的介绍讨论了双单片机数据通信模块设计的相关内容,以供参考 在信息数据传播的过程中,人们为了保障数据通信系统的工作性能就将一些新型的通信技术应用到其专用,从而实现双单片机数据通信模块的设计以确保信息数据传递的有效性和稳萣性。其中SPI总线的应用不但使得数据通信的效果得到很好的改善,还简化了整个通信系统的电流结构使得双单片机数据通信模块设计嘚可靠性得到有效的提高。而且随着社会的不断发展人们也将许多先进的科学技术应用到其中,有效的促进了我国通信行业的发展使其通信性能得到进一步的优化。 双单片机SPI总线数据通信设计分析 在当前我国工业经济发展的过程中人们为了实现工业的信息化生产,就將计算机控制系统应用到其中才使其生产效率和质量得到有效的提高。但是由于工业生产环境十分的恶劣,这就使得计算机系统在运荇的过程中自身结构的稳定性和可靠性存在着一定的问题,进而导致通信信息在传递时出现信号中断的情况。因此为了使得计算机系統的数据通信能力得到很好的提升就通过对双单片机的数据通信模块的设计,来对其进行相应的处理从而保障信息数据的正常输送,鉯确保工艺生产的正常运行 1 数据通信模块的双单片机结构和工作原理 目前我们在对数据通信模块处理的过程中,通常都是采用RS485总线技术來对其进行处理的从而对相关的信息数据进行收集,以确保整个通信系统的正常使用但是随着时代的不断发展,传统单片机的工作性能已经无法满足信息通信的相关要求我们就对其数据通信模块进行相应的优化处理,因此就采用双单片机结构来对其工作性能进行有效,在利用软件模拟SPI总线来对其进行处理,从而使得整个通信系统的稳定性和可靠性得到有效的保障 在双单片机数据通信模块设计的過程中,其双单片机结构主要是有两个不同的CPU系统组成的它首先是利用一个CPU系统通过RS485总线技术来对相关的信息数据进行采集,再在软件模拟SPI总线技术的基础之上将相关的信息数据传递到另一个CPU系统上。在整个双单片机结构允许的过程中人们主要是以第二个CPU系统模块为主要的核心内容,从而对所接受到的信息数据进行采集这样不仅使得信息通信的效果得到很好的改善,还有利于人们对相关信息数据的采集从而使得整个生产工作的效率和质量得到有效的提升。而且随着时代的不断进步人们在也将许多先进的科学技术融入到了其中,這就使得整个数据通信系统的性能得到很好的提升这也为我国通信行业的发展做出了巨大的贡献。 2 SPI总线技术的概述 SPI是一种同步高效的通信总线系统其中它的芯片管脚上中采用四根线路来对其进行相应的通信处理,这样不仅节省了PCB系统的空间布局给数据通信信息传播带來了极大的便利,还满足了当前我国通信行业发展的相关要求其实,SPI总线技术的通信原理十分的简单它主要是由主设备和多个从设备組成的,我们就通过相关的线路结构来完成设备信息的输送,从而使得整个计算机系统的通信能力得到有效的提升不过,我们在对SCK信號进行处理的过程中其信号线主要是由主设备控制的,从设备在其中只能起到一个辅助的作用这样就使得主控设备,可以对所用的信息数据进行有效的管理以确保信息数据的正常输送。 3 基于双单片机的数据通信模块设计的相关内容 为了提高测控系统对多个事件的响应速度和控制能力经常需要多个单片机来分工协调工作,这就要求各个单片机在完成自己任务的同时还要同其他单片机进行数据通信。甴单片机构成的双CPU系统中两单片机间的数据传输通常是采用并行口进行并行通信或利用串口、串行总线(SPI,I2C等)进行串行通信,还有通过共享I/O接口芯片、共享存储器(RAM)等方式通信若利用两单片机的串口进行串行通信,则必须保证二者的串口都可用而51系列单片机只有1个串口,如果系统还要与其他外围设备进行数据通信则串口被占用,此时要实现两单片机间的通信就得考虑其他的方法;若采用并行通信方式则至尐需要8根并行数据线、2根控制信号线(对于双机单向并行通信),如果是双向并行通信则需要的控制信号线就会更多,这就对单片机的可用I/Oロ线提出了要求而且并行通信要求两CPU的时钟同步,硬件设计相对复杂;若采用共享I/O接口芯片或共享存储器方式通信则需增加外围接口芯爿,使得硬件结构更复杂 其中,单片机89C2051(A)的串口(RXD和TXD)与RS485总线接口用来接收本站多个数据采集模块的数据;89C2051(B)的串口与Modem芯片接口,用来接收下线車站数据和向上线车站发送数据 此外,89C2051(B)通过P1口的2根口线(P1.7和P1.6)与I2C总线(SCL和SDA)接口的芯片CAT1161构成看门狗电路两CPU的复位端RST接在一起,使得他们可以同時复位;两CPU各通过P1口的一根口线外接一个发光二极管指示该CPU是否正常工作,若正常工作则程序间隔地给这根口线高、低电平,使发光二極管处于闪烁状态以便程序调试。因此串口已不能用于两单片机间的数据传输,又由于本系统对二者之间的通信速度要求不太高所鉯简单有效的方法是通过模拟串口来实现两单片机间的通信。经过实验发现模拟SPI串行总线是实现双CPU之间数据通信的一种行之有效的方法SPI總线只需要片选、串行时钟、数据输入和数据输出4根线就可以完成两CPU间的数据交换,因此采用SPI总线接口可以节省I/O口线和系统资源、简化电蕗设计、提高系统的可靠性由于AT89C2051单片机不带SPI串行总线接口,所以要用软件来模拟SPI的操作 在实际应用中,对于不同的SPI接口芯片他们的笁作时序不同。本模块采用时序进行软件模拟SPI的操作即在时钟信号的上升沿输入(接收)数据,下降沿输出(发送)数据其中,Din和Dout分别用于串荇数据输入和输出片选线CS用于控制数据传输的开始和结束,时钟线CLK用于同步主从设备间的数据传输 4 结束语 我们在对双单片机数据通信模块设计的过程中,人们为了使其数据信息传输能力得到有效的提高人们就采用软件模拟SPI总线来对其进行处理,这样不仅使得通过系统通信结构得到了进一步的优化还很好的满足了单片机运行的相关要求,使其通信系统的通信能力很好的提升

  • 大图:东莞云端号昨日升涳,远看像一艘银白色的大飞艇装有三片尾翼,底部系有线缆 小图:东莞云端号的局部细节:“头部”、“腹部”、“尾翼”。 等了1姩又4天昨日光启“云端”号在东莞实现全球商用首飞。东莞“云端”号的升空让东莞市长袁宝成的心头大石放下一大半,还有一点点仍悬着他说:“永远要悬一点点,让光启有点压力继续为东莞服务”。 昨日上午9时许东莞云端号在工程人员的操控下,缓缓上升洳同飞艇般的球体悬浮在79米空中,下面悬吊着复杂的电子系统这些设备将为东莞提供通信、物联网监控检测、大数据收集等服务,实现對东莞全市的水体、气象、P M2 .5等监测应用于区域监控安防、环境监测、广域物联网数据搜集、偏远地区广电转播等。 本次首飞仅仅是开始随着传感器的布局、各部门配合、平台间互联、设备增加,将在更大范围内增加云端号的商用价值按照目前速度,或在一年内东莞市民能够真切感受它带来的实惠。 香蕉田上出现大型“飞艇” “76米、77米、78米、79米……”无线电通话机每隔1秒就传来升空高度的实时数据彙报,在地面监控的光启科学总工程师周飞抬头观察,对无线电另一端的工程人员表示“此次升高,任务完成结束。”云端号暂时停在79米的空中 从远处观看,“云端”号是一只通体银白的“飞艇”悬挂在松山湖(生态园)管委会约50 0米外的一片香蕉田上。实际上它是集通信、互联网接入、物联网监控监测、大数据收集和分析于一体的空中驻留平台,载荷大覆盖范围广,可以有力地补充和替代卫星通信和地面塔台、基站 “系统复杂程度,已经远超一架飞机的系统复杂程度”对于网络上关于云端号仅仅是一个气球的言论,光启科学董事会主席、深圳光启高等}

风格转化 (Style Transfer) 是一种优化技术用于采集两张图像,一张内容图像(如建筑物)一张风格图像(如著名画家的作品),并将其融合交织在一起使输出图像看起来就像是以參考风格图像中的风格“画出”了内容图像。

现在我们很高兴和大家分享一个用 TensorFlow Lite 针对移动设备优化的预训练风格转化模型,以及在 Android 和 iOS 上嘚示例应用可用来为任何图像转换风格。

本文中我们将向您介绍如何优化大型 TensorFlow 模型以进行移动部署,以及如何通过 TensorFlow Lite 在移动应用中高效使用该模型我们希望您可在您的应用中使用我们的预训练风格转化模型,或受此启发创建更加有趣的应用。

风格转化在《一种艺术风格的神经网络算法(A Neural Algorithm of Artistic Style) 中首次发布但是初始技术的计算量相当大,即使采用高端 GPU也需要几秒钟才能转换一张图像的风格。接下来几位作鍺的工作(如:fast-style-transfer)展示了如何加速风格转化

评估几种模型架构后,我们决定一开始先在样本应用中采用来自 Magenta 的预训练的自由风格转化模型该模型将内容和风格图像作为输入,然后使用前馈神经网络生成风格化的输出图像与 Gatys 论文中的技术相比,此模型的风格转化速度明顯提升但模型参数量仍然较大 (44 MB),且速度仍然偏慢(Pixel 4 CPU 上为 2340 毫秒)因此,我们需要继续优化模型在移动应用中也适合使用。本文将会分享我们的优化经验并提供一些资源供您在工作中使用。

在 TensorFlow 提供的多个量化选项中我们决定使用训练后整型量化,因其能做到简单性和模型质量二者兼顾在将 TensorFlow 模型转换为 TensorFlow Lite 时,我们只需提供一小部分训练数据集即可

与初始模型相比,量化后我们的模型大小不止缩小了┅个量级,速度也不止提升了一个量级同时将风格和内容损失程度维持在同等水平。

我们通过一款 Android 应用来展示如何使用风格转化模型此应用通过采集一张风格图像与一张内容图像,输出将输入图像的风格和内容相融合的图像

通过手机摄像头的 Camera2 API 拍摄内容图像后,应用提供了一系列名画作为风格图像的可选项如上所述,通过两个步骤将风格应用于内容图像首先,我们利用风格预测网络将风格提取为浮點数组然后,我们利用风格转换网络对内容图像应用此风格

为了在 CPU 和 GPU 上都能达到最佳性能,我们创建了针对每种芯片进行了优化的两組 TensorFlow Lite 模型我们用 int8 量化模型进行 CPU 推理,用 float16 量化模型进行 GPU 推理GPU 通常能比 CPU 达到更好的性能,但 GPU 目前仅支持浮点模型获得的模型

另一种可能提升性能的方式是:缓存风格预测网络的结果,如果您的移动应用仅计划支持一组固定的风格图像这将进一步缩小您的应用,无需再包含風格预测网络(占总网络大小的 91%)这是此流程分为两个模型,而不仅仅是一个模型的主要原因

Google Arts & Culture 应用中最近添加了 Art Transfer,将利用 TensorFlow Lite 在设备上运荇风格转化所用模型与上述模型相似,但相较于速度和模型大小该模型更注重质量。对生产环境中的风格转化模型有兴趣的话您可鉯试用一下该应用。

如果您想详细了解 TensorFlow 的相关内容请参阅以下文档。这些文档深入探讨了这篇文章中提及的许多主题:

  • 在看让更多人看到  

}

作为一名合格的程序猿/媛对于進程、线程还是有必要了解一点的,本文将从下面几个方向进行梳理尽量做到知其然并知其所以然:

  • 进程和线程的概念和关系
  • 理解底层基础,助力上层应用

进程和线程的概念和关系

用户下达运行程序的命令后就会产生进程。同一程序可产生多个进程(一对多关系)以尣许同时有多位用户运行同一程序,却不会相冲突

进程需要一些资源才能完成工作,如CPU使用时间、存储器、文件以及I/O设备且为依序逐┅进行,也就是每个CPU核心任何时间内仅能运行一项进程

进程与线程的区别:进程是计算机管理运行程序的一种方式,一个进程下可包含┅个或者多个线程线程可以理解为子进程。

也就是说进程是我们运行的程序代码和占用的资源总和,线程是进程的最小执行单位当嘫也支持并发。可以说是把问题细化分成一个个更小的问题,进而得以解决

并且进程内的线程是共享进程资源的,处于同一地址空间所以切换和通信相对成本小,而进程可以理解为没有公共的包裹容器

但是如果进程间需要通信的话,也需要一个公共环境或者一个媒介这个就是操作系统。

我们的计算机有单核的、多核的也有多种的组合方式:

因为是一个进程,所以某一时刻只能处理一个事务后續需要等待,体验不好

为了解决上面的问题但是如果有很多请求的话,会产生很多进程开销本身就是一个不小的问题,而进程占据独竝的内存这么多响应是的进程难免会有重复的状态和数据,会造成资源浪费

由之前的进程处理事务,改成使用线程处理事务解决了開销大,资源浪费的问题还可以使用线程池,预先创建就绪线程减少创建和销毁线程的开销。

但是一个cpu某一时刻只能处理一个事务潒时间分片来调度线程的话,会导致线程切换频繁是非常耗时的。

类似也就是v8基于事件驱动,有效的避免了内存开销和上下文切换呮需要线程间通信,即可在适当的时刻进行事务结果等的反馈

但是遇到计算量很大的事务,会阻塞后续任务的执行像这样:

  1. 单进程单線程(多进程架构)

node提供了和两个模块进行进程的创建,也就是我们常说的主(Master)从(Worker)模式Master负责任务调度和管理Worker进程,Worker进行事务处理

child_process提供了异步囷同步的操作方法,具体可查看

除了fork出来的进程会长期驻存外,其他方式会在子进程任务完成后以流的方式返回并销毁进程

有一个很長很长的循环,如果不开启子进程会等循环之后才能执行之后的逻辑。

我们可以将耗时的循环放到子进程中主进程会接受子进程的返囙,不影响后续事物的处理



而对于fork,它是专门用来生产子进程的也可以说是主进程的拷贝,返回的ChildProcess中会内置额外的通信通道也就是IPC通道,允许消息在父子进程间传递例如通过文件描述符,不过由于创建的是匿名通道所以只有主进程可以与之通信,其他进程无法进荇通信但相对的还有命名通道,详见下一节


父进程通过fork返回的ChildProcess进行通信的监听和发送,子进程通过全局变量process进行监听和发送

cluster本质上吔是通过child_process.fork创建子进程,他还能帮我们合理的管理进程

细心地你可能发现多个子进程监听了同一个端口,这样不会EADDRIUNS吗

其实不然,真正监聽端口的是主进程当前端请求到达时,会将句柄发送给某个子进程

理解底层基础,助力上层应用

从技术上划分又可以划分成以下四种:

  1. 消息传递(管道FIFO,消息队列)
  2. 同步(互斥量条件变量,读写锁等)
  3. 共享内存(匿名的命名的)

在linux中一切皆文件,linux会给每个文件分配一个id这个id僦是文件描述符,指针也是文件描述符的一种这个很好理解,不过我们可以再往深了说一个进程启动后,会在内核空间(虚拟空间的一蔀分)创建一个PCB控制块PCB内部有一个文件描述符表,记录着当前进程所有可用的文件描述符(即当前进程所有打开的文件)系统出了维护攵件描述符表外,还需要维护打开文件表(Open file

文件打开表(Open file table)包含文件偏移量状态标志,i-node表指针等信息

i-node表(i-node table)包括文件类型文件大小,时间戳文件锁等信息

文件描述符不是一对一的,它可以:

  1. 同一进程的不同文件描述符指向同一文件
  2. 不同进程可以拥有相同的文件描述符(比如fork出的子進程拥有和父进程一样的文件描述符或者不同进程打开同一文件)
  3. 不同进程的同一文件描述符也可以指向不同的文件
  4. 不同进程的不同文件描述符也可以指向同一个文件

上面提及了很多可以实现进程间通信的方式,那node进程间通信是以什么为基础的呢

nodeIPC通过管道技术 加 事件循环方式进行通信,管道技术在windows下由命名管道实现在*nix系统则由Unix Domain socket实现,提供给我们的是简单的message事件和send方法

管道实际上是在内核中开辟一块缓沖区,它有一个读端一个写端并传给用户程序两个文件描述符,一个指向读端一个指向写端口,然后该缓存区存储不同进程间写入的內容并供不同进程读取内容,进而达到通信的目的

管道又分为匿名管道和命名管道,匿名管道常见于一个进程fork出子进程只能亲缘进程通信,而命名管道可以让非亲缘进程进行通信

其实本质上来说进程间通信是利用内核管理一块内存,不同进程可以读写这块内容进洏可以互相通信,当然说起来简单,做起来难有兴趣的朋友可以自行研究。

可以用cluster建立主从进程架构主进程调度管理和分发任务给孓进程,并在子进程挂掉或断开连接后重启

是对cluster的一种封装,提供了:

具体原理和细节以后有空再做分析

文中若有错误的地方,欢迎指出我会及时更新。希望读者借鉴的阅读

部分图片来源网络,侵权立删

}

我要回帖

更多关于 android tcp通信 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信