微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 2640加入串口后不能完全进入睡眠

2640加入串口后不能完全进入睡眠

时间:10-02 整理:3721RD 点击:

问题如题,

1:cc2640加入串口,功耗不能完全进入睡眠,调试发现是由于调用NPI_uartRead();这个函数功能是读,定义的该函数地方看不到,只能看一个头文件,所以只要静止读的功能,功耗就可以降下去了,我猜测是该NPI_uartRead();函数的底层驱动没有写好导致,请各位TI大神验证一下,谢谢!

2:新发布的SDK修改了连接间隔会导致系统复位,连接间隔越大越频繁,0.83的SDK就不会有这个问题。

3:如何获取实时时钟。

4:处理睡眠的函数是哪一个,系统可以进入睡眠,但是不知道那一段代码是处理睡眠,我的项目要在睡眠前后控制一个IO口,谢谢! 

1. UART的驱动实际上您是可以看到的 建议您参考HostTestAPP的例程 在Driver->UART下。没有理由使用UART就不能进入休眠

2.您是说的Stack2.0.0吗?和什么设备通讯发现复位呢?

3. 请参考TimeAPP例程

4. CC26的休眠是Power manage自己管理的,一般不需要控制就好。如果一定要操作你可以参考C:\ti\tirtos_simplelink_2_11_01_09\docs\Power_Management_CC26xx.pdf

Hi WBJ

1:是的,UART的驱动是可以看到的,但是里面我是改不了的,你叫我参考HostTestAPP的例程,他里面是用NPI串口做主任务的,我在其他工程直接把那个任务添加进入是有问题的,这个我在其他的论坛也提到这个问题了,

2:我是跟苹果5S通讯的,跟安卓的手机也通讯过,都是一样的,间隔越大复位越频繁

3:这个问题我看到了,参考TimeAPP是可以的

1.我是自己添加的UART口的控制,没有使用NPI层,实际上直接调用uart_read, uart_write这些函数就可以使用串口的,所以应该是可以修改的。从理论上来说 应该是只要找到了正确的UART driver文件就可以了,注意程序调用的应该是CC26XXuart这个文件。这个文件是和板子相关的,要找一下文件所在位置。

2. 我这边试一下先

你好!

添加串口是可以的,我的问题是能不能完全进入睡眠,并不是说有没有串口的功能

1. 请问无法进入休眠是怎么测得的?

2. 我使用如下的配置和iOS设备(iphone4s 8.1.2 lightblue )连接,没有见到您说的复位的状态。请问您的配置是什么?现象是什么?

// Minimum connection interval (units of 1.25ms, 80=100ms) if automatic
// parameter update request is enabled
//#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 80
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 1580

// Maximum connection interval (units of 1.25ms, 800=1000ms) if automatic
// parameter update request is enabled
//#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 800
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 1600

// Slave latency to use if automatic parameter update request is enabled
#define DEFAULT_DESIRED_SLAVE_LATENCY 0

// Supervision timeout value (units of 10ms, 1000=10s) if automatic parameter
// update request is enabled
//#define DEFAULT_DESIRED_CONN_TIMEOUT 1000
#define DEFAULT_DESIRED_CONN_TIMEOUT 600

你好!

1:我是用示波器测的,请查看附件

2:我用你给配置试了也会啊,

Hi WBJ

1:请查看我之前的附件,ble_cc26xx_2_00_00_42893和ble_cc26xx_2_00_00-41884这2个SDK都是一样的

2:我用这个ble_cc26xx_2_00_00_42893就会出现这重情况,但是ble_cc26xx_2_00_00-41884就不会啊,我不知道你用的是那个SDK测试的

我使用的是ble_cc26xx_2_00_00_42893这个版本。另外量了一下:

如果只是打开UART端口,不调用UART_read等待RX的话,UART几乎不耗电。而且这时UART的TX是正常工作的。

调用UART_read开始等待RX之后,是1.83mA。UART_read读完之后,功耗恢复正常(UART几乎无功耗)。

如果再次UART_read等待时,功耗又变成1.8mA左右。

你好!

你能把测试的例程发我一下,我这边测试吗?422943620@qq.com/boning.deng@linkiing.com,谢谢!

你的串口是怎么移植的?

可以 需要时间整理后发送到您的邮箱

你好!

请问下大概什么时候时候可以给我,我这边很急,老板催的急啊,你们TI那边也催的急,问我们这边的项目什么时候搞完,我这边是联客智能

你好!

你的串口是怎么移植的,我是按照0.83的SDK里面的串口移植的,串口的功能正常,就是功耗有问题,谢谢!

邮件已经发送了 有点大 请查收

你好!

请问你发的那个邮箱,我这边没有收到,谢谢

再查收一下?公司邮箱?

你好!

你的例程我收到了,但是我用IAR下载不了,我用工具下载进去,也是一样,不能睡眠

你好!

请问你是怎么测试的,我用我公司做的模块也是一样,没有接仿真器的,我看了你的代码,其实跟0.83里面的串口代码差不多的,需要我发我这边的代码给你测试一下吗,

你说的先修改PIN脚到不连接仿真器的是什么意思?我用模块的话仿真器那些IO都是悬空的

使用SmartRF06板 拔掉所有的跳线 在VDD To EM这里量的

我的代码的使用是和NPI类似的使用方式,如果直接调用底层UART口的接口,UART_open, UART_read, UART_write接口,有客户量到只有RX等待功耗会增加。

我还在尝试这种做法

你好!

我的是RX等待一直释放不了,所以导致功耗降不下去,听说有出新的核心板是吗?你们用了吗?我用你给我的例程下载到DEMO板,测量方式和你一样,功耗也降不下去啊。

你好!

测量方式跟你的一样,用你给的例程不能用IAR下载,只能借助工具下载进入,但是功耗也是降不下去,移植你例程里面的串口部分到其他的例程可以用IAR下载,但是功耗降不下去。

我下载我0.83的协议栈进去和你给你的例程功耗一样。

RX等待一直不能释放。

谢谢!

由于我现在手上没有最新的PG2.2的板子 不知道PG2.2上是什么情况 

你的板子能跑我的程序 说明也应该是PG2.1的板子

我先研究下只调用底层接口的情况

你好!

你说的PG2.2是最新的是吧,我听你们同事有提到,已经在申请了,还没有拿到,

请问下有没有PWM的例程,我做蓝牙灯,那个不管功耗,谢谢!

是的 PG2.2是最新的EM板 

目前我手上没有CC2640上的PWM的例程,帮你找找看

好的!

十分感谢!之前不是提到说修改连接间隔容易复位吗,那是因为我用公司自己的模块才会这样,用DEMO板的EM核心板就不会。

那建议可以看一下模块设计上和TI EM板有什么区别

PWM已经单独发邮件 可以试一下

你好!

你发给我的那个代码,也看到过,但是里面的很多代码基本都看不到啊,

你好!

我想请问下,外设口可以映射到任意IO上面吗?

你好! 我用你给的代码,现在用定时器可以出来不同频率的方波了,那个占空比怎么设置啊,用什么函数,我找到的都是带中间层的,谢谢!

WBJ

  你好,我看到你说有关于CC2640的PWM的驱动,目前我这边项目上要使用PWM来控制灯。麻烦能提供一份PWM的驱动给我?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top