Jacktang

  • 2019-08-22
  • 发表了主题帖: ztool不能连接问题

    问题:淘宝购买shenhuo603板子,下载完后ztool不能扫描到设备   解决:1、正确引脚配置(hal_board_cfg.h)          2、代码段配置,f8w2430.xcl中打开 -M(CODE)_BANK1A-1FFFF,28000-2FFFF,38000-3DFFF,3F000-3fff7=(_CODE_END+1)-0xFFFF,0x10000-0x17FFF,0x18000-0x1DFFF,0x1F000-0x1FFF7 3、宏定义:CC2430EB ZTOOL_P1 MT_TASK LCD_SUPPORTED=DEBUG 4、编译、下载 5、跳线、连接串口 4、配置ztool:Rate,38400; HandShake:None; Data Bits:8; Parity:None; Stop Bit:1;  

  • 发表了主题帖: ZigBee组网原理详解

    本帖最后由 Jacktang 于 2019-8-23 08:23 编辑 1.组网概述     组建一个完整的zigbee网状网络包括两个步骤:网络初始化、节点加入网络。其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网。     ZigBee网络中的节点主要包含三个:终端节点、路由器节点、PAN协调器节点     节点功能:     协调器节点:ZigBee协调器是网络各节点信息的汇聚点,是网络的核心节点,负责组建、维护和管理网络,并通过串口实现各节点与上位机的数据传递;ZigBee协调器有较强的通信能力、处理能力和发射能力,能够把数据发送至远程控制端。     路由器节点:负责转发数据资料包,进行数据的路由路径寻找和路由维护,允许节点加入网络并辅助其子节点通信;路由器节点是终端节点和协调器节点的中继,它为终端节点和协调器节点之间的通信进行接力。     终端节点:终端节点可以直接与协调器节点相连,也可以通过路由器节点与协调器节点相连。 2. 网络初始化预备     Zigbee网络的建立是由网络协调器发起的,任何一个zigbee节点要组建一个网络必须要满足以下两点要求:     (1)节点是FFD节点,具备zigbee协调器的能力;    (2)节点还没有与其他网络连接,当节点已经与其他网络连接时,此节点只能作为该网络的子节点,因为一个zigbee网络中有且只有一个网络协调器。 FFD:Full Function Device 全功能节点 RFD:Reduced FunctionDevice 半功能节点     全功能设备(FFD):设备可提供全部的IEEE 802.15.4 MAC服务,可充当热河ZigBee设备,因此FFD设备不仅可以发送和接收数据,还具备路由功能。     精简功能设备(RFD):设备只提供部分的IEEE 802.15.4 MAC服务,智能充当终端节点,不能充当协调点和路由节点,因此它只负责将采集的数据信息发送给协调点和路由点,并不具备数据转发、路由发现和路由维护等功能。 3.网络初始化流程     ZigBee网络初始化只能是由网络协调器发起的,在组建网络前,需要判断本节点还没与其他网络连接,如果节点已经与其他网络连接时,此节点只能作为该网络的子节点。一个ZigBee网络中有且仅有一个ZigBee协调器,一旦网络建立好了,协调器就退化成路由器的角色,甚至是可以去掉协调器的,这一切得益于ZigBee网络的分布式特性。 3.1 确定网络协调器:     首先判断节点是否是FFD节点,接着判断此FFD节点是否在其他网络里或者网络里是否已经存在协调器。通过主动扫描,发送一个信标请求命令(Beaconrequest command),然后设置一个扫描期限(T_scan_duration),如果在扫描期限内都没有检测到信标,那么就认为FFD在其pos内没有协调器,那么此时就可以建立自己的zigbee网络,并且作为这个网络的协调器不断地产生信标并广播出去。 注意:一个网络里,有且只能有一个协调器(coordinator)。 3.2 进行信道扫描过程。     包括能量扫描和主动扫描两个过程:首先对指定的信道或者默认的信道进行能量检测,以避免可能的干扰。以递增的方式对所测量的能量值进行信道排序,抛弃那么些能量值超出了可允许能量水平的信道,选择可允许能量水平的信道并标注这些信道是可用信道。接着进行主动扫描,搜索节点通信半径内的网络信息。这些信息以信标帧的形式在网络中广播,节点通过主动信道扫描方式获得这些信标帧,然后根据这些信息,找到一个最好的、相对安静的信道,通过记录的结果,选择一个信道,该信道应存在最少的zigbee网络,最好是没有zigbee设备。在主动扫描期间,MAC层将丢弃PHY层数据服务接收到的除信标以外的所有帧。 3.3 设置网络ID。  找到合适的信道后,协调器将为网络选定一个网络标识符(PAN ID,取值《=0x3FFF),这个ID在所使用的信道中必须是唯一的,也不能和其他zigbee网络冲突,而且不能为广播地址0xFFFF(此地址为保留地址,不能使用)。PAN ID可以通过侦听其他网络的ID然后选择一个不会冲突的ID的方式来获取,也可以人为的指定扫描的信道后,来确定不和其他网络冲突的PAN ID。 在zigbee网络中有两种地址模式:扩展地址(64位)和短地址(16位),其中扩展地址由IEEE组织分配,用于唯一的设备标识;短地址用于本地网络中设备标识,在一个网络中,每个设备的短地址必须唯一,当节点加入网络时由其父节点分配并通过使用短地址来通信。对于协调器来说,短地址通常设定为0x0000。     上面步骤完成后,就成功初始化了zigbee网状网络,之后就等待其他节点的加入。节点入网时将选择范围内信号最强的父节点(包括协调器)加入网络,成功后将得到一个网络短地址并通过这个地址进行数据的发送和接收,网络拓扑关系和地址就会保存在各自的flash中。 4.节点通过协调器加入网络     当节点协调器确定之后,节点首先需要和协调器建立连接加入网络。     为了建立连接,FFD节点需要向协调器提出请求,协调器接收到节点的连接请求后根据情况决定是否允许其连接,然后对请求连接的节点做出响应,节点与协调器建立连接后,才能实现数据的收发。节点加入网络的具体流程可以分为下面的步骤: 4.1 查找网络协调器。     首先会主动扫描查找周围网络的协调器,如果在扫描期限内检测到信 标,那么将获得了协调器的有关信息,这时就向协调器发出连接请求。在选择合适的网络之后,上层将请求MAC层对物理层PHY和MAC层的phyCurrentChannel、macPANID等PIB属性进行相应的设置。如果没有检测到,间隔一段时间后,节点重新发起扫描。 4.2 发送关联请求命令(Associaterequest command)。     节点将关联请求命令发送给协调器,协调器收到后立即回复一个确认帧(ACK),同时向它的上层发送连接指示原语,表示已经收到节点的连接请求。但是这并不意味着已经建立连接,只表示协调器已经收到节点的连接请求。当协调器的mac层的上层接收到连接指示原语后,将根据自己的资源情况(存储空间和能量)决定是否同意此节点的加入请求,然后给节点的mac层发送响应。 4.3 等待协调器处理。     当节点收到协调器加入关联请求命令的ACK后,节点mac将等待一段时间,接受协调器的连接响应。在预定的时间内,如果接收到连接响应,它将这个响应向它的上层通告。而协调器给节点的mac层发送响应时会设置一个等待响应时间(T_ResponseWaitTime)来等待协调器对其加入请求命令的处理,若协调器的资源足够,协调器会给节点分配一个16位的短地址,并产生包含新地址和连接成功状态的连接响应命令,则此节点将成功的和协调器建立连接并可以开始通信。若协调器资源不够,待加入的节点将重新发送请求信息,直接入网成功。 4.4 发送数据请求命令。 如果协调器在响应时间内同意节点加入,那么将产生关联响应命令(Associateresponse command)并存储这个命令。当响应时间过后,节点发送数据请求命令(Datarequest command)给协调器,协调器收到后立即回复ACK,然后将存储的关联响应命令发给节点。如果在响应时间到后,协调器还没有决定是否同意节点加入,那么节点将试图从协调器的信标帧中提取关联响应命令,成功的话就可以入网成功,否则重新发送请求信息直到入网成功。 4.5 回复。     节点收到关联响应命令后,立即向协调器回复一个确认帧(ACK),以确认接收到连接响应命令,此时节点将保存协调器的短地址和扩展地址,并且节点的MLME向上层发送连接确认原语,通告关联加入成功的信息。 5.节点通过已有节点加入网络     当靠近协调器的FFD节点和协调器关联成功后,处于这个网络范围内的其他节点就以这些FFD节点作为父节点加入网络了,具体加入网络有两种方式,一种是通过关联(associate)方式,就是待加入的节点发起加入网络;另一种是直接(direct)方式,就是待加入的节点具体加入到那个节点下,作为该节点的子节点。其中关联方式是zigbee网络中新节点加入网络的主要途径。     对于一个节点来说只有没有加入过网络的才能进行加入网络。在这些节点中,有些是曾经加入过网络中,但是却与它的父节点失去联系(这样的被称为孤儿节点),而有些则是新节点。当是孤儿节点时,在它的相邻表中存有原父节点的信息,于是它可以直接给原父节点发送加入网络的请求信息。如果父节点有能力同意它加入,于是直接告诉它的以前被分配的网络地址,它便入网成功;如果此时它原来的父节点的网络中,子节点数已达到最大值,也就是说网络地址已经分配满,父节点便无法批准它加入,它只能以新节点身份重新寻找并加入网络。     而对于新节点来说,他首先会在预先设定的一个或多个信道上通过主动或被动扫描周围它可以找到的网络,寻找有能力批准自己加入网络的父节点,并把可以找到的父节点的资料存入自己的相邻表。存入相邻表的父节点的资料包括zigbee协议的版本、协议栈的规范、PAN ID和可以加入的信息。在相邻表中所有的父节点中选择一个深度最小的,并对其发出请求信息,如果出现相同最小深度的两个以上的父节点,那么随机选取一个发送请求。如果相邻表中没有合适的父节点的信息,那么表示入网失败,终止过程。如果发出的请求被批准,那么父节点同时会分配一个16位的网络地址,此时入网成功,子节点可以开始通信。如果请求失败,那么重新查找相邻表,继续发送请求信息,直到加入网络。 6.ZigBee分离流程     正常的分离过程:     1).协调器主动要求设备分离     协调器向设备发送接触连接命令,不管设备是否有ACK回应,协调器都认为该设备已经分离     2).已连接设备主动分离     设备主动向协调器发送接触连接命令,不管有没有收到协调器的ACK回应,设备都认为自己已经分离     3).异常分离过程     由于设备突然断电或者被阻挡覆盖,而造成的分离。前一种,在重启后,会发起孤儿请求连接。后一种,设备会尝试重试重传并等待ACK响应,如果没有响应,设备则为认为自己已经失去联系,间隔一段时间(默认为1s)后,节点重新并且不断的发起扫描。  

  • 发表了主题帖: 如何使TI 15.4-Stack支持470M频段

          TI 15.4-Stack 是 IEEE 802.15.4e/g 射频通信堆栈。它是 SimpleLink CC13xx/CC26x2 软件开发套件 (SDK) 的主要部分,可以针对低于 1GHz 应用或 2.4GHz 应用为星形拓扑网络提供支持。TI 15.4-Stack 运行于 TI 的 SimpleLink 微控制器 (MCU) 系列器件之上。低于 1GHz 实施方案具有多种重要优点,例如,在 FCC 频带中实现更远的距离,以及采用跳频更好地防止带内干扰。        中国AMR使用470-510频段, 然而,默认状态下15.4-Stack只支持433M频段,并且只能支持7个频点(频道间隔200Khz),以及50kbps GFSK模式及5Kbps的长距离两种模式。 需要怎样修改才能支持到470-510M频段呢? 如下是修改至470M频段的方法,请先通过TI学院了解15.4-Stack的相关概念, 软件 Code Composer Studio v7.4 或更高版本 SimpleLink CC13x0 SDK 2.30 or later Tera term 或任何其他等效的终端程序 硬件 2块420-510M频段 LAUNCHXL-CC1350-4 2 根 USB 线缆 2条470M 外接天线   步骤: 1. 如下图,将LAUNCHXL-CC1350-4上的C15移到C69上以使用SMA 连接头,来连接外置470M天线。CC1350-4的板载天线是868M频段,因此,此处使用SMA+外置天线。 2. 使用CCS导入测试工程,如下Link有详细描述: http://dev.ti.com/tirex/content/simplelink_academy_cc13x0sdk_1_13_03_11/modules/154-stack_01_sensor_collector/154-stack_01_sensor_collector.html   3. 修改mac_pib.h【Sensor及Collector两个工程共用这个文件,只需修改一次】,该文件包含在SDK的如下位置: C:\ti\simplelink_cc13x0_sdk_2_30_00_20\source\ti\ti154stack\high_level 将如下红框中的默认433300修改为470300, 可以根据实际情况修改。例如:如果是495M,则修改为495300。 4. 重新编译,烧录。 5. 经测试470M功能与433M功能完全一致。另外, 如下是使用频谱仪测试CC1350-4运行15.4-Stack的collector例程,在默认的433M与修改后的470M下的行为对比及性能。 图:433M起始扫频以确定工作信道 图:433M协调器周期性发送Beacon 图:470M起始扫频以确定工作信道 图:470M协调器周期性发送Beacon   总结: 默认的15.4-Stack在433M频段支持的是从起始的433.3Mhz到434.4的7个频道,每个频点间隔200Khz。通过上述修改,可调整到470M,注:频道间隔仍然是200Khz。通过SmartRFStudio工具导出433M和470M频段的参数进行对比,亦可发现两者在配置参数上的差别很小,仅涉及RF_cmdPropRadioDivSetup 及RF_cmdFs 两个结构的微小调整,其他参数均一致。

  • 2019-08-20
  • 发表了主题帖: 集成电源的隔离式 CAN 模块参考设计

           具有集成电源的隔离式 CAN 模块参考设计,提供了一个紧凑型解决方案,能够生成隔离式直流电源,同时支持隔离式 CAN 通信。此设计包含一个具有集成电源的增强型数字隔离器以及 CAN 收发器,旨在用于降低辐射以满足 CISPR22 B 类之类的标准,无需任何其他部件。 单电源解决方案(接口侧不需要单独的电源) BOM 成本降低 可扩展至其他 CAN 收发器 先进的 PCB 布局可减少辐射发射   原理图 设计指南  ISOW784x 具有集成式高效低辐射直流/直流转换器的高性能、5000VRMS 四通道增强型数字隔离器 数据表 (Rev. F) TCAN1042-Q1 具有 CAN FD 的汽车故障保护 CAN 收发器 数据表 (Rev. C)  具有集成电源的隔离式CAN 参考设计 应用 PLC 控制器 交流输入 BLDC 电机驱动 半导体制造 接触器 汽车类测试设备 源测量单元 (SMU) 火车控制和管理系统 电动自行车 HMI 电动轮椅 称重秤 轨道旁信令和控制系统 非公路用车 HMI 和显示系统 非公路用车传感器系统 非公路用车控制系统 飞机发动机控制/监测 飞行控制系统            

  • 发表了主题帖: 低于 1GHz 网络的基于中断的环境光和环境传感器节点参考设计

          TI 设计演示了一种低功耗的无线环境感应方法,确保实现长达 10 年的电池寿命。       此设计使用德州仪器 (TI) 的 SimpleLink™ 超低功耗低于 1GHz 无线微控制器 (MCU) 平台以及环境光线、湿度和温度感应技术,在通过备用电池供电运行时实现基于中断的传感器监控。 支持由室内照度级别触发的中断模式无线电唤醒 备用电池寿命很长(长达 10 年) 监控环境光线以精确控制楼宇的照明系统 感应环境湿度和温度以控制楼宇的 HVAC 系统 参考设计 低于 1GHz 的星型网络的湿度和温度传感器节点实现纽扣电池使用寿命长达 10 年以上 星型网络的湿度和温度传感器节点实现纽扣电池使用寿命长达 10 年以上  用于低于 1GHz 的网络的能量采集环境光和环境传感器节点参考设计    应用 Chromebook 和 WOA IP 网络摄像头 可视门铃 无线控制 无线环境传感器 日光收集装置 标准笔记本电脑 模拟安防摄像机 火警控制面板 (FACP) 热成像摄像机   设计源文件 原理图 TIDA-00758 Layer Plots TIDA-00758 Gerber TIDA-00758 CAD Files TIDA-00758 Fabrication Drawing 设计指南 照明传感器 运动检测器(PIR、uWave 等)    

  • 回复了主题帖: 我是做汽车音响产品,想了解下新产品如何防盗版,有没有好的方法?

    加密

  • 发表了主题帖: 无线耳塞电池超低待机功耗参考设计

    全新的无线耳塞通过手提箱内的电池充电 - 这种独特的设计需要小尺寸解决方案和高效的电源组件。 此外,该市场的大量需求增加了更经济地提供等效功能的需求。 这种超低功耗参考设计展示了由USB输入供电的充电盒电池和升压转换器。 18-μA超低待机电流 在充电情况下支持高达1.5 A的快速充电电流 输入高于输出时支持直通模式 充电效率高于85% 解决方案尺寸小 在耳塞中支持低至1mA的充电精度 设计资料 适用于无线耳塞电池充电器的超低待机功耗参考设计 测试数据 原理图 TIDA-050007 PCB TIDA-050007 Gerber TIDA-050007 Assembly Drawing TIDA-050007 CAD Files   应用 助听器 增强现实眼镜 数码听诊器 消费类无线模块 电动牙刷      

  • 2019-08-16
  • 发表了主题帖: C5000编译SUBC指令实现除法

    通过编程求解y=(ax^2-bx+c)/(dx+e),将商和余数分别放在数  据存储器1000H和1001H单元。  (1)已知a=8,b=6,c=10,d=7,e=9,x=5,求y。  (2)已知a=0.9,b=0.1,c=0.5,d=0.4,e=0.2,x=0.8,求y。         .title  "division.asm"         .mmregs                  Y       .usect  "Y",10H     ;若程序中要使用堆栈,必须先进行设置 X       .usect  "X",1                .data         ; 使用伪指令.sect,.text或.data改变段  table:  .word   8,6,10,7,9;分别将a,b,c,d,e放入堆栈 tal:    .word   5;独立开辟空间放X的值         .def    start    start:      STM     #Y,AR2               RPT     #4             MVPD    table,*AR2+     ;先开辟一个较大的堆栈区,用已知数充填             STM     #X,AR3               MVPD    tal,*AR3    ; 从程序存储器到数据存储器             LD      #0,A             LD      #0,B;累加器清0             STM     #Y,AR3;将数据段的首地址给ARx             STM     #X,AR2             SQURA   *AR2,A               ;A=(*AR2)^2             STL     A,*AR4          ;将累加器的低字节赋值给AR4指向的空间             MAC     *AR4,*AR3+,B      ;B=aX^2计算后AR3指向下一个地址             STL     B,*(0201H)             LD      #0,A      ;累加器初始化             MAC     *AR2,*AR3+,A          ;A = A+bX             STL     A,*AR4               SUB     *AR4,B     ;B=B-*AR4  =>   B=aX^2-bX             ADD     *AR3+,B        ;B=aX^2-bX+c             STL     B,*(0201H)             LD      #0,A             MAC     *AR2,*AR3+,A              ADD     *AR3,A;A=dX+e             STM     #0203h,AR4             STM     #0204h,AR5             STL     A,*AR4             STL     B,*AR5  ;验证答案             RPT     #15             SUBC    *AR4,B  ;除法             STL     B,*(1000H) ;商             STH     B,*(1001H)  ;余 end:        B       end         .end         .title  "vectors.asm"         .ref    start         .sect   ".vectors"         B   start         .end division.obj vectors.obj -o  division.out  -m  division.map -estart MEMORY { PAGE    0:     EPROM:  org=0e000h  len = 0100h     VECT:   org=0ff80h  len = 0004h PAGE    1:     SPRAM:  org=0060h   len = 0020h     DARAM1: org=0100h   len = 0010h     DARAM2: org=0080h   len = 0002h } SECTIONS {     .text   :>EPROM     PAGE    0     .data   :>EPROM     PAGE    0         X   :>DARAM1    PAGE    1         Y   :>DARAM2    PAGE    1     .vectors:>VECT      PAGE    0 } ;cmd脚本文件,定义空间位置           .title  "division.asm"         .mmregs                 ;将寄存器符号设置为全局可用         .bss   a,6         .bss   b,1         .data table1:     .word   8*32768/10,9*32768/10,1*32768/10,5*32768/10,4*32768/10,2*32768/10 table2:     .word   8*32768/10         .def    start   ;.def表示某符号在本文件定义,可为其他文件引用         .text start:      SSBX    FRCT             STM     #a,AR2             RPT #6             MVPD    table1,*AR2+             STM     #b,AR3             MVPD    table2,*AR3             LD      #0,A             LD      #0,B             STM     #a,AR2             STM     #b,AR3             MPY     *AR3,*AR2+,A   ;乘法  等同SQURA *AR3,A 得出值      假如为005F7A**** ;即00 0101 1111 0111 1010*****=2^(-1)+2^(-3)+……  如果不是特别要求可以省略低字节数据             STH     A,*AR4             STH     A,*(0200H)      ;     A=X^2的值存储在0200H             MAC     *AR4,*AR2+,B             STH     B,*(0201H)       ;B=aX^2将值存储在0201H             LD      #0,A             MAC     *AR3,*AR2+,A             STH     A,*AR4               SUB     *AR4,16,B             ADD     *AR2+,16,B               STH     B,*(0202H)      ;B=aX^2-bX+c的值存储在0202H             LD      #0,A             MAC     *AR3,*AR2+,A             ADD     *AR2,16,A          ;A=dX+e             STM     #0203H,AR4                     STH     A,*AR4           ;*AR4=dX+e                                      ;A=dX+e的值存储在0203H             STM     #0204h,AR5               STH     B,*AR5       ;B=aX^2-bX+c             LD      #0,B             LD      *AR5,B             RPT     #15             SUBC    *AR4,B             ;XC     1,BLT             ;NEG        A             STL     B,*(1000H)             STH     B,*(1001H) end:        B       end         .end         .title  "vectors.asm"         .ref    start         .sect   ".vectors"         B   start         .end division.obj vectors.obj -o  division.out  -m  division.map -estart MEMORY { PAGE    0:     EPROM:  org=0e000h  len = 0100h     VECT:   org=0ff80h  len = 0004h PAGE    1:     SPRAM:  org=0060h   len = 0020h     DARAM1: org=0100h   len = 0010h     DARAM2: org=0080h   len = 0002h } SECTIONS {     .text   :>EPROM     PAGE    0     .data   :>EPROM     PAGE    0     .bss    :>SPRAM     PAGE    1     .vectors:>VECT      PAGE    0 }

  • 发表了主题帖: 封装天线设计简化毫米波在楼宇和工厂中的感测

         传统的传感技术已被用于解决人数统计、运动检测、工业区域扫描和检测目标并避免碰撞的机器人技术等具有挑战性的问题。       随着越来越多的工业应用向自动化方向发展,传感对于生成和处理各种数据变得尤为重要,这使得系统可以变得自主并做出实时决策。德州仪器(TI)高度集成的毫米波(mmWave)雷达传感器内部可进行大量数据处理,从而实现边缘智能化。         TI毫米波传感器可在室内、室外的各种环境和照明条件下工作。这些极其耐用的传感器可以直接安装在塑料外壳后面,无需外部透镜、开孔或额外微带天线,这使得该技术能够在许多楼宇和工厂中进行精确感测。TI的60 GHz调频连续波(FMCW)毫米波技术可为全球大多数工业应用提供开放式毫米波感测。为了使工业感测更加简单,小尺寸的封装天线传感器可以实现以前从未有过的外形设计。 封装天线传感器设计      在基于射频(RF)传感器的系统中,天线设计与传感器的选择同样重要。天线配置决定了最远目标探测距离、最大视场(FoV)和分辨率,这对许多应用都非常重要。只需单个传感器和正确的天线配置,工业系统便可以覆盖广泛的区域,进行目标检测。传统上,采用Rogers材料的毫米波天线被设计在印刷电路板(PCB)上,以提供高精度的感测。尽管非常有效,但这确实需要RF专业知识来设计和制造与传感器配套的天线。        新型封装天线(AoP)设计极大地简化了电路板制造和系统设计,使得具有较少RF专业知识的工程师也可以非常轻松地将TI毫米波传感器集成到他们的系统中。与标准TI 60-GHz传感器相比,封装天线传感器可减少40%的电路板面积,与其他雷达技术相比,电路板面积减少75%。图1显示了从传统的60 GHz毫米波传感器到60 GHz毫米波封装天线传感器时可能减小的尺寸。 使用TI毫米波封装天线传感器的主要优点包括: 降低系统和制造的成本和复杂性,加快产品上市速度。             使用更简单,更便宜的FR4设计,可以灵活地在世界任何地方生产。             内部设计和开发传感器解决方案只需要极少RF专业。 图1.对比采用外部天线的60 GHz 55 mm×55 mm TI毫米波评估板(a) 和采用TI毫米波封装天线传感器的新型22 mm×23 mm评估板设计(b) 小巧的外形。             适用于需要更小传感器面积的工业市场。 零电路板布线损耗,使得效率更高。             更远的探测距离性能。 使用封装天线设计的TI毫米波传感器进行工业3D感测      毫米波传感器需要从其环境中捕获位置和精确数据。关键数据集包括目标相对于传感器的的距离和目标的速度。为了加强有用数据的收集,3D感测系统还应该能够检测物体的高度并滤除地面杂波。这最大化地提高了传感器的精度和测量性能。        封装天线传感器的天线的宽视场配置可同时提供水平和垂直的130度视角。无论传感器是安装在天花板上还是侧面,都能实现真正的3D感测。这种天线配置以及小尺寸的TI毫米波封装天线传感器,使得雷达感测几乎可以在楼宇自动化、工厂自动化、智能家居、个人电子和工业系统中的任何地方使用。 让我们关注封装天线传感器实现的三个应用:机器人、占用检测和自动门。 机器人:在大范围内防止碰撞 当工业机器人在人旁边工作的时候,它被设计得运动缓慢。为了实现快速检测和避免可能发生的碰撞,机械臂和自主机器人制造商需要在机器人系统中实现更高级别的环境感知以及冗余分析性能,可以通过3D传感功能来定义安全或危险区域。 图2.TI毫米波封装天线传感器可实现工厂和家庭中各种机器人的自动化 TI毫米波封装天线传感器支持各种机器人应用,如图2所示。宽视场可以覆盖机器人周围的更广的范围,以避免在工厂车间的碰撞。小巧的外形使其易于安装在较小的机器人设计中,如清洁机器人。 除了机器人应用的3D目标检测外,封装天线传感器设计还解决了工厂自动化的三个主要挑战: 单传感器覆盖范围广:封装天线设计可以检测130度视场的目标,实现了更广泛的区域覆盖,从中可以检测多个移动目标或人员,从而在机器人应用里更好地进行事件管理。这反过来减少了用于区域扫描的传感器数量,并降低了整体系统成本。 小巧的外形: 封装天线传感器的较小外形意味着它们可以装入更小的外壳中,这对于时尚的小型自动机器人设计非常重要,例如自动导引车辆、输送机器人以及工厂中的小型机械臂,用于感知和避免碰撞。 更快投入市场:不需要昂贵的PCB基板和RF专业知识,封装天线传感器简化了设计和制造流程,实现了内部设计并缩短了产品上市时间。 占用检测:墙壁和天花板安装的简化感测 楼宇自动化中的传感解决方案通常涉及检测和了解商业或住宅楼宇中的房间或感兴趣区域的占用。除了TI毫米波技术带来的运动敏感度、定位精度和隐私性的优势外,封装天线设计还为楼宇自动化市场带来了额外的价值。 TI毫米波封装天线传感器具有宽视场和小巧的外形,可为独特的楼宇自动化感测应用(如老人监控和空调)带来安装和设计灵活性,如图3所示。 图3.使用TI毫米波传感器的楼宇自动化感测应用包括老年人监控和空调   解决方案的复杂性可能成为感测技术进入楼宇自动化中的难以置信的障碍。封装天线传感器简化并加速了设计过程,使楼宇自动化应用中的工程师可以将注意力集中在用于检测和识别人员的差异化软件上。 封装天线传感器的天线配置使其既适用于壁挂式也适用于天花板式。在楼宇自动化中,这种宽视场提供了安装的灵活性,使传感器可以安装在商业建筑中的电力和数据布线附近,或与现有的自动化系统相结合,以降低安装成本和安装系统的数量。封装天线传感器具有适合较小外壳的能力,较小的外形使得更干净的工业设计成为可能,有助于清除当今商业建筑中传感装置常见的视觉天花板杂乱或“天花板痤疮”。 自动门:在狭小空间内进行基于位置和速度的操作       智能传感器通过提供安全、经济、节能的解决方案,在自动门应用中发挥着关键作用。除了TI毫米波传感器的优势外,对于设计人员和制造商不一定拥有天线设计方面的RF专业知识的情况,封装天线设计还带来了更多优势。封装天线传感器的易于集成使他们能够专注于使门变得更加智能,而不是将资源投入到传感器开发上。由于宽视场,一个传感器就能够覆盖特定的门的整个感兴趣区域。       封装天线设计解决了典型的门传感器检测区域可能无法达到的“盲区”的常见问题,从而系统中无需多个传感器。        使用封装天线设计可方便地统计旋转门中的人数以避免过度拥挤或确定阻挡车库门的障碍物的高度,能够无缝地适用于体积较大的传感器模块不可行的狭窄空间。封装天线传感器小巧的外形可无缝集成到入口系统中,同时仍覆盖宽视场,便于门的操作,如图4所示。 图4.TI毫米波封装天线传感器支持的楼宇和仓库自动化入口系统示例 结论      结合TI毫米波技术的现有优势,楼宇和工厂设计人员可以通过封装天线传感器设计将自动化和智能提升到新的水平。这些封装天线传感器具有宽视场、更小的外形和简化的设计,使工业系统设计人员能够快速、轻松地将毫米波技术集成到现有设计和新应用中。

  • 发表了主题帖: TWS蓝牙耳机介绍及TI低功耗方案

            TWS(True Wireless Stereo, 真无线立体声)蓝牙耳机是近年来异常火热的音频产品。它借助蓝牙芯片,先将手机与主耳机建立无线连接,再建立起主耳机和副耳机的无线通讯,从而完全摒弃了传统耳机间的线材连接,极大地方便了用户的使用。       另外,主耳机是可以单独使用的,完全能够胜任现有市场上的单颗蓝牙耳机的应用需求,使用功能非常强大。因此自从2016年9月苹果发布第一款TWS耳机 – Airpods以来,市场反响就非常热烈,后续音频厂商见此迅速跟进,扎堆布局TWS蓝牙耳机,使TWS耳机市场异彩纷呈。接下來Bluetooth 5 将带来更精彩的使用者体验,新的充电盒设计会让消费者更为方便。        轻巧且便于携带是TWS耳机最为重要的设计目标,受限于充电盒和耳机的狭小空间,这两部分所用的电池容量都无法做大,充电盒的容量一般在1000mAh以内(其中又以200-700mAh范围内最为常见),而耳机端的容量更小,绝大部分都小于100mAh。因此无论是充电盒还是耳机,都应该重视系统低功耗的设计,保证产品有较长的使用时间。   1充电盒系统介绍 详细的充电盒系统框图如下: 图1 TWS充电盒系统框图        信号链部分,传感器主要有霍尔传感器,实现盒子的开合检测。LED灯实现酷炫的显示效果,蓝牙芯片则可以将盒子信息传送给手机,便于手机查看盒子电量信息。按键检测可能需要一些逻辑器件,如SN74LVC1G74这种D触发器,可以将按键的脉冲沿转变成电平的翻转,便于MCU记录按键信息。      电源轨部分,一般输入口做成5V的micro USB接口(苹果的Airpods是lightning接口,也是5V)。考虑到当前有不少支持高压快充的适配器,因此充电盒需要一个过压保护芯片做误插防护,再加一颗charger给锂电池充电。目前很多的charger都集成了过压保护的功能,但是过压响应时间大部分是us级别,建议额外再加一颗过压保护芯片做快速保护。Charger方面,建议用带power-path(即路径管理)的charger,一方面,当盒子电池电量较低时,插上适配器可以立刻得到较高的系统电压,保证盒子可以立刻给低电量耳机供电;另一方面,当快充电流设置的较小时,若负载需要恒定吃载(如驱动LED灯),这部分的负载很可能在charger的截止电流附近,不带power-path功能的话charger很可能无法判断电池已经充满,使用体验就会差一些。       电池一般都是单节锂电池,一般是由电池包厂商提供,并且已经将电量计和二次保护IC封包在内,保证电池更可靠的工作。单节锂电池的电源主要供给两部分:一部分升压到5V给耳机供电,另一部分降压到3V及以下给盒子内的MCU/Sensor等。 TI的产品非常丰富,能够覆盖充电盒绝大部分的需求,这里简要推荐如下几款IC,用在充电盒里再合适不过。推荐的指标主要是封装和功耗,功耗主要是IC在enable下的静态电流。需要提一下的是,由于过压保护和charger是在充电的时候才工作,此时adapter外挂,电源充足,因此这两部分不要求Iq小,但应该重视charger的漏电电流。 表1 TI充电盒方案汇总 Part number 功能 功耗 封装 特点 MSP430FR21xx MCU 1uA(standby) 3x3mm 超低功耗,性价比高 CC2640R2F Bluetooth 1.1uA(standby) 2.7x2.7mm 超低功耗 MSP430FR2512 Touch Sensor +MCU 4uA 4.5x3.5mm 超低功耗,抗噪出色 DRV5032 Hall Sensor 1uA 1.1x1.4mm 低功耗,小封装,4档阀值,单极/全极可选 LP5569 LED Driver 10uA 4x4mm 9通道,带charge pump和SRAM,支持离线灯效 LP50xx LED Driver 10uA 4x4mm 9/12/18/24/30/36通道可选,高性价比 TPD1E04U04 ESD 10nA(leakage) 0.6x0.3mm 0402/0201封装, ±16kV接触/气隙等级,USB专用 BQ24314C OVP - 2x2mm 过压保护点5.85V,支持最高30V输入,封装小 TPD1S414 OVP - 1.4x1.9mm 最高30V输入,带ESD保护 BQ21040 Charger 1uA(leakage) 2x2mm 集成28V耐压OVP,0.8A充电,不带Power-path BQ24073 Charger 6.5uA(leakage) 3x3mm 集成28V耐压OVP,1.5A充电,带Power-path BQ25120A PMU <50nA (ship mode) 2.5x2.5mm 高集成度(charger/buck/LDO/load switch/电压监测) BQ2970 Protector 4uA 1.5x1.5mm 过压/欠压/延时时间等一系列可选,产品齐全 BQ27Z561 Gauge <1.9uA (OFF mode) 1.7x2.1mm 阻抗跟踪算法,I2C读取电量 TPS61099 Boost 0.8uA 2x2mm 超低功耗,效率非常高,0.8A TPS7A05 LDO 1uA 1x1mm 低功耗,高性价比   2 耳机系统介绍 TWS一般有两个耳机,他们的系统都是一样的,详细框图如下: 图2 耳机系统框图 信号链部分,蓝牙芯片负责接收手机发送过来的数据,然后经过耳放推动耳机。传感器主要是重力传感器,检测耳机晃动等信号。目前蓝牙芯片的集成度非常高,还能做一些调音的功能。 电源轨部分,受限于非常狭小的耳机空间,耳机端已经不能做成micro USB接口的供电口,通常改成特定的金属接触片方式。耳机输入电源来自于充电盒升压稳定后的5V,因此耳机端的输入不存在过压的风险,可以不必加过压保护,直接经过charger后就可以给单节锂电池充电。同样的,电池同样由电池包厂商提供,集成电量计和二次保护。电池经过LDO再给系统提供2.5V或者1.8V的电源。 与充电盒的设计相比,耳机端的空间更小,对芯片的封装和功耗提出了更严格的要求。针对这种情况,TI在耳机端的方案汇总如下: 表2 TI耳机方案汇总 Part number 功能 功耗 封装 特点 TPA6141A2 耳放 1uA(shutdown) 1.6x1.6mm G类耳放,105dB SNR,支持直接驱动耳机 TPA6136A2 耳放 0.7uA(shutdown) 1.6x1.6mm AB类耳放,100dB SNR,带pop声抑制 BQ25100 Charger 75nA(leakage) 1.6x0.9mm 小封装,超低功耗,支持1mA截止电流 BQ25150 PMU <10nA(ship mode) 2x1.6mm 高集成度(charger/LDO/16-bit ADC),温度安全控制 TPS7A05 LDO 1uA 1x1mm 低功耗,高性价比   3 TI参考设计 TI有一份针对TWS耳机的参考设计TIDA-050007,下图是参考设计的系统框图。这个参考设计整机功耗只有18uA,并且采用简易算法实现升压的动态调节,在充电盒电池电压高于耳机电池电压时升压芯片TPS61099还可以进入直通模式,使充电效率进一步提高。详细的参考设计资料见链接:http://www.ti.com/tool/TIDA-050007 图3 TIDA-050007参考设计系统框图   针对耳机应用,TI网站还有非常丰富的耳机设计方案可供参考,包括产品框图、参考设计、热门产品等等,更多耳机资料详见链接: http://www.ti.com.cn/solution/cn/wireless_headset?variantid=31741&subsystemid=31755 图4 TI线上资源无线耳机系统框图   综上所述,TWS耳机的设计需要综合考虑功耗、封装和性能,使产品具有更好的体验结果。借助于TI丰富的资源,可以帮助你轻松实现产品的设计。

  • 发表了主题帖: C2000 MCU、基于 Vienna 整流器的三相功率因数校正参考设计

             高功率三相功率因数 (AC-DC) 应用中(例如非板载 EV 充电器和电信整流器)使用了 Vienna 整流器电源拓扑。整流器的控制设计可能很复杂。此设计说明了使用 C2000™ 微控制器 (MCU) 控制功率级的方法。用于此设计的硬件和软件可帮助您缩短产品上市时间。        高功率三相功率因数校正应用中(例如非板载电动汽车充电和电信整流器)使用了 Vienna 整流器电源拓扑。此设计说明了如何使用 C2000 微控制器控制 Vienna 整流器。    高于 98% 的峰值效率 满负载和低压线路中小于 2% 的 THD 提供 powerSUITE 支持,以便针对自定义功率级别调整软件 SFRA 在设计的控制环路中实现电路内验证 采用三相 400Vac VL-L 输入的高达 2.4KW 设计   设计文件 下载设计指南 下载原理图  基于 Vienna 整流器且采用 C2000™ MCU 的三相功率因数校正 (PFC) 参考设计 (Rev. D) 基于 Vienna 整流器的三相功率因数校正参考设计 基于 Vienna 整流器且采用 C2000™ MCU 的三相功率因数校正参考设计  适用于 C2000 MCU 的 DigitalPower 软件开发套件 (SDK)  Vienna Rectifier-Based Three Phase Power Factor Correction Using C2000™ MCUs PCB 应用 三相 UPS 商用电信整流器 商用电池充电器 工业 AC-DC 板载充电器 (OBC) 和无线充电器 电动汽车充电站电源模块 电池测试设备 直流充电(桩)站 能量存储电源转换系统 (PCS)  

  • 发表了主题帖: 超声波流量变送器参考设计

    参考设计采用能够测量加工工业中使用的大型管道中水流量的超声波流量变送器。该参考设计可驱动四个脉冲最高为 2MHz、±12V 的不同的压电传感器,并且能够将其发出的超声波信号放大高达 50dB。 该参考设计利用 MSP430FR6047 微控制器 (MCU) 提供集成的超声波感应解决方案 (USS) 模块,该模块支持基于 ADC 的高速信号采集,然后使用集成式低功耗加速器 (LEA) 优化数字信号处理,从而提供高精度、超低功耗的计量解决方案。 特性 能够驱动 4 个压电传感器(2MHz,最高 ±12V) 高达 50dB 增益 基于高速 ADC 的信号采集 高精度:50ps ZFD 用户指南 原理图 设计指南 TIDA-01486 PCB TIDA-01486 Assembly Drawing TIDA-01486 Gerber TIDA-01486 CAD Files 超声波流量变送器参考设计   设计套件与评估模块 MSP430FR6047 超声波感应评估模块  MSP430 MCU 超声波感应设计中心     

  • 2019-08-15
  • 发表了主题帖: 电容式触控 MSP430FR2676 MCU 主板

        MSP430FR2676 CapTIvate™ 触摸 MCU 板 (CAPTIVATE-FR2676) 用于通过使用插入式传感器板(单独出售)来评估电容式触摸和接近传感器。          本 MCU 板具有一个用于调试板载 MSP430FR2676 CapTIvate 触摸 MCU 的 20 引脚母头调试连接器和一个连接(或用于连接)到外部电容式触摸传感器的 48 引脚传感器面板的连接器,还包括一个用于部分填充的 BoosterPack™ 插件模块的接头,可为 LaunchPad™ 开发套件和 BoosterPack 插件模块提供有限的生态系统支持。       本 板目前支持“具有低功耗 Bluetooth® 和电容式触摸功能的访问控制面板参考设计”(设计编号:TIDM-1004)中的以下套件:MSP-EXP432P401R 开发套件、BOOSTXL-CC2650MA 插件模块和 BOOSTXL-K350QVG-S1 BoosterPack 插件模块,还支持“具有 MSP430™ 电容式触摸 MCU、触觉和 LCD 功能的 SimpleLink™ MSP432™ MCU 参考设计”(设计编号:TIDM-CAPTIVATE-MSP432)中的以下套件:MSP-EXP432P401R 开发套件和 BOOSTXL-K350QVG-S1 插件模块。 特点: 具有连接到 CapTIvate 生态系统传感器面板(例如 CAPTIVATE-BSWP)的接口 传感器面板连接器上提供 16 个支持电容式触摸感应的 IO 有限的 BoosterPack 模块支持 可用于向 PCB 提供外部电源的外部电源接头 3 个板载 LED 和 1 个板载按钮   数据表和手册 MSP430FR267x 电容式触控感应混合信号微控制器 数据表 (Rev. A) 电容式触控应用中的灵敏度、SNR 和设计裕度 (Rev. A) 采用 CapTIvate™ 技术的 MSP430™ MCU 的电容式触控设计流程 (Rev. A) MSP-CAPT-FR2676 MSP CapTIvate™ MCU development kit user's guide CAPTIVATE-FR2676 user's guide CAPTIVATE-FR2676 EU Declaration of Conformity (DoC)  CAPTIVATE-FR2676 quick start guide 软件 MSP CapTIvate 设计中心 GUI  配套软件 MSP430 CapTIvate MCU 编程器  具有触觉反馈功能的电容式触控互电容传感器演示板  电容式触控自电容按钮、滑块、滚轮和接近传感器演示板  电容式触控通信隔离板  适用于 CapTIvate™ 开发套件的触摸金属电容式传感附加电路板              

  • 发表了主题帖: 新一代 C2000™ 微控制器和 CapTIvate™ 技术 在线直播报名开启!

    TI 全新 C2000™ 微控制器和 CapTIvate™ 技术在线直播报名开启!   在本次的两场直播中,您将分别了解到   利用最新 C2000™ 系列产品实现更强的连通性和控制性能,包括单芯片伺服驱动设计,高带宽快速电流环解决方案,用于取代 FPGA 的片上可编程逻辑模块等。   采用最新一代 CapTIvate™ 电容式触控技术且集成主机控制器功能的最新的 MSP430FR2676 微控制器。     1.TI 新一代 C2000™ 微控制器,集成强大的通信能力和控制性能实现更灵活的系统级设计 日期:2019 年 8 月 21 日 时间:10:00 - 12:00   2.深入挖掘集成主控制器功能的新一代 CapTIvate™ 触控技术 日期:2019 年 8 月 23 日 时间:10:00 - 12:00                                                             立即报名  

  • 2019-08-14
  • 发表了主题帖: CC2640R2:如何利使用芯片内部Bootloader烧写程序

           CC2640 R2是德州仪器推出的面向 Bluetooth Smart 应用的低功耗无线 MCU。该芯片运行TI的BLE协议栈,具有功耗低,外设种类丰富,射频性能好等特点。利用它可以实现许多有趣的应用,收到了用户的广泛欢迎。        可是很多用户在量产的时候却犯难了,用XDS110 + Flash Programmer 2,效率很低,还要在GUI上各种配置,产线工人操作起来十分困难而且容易失误。买一拖多的编程器配上位机,又舍不得口袋里的银子,而且不是TI官方出品,稳定性和可靠性难以得到保证。本文给大家介绍一种利用芯片内部Bootloader烧写程序的方法,进入Boot模式,用普通的串行接口就可以进行固件的引导,FLASH的擦写,Program,不花费额外成本。 而且这个bootloader是放在ROM里的,不会被误擦除, Boot的时候UART/SPI不断就没事,实在不行load一半断了也无伤大雅,再boot一次就好了,即快捷又安全。        我们来看一下CC2640R2的Bootloader是怎么Run的。CC13x0, CC26x0 SimpleLink Wireless MCU Technical Reference Manual(SWCU117H)第8章节Bootloader中详细介绍了Bootloader的原理,功能,接口定义,包的组成,校验等等,内容很多,容易犯困,现在来画一下重点。 第一个常见的问题是什么情况下会进Bootloader,进Bootloader会不会影响应用程序的执行?如果使能了Bootloader,有两种情况下会进,第一种情况是一个FLASH里没有任何镜像的新芯片在上电后;第二种情况是开启了Bootloader backdoor,并且预先定义的backdoor PIN脚被设置到正确的逻辑电平。上述条件不满足,在上电后,芯片优先执行应用程序。所以Bootloader和应用程序执行的条件不同,所以并不会相互影响。 第二个常见的问题是什么是Bootloader backdoor?实际上就是为芯片进入Bootloader留的一个后门。用户可以通过BL_CONFIG寄存器的BL_ENABLE位使能这个backdoor,并预设某个GPIO在某个电平的时候启用这个Backdoor,在Reset的时候,芯片内部会自动检测预设条件是否满足,来决定是否进入Bootloader模式。如图1所示,BL_CONFIG是实现Bootloader最重要的寄存器,我们后面在讲代码时会参照这个寄存器,其说明在SWCU117H也可以找到。                                                                                          图 1.   BL_CONFIG寄存器说明 第三个常见的问题也是容易犯的错误是是不是CC2640R2的所有接口和PIN脚都支持Bootloader? 答案是否定的。CC2640R2的Bootloader只支持两种接口,UART和SSI,而且仅有UART0 和 SSI0 支持,不同封装的芯片对应的引脚也有差别,如图2所示,使用时要特别注意。                                                                                  图 2.   CC2640R2 Bootloader接口定义 对于UART0来说,我们芯片理论上可以达到3Mbaud(48M/16)的最大波特率,但是片内ROM中的Bootloader固件只支持1.6Mbaud。SSI0是Motorolar格式的,SPH=1,SPO=1,SSI0时钟最快频率是4Mbaud(48M/12)。不过一味追求接口的速率也没有必要,毕竟下载程序的速率瓶颈在FLASH的读写速度。 其实要点就这么多,很简单吧。很多用户会有疑问是不是要把TI规定的协议搞得很透才能实现Bootloader?当然不是,TI工程师的使命就是把复杂的问题变得简单,只要把配置搞对,配上正确的上位机,一秒上手不是难事。下面就以UART为例详细跟大伙说说Bootloader在CC2640R2上是怎么实现的。 工欲善其事,必先利其器,请准备好下面的IDE环境,蓝牙协议栈和硬件平台。插播一条广告,LAUNCHXL-CC2640R2的demo板可以在TI的estore上购买。https://store.ti.com/LAUNCHXL-CC2640R2-CC2640R2-LaunchPad-P51441.aspx   IDE环境 IAR 8.11.2 蓝牙协议栈版本 1_50_00_58 硬件平台 LAUNCHXL-CC2640R2 工程文件 simplelink_cc2640r2_sdk_1_50_00_58\examples\rtos\CC2640R2_LAUNCHXL\blestack\simple_peripheral 上位机软件 sblAppEx.exe 仿真器 LAUNCHPAD板载XDS110   值得一提的是,sblAppEx.exe 是TI专门为CC2640R2实现Bootloader开发的工具,并向客户开放源码,可以基于此二次开发,下载地址:http://www.ti.com/lit/zip/swra466。 首先,我们需要修改一下Bootloader的设置,在source\ti\devices\cc26x0r2\startup_files里,打开ccfg.c,对几个宏定义做出配置,如下图3所示,依据则是图1的BL_CONFIG。                                                                图 3.   修改ccfg.c中的宏定义以匹配Bootloader的要求 在这里我们用DIO15高电平作为Bootloader backdoor的敲门砖,当然也可以根据用户实际需要选择相应的DIO。配置好后,点击IAR的编译下载按钮,就可以在simple_peripheral\tirtos\iar\app\FlashROM_StackLibrary\Exe里看到刚刚编译好的带Bootloader功能的镜像文件,我们需要的是.bin结尾的,如图4所示。                                                                                  图 4.   编译生成的不同格式的镜像文件 将生成的.bin文件复制到sblAppEx.exe所在根目录下,即sblAppEx_1_02_00_00\bin。由于sblAppEx.exe自动识别的是blinky_backdoor_select_btn2650.bin,所以需要把刚生成的ble_simple_peripheral_cc2640r2lp_app_FlashROM_StackLibrary.bin改个名字。当然了,也可以通过修改sblAppEx.exe的源码识别用户所需的.bin,此处不再赘述。然后,按如下步骤操作: 1) DIO15接成高电平。 2) RESET。重新上电或者按LAUNCHPAD的RESET按钮均可。 3) 在DOS界面选择0,即XDS110 Class Application/User UART <COM56>,回车。不同电脑可能会识别不同的串口号,这个无关紧要。 如果设置都正确的话Bootloader开始工作,经过Erasing flash,Writing flash,Calculating CRC on device,Comparing CRC这一系列过程后,Bootloader更新程序就完成了,最后系统会Reset device,整个流程如图5所示。                                                                                    图 5.   执行正确的Bootloader的流程 一路OK后,此时的LAUNCHPAD里就是新的固件所示现的功能啦!如果配置不对的话,这个App是会闪退的,无法完成Bootloader的功能。如果不想用板载的XDS110,用自己的USB转串口工具也是可以的,只不过不会跳出那么多跟XDS110有关的COM ports了,取而代之的是USB Serial Ports,串口号不用太纠结。                                                                                    图 6.   USB转串口工具的COM ports 当然啦,有可能你双击sblAppEx.exe来执行,但执行完一系列操作后会自动退出,看不到任何Log,解决的方法是不要双击进入程序,在windows的run里用cmd命令,如图7所示,切到sblAppEx.exe所在文件夹就可以啦。如果某个环节遇到任何问题,Bootloader就会中断,DOS界面会提示ERROR,具体可以对照sblAppEx.exe的源码进行检查,此处不再赘述。需要注意的是,如果不用Bootloader模式,Bootloader backdoor的引脚一定要接固定电平,此处DIO15一定要接低电平,不能悬空。                                                                    图 7.   从Windows的cmd进入程序可防止自动退出         重要的事再说一遍,sblAppEx.exe是开源的,用户可以根据需要修改源码实现定制化的功能,比如UART波特率和上文提到的镜像名称等等。        是不是产线上用起来既简单又方便呢,基本是一键式下载,既高效又防止误操作。当然啦,还可以适当修改一下下载工具和上位机软件,就可以实现多个器件的下载。打开你的环境,拿起你的开发板,来试一下吧!

  • 2019-08-13
  • 发表了主题帖: msp430单片机的温度测量系统设计

    本文介绍一种应用msp430单片机测量温度的方法,来代替传统教学中相对落后的热敏电阻结合电流表的实验方法。     1 温度测量部分     用于测量温度的温度敏感元件有很多种,比如热电偶、热敏电阻、集成温度传感器、数字温度传感器等等。本系统采用的是热敏电阻。热敏电阻由对温度非常敏感的半导体陶瓷质工作体构成。与一般常用的金属电阻相比,它有较大的电阻温度系数,可以获得较高的温度分辨率。不同材料制成的热敏电阻适用的测温范围不同,如CuO和MnO2制成的热敏电阻适用于-70~120℃,适于测量体温。温度是模拟量,要把被测的模拟量转换成数字量,以供单片机处理。为了节约成本,可以通过斜率A/D转换来实现模数转换。斜率A/D转换是利用外接电容的充电和放电来实现的。电路连接如图1所示。         应用msp430的比较器(Comparator_A)和定时器(Timer_A),可以测量热敏电阻的阻值。根据阻值和温度的对应关系可以得出待测的温度,实现A/D转换。将Comparator_A的CA0端接外部信号,CA1端接内部参考电压0.25Vcc.Timer_A工作在捕获模式,下降沿捕获,通过CCI1B捕获CAOUT.先使P1.2端口输出高电平,通过Rref给电容C6充电。充电完毕时,CA0端电压高于CA1端电压,CAOUT输出1.读Timer_A的计数值t0,t0=TAR.然后再使P1.2端口输出低电平,电容C6通过Rref放电,当CA0端电压降至0.25Vcc时,Comparator_A输出翻转,CAOUT输出0,Timer_A通过CCI1B捕获到下降沿,触发定时器中断,读出捕获值CCR1,t1=CCR1.C6通过Rref放电到0.25Vcc的时间time_ref=t1-t0.再对热敏电阻Rsens充电和放电,同样测出C6通过Rsens放电到0.25Vcc的时间time_sens.由下面的公式可以计算出热敏电阻(Rsens)的阻值。        2 温度显示部分     MSP430F413带有液晶驱动电路和显示缓存,通过对显存中各位的置位和复位来使得液晶屏上对应的段显示或消失,将斜率转换后得到的数据发送到显存,就可以在液晶屏上显示出测得的温度。msp430有4种驱动方式,选用哪种驱动方式由需要驱动的液晶段数以及液晶屏的管脚和液晶屏内部电极的排布决定。本系统采用的液晶屏是大连东显电子有限公司生产的EDS812液晶显示屏。该显示屏可以显示3位数字,有24个管脚,其中1个公共极管脚,23个段极管脚。由于该液晶屏只有1个公共极,只能采用静态驱动方式。根据图2和表1所示的对应关系连接MSP4 30和EDS812,并将数据写入显存,即可显示出测得的温度。        3 键盘控制部分     键盘是人机对话的输入设备,通过键盘可以设置系统参数,控制系统运行。应用系统的键盘可采用非行列式键盘和行列式键盘。非行列式键盘的硬件电路和执行软件都比较简单,消耗CPU资源少,但只适用于按键较少的情况。本系统只有一个开关键和一个温度测量键,适于采用非行列式键盘。本系统采用轻触按键,它是通过开关状态来实现其功能的。在实际应用中,的运行速度相对于操作者按键的速度来说是非常快的,这样就必须考虑按下按键前后的抖动问题。本系统采用软件延时来消除抖动,即当系统检测到有按键按下时,经过20 ms再次检测是否该按键被按下。如果检测到该按键确实被按下,则执行该按键对应的功能;如果没有检测到该按键被按下,则继续保持待机状态。     4 结语     利用以上系统可以精确地测得温度。不同学校可以根据具体的教学要求在硬件连接、软件设计等方面制定具体的实验步骤。通过该实验使学生将基础课的教学阶段初步掌握集成电路的应用。由本系统构成的实验仪器和传统的实验仪器相比较应用了更多的现代科学技术,也更接近实际的仪器设备,可以使学生将学校中学到的知识更好地应用到实际工作当中。

  • 发表了主题帖: MSP430通信资源之IIC通信

    1. IIC描述 上图说明了在IIC总线拓扑中应该含有至少一个微控制器。该控制器通过IIC总线的SCL和SDA线与其他关联设备进行通信。基于传统的串行总线通信机制,IIC总线通信也是通过SDA与SCL配合实现,传输速率包含标注准(100kps)、快速(400kps)、高速(3.4Mbps)三大类。 2. IIC总线时序 启动时序:当SCL为高电平时,SDA下降沿,表示启动。 停止时序:当SCL为高电平时,SDA上升沿,表示停止。 ※由此可知,数据的传送应该在SCL为低电平时发生的,不能再高电平期间发生。进一步可知,SDA电平是在SCL为高电平时被读取。 数据帧的内容包括  起止信号、7位或者10位的从机地址,传送方向标志位,数据位(8位),每个字节数据后又一个ACK位(应答信号),之后是终止信号结束数据帧。总的来说就是”启动--地址(7或者10位)--R/W--数据--ACK--数据--ACK--....--停止“ 3. I2C电路结构图 数据手册描述,USCI模块在PUC或者手动设置UCSWRST位后,处于复位状态,如果要是其工作在I2C状态选,应将UCMODEx设置为11.在设置后,只要清除UCSWRST位即可让USCI工作起来。  4. IIC一些主要的配置语句 UCB0CTL1 |= UCSWRST;                                                     //使能软件复位,先关闭USCI_B0模式以便进行初始                                                                                             //化设置 UCB0CTL0 = UCMST + UCMODE_3 +UCSYNC;                 //I2C主机、同步模式 UCB0BR0 = 12;                                                                   //12分频 UCB0BR1 = 0;                                                       UCB0I2CSA = 0x4e;                                                            //设置从机模式 UCB0CTL1 &= ~UCSWRST;                                              //清除软件复位         

  • 发表了主题帖: MSP430™ FRAM微控制器实现能量采集

           对于很多人来说,第一次接触能量采集可能是在早期使用太阳能便携式计算器的时候,虽然如今这种类型的计算器已不再是主流,但是它所使用的技术和理念仍然应用于我们的日常生活中。目前,我们在许多的应用中都能看到能量采集的身影,例如传感器节点、风力涡轮机和室内供能应用等。不过,即使对于这项技术的讨论较之前已经有了很大的发展,当涉及到能量采集时,开发人员仍然面临着与数十年前一样的挑战。        为了在不带来负面影响的情况下产生出所需的能量,通常需要一块物理尺寸很大的太阳能板和一套巨大的热能采集装置,或者是通过设备发出不同频率范围的振动来获得能量,而一切都是由所使用的系统决定。因此,在很多情况下,这个系统的成本甚至会超过取代传统电源所带来的优势。当然,如果由于某些因素必须忽略这些限制的话,也会有例外的情况。例如,在电力线无法到达的偏远地区,风能或太阳能采集可以为电池供电系统提供一个可行的替代能源,尽管这种方法的初始成本会比较高。 下面让我们来看一看目前能量采集解决方案所面临的几个重大挑战。 图1—经简化的通用框图          首先,通过上方的简化通用框图可以看到,这个系统由输入和输出组成,其中包括传感器、按钮、LED、显示屏、发声器以及目前越来越普遍的无线连通性。这个典型物联网(IoT)架构的边缘节点可以通过Wi-Fi®、Bluetooth®、NFC / RFID或是其它专有接口进行通信。这些无线连接所需的电能低至数uA,而最高也只需要几十或几百mA,在数十毫秒的时间内即可为相关的RF IC和子系统供电。   图2—常见RF电能使用量图表         在很多应用中,设计人员希望将传感器或其它数据存储在非易失性存储器中,因为即使在电力中断时,也可以恢复采集到的数据。所以,诸如EEPROM或FLASH等现存的通用存储器技术在这些能量受限的情况下并不总是最佳选择。 幸运的是,技术的发展方向正让能量采集系统变得可行。其中一项技术集成就是TI的铁电随机访问存储器或FRAM微控制器(MCU)系列。FRAM技术将SRAM存储器的很多优势结合在一起,而同时又具有FLASH存储器的非易失性。一个关键优势就是超低功耗非易失性FRAM的写入,与FLASH不同的是,这些写入无需预擦除周期,从而节省了时间和电能。另外一个优势就是FRAM单元的固有低压写入,传统闪存或EEPROM技术需要一个集成电荷泵来完成预擦除周期,而这通常需要5-10mA的电流,运行时间则需要数百毫秒,在需要频繁非易失性写入的应用中,这个额外的能耗会消耗可观的电池电量或采集得来的能量。 购买一次性电池的开销虽然不是很高,不过它们所造成的影响极其深远。全球每年新电池的销售量在数十亿节,而其中只有一小部分是可回收的,这就产生了大量的填埋垃圾。一次性电池的另外一个缺点就是,无论是电池本身或是整个系统,都需要在某些情况下的某个时刻进行替换,而这就产生了潜在的挑战。试想一下,如果电池被安装在部署于海洋底部或山顶的系统中,我们应该如何替换呢?事实上,电池更换的开销可能非常巨大。虽然可充电电池能够减少替换电池的数量,不过,就可充电电池本身而言,它们不一定会能够解决电池更换所带来的所有挑战。当我们使用能量采集对可充电电池进行充电时,这些电池的确能够带来利益。        目前,太阳能、热能、运动能(振动或其它动力学效应)和RF等能源已经被广泛接受。其它能源也正处于开发过程中,例如有可能从人类血液中发生的电化学反应采集能量,或者是从植物和树木内部的此类反应中采集能量。        在理想情况下,这些能源将是绵延不断的,不过实际情况并非如此。以太阳能采集装置为例,飘动的云彩也许会遮住太阳光,而室内设施的灯光也不可能永远开启。基于振动的采集装置通常在一个共振频率附近运行,从而限制它们的运行范围,而热能采集装置会在无法保持合适的温差时损失效率或完全停止运行。归根结底,我们不能依赖这个能源保持连续的7x24小时运行,所以我们需要冗余结构。在某些情况下,这个结构有可能是第二采集能源或是一节可充电电池。即使是太阳能计算器都包含一块CR2025电池,以便在办公室光线较暗时作为太阳能的备用能源。        处理电力损耗成为一名能量采集节点设计人员的主要考虑因素。现代微控制器在通电时通过启动顺序运行,这往往需要几毫秒并且会消耗宝贵的电能。如果电力中断,大多数微控制器需要重启,并且在每次电力恢复时运行这个启动代码。 FRAM存储器本身是Compute Through Power Loss(CTPL)这款高度创新型软件实用工具的使能器件。我们甚至可以将CTPL看成是一种非易失性中断处理例程,在这个例程中,当检测到电力损耗时(通常使用一个比较器或ADC输入),关键参数和微控制器状态就被保存至非易失性存储器(NVM)。在出现电力中断的情况下,FRAM所具有的优势将显露无疑,因为设计人员可以直接从中断的位置继续工作而不是从头开始。        凭借128KB FRAM MSP430™ 微控制器的低成本MSP430FR6989 MCU Launchpad™ 开发套件能够进行简单演示。 通过将FRAM技术、Compute Through Power Loss代码和Energy Harvesting BoosterPack™ 插入式模块组合在一起,我们为很多能量采集传感器节点打下了良好基础。bq25570所提供的电源备妥信号可以作为Compute Through Power Loss激活的触发信号,从而在电力中断后节省了时间和宝贵的电能。 

  • 发表了主题帖: MSP432实现语音识别的方法

            在万物互联的世界中,越来越多能够理解语音内容的电子设备逐渐进入我们的视线。在智能手机、平板电脑和笔记本等拥有Siri或Cortana应用程序的设备中,语音识别能够帮助用户搜索答案或控制周围的电子器件等。虽然这些应用程序让人眼前一亮,但是它们却占用了大量的处理能力和内存。所以,人们对于微控制器(MCU)因过小而无法识别语音的误解也就不足为奇了。       没错,MCU的低功耗和小尺寸设计虽然使它不足以理解全部语音内容,不过对于小型低功耗的嵌入式应用而言,也许只需识别几个定义明确的短语就大功告成了,例如“给我的咖啡加热”或“关灯”等。最近,德州仪器(TI)在CES上所展示的低功耗MSP432™ MCU上演示了这个功能。 TI还发布了一个用C语言代码编写的语音识别器库,这个库使得基于MSP432 MCU的应用能够识别用户个人经常使用的语音短语,在忽略其它语音内容的情况下可识别的短语多达11个。虽然用户在设置时必须重复几遍希望被识别的短语,不过一旦这一步成功完成,后面就可以顺利使用了。 这个语音识别器库具有很多令人期待的功能,例如: 用户可以随时更改自己的短语 用户可以设定识别器只对少数几个短语做出响应 当然,用户也可以根据个人需要将短语库中某些短语进行删除 此外,连同语音识别库一起提供的还有一些易于使用的头文件和用户与API指南,以帮助用户快速上手。下载内容还包括针对MSP432 MCU LaunchPad™ 开发套件、Audio BoosterPack™ 插入式模块以及Sharp或Kentec LCD BoosterPack套件的示例演示程序。 这个演示应用通过MSP432 MCU内集成的14位模数转换器(ADC14)来收集语音,以及用于显示菜单的液晶显示屏(LCD)。这个菜单能够成功运行识别功能,用户可以选择: 首先说出一个希望识别器记住的短语。识别器将生成一个针对这个语音的模型,并将其存储在闪存中(一个被称为注册的任务)。 再说一次已注册的短语。识别器将用它来制作一个更好的模型,以提升性能(一个被称为更新的任务)。 删除被注册的第一个模型 运行识别功能

  • 发表了主题帖: 如何将无线固件升级应用于 MSP 430 微控制器

           随着物联网 (IoT) 内器件的互联程度越来越高,并且客户需求也使得固件和软件升级变为重要的产品要求,这一切都使得针对这些更新的架构搭建成为前沿产品设计中的一个关键组成部分。虽然能耗比较高的应用往往包含一个伴随处理器,连同一个诸如MSP430 MCU的低功耗MCU,所使用的机制有所不同;但是在使用低功率器件的环境中,到MSP430™ 微控制器 (MCU) 的Bluetooth® 或USB连接成为提供无线 (OTA) 更新的必然选择。       MSP430 MCU与其它现成可用的片上系统 (SoC) 进行对接,通过一个将2个处理器连接在一起的SPI通道,提供MSP430固件升级。在使用SoC的情况下,Wi-Fi® 连通性被启用,这样的话,用户应用程序软件可以在其连接至局域网 (LAN),或者通过一个Wi-Fi直接传输时,直接访问器件。升级MSP430固件的方法是让用户启动一个到SoC的直接文件传输,在这个SoC中,它可以更新自己的固件;然后通过SPI总线读取MSP430固件修订版本,以决定它是否也需要升级。MSP430 MCU的确提供被称为Bootloader或BSL (http://www.ti.com/tool/mspbsl) 的独特解决方案,以提供固件升级。不过,特定的设计限制或其它要求有可能限制BSL的使用,并且有可能需要其它机制,比如说使用SPI或UART总线的使用。 MSP430固件升级的其中一个主要方面就是确保闪存正在被写覆盖时,所有指令执行都在RAM内部发生。下面的这份白皮书会在所需设计注意事项方面提供一些灵感,并且提供固件文件句法分析,以及将固件文件发送至MSP430 MCU时所需的运行环境。         这个设计类型的目标应用非常多,然而,在参考文章中的特定情况下,设计的器件是一个无线、由电池供电的媒体器件;它使用TI MSP430F5438AMCU和WiLink™ 8 Wi-Fi,与Bluetooth组合连通性模块,以及其它用来执行密集实时计算的更高功率SoC。MSP430 MCU将这个器件保持在低功率待机模式中,然后通过Bluetooth唤醒,以便借助一条Wi-Fi通道启动SoC,实现完全运行。 如需进一步了解MSP430 MCU无线固件升级,请下载我的白皮书:  使用一个支持SPI连接的SoC进行MSP430 MCU的无线固件升级

统计信息

已有275人来访过

  • 芯币:4895
  • 好友:--
  • 主题:1624
  • 回复:91
  • 课时:--
  • 资源:--

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言