打印
[活动专区]

【AT-START-WB415测评】 蓝牙计时

[复制链接]
579|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

雅特力科技AT32WB415系列, 搭载ARM®Cortex®-M4 为内核,采用低功耗(BLE)蓝牙5.0,集成一款无线通信模块,具有高效能CPU、内存资源及丰富的通讯接口,再集成搭配蓝牙射频(RF)收发器、基带(baseband)功能所组成。处理无线讯号性能,蓝牙接收(RX)灵敏度最大值可达到-97dBm,发射功率(TX)在-20dBm至+4dBm之间。传输距离支持超过30m有效范围传输,连接无死角;在传输速度方面,最快则能达到2 Mbps。

AT32WB415系列无线型MCU,高达150MHz的CPU运算速度与内建数字信号处理器(DSP),并带有**体保护单元(MPU),可避免其中一个任务意外损坏另一个执行中的任务所使用的**体或资源。且最高可支持256KB闪存存储器(Flash)及32KB随机存取存储器(SRAM)。由雅特力自行开发的sLib安全库 (Security Library),可支持密码保护指定范围程序区,方案商烧录核心算法到此区域,提供给下游客户做二次开发,强化产品本身的安全性、可靠性和二次开发的使用便利性。集成MCU丰富的外设,由1组12位8通道ADC、2组比较器、4组UART、1组SPI、1组I2C、1组CAN、与1组高级定时器和7组通用定时器所组成,并可同时满足工业级别操作温度-40°C至+105°C,相较市场上同级产品更增添差异化。AT32WB415系列解决了传统MCU功能分散,以一颗MCU取代开发蓝牙产品所需诸多组件,同时缩小PCB尺寸和降低射频(RF)布局难度,为消费性电子 (consumer electronics)、智能家居 (Smart Home) 、工业物联网 (IIoT) 等多项应用领域提供最佳解决方案。

这颗芯片内部采用串口将两颗处理器连接起来,方便用户使用AT命令即可开发应用

所以,开发分为两块,一块是BLE端对AT命令的解析,一块是M4核应用部分

参照官方AN0077文档应用文档,使用ICP工具将两部分代码烧录进芯片即可完成蓝牙DEMO调试

配合手机端软件可以轻松的在AT命令模式和串口透传模式下进行数据交互

下面演示,我是用增强RTC与蓝牙和手机的交互

通过硬件RTC时钟每秒输出当前时钟

etc配置

/* enable the pwc clock interface */
  crm_periph_clock_enable(CRM_PWC_PERIPH_CLOCK, TRUE);

  /* allow access to ertc */
  pwc_battery_powered_domain_access(TRUE);

  /* reset ertc domain */
  crm_battery_powered_domain_reset(TRUE);
  crm_battery_powered_domain_reset(FALSE);

  /* enable the lext osc */
  crm_clock_source_enable(CRM_CLOCK_SOURCE_LEXT, TRUE);

  /* wait till lext is ready */
  while(crm_flag_get(CRM_LEXT_STABLE_FLAG) == RESET)
  {
  }

  /* select the ertc clock source */
  crm_ertc_clock_select(CRM_ERTC_CLOCK_LEXT);

  /* enable the ertc clock */
  crm_ertc_clock_enable(TRUE);

  /* deinitializes the ertc registers */
  ertc_reset();

  /* wait for ertc apb registers update */
  ertc_wait_update();

  /* configure the ertc divider */
  /* ertc second(1hz) = ertc_clk / (div_a + 1) * (div_b + 1) */
  ertc_divider_set(127, 255);

  /* configure the ertc hour mode */
  ertc_hour_mode_set(ERTC_HOUR_MODE_24);

  /* set date: 2021-05-01 */
  ertc_date_set(21, 5, 1, 5);

  /* set time: 12:00:00 */
  ertc_time_set(12, 0, 0, ERTC_AM);

rtc时间戳配置

 exint_init_type exint_init_struct;

  /* configure nvic */
  nvic_irq_enable(TAMP_STAMP_IRQn, 0, 0);

  /* configure exint */
  exint_default_para_init(&exint_init_struct);
  exint_init_struct.line_enable   = TRUE;
  exint_init_struct.line_mode     = EXINT_LINE_INTERRUPUT;
  exint_init_struct.line_select   = EXINT_LINE_21;
  exint_init_struct.line_polarity = EXINT_TRIGGER_RISING_EDGE;
  exint_init(&exint_init_struct);

  /* enable the timestamp */
  ertc_timestamp_valid_edge_set(ERTC_TIMESTAMP_EDGE_FALLING);
  ertc_timestamp_enable(TRUE);

  /* enable the timestamp int */
  ertc_interrupt_enable(ERTC_TS_INT, TRUE);

在mcu将蓝牙切换至透传模式时输出时间戳

 if(UART_TP_MODE)
    {
                       
                        /* get the current time */
                        ertc_calendar_get(&time);

                        if(temp != time.sec)
                        {
                                temp = time.sec;

                                /* display date format : year-month-day */
                                printf("%02d-%02d-%02d ",time.year, time.month, time.day);
                       
                                /* display time format : hour:min:sec */
                                printf("%02d:%02d:%02d\r\n",time.hour, time.min, time.sec);
                                temptime=sprintf(p_time,"%02d:%02d:%02d\r\n",time.hour, time.min, time.sec);
                                while(temptime-->0)
                                {
                                        while(usart_flag_get(USART3, USART_TDBE_FLAG) !=SET);
                                        usart_data_transmit(USART3, *p_time++);
                                }
                               
                        }
      tp_mode_rx_handler();
      tp_mode_tx_handler();
    }

这样,进入透传模式后就会在串口和蓝牙接收端得到时间戳了

项目工程:MCU端 wb415_mcu.zip (526.12 KB)

总结:AT32WB415以一颗MCU取代开发蓝牙产品所需诸多组件,在空间紧凑的应用中可以节省一颗蓝牙IC的空间,官方提供的软件入门资料写的也很详尽,方便软件开发。如果能在天线Layout上给出合理的参考(DEMO板板载天线蓝牙信号弱),就能更好的方便使用到项目中。






使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

482

帖子

2

粉丝