• 如何确保汽车电子系统的功能安全性?KungFu MCU从自研内核开始实现底层安全设计

    如何确保汽车电子系统的功能安全性?KungFu MCU从自研内核开始实现底层安全设计

    从18年19年越过车市寒冬,到20年国产造车新势力全面发力,再到21年当前面临的车企缺芯困窘。其实背后已经发生了变化:汽车的智能化体验迈进了新的阶段;一辆车上包含的芯片成本和数量越来越高;供应链也不再是严格的逐层级供应服务,造车新势力为代表的车企的话语权提升。这些变化对于汽车电子芯片供应商,尤其是国产厂商的利好很多,例如 芯旺微电子(ChipON)当前就处在一个很好的市场机遇中。在近日的上海慕尼黑电子展中,芯旺微带着其重点汽车级MCU产品和应用解决方案亮相,芯旺微FAE总监卢恒洋接受记者采访进行了精彩的分享。 *芯旺微FAE总监卢恒洋* 自研内核才能从底层确保功能安全 如果是第一次接触芯旺微KungFu系列产品 ,不论是KungFu8还是KungFu32,都让人疑惑自研内核的意义何在?寻求产品的差异化可以从内部集成不同的资源和外设来实现,像诸多XX32产品一样。但在汽车电子的应用中,卢恒洋表示自研内核是必须的技术路线。汽车电子领域对于芯片的功能安全性要求较高,通过自研内核才可以将这些功能安全在底层实现,确保足够的安全等级。据卢恒洋介绍,KungFu32内核开发的车规级的MCU有很多的针对于汽车领域的汽车电子的规范和要求,包括ECC校验,这都是汽车电子非常注重的存储安全的设计。还有故障检测、双看门狗保障系统的可靠运行,这也都是汽车电子所需要的安全规范要求。仔细观察就可以看到,车轨级芯片的自研IP是一种非常必要的做法。业内譬如TI的Jacinto系列、瑞萨的R-Car系列、英飞凌TriCore的AURIX系列等。卢恒洋表示:真正商用化能够用于更高更安全等级的应用中,ChipON还是希望能够采用自主的功夫处理器内核,在这个基础上为汽车电子提供具备更高功能安全等级、更高性能的MCU产品,这是ChipOn的自研内核产品的重要思路。 目前ChipON在汽车电子方面的主要应用方向是车身控制,包括车载、智能座舱、TBOX、OBC车载充电机、DCM等等车身控制,还包括汽车的电源电机控制相关的方案。除了安全外,功夫32内核的另一大优势是做到了功耗与性能的更好的兼容,体现在产品上就是动态功耗做到了很低,在120Mhz主频下,整体芯片功耗只有7.5mA。 MCU在汽车电子市场仍具有很大增长力 目前我国国内每年制造约2500万辆车,每辆车上用到的MCU的数量大概在50颗左右,如果看C级轿车有可能会应用到100颗MCU。如果芯片厂商在一辆车可以覆盖足够多的应用,那么销售额就可以获得很大的增长。 另外随着域控概念的深入,每台车上MCU的重要性和数量也会愈来愈大。据卢恒洋分享,随着汽车智能化程度提升,域控的安全性是一个非常关键的点。系统整体复杂性提升,电源域也随之愈发复杂,车里包含48V、24V、12V、5V、3.3V不同电压的电源与,随着后期芯片工艺变化 ,这种电压系统会变得更为复杂化。这时候MCU的特性——实时监控、实时控制,就可以很好地来完成不同电源域的监控与控制,做到实时响应。 在谈及自研内核MCU的上手难度和开发者的即有设计迁移的问题上,卢恒洋表示这不会成为一个问题。ChipON提供了标准外设库函数,底层也已经做好了分配,流行的Eclipse也已经支持。用户在进行开发的时候,不需要考虑底层的东西,很多客户在1、2个月非常短的时间内就可以实现整个样机的开发、产品的开发工作。

    时间:2021-04-16 关键词: 汽车电子 MCU ChipON

  • 歌尔举行新一代扬声器技术分享会

    歌尔举行新一代扬声器技术分享会

    解决多场景痛点 唱响业界最佳音 4月15日,歌尔股份有限公司(以下简称“歌尔”)在深圳举行扬声器技术分享会。其在智能手表/眼镜、手机/平板电脑、AI音箱、HiFi音响、汽车音响等产品应用上结合用户痛点和客户需求,推出了新一代扬声器技术方案。此次分享的微型扬声器SBSTM和大扬声器Cyclone两个品牌的升级技术,可实现搭载产品音质更优、空间更省、续航更长、防水更深等优点,有望带来行业技术革新。 针对智能手表等产品的圆形表盘外形设计,以及轻薄化发展趋势,歌尔特别推出全球首款弧形振膜扬声器SBSTM-Sandwich,采用独创的“三明治”结构,直接竖向贴合放置于圆形表盘侧面,占用空间减少50%以上,用于电池可使电量增加20%,续航时间增加3天;同时创新的弹性振膜加防水部位材料一体成型使其达到业界最高防水等级10ATM,可用于游泳深潜佩戴。该技术方案也同样适用于智能眼镜等产品,为消费者带来更好的听觉享受。 歌尔还发布了性能大幅度提升的新一代扬声器SBSTM-Rhythm,采用全新研发的振膜材料、外壳、球顶材料组件以及创新的吸音颗粒封装设计,与当前旗舰机音效相比,手机频响可提升至少10dB,低音更加饱满清晰,动感有力;高音清澈通透,声音细节展现和实现的立体声音效几乎与AI音箱无异,将采用SBSTM-Rhythm微型扬声器的智能终端(手机/平板等)的音质提升到了前所未有的高度。 此外,歌尔还推出了扬声器+受话器+触控马达三合一模组SBSTM-Magic,完全一体化设计使其体积与普通扬声器box相当,却能兼具高端手机的音效及游戏手机的触觉体验,还能为手机节省空间。 针对AI音箱,歌尔推出Cyclone扬声器单元,首创多层次多悬挂振动系统,完美解决了大冲程、超低F0与扬声器振动平衡这一对尖锐的对立矛盾。解析力更强,低音浑厚有力,下潜更深;中音人声饱满,干净清晰;高音通透自然,细节丰富。 下一步,歌尔将与全球知名高端HiFi音响品牌丹拿强强联手,加大在汽车音响领域的资源投入,围绕Cyclone进行联合研发和深度合作,加快新技术在汽车音响和HiFi音响系统中的应用落地,为消费者带来全新的移动音乐体验。 围绕此次分享的新一代扬声器技术,歌尔已申请七十多项专利,其中五十多项发明专利。歌尔于2002年开始扬声器产品的研发和制造,在扬声器领域目前已形成包含60%以上发明专利的近六千项专利群。歌尔将持续为客户提供一流的声学产品,与品牌整机客户(智能硬件终端)一起为消费者提供更加卓越的音效体验。

    时间:2021-04-16 关键词: 扬声器 歌尔股份

  • 大佬带你看无线通讯,无线通讯之无线局域网拓扑结构

    大佬带你看无线通讯,无线通讯之无线局域网拓扑结构

    无线通讯的使用十分广泛,我们的日常生活很大程度上受到无线通讯的影响。对于无线通讯,其实我们都有一定了解,例如无线网等。为增进大家对无线通讯的认识,本文将对无线通讯中的无线局域网的网络拓扑结构予以介绍。如果你对无线局域网具有兴趣,不妨继续往下阅读哦。 基于IEEE802.11标准的无线局域网允许在局域网络环境中使用可以不必授权的ISM频段中的2.4GHz或5GHz射频波段进行无线连接。它们被广泛应用,从家庭到企业再到Internet接入热点。 简单的家庭无线WLAN:在家庭无线局域网最通用和最便宜的例子,一台设备作为防火墙,路由器,交换机和无线接入点。这些无线路由器可以提供广泛的功能,例如:保护家庭网络远离外界的入侵。允许共享一个ISP(Internet服务提供商)的单一IP地址。可为4台计算机提供有线以太网服务,但是也可以和另一个以太网交换机或集线器进行扩展。为多个无线计算机作一个无线接入点。通常基本模块提供2.4GHz802.11b/g操作的Wi-Fi,而更高端模块将提供双波段Wi-Fi或高速MIMO性能。 双波段接入点提供2.4GHz802.11b/g/n和5.8GHz802.11a性能,而MIMO接入点在2.4GHz范围中可使用多个射频以提高性能。双波段接入点本质上是两个接入点为一体并可以同时提供两个非干扰频率,而更新的MIMO设备在2.4GHz范围或更高的范围提高了速度。2.4GHz范围经常拥挤不堪而且由于成本问题,厂商避开了双波段MIMO设备。双波段设备不具有最高性能或范围,但是允许你在相对不那么拥挤的5.8GHz范围操作,并且如果两个设备在不同的波段,允许它们同时全速操作。家庭网络中的例子并不常见。该拓扑费用更高但是提供了更强的灵活性。路由器和无线设备可能不提供高级用户希望的所有特性。在这个配置中,此类接入点的费用可能会超过一个相当的路由器和AP一体机的价格,归因于市场中这种产品较少,因为多数人喜欢组合功能。一些人需要更高的终端路由器和交换机,因为这些设备具有诸如带宽控制,千兆以太网这样的特性,以及具有允许他们拥有需要的灵活性的标准设计。 1. 无线桥接 当有线连接以太网或者需要为有线连接建立第二条冗余连接以作备份时,无线桥接允许在建筑物之间进行无线连接。802.11设备通常用来进行这项应用以及无线光纤桥。802.11基本解决方案一般更便宜并且不需要在天线之间有直视性,但是比光纤解决方案要慢很多。802.11解决方案通常在5至30mbps范围内操作,而光纤解决方案在100至1000mbps范围内操作。这两种桥操作距离可以超过10英里,基于802.11的解决方案可达到这个距离,而且它不需要线缆连接。但基于802.11的解决方案的缺点是速度慢和存在干扰,而光纤解决方案不会。光纤解决方案的缺点是价格高以及两个地点间不具有直视性。 2. 中型WLAN 中等规模的企业传统上使用一个简单的设计,他们简单地向所有需要无线覆盖的设施提供多个接入点。这个特殊的方法可能是最通用的,因为它入口成本低,尽管一旦接入点的数量超过一定限度它就变得难以管理。大多数这类无线局域网允许你在接入点之间漫游,因为它们配置在相同的以太子网和SSID中。从管理的角度看,每个接入点以及连接到它的接口都被分开管理。在更高级的支持多个虚拟SSID的操作中,VLAN通道被用来连接访问点到多个子网,但需要以太网连接具有可管理的交换端口。这种情况中的交换机需要进行配置,以在单一端口上支持多个VLAN。 尽管使用一个模板配置多个接入点是可能的,但是当固件和配置需要进行升级时,管理大量的接入点仍会变得困难。从安全的角度来看,每个接入点必须被配置为能够处理其自己的接入控制和认证。RADIUS服务器将这项任务变得更轻松,因为接入点可以将访问控制和认证委派给中心化的RADIUS服务器,这些服务器可以轮流和诸如Windows活动目录这样的中央用户数据库进行连接。但是即使如此,仍需要在每个接入点和每个RADIUS服务器之间建立一个RADIUS关联,如果接入点的数量很多会变得很复杂。 3. 大型WLAN 交换无线局域网是无线连网最新的进展,简化的接入点通过几个中心化的无线控制器进行控制。数据通过Cisco,ArubaNetworks,Symbol和TrapezeNetworks这样的制造商的中心化无线控制器进行传输和管理。这种情况下的接入点具有更简单的设计,用来简化复杂的操作系统,而且更复杂的逻辑被嵌入在无线控制器中。接入点通常没有物理连接到无线控制器,但是它们逻辑上通过无线控制器交换和路由。要支持多个VLAN,数据以某种形式被封装在隧道中,所以即使设备处在不同的子网中,但从接入点到无线控制器有一个直接的逻辑连接。从管理的角度来看,管理员只需要管理可以轮流控制数百接入点的无线局域网控制器。这些接入点可以使用某些自定义的DHCP属性以判断无线控制器在哪里,并且自动连结到它成为控制器的一个扩充。这极大地改善了交换无线局域网的可伸缩性,因为额外接入点本质上是即插即用的。要支持多个VLAN,接入点不再在它连接的交换机上需要一个特殊的VLAN隧道端口,并且可以使用任何交换机甚至易于管理的集线器上的任何老式接入端口。VLAN数据被封装并发送到中央无线控制器,它处理到核心网络交换机的单一高速多VLAN连接。安全管理也被加固了,因为所有访问控制和认证在中心化控制器进行处理,而不是在每个接入点。 交换无线局域网的另一个好处是低延迟漫游。这允许VoIP和Citrix这样的对延迟敏感的应用。切换时间会发生在通常不明显的大约50毫秒内。传统的每个接入点被独立配置的无线局域网有1000毫秒范围内的切换时间,这会破坏电话呼叫并丢弃无线设备上的应用会话。交换无线局域网的主要缺点是由于无线控制器的附加费用而导致的额外成本。但是在大型无线局域网配置中,这些附加成本很容易被易管理性所抵消。 以上便是此次小编带来的“无线通讯”相关内容,通过本文,希望大家对无线局域网的拓扑结构具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

    时间:2021-04-16 关键词: 无线通讯 局域网 指数

  • 无线通讯何其重要!!无线通讯之无线局域网组网要求、模式解读

    无线通讯何其重要!!无线通讯之无线局域网组网要求、模式解读

    无线通讯是目前的主要通讯方式之一,由此可见无线通讯的重要性。在往期无线通讯相关文章中,小编对无线通讯讯号检测、无线通讯应用等内容有所解读。为增进大家对无线通讯的认识,本文将对无线通讯中的无线局域网予以介绍,主要内容在于介绍组建无线组网的要求。如果你对无线通讯具有兴趣,不妨继续往下阅读哦。 一、无线局域网组网要求 由于无线局域网需要支持高速、突发的数据业务,在室内使用还需要解决多径衰落以及各子网间串扰等问题。具体来说,无线局域网必须实现以下技术要求: 1.可靠性:无线局域网的系统分组丢失率应该低于10-5,误码率应该低于10-8。 2.兼容性:对于室内使用的无线局域网,应尽可能使其跟现有的有线局域网在网络操作系统和网络软件上相互兼容。 3.数据速率:为了满足局域网业务量的需要,无线局域网的数据传输速率应该在54Mbps以上。 4.通信保密:由于数据通过无线介质在空中传播,无线局域网必须在不同层次采取有效的措施以提高通信保密和数据安全性能。 5.移动性:支持全移动网络或半移动网络。 6.节能管理:当无数据收发时使站点机处于休眠状态,当有数据收发时再激活,从而达到节省电力消耗的目的。 7.小型化、低价格:这是无线局域网得以普及的关键。 8.电磁环境:无线局域网应考虑电磁对人体和周边环境的影响问题。 在组建无线局域网时,往往需要仔细考虑许多细节因素,才能成功搭建无线局域网,并保证其有很高的工作性能。 1、在通过无线局域网连接远程局域网时,远程局域网所在的建筑物应该尽量可视,如果无线局域网要穿过高大的建筑物或茂密的树木等障碍物,那么搭建的无线局域网传输性能就会受影响,毕竟那些障碍物会直接影响无线局域网数据信号的正常传输。 2、当远程网络与本地局域网之间的距离比较远时,可以适当降低网络传输带宽,达到远距离数据传输的目的,实在需要进行远距离无线传输的话,不妨尝试在中间设立无线局域网中继中转站,以便让上网信号绕过障碍物。在无线局域网中,网络信号进行近距离传输时,为了确保能够获取最大的传输带宽,就要将几个无线网桥互相集成在一起,同时无线局域网的天线高度基本不会受到影响。 3、无线局域网的天线高度进行合适设置也是非常重要的,倘若没有将无线局域网设备的天线高度设置合适,单纯依靠增大天线增益或增大功率放大等方法,获取的无线传输效果将十分有限。那么可以考虑将无线节点设备的天线布置在建筑物的最项层上,并且尽量利用小型天线以便确保无线电波的相对集中,这样有利于有效避免来自其他无线局域网信号的干扰。 4、尽管无线局域网传输采用了跳频技术,但上网信号的频率载波很难被检测到,如此一来只有当双方无线设置了相同的网络ID号,才能进行无线上网信号的安全传输。如果要进一步保证无线局域网的运行安全性,还可以对无线上网信号进行加密。 二、组网模式 将WLAN中的几种设备结合在一起使用,就可以组建出多层次、无线和有线并存的计算机网络。一般说来,无线局域网有两种组网模式,一种是无固定基站的WLAN,另一种是有固定基站的WLAN。 无固定基站的WLAN是一种自足网络,主要适用于在安装无线网卡的计算机之间组成的对等状态的网络。有固定基站的WLAN类似于移动通信的机制,安装无线网卡的计算机通过基站(无线AP或者无线路由器)接入网络,这种网络的应用比较广泛,通常用于有线局域网覆盖范围的延伸或者作为宽带无线互联网的接入方式。 1. 无固定基站的WLAN 无固定基站的WLAN也被称为无线对等网,是最简单的一种无线局域网结构。这种无固定基站的WLAN结构是一种无中心的拓扑结构,通过网络连接的各个设备之间的通信关系是平等的,但仅适用于较少数的计算机无线连接方式(通常是5台主机或设备之内)。 这种组网模式不需要固定的设施,只需要在每台计算机中安装无线网卡就可以实现,因此非常适用于一些临时网络的组建。 2. 有固定基站的WLAN 当网络中的计算机用户到达一定数量时,或者是当需要建立一个稳定的无线网络平台的时候,一般会采用以AP为中心的组网模式。 以AP为中心的组网模式也是无线局域网最为普遍的一种组网模式,在这种模式中,需要有一个AP充当中心站,所有站点对网络的访问都受该中心的控制。 以上便是此次小编带来的“无线通讯”相关内容,通过本文,希望大家对无线通讯中的无线局域网组网要求具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

    时间:2021-04-16 关键词: 无线通讯 组网 指数

  • 想要了解无线通讯?无线通讯之无线局域网优缺点解读

    想要了解无线通讯?无线通讯之无线局域网优缺点解读

    无线通讯是现在的主要通讯方式之一,目前,无线通讯的方式有很多,无线局域网便是无线通讯中的之一。如果大家想要增进对无线通讯的认识,无线局域网是需要了解的知识点之一。本文中,小编将对该无线通讯方式的优缺点予以介绍。如若你正在学习无线通讯,不妨继续往下阅读哦。 一、无线局域网 无线局域网,其英文缩写为WLAN。无线局域网是无线通讯技术与网络技术相结合的产物。从专业角度讲,无线局域网就是通过无线信道来实现网络设备之间的通信,并实现通信的移动化、个性化和宽带化。通俗地讲,无线局域网就是在不采用网线的情况下,提供以太网互联功能。广义上是指以无线电波、激光、红外线等来代替有线局域网中的部分或全部传输介质所构成的网络。WLAN技术是基于802.11标准系列的,即利用高频信号(例如2.4GHz或5GHz)作为传输介质的无线局域网。 它是相当便利的数据传输系统,它利用射频(Radio Frequency; RF)的技术,使用电磁波,取代旧式碍手碍脚的双绞铜线(Coaxial)所构成的局域网络,在空中进行通信连接,使得无线局域网络能利用简单的存取架构让用户透过它,达到“信息随身化、便利走天下”的理想境界。 802.11是IEEE在1997年为WLAN定义的一个无线网络通信的工业标准。此后这一标准又不断得到补充和完善,形成802.11的标准系列,例如802.11、802.11a、802.11b、802.11e、802.11g、802.11i、802.11n等。 现在支持WLAN的无线网络标准为IEEE802.11a,其数据传输速率在5 GHz_ISM频段可达到54 Mbps。 另一个标准是IEEE802.11b,在2.4 GHz ISM频段可以达到11 Mbps。中国移动WLAN采用802.11b标准,可提供11Mbps的速率,比固定拨号上网(56K)高两百倍。 二、无线局域网的优点 (1)灵活性和移动性。在有线网络中,网络设备的安放位置受网络位置的限制,而无线局域网在无线信号覆盖区域内的任何一个位置都可以接入网络。无线局域网另一个最大的优点在于其移动性,连接到无线局域网的用户可以移动且能同时与网络保持连接。 (2)安装便捷。无线局域网可以免去或最大程度地减少网络布线的工作量,一般只要安装一个或多个接入点设备,就可建立覆盖整个区域的局域网络。 (3)易于进行网络规划和调整。对于有线网络来说,办公地点或网络拓扑的改变通常意味着重新建网。重新布线是一个昂贵、费时、浪费和琐碎的过程,无线局域网可以避免或减少以上情况的发生。 (4)故障定位容易。有线网络一旦出现物理故障,尤其是由于线路连接不良而造成的网络中断,往往很难查明,而且检修线路需要付出很大的代价。无线网络则很容易定位故障,只需更换故障设备即可恢复网络连接。 (5)易于扩展。无线局域网有多种配置方式,可以很快从只有几个用户的小型局域网扩展到上千用户的大型网络,并且能够提供节点间“漫游”等有线网络无法实现的特性。 由于无线局域网有以上诸多优点,因此其发展十分迅速。最近几年,无线局域网已经在企业、医院、商店、工厂和学校等场合得到了广泛的应用。 三、无线局域网不足 无线局域网的不足之处:无线局域网在能够给网络用户带来便捷和实用的同时,也存在着一些缺陷。无线局域网的不足之处体现在以下几个方面: ⑴性能。无线局域网是依靠无线电波进行传输的。这些电波通过无线发射装置进行发射,而建筑物、车辆、树木和其它障碍物都可能阻碍电磁波的传输,所以会影响网络的性能。 ⑵速率。无线信道的传输速率与有线信道相比要低得多。无线局域网的最大传输速率为1Gbit/s,只适合于个人终端和小规模网络应用。 ⑶安全性。本质上无线电波不要求建立物理的连接通道,无线信号是发散的。从理论上讲,很容易监听到无线电波广播范围内的任何信号,造成通信信息泄漏。 以上便是此次小编带来的“无线通讯”相关内容,通过本文,希望大家对无线通讯中的无线局域网的优缺点具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

    时间:2021-04-16 关键词: 无线局域网 无线通讯 指数

  • 通过专用芯片实现特定应用加速,瑞萨展示嵌入式AI和汽车ADAS完整解决方案

    通过专用芯片实现特定应用加速,瑞萨展示嵌入式AI和汽车ADAS完整解决方案

    在很多专业的应用场景中,通用微控器和处理器通常不能实现最优的功耗、性能和成本平衡。因此在这些需求较为明确且较为深入的应用场景中,需要专业的半导体厂商来推出专用的芯片和解决方案。这种厂商自身的技术积累和资金实力通常也非常高,瑞萨作为常年在微控制器和处理器领域排名第一的厂商,从16位到32位到高端SoC都有产品布局,在物联网和汽车电子的多个应用场景都有专用的芯片解决方案,获得了市场的认可。在最近举办的上海慕尼黑电子展上,瑞萨也携其最新的汽车和物联网方案亮相,瑞萨电子汽车电子应用技术部部长林志恩和—物联网及基础设施事业本部高级经理王均峰和记者进行了深入的交流。 *瑞萨电子汽车电子应用技术部部长林志恩(左)、物联网及基础设施事业本部高级经理王均峰(右)* R-Car Gen3推进ADAS应用演进 在汽车应用领域,瑞萨为客户提供了R-Car平台,这一平台中包含了多个不同的R-Car处理器产品系列,覆盖从仪表、网关连接、自动驾驶、驾驶辅助和智能座舱等多个应用。同时该平台也将系统集成商,中间件/应用程序开发人员以及操作系统和工具供应商汇聚在一起,提供了更为方便开发者开发的完整生态。 在这次展会上最为受关注是R-Car Gen3系列,据林志恩先生介绍,此次带来的demo演示中采用了一个Gen3的64位高端SoC可以一次推动3路的显示屏,SoC中除了A57/53的大核外还会包含一个R7的核,专门用来跑一些安全性较高的实时操作系统,这个核还可以用来实现虚拟化的功能,推动不同的屏幕上运行不同的操作系统并实现快速地响应。此外最高端的R-Car V3系列中还内置了神经网络加速器,配合瑞萨自己开发的PQS软件套件,可以实现摄像头相关的行人识别、车辆识别和道路场景规划等,同时还可以实现多路的激光雷达的识别处理。所以开发者其实在瑞萨这里可以得到一个完整的包含智能座舱、仪表、自动驾驶、电源管理的解决方案,非常适合完成快速开发。 据林志恩分享,当前瑞萨的芯片已经可以支持客户实现L3级别的自动驾驶,汽车行业继续实现更高级别的自动驾驶,除了主控计算芯片的实际能力外, 成本也是车厂的一个重要考量因素。因为更多的摄像头、毫米波雷达在一台车上量后的成本并不便宜。但瑞萨会积极和车厂客户、Tire1的客户保持密切的合作,积极推动从ADAS向AD的迈进。 动态可配置 (DRP) 实现高效低成本的实时图像加速处理 在物联网和工业方面, 瑞萨此次的展出重点在于智慧工厂和嵌入式AI。据王均峰分享,在智慧工厂方面带来的是工业以太网的演示,方案其中覆盖了瑞萨的多款芯片:包括工业伺服RZT、工业以太网RCN。该方案覆盖了瑞萨工业应用从网络传输、到伺服控制、到节点、到终端的几个主流方面,是一个小型的工厂集成演示。 而更为受到大家关注的是嵌入式AI在机器视觉方向的一个应用,该方案的主控是瑞萨的RZ/A2M处理器,该处理器通过集成了瑞萨专有的动态可配置处理器 (DRP) 技术,可以加速在嵌入式领域的AI高速图像处理的需求。DRP技术的特点在于其在MPU中配置了一个可以自由配置和复用的电路,开发者可以基于瑞萨提供的可扩展的综合图像处理功能库,进行定制的算法功能库配置。与普通的CPU图像处理6fps的水平进行比较,DRP技术可以达到90fps,是CPU在图像处理方面的14倍,这样主CPU的计算任务可以大幅减少,用来做更为擅长的计算和处理工作。 据王均峰透露,未来瑞萨仍会继续发展RZ/V系列,推出新的人工智能(AI)芯片。

    时间:2021-04-15 关键词: 瑞萨 AI ADAS

  • 基于ARM9芯片的S3C2440和Linux操作系统设计SPI驱动程序

    基于ARM9芯片的S3C2440和Linux操作系统设计SPI驱动程序

    在嵌入式开发过程中,许多系统通常使用串口驱动来满足通信要求,但在实际应用中,使用SPI通信方式会更加高效和快捷[2]。SPI接口是一种高速、高效的串行接口技术,因而SPI设备在数据通信应用中十分方便[3]。本文基于ARM9芯片的S3C2440和Linux操作系统,设计了一种SPI驱动程序,该驱动程序功能可靠灵活、易于移植,可应用于多种嵌入式平台,实现ARM与设备之间的通信。 1硬件说明 1.1S3C2440开发平台 1.2SPI硬件模块 S3C2440具有两个SPI,每个SPI具有两个8位移位寄存器用于独立地发送和接收数据,并兼容SPIver.2.11协议,支持8位逻辑预分频,系统可用polling、中断、DMA三种方式判断SPI发送及接收状态。此SPI模块共包含以下信号线[5]: (1)SCK:数据同步时钟信号,由主设备驱动,向从设备输出,使得从设备按照同步时钟的步调来接收或发送数据。 (2)nCS(由用户指定GPIO):从设备选择信号线(SlaveSelect,SS)由主设备发出,用来选择激活某个从设备,低电平有效。 (3)MISO(SPIMISO0):主入从出信号线,表示该信号在主设备中作为输入,在从设备中作为输出。 (4)MOSI(SPIMOSI0):主出从入信号线,表示该信号在主设备中作为输出,在从设备中作为输入。 (5)/SS(nSS):多主错误检测。 2Linux下的SPI设备驱动程序设计 Linux设备驱动在Linux内核中扮演着重要的角色。它可使某些特定硬件响应一个定义良好的内部编程接口,这些接口完全隐藏了设备工作的细节。用户操作可通过一组标准化的调用来执行,这些调用在形式上完全独立于特定的驱动程序,而将这些调用映射到实际硬件设备的特有操作上,则是驱动程序的任务[6]。本设计的SPI驱动主要定义了初始化、读和写三个操作。其中初始化操作用于驱动程序第一次加载到内核运行时,对一些内核机制及存储器进行初始化。写操作负责将用户数据拷贝至内核缓冲区,控制本地主SPI发送数据至从SPI寄存器中。读操作将按照用户要求读取的字节数,连续读取本地主SPI中接收到的数据,并将其拷贝至用户空间。驱动程序将采用中断的方式通知系统SPI数据是否发送完毕,即当SPI硬件模块每发送完毕一个数据,都会通过中断线向系统发起中断,系统响应中断后,驱动程序将调用中断处理例程。 2.1SPI初始化 (1)申请中断。此驱动设计通过中断判断数据是否发送完毕,所以需要申请SPI0相关的中断,并注册相应的中断处理函数。此驱动程序的中断处理函数声明如下: staTIcirqreturn_ts3c2440_isr_spi(inTIrq,void*dev_id,structpt_regs*reg) 利用request_irq向内核申请中断号并注册中断处理函数: request_irq(IRQ_SPI0,s3c2440_isr_spi,SA_INTERRUPT,DEVICE_NAME,s3c2440_isr_spi); (2)虚拟地址映射。驱动程序可以直接通过访问内核中的虚拟地址来访问设备物理地址所对应的寄存器,对其进行操作。SPI设备的地址映射过程如下: request_mem_region(S3C2440_PA_SPI,0x30,“s3c2440-spi”); base_addr=ioremap(S3C2440_PA_SPI,0x30); 其中S3C2440_PA_SPI为SPI的物理地址(在/asm-arch/arch-s3c2440/map.h中定义),从S3C2440_PA_SPI开始分配0x30大小的内存区域,此后将其移至内核空间。 (3)相关寄存器的设置。通过配置SPI功能寄存器设置SPI工作模式。以ioremap返回的虚拟地址为基址,通过增加不同偏移量访问相应寄存器。本次设计将本地SPI设为主设备,开启SCK信号使能,设定CPOL和CPHA均为0,SPI工作在普通模式下。设置波特率预分频寄存器(SPPRE)中的分频比为8。具体设计如下: __raw_writel((S3C2440_SPCON_SMOD_INT|S3C2440_SPCON_ENSCK|S3C2440_SPCON_MSTR),s3c2440_SPCON); DPRINTK(DEVICE_NAME“SPCONiniTIalizen”); __raw_writel((S3C2440_SPPIN_ENMUL|S3C2440_SPPIN_KEEP),s3c2440_SPPIN); DPRINTK(DEVICE_NAME“SPPINiniTIalizen”); __raw_writel(0x07,s3c2440_SPPRE); DPRINTK(DEVICE_NAME“SPPREinitializen”); (4)初始化发送和接收数据缓冲区。数据缓冲区使用环形缓冲区结构,通过头尾指针的循环移动,实现对缓冲区的动态管理。其定义如下: typedefstruct { spi_bufbuf[MAX_SPI_BUF]; unsignedinthead,tail; wait_queue_head_twq; }SPI_BUF;staticSPI_BUFspi_Tx_buf;staticSPI_BUFspi_Rec_buf; 其中spi_buf表示char型,MAX_SPI_BUF为缓冲区大小,设为1024B。head、tail分别表示头尾数组下标,wq为等待队列头。此结构依靠以下宏进行管理: #defineSPI_Tx_BUF_HEAD(spi_Tx_buf.buf[spi_Tx_buf.head]) #defineSPI_Tx_BUF_TAIL(spi_Tx_buf.buf[spi_Tx_buf.tail]) #defineINCBUF(x,mod)((++(x))&((mod)-1)) 前两个宏用于引用缓冲区中的元素,最后一个宏用于对头尾下标进行前移,并保证头尾下标数值可循环变化,不发生溢出。 在初始化时,分别对接收和发送缓冲区的头尾指针进行清零操作,具体如下: spi_Tx_buf.head=spi_Tx_buf.tail=0;spi_Rec_buf.head=spi_Rec_buf.tail=0; (5)内核机制相关的数据结构初始化。本设计所使用的内核机制包括了中断上下半部的操作和睡眠等待机制,因此需要对发送、接收等待队列以及tasklet结构进行初始化,并注册tasklet处理函数。初始化过程如下: init_waitqueue_head(&(spi_Tx_buf.wq)); init_waitqueue_head(&(spi_Rec_buf.wq)); tasklet_init(&spi_tasklet,spi_tasklet_handler,data); (6)初始化相应端口。根据S3C2440外部管脚配置,将与SPI功能引脚复用的GPIO设定为SPI相应功能。具体操作如下: s3c2440_gpio_cfgpin (S3C2440_GPE11,S3C2440_GPE11_SPIMISO0); s3c2440_gpio_cfgpin (S3C2440_GPE12,S3C2440_GPE12_SPIMOSI0); s3c2440_gpio_cfgpin (S3C2440_GPE13,S3C2440_GPE13_SPICLK0); s3c2440_gpio_cfgpin (S3C2440_GPG2,S3C2440_GPG2_INP);//设置nSS s3c2440_gpio_cfgpin(S3C2440_GPB10, S3C2440_GPB10_OUTP);//设置片选信号 s3c2440_gpio_setpin(S3C2440_GPB10,1); 2.2SPI写操作 写操作主要是将上层应用部分的用户空间中的数据拷贝到内核空间中的环形缓冲区中,此后将缓冲区的数据送到SPI发送寄存器中,在SPI发送完一个数据后,系统产生中断,中断例程中的下半部将调用tasklet判断缓冲区状态。若缓冲区中有相应的空间,可以将下一数据填入SPI发送寄存器中,直至将缓冲区数据全部发送完毕。 本设计的写操作实现了环形缓冲区的动态管理,即在缓冲区删除数据、尾指针前移的情况下,允许向缓冲区添加数据,头指针前移。此设计可以使用户空间任务与内核空间的数据发送同时进行,提高了用户空间任务执行效率,并且当利用copy_from_user函数将数据从用户空间拷贝至内核空间时,数据发送仍在进行,即数据从用户空间至内核空间拷贝过程与数据发送过程并发,提高了驱动程序效率。 为了实现环形缓冲区动态管理,定义了copy_to_Tx_buf_init和copy_to_Tx_buf两个函数完成数据向缓冲区的复制操作。 (1)copy_to_Tx_buf_init函数。本函数主要用于两种情况: ①如果缓冲区为空,当有一组数据到来且此数据的大小小于缓冲区的空间大小时,直接将此数据放到缓冲区中。 ②如果发送数据的大小大于剩余缓冲区的空间,则只复制缓冲区大小的数据到缓冲区。 缓冲区满,该进程进行睡眠操作,直到缓冲区所有数据发送完毕,缓冲区再次为空,当前进程被唤醒,将此组用户数据的未发送部分复制到缓冲区,继续发送。 (2)copy_to_Tx_buf函数。此函数主要用于缓冲区正在发送且未发送完毕的情况,将新一组用户数据copy至缓冲区。首先计算缓冲区剩余空间,若剩余空间大于本组用户数据大小,则直接将用户数据全部copy至缓冲区;若剩余空间小于本组数据大小,则copy与剩余空间大小相同的用户数据至缓冲区。 写操作的具体流程如图1所示,首先用户数据从空间态转换到内核态,并设置相应的接收标志位。此后判断数据大小。若数据大于缓冲区空间,数据发生溢出,写操作结束;若没有溢出,为了保证进程间的数据,使得该进程获得自旋锁,此时判断缓冲区是否为空。根据上面两个函数的介绍,在不同情况下分别调用不同的函数,在数据写入环形缓冲区后,将数据发送到SPI的发送寄存器。当SPI发送寄存器发送数据时,环形缓冲区依旧接收数据,如果此时缓冲区为满,则释放自旋锁,并设置进程等待标志位(wait_Tx_done),将此进程休眠,直到发送寄存器中的数据发送完毕,再唤醒进程,判断数据是否全部发送完毕。若仍有数据等待发送,则调用copy_to_Tx_buf_int;若数据已全部发送完毕,则写操作结束。若缓冲区不为满,则判断数据是否发送完毕。数据全部发送完毕,发送操作结束。 2.3SPI读操作 读操作是连续读取主SPI发送到从SPI的接收缓冲区中的数据,并将其传送给用户空间。具体流程如图2所示。首先判断操作标志位spi_Rec_en,若此位为0,说明此时驱动正处于发送状态,则将发送进程等待标志位(wait_Tx_done)置1,读进程进入休眠状态即放入等待队列中,等待中断处理函数中相关发送程序唤醒。若操作标志位不为1,读进程首先获得自旋锁,判断数据大小。若数据大小不为0且不超过缓冲区大小,则按照S3C2440接收数据的要求,向SPI发送寄存器写入第一个dummy数据(0xff)。此后,将接收进程等待标志位(wait_Rec_done)置1,释放自旋锁,并将此进程加入等待队列进行休眠,直到用户要求的所有数据已发送至接收缓冲区后,由中断处理函数唤醒该进程,最后将接收区中的数据放到临时接收缓存中,以便于其他操作读取。 3SPI驱动程序测试 SPI驱动程序主要通过调用写操作,使SPI连续发送数据0x55,此后再调用SPI读操作,将MISO上的串行数据读入用户缓冲区,并与实际数据进行比较。图3为示波器测试MOSI引脚波形。图中波形1为SCK信号,ARM系统时钟为40MHz,SPI的SCK信号为系统时钟的256分频,约为156kHz;波形2为MOSI信号,SPI从低位向高位串行移位。通过波形可以看出,SPI驱动能够准确地完成读写操作,验证了其正确性。

    时间:2021-04-15 关键词: ARM Linux arm9 SPI S3C2440

  • 详谈Linux系统之实时监控相关技术

    详谈Linux系统之实时监控相关技术

    万物互联和大数据技术的发展,让我们的生活更加活色生香,其背后离不开安全、稳定可靠的服务器系统。 这里我们主要是从系统日常行为安全的角度分享一种能满足线上部署、能够将进程或文件创建、网络连接、网络I/O、文件I/O、shell操作、数据库操作、telnet操作、http访问、系统调用(syscall)和系统资源信息等系统相关的行为信息实时采集和存储的Linux行为监控技术。 传统监控技术 现有系统行为监控的实现技术主要采用以下方法: 1.LinuxKprobes调试技术 Kprobes调试技术是一种专为Linux内核跟踪和调试而设计的特定API。Kprobes允许内核开发人员为任何内核指令以及函数入口和函数返回处理程序安装预处理程序和后处理程序,这些处理程序可以访问并更改寄存器。这样一来,内核开发者们就可以监控系统调用相关工作流程并簿记。利用Kprobes技术,内核开发人员可以在内核的绝大多数指定函数中动态地插入探测点来收集所需的调试状态信息;关于“调用了哪些系统”、“系统何时被调用”、“执行是否正确以及函数的入参和返回值是什么”等疑惑都可以轻松解决。此外,还能将这些信息屏幕输出或转储日志文件。 2.Linux内核的tracepoints(跟踪点)技术 内核的tracepoint是一种轻量级的hooks技术,使用高效的系统调用行为跟踪及相关性能计算,对系统本身的性能只有微小的时间损失和空间损失。通过注册syscall_enter_probe等定制的probe函数,在发生系统调用相关行为后,内核找到probe函数,并将参数等信息传递给probe函数。只要将probe函数中记录的相关行为信息输出,即可达到监控目的。 在现有的Linux系统行为监控工具中,采用LinuxKprobes调试技术、Linux内核的tracepoints(跟踪点)技术的工具有:strace、ftrace、tcpdump、lsof、htop、iftop、systemTap、perf…… 以上的工具通常只能作为日常内核开发调试或日常运维分析工具来使用,主要用于开发调试或问题定位等简单的信息输出。然而,这些工具存在一些使用缺陷,可以总结为以下几点: 1、仅适用于内核开发人员调试使用或是运维人员在现场开启使用,各工具特点不一,难以满足系统全面监控的需求。 2、没有提供行为数据的良好存储能力,只提供简单的输出或是日志存储。由于没有数据缓存功能,容易造成行为数据的丢包,不能很好地支撑事后数据回放或分析。 3、不能进行线上运行的实时部署,只能在事后或事中开启,无法满足运维或安全监控的自动化要求。在高吞吐、高并发的服务器上,增加了服务器运行的负担。 新型实时监控缓存技术方案 针对现有技术无法满足线上实时部署、影响服务器性能、行为数据不具备良好的存储和缓存功能等缺陷,我们给大家分享一种具备实时监控和缓存功能的技术方案。 该方案主要是采用分层结构的模型进行架构的,具体分为内核probe层、基于内存映射mmap技术的buffer层、基于本地数据库的用户态缓存层。具体结构如下图: 业务流程描述 下面通过一个具体的系统行为事件信息采集-缓存的例子,来说明这三层之间的业务流关系: 首先,当用户发起网络连接服务主机操作,在服务主机系统中将发生socketaccpet系统调用中断,服务进程陷入内核态,进入系统调用例程。 其次,通过Linux内核tracepoints机制,内核查找系统调用tracepoint的probe函数;此时,内核查到已经挂载的内核probe层的probe函数,并将相应accpet系统调用参数信息传入probe函数。 接下来,内核probe层的probe函数将传来的系统调用相关信息进行分类、序列化处理后,将相关参数信息转化为系统行为事件信息写入mmapbuffer层。 最后,用户态缓存层进程通过mmap映射技术,从mmapbuffer层读取具体的系统行为事件信息,将系统行为事件信息再次格式化为易于阅读和分析的字符串信息,并选择一种本地或分布式的缓存技术,持久化存储系统行为事件信息。 通过上述业务流程的分析,可以概括出上述三层主体功能分别为:内核probe层采集系统调用信息、mmapbuffer层转化系统行为事件信息、用户态缓存层持久化系统行为事件信息。如下图所示: 通过上文可以得知,本方案与目前现有工具或方案的主要区别在于本方案体现了以下两方面:实时性、缓存持久化。 实时性 “实时性”就是指系统操作行为(系统调用)信息能够实时感知,“零损耗”地对信息进行采集。 我们知道系统行为信息的采集是由“内核probe层”完成的,在该层中主要也是采用了Linux内核字符设备驱动技术+Linuxtracepoints机制。通过开发Linux内核字符设备驱动来驱动probe模块,在probe模块中挂载tracepoint函数,采集各系统调用的相关信息。 为了实现系统调用信息从内核probe层到用户态缓存层的“Zerocopy”高效传递,在probe层与用户态缓存层采用了Linux内核驱动与用户态进程实现地址共享的mmapbuffer技术方案。 缓存持久化 经过内核probe层采集的系统行为事件信息存放在mmapbuffer层中,为了实时高效地将这些事件信息持久化存储,本方案采用了一种开源高效的本地文件数据库引擎,该引擎占用资源少、无需安装和管理配置、数据吞吐率每秒可达上万条记录。这样轻型的持久化模块,可以通过“零损耗”的方式部署到线上服务器,而不占用服务器资源。 从mmapbuffer层中读取到系统行为事件信息,在用户态缓存层还可以根据具体业务的要求,做一些数据处理分析,如格式化、过滤等。最终存放到文件数据库中,从而实现系统行为事件信息的持久化缓存。

    时间:2021-04-15 关键词: 操作系统 监控 Linux

  • 基于μC/0S一Ⅱ和LPC2129微控制器实现智能机器人控制系统的设计

    基于μC/0S一Ⅱ和LPC2129微控制器实现智能机器人控制系统的设计

    1 引言 轮式移动机器人是机器人研究领域的一项重要内容,它集机械、电子、检测技术与智能控制于一体,是一个典型的智能控制系统。智能机器人比赛集高科技、娱乐、竞技于一体,已成为国际上广泛开展的高技术对抗活动。现以ARM7处理器为控制核心,采用无线通信技术,并移植嵌入式实时操作系统μC/0S一Ⅱ设计了一套智能机器人控制系统。 2 硬件设计 根据竞技机器人的功能要求进行总体设计,将各个功能进行模块化,其控制系统硬件框图如图1所示。中央处理器采用微控制器结构,用以控制外围设备协调运行。舵机控制机器人的运动方向;驱动电机电动机采用输出轴配有光电编码器的小型直流电机驱动车轮旋转。电磁铁作为机械手夹紧的执行元件。设置了两路超声波传感器、8路光电检测输入和8路开关量检测接口。整个机器人的运行状态和运行参数通过LCD动态显示。 2.1 微控制器的选型 机器人要实现的动作和功能较多,需要多个传感器对外界进行检测,并实时控制机器人的位置、动作和运行状态。系统中的所有任务最终都挂在实时操作系统μC/0S一Ⅱ上运行,因此不仅要考虑微控制器的内部资源,还要看其可移植性和可扩展性。LPC2129是Philips公司生产的一款32位ARM7TDMI—S微处理器,嵌入256 KB高速Flash存储器,它采用3级流水线技术,同时进行取指、译码和执行,而且能够并行处理指令,提高CPU的运行速度。由于它的尺寸非常小,功耗极低,抗干扰能力强,适用于各种工业控制。2个32位定时计数器、6路PWM输出和47个通用I/0口,所以特别适用于对环境要求较低的工业控制和小型智能机器人系统。因此选用LPC2129为主控制器,可以获得设计结构简单、性能稳定的智能机器人控制系统。 2.2 无线通信接口设计 系统采用迅通公司生产的PTR2000无线通信数据收发模块。电路接口如图2所示。该模块基于NORDIC公司生产的射频器件nRF401开发,其特点是:①有两个频道可供选择,工作速率高达20 Kb/s;②接收发射合一,适合双工和单工通信,因而通信方式比较灵活;③体积小,所需外围元件少,接口电路简单,因此特别适合机器人小型化要求;④可直接接单片机串口模块,控制简单;⑤抗干扰能力强;⑥功耗小,通信稳定。 2.3 光电检测模块设计 2.3.1 光电检测过程 设计光电检测模块,使机器人能够检测地面上的白色引导线。光电检测电路主要包括发射部分和接收部分,其原理如图3所示。发射部分的波形调制采用了频率调制方法。由于发光二极管的响应速度快,其工作频率可达几兆赫兹或十几兆赫兹,而检测系统的调制频率在几十至几百千赫兹范围之内,因此能够满足要求。光源驱动主要负责将调制波形放大到足够的功率去驱动光源发光。光源采用红外发光二极管,工作频率较高,适合波形为方波的调制光发射。 接收部分采用光敏二极管接收调制光线,将光信号转变为电信号。这种电信号通常较微弱,需进行滤波和放大后才能进行处理。调制信号的放大采用交流放大形式,可以将调制光信号与背景光信号分离开来,为信号处理提供方便。调制信号处理部分对放大后的信号进行识别,判断被检测对象的特性。因此,该模块的本质是将“交流”的、有用的调制光信号从“直流”的、无用的背景光信号中分离出来,从而达到抗干扰的目的。 2.3.2 光电探头 在机器人底盘前部安装有光电探头,共设置了5个检测点,其结构如图4所示。 从理论上讲,检测点越多,越密,识别的准确性与可靠性越高。但是硬件的开销与软件的复杂程度也相应增加。采用该寻线系统保证了检测的精确度,也节约了硬件的开销。发光二极管发出的调制光经地面反射到光敏二极管。光敏二极管产生的光电流随反射光的强弱线性变化。检测出这种变化,即可判断某一个检测点是否在白色引导线的上方,从而判断机器人和白色引导线的相对位置。 2.4 超声波测距传感器设计与实现 两路超声波传感器用以控制机器人避开障碍物,并预测机器人相对目的地距离,起导航作用,其接收部分与微控制器的捕获和定时管脚相连接。整个超声波检测系统由超声波发射、超声波接收和单片机控制等部分组成。发射部分由高频振荡器、功率放大器及超声波换能器组成。经功率放大器放大后,通过超声波换能器发射超声波。 图5给出由数字集成电路构成的超声波振荡电路,振荡器产生的高频电压信号通过电容C2隔除掉了信号中的直流量并给超声波换能器MA40S2S。其工作过程:U1A和UlB产生与超声波频率相对应的高频电压信号,该信号通过反向器U1C变为标准方波信号,再经功率放大,C2隔除直流信号后加在超声波换能器MA40S2S进行超声波发射。如果超声波换能器长时间加直流电压,会使其特性明显变差,因此一般对交流电压进行隔除直流处理。U2A为74ALS00与非门,control_port(控制端口)引脚为控制口,当control_port为高电平时,超声波换能器发射超声波信号。 图6示出为超声波接收电路。超声波接收换能器采用MA40S2R,对换能器接收到的信号采用集成运算放大器LM324进行信号放大,经过三级放大后,通过电压比较器LM339将正弦信号转换为TTL脉冲信号。INT_Port与单片机中断管脚相连,当接收到中断信号后,单片机立即进入中断并对超声波信号进行处理和判断。 3 实时操作系统μC/OS—II的移植 μC/OS—II是一个嵌入式实时操作系统内核,包含了任务调度、任务管理、时间管理、内存管理和任务间的通信与同步等基本功能。μC/OS—II进行任务调度时,会把当前任务的CPU寄存器存放到该任务堆栈中,然后再从另一个任务堆栈中恢复原来的工作寄存器,继续运行另一个任务。 根据各个控制功能和微控制器的资源结构对任务进行划分,共划分为7个应用任务,其划分过程如图7所示。无线串行通信采用中断接收方式,保证数据接收的实时性。 μC/OS一Ⅱ任务的建立包括定义任务堆栈、设定任务优先级、初始化该任务要求的系统硬件及实现具体的控制过程等4部分。现以任务1为例,介绍应用任务的建立过程。 在嵌入式实时操作系统环境下开发实时应用程序,可使程序的设计和扩展变得容易,而且无需大的改动即可增加新的功能。通过将应用程序分割成若干独立的任务模块,可大大简化应用程序的设计过程;而且能快速、可靠地对实时性要求苛刻的事件。通过有效的系统服务、嵌入式实时操作系统,能使系统资源得到更好的利用。 4 调试运行 在机器人控制系统起动时,μC/OS一Ⅱ对堆栈空间、各个控制寄存器和外设器件的硬件进行初始化,并设定当前各个功能部件的初始状态。 在实时机器人系统下,机器人正常启动后,系统实时监视机器人在比赛场上的运行状况,若出现某一动作或功能无效则给出出错信息。正常运行时实时显示机器人在比赛场上的坐标值和动作状态,如图8所示。 5 结语 根据智能机器人的控制要求,设计了基于无线通信的嵌入式机器人控制系统。在软件设计上移植了嵌入式实时操作系统μC/OS一Ⅱ。利用光电检测模块和超声波导航模块感知外部信息,实现了对智能机器人的控制。

    时间:2021-04-15 关键词: 无线通信 微控制器 机器人 嵌入式 控制系统

  • 基于S3C4480处理器和μC/OS-Ⅱ实现机器人控制系统的设计

    基于S3C4480处理器和μC/OS-Ⅱ实现机器人控制系统的设计

    移动机器人是一种能够感知外部环境,在有障碍物的环境中能够实现动态决策与规划,从而完成避障等多种功能的综合系统。机器人系统通常分为机构本体和控制系统两部分,控制系统的作用是根据用户的指令对机构本体进行操作和控制。随着机器人的智能化水平越来越高,控制器要有方便、灵活的操作方式,以及多种形式的控制方式和高度可靠性,还要有很高的实时性。 为了保证系统的实时性,简化控制系统软件的设计,有必要在控制系统引入嵌入式操作系统。本设计将嵌入式技术与机器人技术相结合,利用ARM作为硬件平台并移人μC/OS-Ⅱ嵌入式实时操作系统,开发了具有多线程、多任务管理的控制终端。嵌入式主控制器ARM是整个机器人控制系统的核心,主要完成环境感知、组织管理、总体任务分配。嵌入式主控器作为机器人的运算层,一方面作为控制上位机,可以通过串口与下位机伺服控制系统通信,从而完成机器人的运动控制;另一方面还提供了与遥控操作端或用户端的无线通信接口。本文设计的机器人控制系统可应用于日常生活、足球机器人以及其他科学探索领域。 1 系统组织架构与硬件设计 设计时考虑到机器人在体积、质量等方面的限制,以及要满足功耗低,实时性高,性能优越的特点,选择合适的软硬件结构及有效的控制模式是整个设计过程的关键。 1.1 系统总体架构 整个机器人控制系统由嵌入式主控制器、伺服控制模块、无线通信模块和传感检测模块组成。控制系统的总体架构如图1所示。 按功能划分,该控制系统分为上下两层。由实现任务管理、运动轨迹生成、定位的上层控制系统,以及完成机器人伺服控制、传感器信息采集的下层控制系统组成。上层控制系统是整个控制系统的核心控制层,它有两种控制实现方式:一种是独立运行模式,另一种是遥控或远程实时控制模式。独立运行模式有自己的运行参数,即上层控制系统根据激光雷达的信息传递到环境建模模块,产生环境地图并产生避障算法所需信息,控制器根据避障模块信息产生机器人本体速度和方向信息,传递到运动控制器。在运动控制底层程序定义了一系列程序,运动控制器通过解释上层控制系统传递过来的信息并执行相应程序,从而达到机器人控制的目的,实现实时避障。遥控器或远程实时控制模式是通过无线通信单元接收用户端或遥控端发出的命令,实现对机器人的实时控制。系统的控制实现方式如图2所示。 1.2 主控制模块 主控制模块采用SAMSUNG公司16/32位RISC处理器S3C4480作为控制器。S3C4480功耗低,有多种电源供电方式,有多种外部存储器访问,新的总线体系结构(SAMBA),速度可达132 MHz。主控模块使用Hynix公司的HY57V281620(SDRAM)以及SAM-SUNG公司的Nand-Flash芯片K9F2808U作为存储器。为了增大数据吞吐能力,选取了2片SDRAM构成32位地址宽度。S3C4480使用ARM7TDMI核,它满足μC/OS-Ⅱ正常运行的所有条件,设计时S3C4480移入μC/OS-Ⅱ操作系统,将加快处理器的应用和开发,而且还能提高系统的实时性。通过将系统的功能划分成按不同优先级调度的任务,实现对机器人的多任务控制,主控制模块中的路径规划任务采用栅格法。 1.3 激光雷达测距模块 激光雷达是一种工作在从红外线到紫外光谱段的雷达系统,相对于超声波、红外、摄像头等其他传感测距方法,激光雷达具有探测距离远,测量精度高,价格相对适中等优点。在本设计中使用德国施克公司的LMS291激光测量系统,基于飞行时间测量原理,180°扫描角度,可以设置三个保护区域,具有滤波功能,以消除障碍检测过程中激光雷达的测距噪声干扰。 LMS291激光雷达通过旋转镜面向各个方向发射脉冲激光,并由LMS291接收器接收反射光线。该激光雷达响应时间可固定为13 ms,发射角为几mrad的激光脉冲,通过测量发射脉冲与反射脉冲之间的时间延迟,并乘以光速,就可以测得障碍物的距离。时间测量通过图3所示的脉冲填充法求出。 如果计数值为N,则t=N△T=N/f,从而可得L=ct/2=cN/(2f),其中,f为时钟脉冲。 LMS291激光测量系统提供RS 232数据接口,本设计主控制器采用的是S3C44B0,由于它的LVTTL电路所定义的高、低电平信号为正逻辑,而RS 232标准采用负逻辑方式,两者间通信要进行电平转换,在设计时系统采用RS 232电平转换芯片MAX232ACPE实现串口的通信。 1.4 无线通信模块 无线通信模块利用从前端RF接收到的遥控端或用户端的信息通过串口发送到机器人,也可将机器人的信息通过无线通信模块发送出去。前端RF使用Chip-con公司生产的CC2420芯片,无线通信模块采用的微控制器为Microchip公司的PIC18LF4620。CC2420与PIC18LF4620都使用3.3 V作为工作电压,可以降低功耗,CC2420只需通过SI,SO,SCLK,CSn与PIC18LF4620的SPI接口进行连接。本设计中使用PIC18LF4620的RC6,RC7引脚作为RS 232的数据发送端与数据接收端。CC2420是一款较为通用的符合IEEE802.15.4的2.4 GHz ZigBee收发芯片,该芯片在集成了PHY层和部分MAC层的同时,还提供了许多硬件支持。 1.5 伺服控制模块 运动控制模块通过RS 232与主控制模块连接,主控制模块通过串行总线将期望速度、方向信息传送至运动控制器,运动控制器将信息处理后作为运动控制算法的输入量,运动控制算法得到以PWM形式表示的电机控制信息。为判断电机转速及运转方向,安装在电机上的光电编码器提供相位相差90°的两个通道的光码脉冲输出,光电编码器产生的两脉冲送入DSP的正交编码脉冲单元的QEP1,QEP2引脚,通过DSP的比较单元CAP1,CAP2捕捉,然后经译码单元产生内部4倍频后的脉冲信号CLK以及转向信号,将脉冲信号送入选定的计数器进行计数,计数方向由转向信号决定,通过读取选定通用定时器的计数值、脉冲数、计数方向可得到电机的转速、行程及方向为伺服控制提供反馈输入。没计使用TI公司的TMS320F2812作为控制驱动模块的控制器,该芯片产生的PWM信号并不能够直接驱动电机的执行,设计时使用TI公司的直流电机驱动芯片SN7S4410将PWM转换成可驱动电机的驱动信号。图4为移动机器人运动控制系统的原理图。 图4中电流传感器为霍尔元件电流传感器,将采集到的电机电流信息送入A/D转换接口,从而整个运动控制系统形成双闭环控制系统。运动控制器中运动控制算法采用PID算法,设定允许的误差为e0,设定如下关系: 当| e(k)|≤e0时,控制器不起作用; 当| e(k)|>e0时,可以得到控制器的输出为: PWM信号的宽度由时间管理器中定时器的周期寄存器和与该定时器相关的比较寄存器决定,经过PID处理后的控制器输出u(k)为脉冲的占空比,然后写入选定定时器的比较寄存器,比较寄存器与周期寄存器的比值即为PWM波形的占空比,从而实现电机转速的控制。 2 软件设计 该机器人控制系统的软件设计包括主控制模块、DSP运动控制器算法程序、PIC18LF4620的程序设计。PIC18LF4620的程序设计在这里不做介绍。 2.1 主控制模块程序设计 主控制模块软件设计是在μC/OS-Ⅱ平台上设计各硬件的驱动程序,创建和启动各项任务,创建信号量、消息邮箱、消息队列完成各任务间的通信。 针对S3C4480的硬件资源和编译器特性,移植时要对μC/OS一Ⅱ的三个源文件做修改: (1)OS_CPU.H头文件与编译器相关的数据类型重新修改; (2)OS_CPU_ A.S文件中修改处理器相关的4个汇编函数; (3)OS_ CPU.C文件中编写初始化任务的堆栈函数。 μC/OS-Ⅱ中程序是从main()函数开始执行,程序启动后跳转至主程序运行,调用ARMInit()初始化ARM系统,包括建立相关参数和变量,配置ARM处理器中断端口、设置中断并初始化各器件,然后调用OSInit()初始化μC/OS-Ⅱ操作系统,将操作系统的初始化与硬件的初始化分开来使得思路更清晰,便于调试。由于各任务之间要通过创建信号量、消息邮箱、消息队列来完成通信,该操作通过调用OSSemCreate(),OSMboxCreate(),OSQCreate()函数来完成,然后调用OSTaskCreate(void(*task)(void*pd),void*pda-ta,OS_STK*ptos,INT8U prio)函数创建各任务完成系统控制。最后调用函数OSStlart(),μC/OS-Ⅱ开始运行,执行任务。本系统设计时主要完成的任务有无线通信任务、命令解释任务、激光雷达信息处理任务。 2.2 伺服控制模块程序设计 伺服控制模块利用高速的DSP运动控制器与反馈信号组成闭环控制系统,DSP发送PWM波与方向信号控制直流电机的转速,通过速度反馈,DSP可实时读取当前速度,利用DSP中的控制程序根据速度读数控制PWM的占空比,从而实现闭环控制。主程序流程图如图5所示。 在DSP的事件管理器中,将其中一个定时器设定一个中断周期,每当定时器产生中断时,调用中断处理子程序获得电机的反馈速度。 3 结 语 根据新型激光雷达跟踪测量理论,开发研制了基于μC/OS-Ⅱ的机器人实时控制系统。该控制系统已成功用于实验室自主研制开发的足球机器人。性能测试表明,该机器人控制系统能够快速及时跟踪定位目标,并且能够通过无线通信模块与遥控端进行通信,完成指定操作指令。该控制系统采用的控制决策算法为PID,今后将致力于研究采用更为先进的算法。

    时间:2021-04-15 关键词: 机器人 处理器 嵌入式 控制系统 S3C4480

  • 基于RTX51嵌入式实时操作系统实现PBJ-1嵌入式控制系统的设计

    基于RTX51嵌入式实时操作系统实现PBJ-1嵌入式控制系统的设计

    排爆机器人(EOD robot)是一种遥操作地面移动机器人,操作机主体一般是由一个机械手和一个可移动平台组成,主要用于拆除疑似爆炸物品,以减少作业现场人员伤亡,是军警部门必须装备的设施。目前国际上主要流行美国Remotec公司的Andros系列排爆机器人、法国Cybernetics公司研制的TRS200中型排爆机器人等。但是国外的排爆机器人价格过高,出现故障后维修特别不方便。因此国家863专家组已经将高性能排爆机器人的研发及国产化列入了重点支持的课题。 由于种种原因,目前的排爆机器人很多只采用PLC实现点动控制,功能有限且操作性较差。研究高性能控制器成为排爆、消防等各种遥操作地面移动机器人的共同课题。利用先进的嵌入式系统技术可以较好地解决这类问题。 本文概述了上海交通大学机器人研究所研制的新型遥控移动式排爆机器人PBJ-1的嵌入式控制系统(如图1所示),主要叙述基于RTX51嵌入式实时操作系统(RTOS)开发排爆机器人PBJ-1嵌入式控制系统固件的情况。利用嵌入式系统技术开发适合排爆等各类遥控地面移动机器人使用的嵌入式控制系统能够解决上述种种矛盾。 1 PBJ-1功能介绍 目前国际上比较流行的排爆机器人,都需要由经过专门培训的操作人员通过操作一组分别控制机械臂上各个关节驱动电机的按键控制,操作很不方便。操作人员需要根据现场的状况,判断出需要机械手执行的动作,再经过大脑的转换,手工控制机械臂各个关节顺序动作,使机械手爪拟合出一条空间轨迹以完成作业,大大降低了工作效率。这类排爆机器人一般都需要大量的摄像机,随时显示爆炸物相对机械手爪的位置,以便操作人员决定下一步动作。 新型排爆机器人PBJ-1为了使操作人员操作更加方便,在嵌入式控制器中嵌入了机器人运动学运算,能够实现机械臂的自主联动控制。操作者只要通过观看控制箱上面的显示器,直接操纵控制器命令机器人水平前、后或垂直上、下运动,机械臂可以实时进行机器人运动学运算和分解运动控制,控制机械手爪完成空间的直线拟合运动。这种操作方式略过了操作人员在大脑中进行动作转换的步骤,大大方便了排爆这一高危险性作业现场的作业。 为了方便现场操作,在其嵌入式控制器系统中还加入了机器人的一些半自主动作功能。例如当机器人完成作业后机械臂可以自动折叠归位;机械臂可以自动进入作业最佳操作姿态;当操作不当时,控制器可以自主取消操作人员发送的命令,以避免机械臂与车体之间的干涉碰撞等。 为防止爆炸物被恐怖分子遥控引爆,爆炸物品的拆除现场一般都要做电磁屏蔽处理,不能使用无线遥控型机器人,只能采用有缆遥操作移动机器人。由于爆炸物品的拆除作业危险性很大,所以对排爆机器人的有线通讯系统的可靠性要求很高。PBJ-1是通过RS-485协议实现相互之间远距离、高速、高可靠性通讯。 操作人员可以通过上位控制箱里的液晶显示器监视作业现场的状态;通过操作各种动作按钮及操纵杆控制机器人完成各种作业。控制箱有六组4位数显LED,分别显示机器人型号(PBJ1)、通讯状态(run或Err)、大小臂关节角、机器人及车体运动速度、机器人电源实时电压。这些都保证了操作人员可以全面了解机器人具体运行状态,顺利完成作业。 2 PBJ-1嵌入式控制系统设计 遥操作机器人由于工作于非结构环境中,实际期望运动轨迹未知,所以需要根据操作者的实时操作情况进行动态实时的目标位置生成及轨迹规划,并完成相应的运动控制。 由于这台新型排爆机器人功能增强,下位机微控制器需要实时完成机器人运动学及分解运动控制解算,并驱动各个接口器件实时控制机器人运动,还要保证上、下位机之间的正常通讯连接,及时、迅速、高可靠性地响应上位机经过处理的数据并且上传机器人本体的各种状态信息,负担很重。因此如何合理地进行系统固件程序设计成为决定该机器人实际运行效果的关键。 要实现上面所述的功能,微控制器的应用必须能够同时进行多任务或工作的执行。对此,传统的基于单任务顺序循环机制的程序设计方法难以胜任,如图2所示。因此,需要找到一种新的合适的控制器设计方法。由于微控制器系统功能通常可以分解为多个相对独立的模块,将这些模块理解为任务,从而可以引入多任务机制进行管理。引入多任务机制后,可以有效地改善程序结构,满足应用系统复杂的定时要求。在多任务机制下,CPU的运行时间被划分成许多小的时间片,由某种调度算法按不同的优先级别分配给不同的任务。多个任务分别在各自的时间片内访问CPU,从而产生了微观上轮流运行、宏观上并行运行的多任务效果,如图3所示。 在多任务嵌入式系统中,合理的任务调度必不可少。单纯通过提高处理器速度无法达到目的,这样就要求嵌入式系统的软件必须具有多任务调度能力。因此必须基于多任务实时操作系统进行嵌入式系统固件开发。 实时操作系统的首要任务是调度一切可利用的资源完成实时控制任务;其次才着眼于提高计算机系统的使用效率。其重要特点是通过任务调度对重要事件在规定的时间内作出正确的响应。实时操作系统既能保证对外界的信息以足够快的速度进行相应处理,又能并行运行多个任务,具有实时性和并行性的特点,因此能很好地完成对多个信息的实时测量、处理并进行相应的多个实时控制。 PBJ-1上下位机嵌入式控制器都是以业界经典51内核增强型单片机AT89C55WD为核心;基于嵌入式实时操作系统RTX51Tiny开发固件程序。通过提供必不可少的系统服务,如信号量管理、消息队列、延时等,实时内核使CPU的利用更为有效。 2.1 RTX51简介 RTX51是德国Keil公司开发的一种应用于MCS51系列单片机功能强大的、可用于目前世界上所有由Intel 8051标准内核派生出的350多种增强微控制器的实时操作系统。使用RTX51可实现程序按时间片轮转和抢先的任务调度,并且支持事件和信号驱动。 RTX51有两个版本:RTX51Full和RTX51Tiny。RTX51Full允许4个优先权任务的循环和切换,并且能够并行地利用中断功能。RTX51Full可以从内存池中申请和释放内存,同时可以强制一个任务停止执行等待一个中断,或者是其它中断传来的信号量或者消息。RTX51Tiny短小精悍,是RTX51Full的一个子集,只占用900字节ROM、7字节DATA型及3倍于任务数量的IDATA型RAM空间,可以很容易地运行在没有扩展外部存储器的单片机系统上。使用RTX51Tiny的程序可以访问外部存储器,允许循环任务切换,并且支持信号传递,还能并行地利用中断功能。RTX51Tiny 允许“准并行”同时执行几个任务。每一个任务在预先定义好的时间片内得以执行。时间到使正在执行的任务挂起,并使另一个任务开始执行。最新的RTX51Tiny2.0重新调整了内核结构,使用更灵活、执行更快、占用的资源更少,另外还增加了几个新的特性。 RTX51Tiny内核完全集成在Keil C51编译器中,以系统函数调用的方式运行,因此可以很容易地使用Keil C51语言编写和编译一个多任务程序,并嵌入到实际应用系统中。内核主要提供以下函数供应用程序引用,见表1。 RTX51Tiny的用户任务具有表2所列的几个状态,它们如图4所示进行切换。 为了保证任务在执行顺序上的协调,必须采用同步机制。内核用以下事件进行任务间的通信和同步: (1)SIGNAL:用于任务之间通讯的位,可以用系统函数进行置位或清除。如果一个任务调用了os_wait函数等待SIGNAL而SIGNAL未置位,则该任务被挂起直到SIGNAL置位,才返回到READY状态,并可被再次执行。 (2)TIMEOUT:由os_wait函数开始的时间延时,其持续时间可由定时节拍数确定。带有TIMEOUT值调用os_wait函数的任务将被挂起,直到延时结束,才返回到READY状态,并可被再次执行。 (3)INTERVAL:由os_wait函数开始的时间间隔,其持续时间可由定时节拍数确定。带有INTERVAL值调用os_wait函数的任务将被挂起,直到间隔时间结束,才返回到READY状态,并可被再次执行。与TIMEOUT不同的是,任务的节拍计数器不复位。 RTX51Tiny采用微控制器(51)内部定时器T0来产生定时节拍,各任务只在各自分配的定时节拍数(时间片)内执行。当时间片用完后,切换至下一任务运行,因此各任务是并发执行的。RTX51Tiny调度程序定义这些任务按照下面的规则运行: (1)如果出现以下情况,当前运行任务中断: ①任务调用os_wait函数并且指定事件没有发生。 ②任务运行时间超过定义的时间片轮转超时时间。 (2)如果出现以下情况,则开始另一个任务: ①没有其他的任务运行。 ②将要开始的任务处READY或TIME-OUT状态。 图4 RTX51任务切换图 2.2 嵌入式操作系统的特殊问题处理 在RTX51 下进行多任务编程与传统的顺序循环单任务编程相比有以下几个值得注意的不同点: (1)多任务编程CPU 是轮流执行每个任务,可以将每个任务设计成死循环的模式,不断重复地进行数据计算或者访问硬件,不会影响别的任务的执行。当一个任务的数据计算完成后,可以通过os_wait 函数将CPU 交出执行别的任务。而单任务模式却独占了所有的CPU 资源,时常要担心是否执行时间太长而不能及时响应外部的异步事件。 (2)多任务编程有一个缺点,即资源冲突和重入问题。所谓资源冲突就是任务A在访问某个资源时,恰好发生了任务切换,任务B也访问这个资源,且改变了它的状态,这样当再次执行任务A时就可能发生冲突或带来不确定性。而所谓重入是指假设任务A在运行某个函数,发生任务切换后,任务B也运行这个函数,这样就会破坏任务A执行这个函数的现场,从而可能导致任务A执行函数时结果不正确。这种问题尤其容易出现在串行接口器件的操作中,例如串口、串行的A/D、D/A器件等。 在本嵌入式机器人控制器开发过程中,采用这种处理办法:将对每个独立的硬件(例如串行通讯)进行操作的驱动程序段放在一个任务中,也就是说要想对某个设备资源进行操作,只有依靠执行相应的任务来实现。这样无论何时切换任务,都不会对任何独立的“外设”造成影响。这样做彻底避免了资源冲突和重入问题而且利于系统维护与升级。各个任务之间要实现通信,可以调用os_send_signal函数及全局变量。 在嵌入式控制系统开发中借鉴了Windows消息驱动的思想,使部分不需要始终执行的任务处于等待信号状态,这样它们不会占用资源。只有当需要进行相应处理时通过需要它们运行的任务发送给它们SIGNAL,它们才会进入RUNNING任务队列中,得到执行。相关的系统函数为: os_wait (K_SIG, 0, 0); //等待信号 os_send_signal (Task_ID);//向Task_ID任务发送一个信号。 这样的处理,可以使微控制器在有限的资源下集中精力处理好耗时且重要的事情。 2.3 排爆机器人嵌入式控制系统固件开发 上位机嵌入式控制器固件结构如图5所示。根据控制器要完成作业的独立性分割成几个任务片。图5表示了各任务之间的关系、与外设连接关系。整个系统被区分成三个层次。 减少上、下位机之间数据交换的次数及数据量有利于减少下位控制器中断机器人的运动控制转入通讯协议处理的几率,可以提高运动控制的质量。所以PBJ-1的通讯部分固件程序设计没有采用传统的定时向下位机传送输入设备的状态这种高通讯负担的方法,而是基于消息驱动的思想。通讯任务依靠输入设备检测任务执行的结果来决定是否激活、进入消息队列以实现控制器之间的通讯。这样只有当操作者实际改变了输入设备的状态,上位机才向下位机发送相应的信息。利用消息驱动思想来开发通讯程序十分方便、可靠,并且大大减少了通讯线路的负担。为了保证数据传输的高可靠性,每次数据交换都先经过握手以确保无误。下位机嵌入式控制器固件结构如图6所示。 图5 上位机嵌入式控制系统固件结构 图6 下位机嵌入式控制系统固件结构 由于有些任务不需要一直执行,例如机器人需要响应上位机的指令完成继电器的切换等,也将利用os_wait函数处理,使它们平时不进入RUNNING任务队列中,减少资源浪费。在下位机串口中断中利用isr_send_signal向该任务发送信号激活该任务,使得该要求得到执行。具体调用方法如下: isr_send_signal(Task_ID); //从一个中断发送一个信号到Task_ID任务。 通过Windows消息驱动的思想和RTX51 Tiny实时操作系统的配合,合理分配了系统的资源。下位机控制器“集中精力” 完成机器人运动学解算及分解运动控制运算这些相当耗时的任务,实时控制机械臂运动。 在微控制器固件开发中嵌入操作系统还大大提高了系统的稳定性。即使某个外设或任务出现故障,与之无关的任务一般不会受到影响,不像传统的顺序循环机制的程序设计方法中如果某一环节出现问题会立刻造成整个系统的崩溃。 实际整个系统的上下位机微控制器都是仅仅利用运行于22.1184MHz频率下的AT89C55WD 就很好地达到了预期目标。该系统在随意频繁地分别开关上下位机电源、受到较强电磁干扰、大功率电机频繁启动、制动造成系统电源电压波动较大等苛刻的运行测试中均表现出了非常高的稳定性与数据传输准确性。整个系统在运行中即使出现了通讯失败(人为切断通讯线路或部分电源),当故障排除后,上、下位机可以迅速自动恢复正常的通讯状态没有出现误动作。 为新型排爆机器人PBJ-1先后开发了两套控制器固件程序,采用完全一样的硬件平台。一套是基于传统的顺序循环机制,开始效果不理想,后来借鉴消息驱动思想改进程序架构才满足了要求。开发过程中花费了不少时间来调试。另一套就是本文所述的基于RTX51 Tiny嵌入式实时操作系统开发的,实际运行效果相当好,但是花费的时间很少,而且很容易增加新的功能。 实践表明, 在系统复杂、对实时性和精度要求比较严格,并且需要并行处理的任务较多的运动控制系统中,使用RTX51Tiny是一个较好的解决办法。此外,使用RTX51Tiny实时操作系统,会加快嵌入式控制系统的开发速度,降低软件编写的复杂度,提高产品的开发效率。维护和功能扩展都非常方便。

    时间:2021-04-15 关键词: 操作系统 嵌入式 控制系统 上位机 下位机

  • 4.3寸TFT的MSP430程序

    4.3寸TFT的MSP430程序

    一、TFT简介 TFT(触摸屏)Thin Film Transistor (薄膜场效应晶体管),是指液晶显示器上的每一液晶象素点都是由集成在其后的薄膜晶体管来驱动,从而可以做到高速度高亮度高对比度显示屏幕信息, TFT触摸屏薄膜晶体管液晶显示器,是多数液晶显示器的一种在众多的平板显示器激烈竞争中,TFT触摸屏能够脱颖而出,成为新一代的主流显示器决不是偶然的,是人类科技发展和思维模式发展的必然。液晶先后避开了困难的发光问题,利用液晶作为光阀的优良特性把发光显示器件分解成两部分,即光源和对光源的控制。作为光源,无论从发光效率、全彩色,还是寿命,都已取得了辉煌的成果,而且还在不断深化之中。LCD发明以来,背光源在不断地进步,由单色到彩色,由厚到薄,由侧置荧光灯式到平板荧光灯式。在发光光源方面取得的最新成果都会为TFT触摸屏提供新的背光源。随着光源科技的进步,会有更新的更好的光源出现并为TFT触摸屏所应用。余下的就是对光源的控制,把半导体大规模集成电路的技术和工艺移植过来,研制成功了薄膜晶体管(TFT)生产工艺,实现了对液晶光阀的矩阵寻址控制,解决了液晶显示器的光阀和控制器的配合,从而使液晶显示的优势得以实现。 应用领域:要应用于计算机、视频终端、通讯及仪器仪表等行业。主要应用领域有笔记本电脑、台式计算机监视器、工作站、工业监视器、全球卫星定位系统(GPS)、个人数据处理、游戏机、可视电话、便携式VCD、DVD及其它一些便携装置。 二、TFT基本驱动 4.3寸TFT(Thin-Film Transistor)的读写时序和1.8、2.4大小的几乎一样(毋宁说就是一样)。 数据写入模式可在16位和8位数据位选择。 MSP430使用首先配置引脚的输入输出方向,进而分配引脚。 时序控制引脚的分配 LCD_RS_H时数据写入,LCD_RS_L时命令写入。 void LCD_Writ_Bus(unsigned int VH,unsigned int VL) //并行数据写入函数 { LCD_CMDOUT; LCD_DataH_Out; LCD_DataL_Out; LCD_CS_L; //LCD_RS_H; //RS=1;高写数据 LCD_WR_L; DataH_OUT = VH; DataL_OUT = VL; LCD_WR_H; LCD_CS_H; } void LCD_WR_DATA8(unsigned int VH,unsigned int VL) //发送数据-8位参数 { LCD_RS_H; //RS=1;高写数据 LCD_Writ_Bus(VH,VL); } void LCD_WR_Data(unsigned int da) { LCD_RS_H; //RS=1;高写数据 LCD_Writ_Bus(da>>8,da); } void LCD_WR_REG(unsigned int da) { LCD_RS_L; //RS=0;低写命令 LCD_Writ_Bus(da>>8,da); } LCD驱动芯片采用SSD1960,对照其Datasheet操作相关寄存器。 //初始化函数 void TFT_Init(void) { LCD_WR_REG(0x00E2); //PLL multiplier, set PLL clock to 120M LCD_WR_Data(0x0023); //N=0x36 for 6.5M, 0x23 for 10M crystal LCD_WR_Data(0x0002); LCD_WR_Data(0x0004); LCD_WR_REG(0x00E0); //PLL enable LCD_WR_Data(0x0001); delay_time(1); LCD_WR_REG(0x00E0); LCD_WR_Data(0x0003); delay_time(5); LCD_WR_REG(0x0001); // software reset delay_time(5); LCD_WR_REG(0x00E6); //PLL setting for PCLK, depends on resolution LCD_WR_Data(0x0001); LCD_WR_Data(0x0033); LCD_WR_Data(0x0032); LCD_WR_REG(0x00B0); //LCD SPECIFICATION LCD_WR_Data(0x0018); LCD_WR_Data(0x0000); LCD_WR_Data((HDP>>8)&0X00FF); //Set HDP LCD_WR_Data(HDP&0X00FF); LCD_WR_Data((VDP>>8)&0X00FF); //Set VDP LCD_WR_Data(VDP&0X00FF); LCD_WR_Data(0x0000); LCD_WR_REG(0x00B4); //HSYNC LCD_WR_Data((HT>>8)&0X00FF); //Set HT LCD_WR_Data(HT&0X00FF); LCD_WR_Data((HPS>>8)&0X00FF); //Set HPS LCD_WR_Data(HPS&0X00FF); LCD_WR_Data(HPW); //Set HPW LCD_WR_Data((LPS>>8)&0X00FF); //Set HPS LCD_WR_Data(LPS&0X00FF); LCD_WR_Data(0x0000); LCD_WR_REG(0x00B6); //VSYNC LCD_WR_Data((VT>>8)&0X00FF); //Set VT LCD_WR_Data(VT&0X00FF); LCD_WR_Data((VPS>>8)&0X00FF); //Set VPS LCD_WR_Data(VPS&0X00FF); LCD_WR_Data(VPW); //Set VPW LCD_WR_Data((FPS>>8)&0X00FF); //Set FPS LCD_WR_Data(FPS&0X00FF); LCD_WR_REG(0x00F0); //pixel data interface LCD_WR_Data(0x0003); LCD_WR_REG(0x0021); //进入图形颜色翻转模式 LCD_WR_REG(0x00BC); //重要Set the image post processor LCD_WR_Data(0x0080); //对比度Set the contrast value LCD_WR_Data(0x0080); //亮度Set the brightness value LCD_WR_Data(0x0080); //饱和度值Set the saturation value LCD_WR_Data(0x0001); //处理机允许Post Processor Enable delay_time(5); TFT_CLEAR(0X07FF); //GBLUE LCD_WR_REG(0x0029); //display on } void TFT_CLEAR(uint color) { unsigned int l=480,w; LCD_WR_REG(0x002A); LCD_WR_Data(0); LCD_WR_Data(0); LCD_WR_Data(HDP>>8); LCD_WR_Data(HDP&0x00ff); LCD_WR_REG(0x002B); LCD_WR_Data(0); LCD_WR_Data(0); LCD_WR_Data(VDP>>8); LCD_WR_Data(VDP&0x00ff); LCD_WR_REG(0x002C); while(l--) { for(w=0;w<272;w++) LCD_WR_Data(color); } }

    时间:2021-04-15 关键词: 驱动 MSP430 3寸TFT

  • 单片机在GPS和CDMA计时系统中的设计

    单片机在GPS和CDMA计时系统中的设计

    摘要介绍了一种基于MSP430单片机的GPS和CDMA双接收计时系统的设计思路与方法,并给出了系统的硬件电路和软件流程。该系统采用GPS和CDMA时钟信号,其可以自动调整时间,同时还拥有多方位保障时间的精确性、一致性、高可靠性及环境适应性强的优势。 在可靠性、扩展性、控制功能以及体积、功耗等方面比其他电子产品具有优越性。在天文、地震台、航空航天等对时间精度较高的场合,以及国防、通信、电力、交通等要求高精度时间同步的领域,得到广泛应用。 1 系统硬件设计方案 1.1 系统总体设计 基于MSP430单片机的GPS和CDMA双接收计时系统,是传统钟表计时技术与现代时频、微电子、通讯、计算机等多项技术的结合,通过接收不同形式的时间码,经内置微处理器解码处理,自动校准计时器走时,使该系统显示时间与标准时间自动保持精确同步。除保留传统机械时钟计时特点外,还增加了LCD数字显示,双显示方式。接收GPS、CDMA信号,实现双系统联合精确定时,在接收到精确的时码后,经数据处理器处理,即可自动校正时钟的走时误差,使每只时钟的走时均受统一精确的时码控制,从而实现了高精度计量时间的一致性,同时也可手动校时、接收时间信号,系统硬件框图如图1所示。 图1 系统硬件框图 1.2 系统各部分的硬件设计 1.2.1 MSP430 MCU MSP430F5xx是德州仪器仪表推出的实现超低功耗MSP430 MCU系列产品。该系列针对峰值高达25 MHz的产品,实现业界最低的功耗,拥有更高的闪存与RAM存储器存储容量,以及射频(RF)、USB、加密和LCD接口等集成外设。MSP430F5xx MCU的工作功耗与待机功耗仅为160μA/Hz与1.5μA,系统能以较小功耗运行的同时可执行高强度的任务。可充分发挥高达25 MHz峰值执行性能,同时确保功耗仅为160μA/HMz。MCU采用16位精简指令,一个时钟周期可执行一条指令,运行速度可达25~30 MI·s-1,而传统51单片机6个或12个时钟周期可执行一条指令。以上特点确保了其可编制出高效率的源程序,用以满足电池供电超低功耗要求。 1.2.2 GPS接收模块 GPS模块是应用较广的一种导航、定位和定时的多功能系统,具有全天候、高精度、自动测量以及体积小、功耗低的特点,且技术成熟、价格低廉。 GPS模块为系统提供GPS定时、定位信息,设计采用u-blox公司的MAX-6Q,其具有以下特点:(1)精度高,抗干扰能力强。(2)启动时间短,冷启动只需26 s,热启动只需1 s。(3)串行接口有1UART、1DDC,可方便与MSP430F5xx的UART模块通信。(4)体积小,电压为3.3 V,与MSP430F5xx相同。(5)输出信息采用标准的NEMA-0183协议。 1.2.3 CDMA接收模块 CDMA无线通信模块从CDMA基站上获取标准的时间信号,CDMA校时系统信号稳定,不易受电源、外界无线电干扰,便于部署在任何有CDMA信号的地方。针对以上特性,在室内无卫星信号或GPS信号难于接收的地点使用,恰好解决了常见的GPS模块局限性问题。 CDMA接收模块采用华为MC323模块,MC323将基带、RF收发器、电源管理模块单元、功率放大器集成,功能全面、应用广泛。其电路框图如图2所示。 图2 MC323电路框图 2 系统软件设计方案 系统的软件部分主要负责设置GPS模块与MCU之间的串口通信1、CDMA模块与MCU之间的串口通信2、时间的显示及人机接口。其主要包括初始化、串口通信、数据处理、故障提示、显示、键盘处理及电源管理等部分,其中初始化包括MSP430中各种寄存器的配置、串口相关参数配置以及外围电路的初始化等。 2.1 系统软件双接收的整体方案 系统采用GPS和CDMA双模式接收,同时可定时进行自动接收,也可通过外部接收按键进行强制接收。软件优先接收GPS模块的数据信息,当GPS数据无效或无法采集到信号时,再接收CDMA数据。若GPS和CDMA接收的数据有效,则更新数据;若无效,则数据保持。系统双接收处理流程如图3所示。 图3 系统双接收处理流程图 2.2 GPS模块接收方案 GPS模块MAX-6Q通信采用串口通信1,包括数据发送、接收、校验、通信障碍提示等,数据处理主要有GPS接收数据的解码、存储和数据刷新等。MAX-6Q的数据输出为NMEA-0183格式,最大更新速率5 Hz,为保证数据传输的可靠性与实时性,并提高单片机的利用率,文中采用中断方式而非查询方式。 在中断处理程序中,将接收到的GPS数据放入数组中,通过读取数据包的前7 bit,可判断该数据包格式,系统只处理了NEMA中GPGGA和GPZDA两种格式的消息,并定义了两种相应的处理函数,其各函数功能如下: GPZDA()函数:提出UTC日期和时间。 GPRMC()函数:提出UTC日期、时间、经度和纬度信息。 通过GPS数据处理,误码的判断,刷新数据显示,其GPS处理流程如图4所示。 2.3 CDMA模块接收方案 CDMA模块MC323通信采用串口通信2,数据处理主要是CDMA接收数据的解码、存储和数据刷新等。 CDMA接收打开,CDMA模块进行初始化。MSP430F5xx打开串口2向CDMA模块MC323发出查询指令“AT^TIME”,若查询时间超过10 min,则自动退出查询。CDMA模块MC323收到“AT^TIME”查询指令后,向单片机返回时间信息,而单片机将对时间信息进行分析处理并将处理后的时间信息进行存储和更新,CDMA处理流程如图5所示。 3 结束语 根据GPS和CDMA的不同特点,采用两种接收模式联合定时,不仅在GPS接收正常时,能保证时间的高精度、一致性,且在GPS失效或室内GPS信号接收困难时,通过CDMA接收,同样保障了时间的精确性和一致性,且还具有可靠性高、环境适应性强的特点。本单片机采用MSP430,其不仅功耗低,且处理能力强,模拟技术性能高及片上外围技术丰富,故满足了低功耗高性能的要求。此外,性能还可满足高精度计时系统对时间精度性和实时性的要求,本设计不论在室外或室内均具有良好的接收、自动智能授时能力。其既可满足精度要求较高的天文、航空航天等系统,又可满足普通民用使用,还可应变特殊情况下的使用需求,因此拥有良好的应用前景。

    时间:2021-04-15 关键词: CDMA GPS 单片机 计时系统

  • 基于MSP430单片机的称重式液位仪的设计

    基于MSP430单片机的称重式液位仪的设计

    1 引言 液位测控仪是属于智能化仪器仪表的一种(指采用了微处理器的仪器仪表),其发展始于70年代[1]。它是一种集测量与控制于一体的智能化产品,适用于石油化工、冶金、电力、制药、环保等行业中各种介质的液位测量。本仪器主要针对罐体内液体进行测量并能计算其重量,适用于对各种液态物质进行静态和动态测量与监控,并具有超限报警和主-从站模式联网功能。 2 系统设计方案 2.1 液位传感器的选择 一般情况下在液位测量中所采用的传感器有:压力传感器、超声波传感器、浮子式传感器等,由于系统设计中要求在测量液位的同时还要实现液体重量的检测。在液罐内,液体重量P的检测可直接利用计算得到,即P=H*S*ρ(H为液体高度CM;S为圆面积M2;ρ为液体比重),因此只有提高液位测试的分辨率才能保证液体重量测试的精度,本系统中液位测试分辨率为1cm。另外,考虑到压力传感器接口电路相对采用超声波传感器的接口电路要简单,因此确定采用压力传感器。 2.2 MSP430单片机 MSP430单片机为低功耗16位单片机,具有典型的SOC特点,集成大量外设。尤其是其内部集成的波特率微调器,可以使MCU在不低于32768HZ的任意晶振(但不能超过MCU对晶振要求的上限)下工作时,其通信波特率的选择可不受波特率因子不能带有小数的限制,即:在波特率的允许范围内可使用任意频率的晶振[2] [3]。另外,由于MSP430 MCU内部集成了温度传感器,可以很方便的实现对测液位所用的压力传感器的温度补偿。而且MSP430系列单片机针对不同的应用而由各种不同的模块组成,这些微控制器被设计为可用电池工作,并且可以使用很长时间。 2.3 模拟信号转换技术 由于系统的执行部件为电磁阀,易产生电磁干扰,因此为能够可靠的工作必须要使系统具有较高的抗干扰性。 一种方法是直接利用MCU内部的A/D转换器,其特点是:无须外围电路,采样速度快,但抗干扰能力较差[4]。 另一种方法是使用V/F变换器来实现A/D转换。由于V/F变换是利用积分电容的电荷平衡原理实现电压频率转换,因此该方式稳定性好,分辨率高,信号线少,便于实现光电隔离以提高系统的抗干扰性,但转换速度相对较慢。 考虑到压力信号是一个缓变信号,一般无须快速采样,为使系统具有较高的抗干扰性,根据分析对比,选择采用V/F变换器来实现对压力信号的处理,计算处理较简单,在测量精度方面也能达到使用要求,并且易于做到实时控制。 3 系统总体组成结构及工作原理 如图1所示,整个系统由单片机主机系统、传感器信号处理电路、液位控制电路、声光报警、键盘、液晶显示、电源模块和通信等模块组成。P1口作为系统的数据线,V/F转换电路的输出信号作为中断请求信号接至MCU的P2.4脚,P2.6和P2.7为执行部件电磁阀的控制信号,分别控制进液、出液电磁阀。声光报警电路的控制信号为P2.5。键盘接口电路通过P3.0,P3.1和P3.2接入MCU用来控制系统的6个按键。系统通过P3.0和P3.3输出信号给74HC245用做LCD汉字液晶显示器的数据接口,P3.0和P3.3用做LCD的控制信号。P3.4和P3.5为MCU的串行通信数据线,经由通信电路与从机连接,用来进行主站、从站之间的串行通信。系统的电源模块产生3.3V、+5V和-5V电压,分别为主机系统和传感器接口电路提供稳定的工作电压。 图1 系统总体构成图 本系统通过压力传感器进行液体压力的数据采集,经过V/F转换模块进行液位高度和液体重量的标定,实现高精度的测量。当容器内的液位值超过了设定值或警戒值时,系统自动启动报警电路进行声光提示报警。用户可以通过键盘设定液位的上、下限值和进液、出液量等参数,以便使容器内液位保持设定的液位值。系统采用大屏幕液晶汉字显示,可以显示出当前液位值、设定的液位上下限值、容器内当前液体重量和进液、出液阀门的状态等。主站控制8个从站中的任意一个,并完成主站和从站的同步通信,主站具有该系统的所有功能,并且可以对从站中的液位上下限值等进行设置,主站在巡回检测时,可以任意设定要查询的从站数目、从站号和从站容器中的液位高度。当主站、从站中的液位超过警戒限时,主站可以进行声光报警并能显示报警的从站号。同时从站也可以依据通信协议通过通讯模块将从站号、液位值和报警信号传送给主站,并且从站可以接受主站的控制信息并能自动执行,还可以自动报警和解除报警。系统中从站号可以任意设定。同时该系统还可以实时显示工作环境的温度和时间。 4 系统的主要硬件电路设计 4.1 V/F转换电路设计 如图2所示,输入电压经射随器UD1A从LM331的7脚输入,电阻RD7 可以抵消6脚的偏流影响,从而减小频率误差,为了减少LM331的增益误差和由RD10、RD11、CD2引起的偏差,RD13选用51K电阻CD1为滤波电容。当6脚和7脚的RC时间常数相匹配时,输入电压的阶跃变化将引起输出频率的阶跃变化,如果CD3比CD1大的多那么输入电压的阶跃变化可引起输出频率的瞬间停止,6脚的电阻和电容可以差生滞后效应,以获得良好的线性度。 图2 V/F转换电路原理图 4.2液位检测及控制电路 系统通过压力传感器进行数据信号采集,采集到的信号经过运算放大器进行信号放大。放大后的信号送入V/F进行压频转换,将其输出的频率信号作为中断请求信号接至MCU的P2.4脚,由MCU对其进行处理后,将其转换成液位值,并根据液位设定值和上、下限值控制相应的电磁阀,使容器内液位高度与设定值保持一致。为便于电路的调试和观察,每个电磁阀都设有工作状态指示灯,表明当前是出液阀还是进液阀正在工作。其控制电路见图3。 图3 液位测量及控制电路 4.3 声光报警电路设计 声光报警电路由三极管、发光二极管、电阻、电容、蜂鸣器等组成,当所测到的液位值超过所设定的警戒值时,单片机发出报警信号,当收到报警信号后发光二极管OUT被点亮、蜂鸣器发出声音,产生声光报警。 5 系统软件设计 系统的软件采用模块化结构设计,分为六大块即:系统初始化模块、LCD显示模块、按键识别及处理模块、液位检测及控制模块、主从站通信模块。时间、工作环境温度检测模块。 系统通过初始化模块设置显示缓冲区、堆栈指针、操作标志和工作寄存器、各I/O端口的方向、系统定时器模块、通信模块、以及系统中断设置等。键盘模块负责按键的识别和按键处理,当有按键动作时调用相应的按键处理子程序进行处理。可实现对进出的液体量和上、下报警限进行设置,也可利用按键对各电磁阀进行手动控制。当液位超过警戒限时,调用液位检测及控制模块进行相应的控制,以使相应的电磁阀动作。在自动检测和自动控制的同时,将相关数据和控制参数,通过通信模块发送给主站。各从站在进行检测和控制的同时也在不断的侦听主站是否有命令或数据发送过来,如果有则立即处理。 6 结论 本仪器可广泛应用于测量水、油、酸类、酒类、饮料等的液位高度。可根据设定的上下两个极限液位,自动控制进液和排液,并具有多台联网功能。本仪器工作性能稳定可靠,体积小,测量及控制准确灵敏,安装使用方便,功耗低。目前已在一家食品企业中投入使用。 创新点 采用的16位单片机MSP430具有高性能低功耗的特点,是取代8位51系列单片机的较好选择。而且测量方法非常简洁且精度高、测试范围较广,具备称重功能和主-从站模式联网功能。

    时间:2021-04-15 关键词: 单片机 MSP430 称重式液位仪

  • 基于MSP430的超低功耗空间定向测试仪设计

    基于MSP430的超低功耗空间定向测试仪设计

    0 引言 空间定向测试仪是一种应用非常广泛的电子测量仪器,尤其是伴随着微电子技术的发展,空间定向测试仪在车辆、舰船、飞行器等导航领域中的应用日趋成熟。本文所研究的空间定向测试技术主要是以MSP430单片机为基础的。因为MSP430系列单片机是一种16 位超低功耗、具有精简指令集(RISC)的混合信号处理器,它能针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上。因此,笔者研究了如何用MSP430单片机控制各模块的接口电路,并且能够很好地应用于实际测量当中。 1 空间定向测试各硬件接口的设计 本文主要研究的是基于MSP430 单片机的空间定向测试仪,该仪器的工作原理是将方位信息接收器接收到的数据传输给MSP430 单片机的可读存储器中,然后在经过输出端显示到液晶屏上。在这一过程中,我们需要设计一个硬件接口电路,连接信息接收器和液晶显示器,而MSP430 单片机的读写控制则需要通过语言编程来完成。 基于MSP430 单片机的空间定向测试仪设计的基本思想是利用MSP430 单片机操控方便、接口简单、体积小、低能耗以及低成本等优点,将其作为嵌入式系统以便扩展空间定向测试仪的功能。由于空间定向测试仪的信息接收模块接口电路较少,但是应用范围非常广泛,因此需要设计多接口电路联接显示器、单片机等。此外,为了提高空间定向测试仪的数据处理和应用能力,需要实现PC 机与空间定向测试仪的串行通信。实现良好的人机对话,操作简单以及友好界面,有人性化的输入能力和显示能力。因此,其硬件接口模块设计如图1 所示。 MSP430 单片机是空间定向测试仪的核心部位,它不仅可以对整个仪器的内部软件模块进行协调处理,而且还能够对收集到的各种数据信息进行分类整理,计算出相应的数值。加速传感器主要使用的是ADXL203,ADXL203 是完整的高精度、低功耗、单轴/ 双轴加速度计,提供经过信号调理的电压输出,所有功能均集成于一个单芯片IC 中。这些器件的满量程加速度测量范围为±1.7 g,既可以测量动态加速度,也可以测量静态加速度。基于MSP430 单片机的空间定向测试仪的整个信号电路是对传感器的输出信号进行放大和滤波,电路的晶振频率是411.0592MHz,波特率是4800,此时设波特率的初始值为FFFAH.标定数据库主要是由AT24C16 存储器构成,其低压和标准电压为Vcc=1.8V-5.5V,拥有2048×8(4k)的存储空间,2 线串行总线,斯密特触发,噪声抑制滤波输入。Bi 方向传输协议,100kHz(1.8V,2.5V,2.7V)和400kHz(5V)兼容传输速率。硬件数据写保护引脚,8 位页写模式,允许局部页写操作,器件内部写周期最大10ms,高可靠性,1 万次的写周期,100 年的保存时间。在LCD 显示屏方面主要根据LCD 的串/ 并行数据接收模式,如果是低电平采用的是串行模式,如果是高电平则采用并行模式,此外,液晶显示屏设计为中心对称可以正反显示,方便读取数值。键盘部分采用的则是16 键盘,4×4 阵列,从PB 口低4 位引出列线,PC 低四位引出行线,然后通过电阻接+5V 电压。键盘的电源键负责开关机的控制,显示模式选择键则是控制测试仪的空间定向信息,测量方式选择键用于不同情况下方位测量的相互切换。保持按键则是将测量结果保持在显示器上方面读取。为了降低空间定向测试仪的功耗,MSP430 单片机可以根据实际情况增加高电平,发出键盘扫描信号,其他情况则可以采用能耗较低的低电平。 基于MSP430 单片机的空间定向测试仪的串行输入口和串行输出口分别与MSP430 单片机相连,主要负责接收方位信息接收器传输的各种信息。基于MSP430 单片机的空间定向测试仪供电电压范围是1.8 ~ 3.0V,该测试仪的硬件平台需要使用三种电压,内核的工作电压为1.8V,存储器和外部I/O 设备的工作电压为3.3V,系统平台的工作电压则为4.2V.该仪器所使用的是宽电平输出,通过转换器进行多电平输出,并且可以通过LM317 稳压器得到稳定电压。此外,复位电路的设计也是相当重要的一个环节,复位电路主要完成测试仪的上电复位和测试仪在运行过程中用户的按键复位功能。复位电路主要由简单的RC 复位电路组成,拥有可靠的逻辑复位功能。为了保证测试仪能够有效复位,需要选择合适的参数,调整复位状态的时间。对于S3C2410X,在测试仪上电后nRESET 端必须保持低电平至少有4 个MCLK 周期,两级非门电路用于按钮去抖动和波形整形;nRESET 端的输出状态与Reset 端相反,用于高电平复位。 2 空间定向测试各接口的软件设计 基于MSP430 单片机的空间定向测试仪的软件工作平台主要有内嵌式编辑器、编译器、汇编器、连接器、调试器以及函数库管理器。基于MSP430 单片机的空间定向测试仪的编程主要可以分为方位信息接收器数据输入的传统通信程序设计、LCD 数据显示输出的程序设计、下位机串口通信模块程序三大部分。 2.1 接收方位信息流程设计 接收方位信息的流程如下图2 所示。首先需要设置一个串口中断,串行控制寄存器RI 表示接收中断的标志位,当RI=1 时,说明空间定向测试仪接收到数据。然后将RI 至零,判断下一组数据的信息状态。将路径字母输入缓冲区中,判断该语句是否为A(电流数据),如果判断为A 就将所需要的语句输出到LCD 显示屏上,如果为V(电压数据),则不进行显示。 2.2 液晶显示流程设计 MSP430单片机通过中断接收主通信控制器发来的数据,并将接收到的数据送给LCD 显示。通信参数设置为波特率为1200bps,8 个数据位,CRC 校验。对接收到的数据汉字采用16*16 的点阵、字母和数字母采用8*16 的点阵显示。由于需要显示的汉字、字母和数字是固定的,所以采用直接固化显示字模到FLASH 中的方法。这种方法占用空间少,程序实现简单,显示速度快,适合字模数据库不大的情况。液晶显示程序流程如图4 所示。 2.3 下位机串口通信流程设计 首先调用初始化函数进行系统初始化,串口通信结构图如图5 所示。初始化完毕后,程序进入主循环。每次循环时,程序首先调用DoUart 处理串行通信接收缓冲区中的数据。处理完毕后,如果有需要发送给PC 机的数据,就调用SendUart 函数发送数据。如果串行通信模块收到数据,则CPU 退出低功耗模式,而进入串行接收中断程序。退出中断程序后,CPU 不再进入低功耗模式,并执行跳转语句,进行下一轮循环,再次调用DoUart 和SendUart 函数。若没收到数据,则CPU 会一直处于低功耗模式。 3 调试 IAR C-SPY 高级调试器与IAR Embedded Workbench的工作环节能够很好的匹配在一起,可以形成一个拥有较强功能的高级语言交互调试器,可以对汇编语言或者C 语言进修调试。能够设置断点,进修单步运行,并且支持如Stepin,Step over 等多种单步运行方式,可以观察寄存器以及内存的数值,查看变量。 在这里,笔者使用硬件仿真调试Flash EmulationTool 模式。主要通过JTAG 接口与MSP430单片机的硬件系统相连接,然后下载程序。MSP430单片机接外围电路并且模拟硬件系统的真实环境进行调试,验证应用程序是否有错误,同时检验目标系统的硬件设计是否足够完善。 4 结束语 综上所述,单片机是将计算机、微电子以及现代通讯融合在一起的高新技术,在工业控制以及测量领域的应用非常广泛。本文研究的MSP430 单片机的主要特点是可靠性高、操作简单、维护方便。基于MSP430 单片机的空间定向测试仪有超低的功耗,而且在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处。因此在车辆、舰船、飞行器等导航领域中有着非常广泛的发展和应用前景。本文主要介绍了基于MSP430 单片机的空间定向测试仪的结构设计,对其硬件结构设计以及软件结构设计进行了细致的分析研究,从而能够满足实际应用对基于MSP430 单片机的空间定向测试仪在性能以及可靠性方面的需求,为基于MSP430 单片机的空间定向测试仪未来的发展提供更加广阔的空间。

    时间:2021-04-15 关键词: 超低功耗 MSP430 空间定向测试仪

首页  上一页  1 2 3 4 5 6 7 8 9 10 下一页 尾页
发布文章