UWB超宽带 DW1000 API功能描述2
目录
1) dwt_rxreset
void dwt_rxreset(void) ;
此功能执行DW1000接收器的软件控制复位。 这可以用来说明例如,在出现一些错误后回到干净状态。
输入参数: 没有
返回参数: 没有
笔记:没有
示例代码:
dwt_rxreset();
2) dwt_initalise
int dwt_initialise(uint16 config);
该功能 初始化DW1000收发器 并 在内部静态数据中设置值设备驱动程序函数 中使用的结构,它是在设备驱动程序中使用的私有数据实现。 如果配置,dwt_initalise()函数也会启动LDE微码的加载参数有DWT_LOADUCODE位设置,(从IC ROM进入其运行位置)这样就可以了可用于将来的接收器使用。
如果未配置,则自动执行LDE(LDERUNE位)将被禁用。 LDE算法负责生成准确的RX时间戳并计算与接收到的数据包相关的一些信号质量统计数据。
输入参数: 类型: int 名称: config 描述: 这是一个位掩码,指定要加载的配置OTP作为初始化的一部分。
返回参数: 类型:int 描述: 返回值可以是 DWT_SUCCESS = 0或 DWT_ERROR = -1。
笔记:在调用此功能之前,SPI频率必须设置为<3 MHz。这个dwt_initalise()函数是应该调用以初始化设备的第一个函数,例如 , 它读取设备ID以验证该软件是否支持该IC
(例如,DW1000 32位设备ID值为0xDECA0130)。 然后它执行软件重置DW1000确保它处于默认状态,并执行一些初始设备配置(例如,配置正常TX / RX功能的时钟)使用所需。 它还读取一些数据来自OTP:
LDO调谐和晶体调整值,如果它们有效,则直接应用。
设备的部件ID和批次ID,存储在驱动程序的本地结构中以供将来访问。
如果dwt_initalise()返回DWT_ERROR,则进一步配置和操作IC不建议,因为IC将无法正常运行。
表1:dwt_initialise()函数的Config参数
模式 | Mask Value | 描述 |
DWT_LOADNONE | 0x0 | 不要从OTP加载任何数据。 |
DWT_LOADUCODE | 0x1 | 加载LDE微码(从IC ROM进入其运行时位置),以便将来的接收器使用。 该LDE算法负责生成准确的RX时间戳 并 计算一些信号质量统计数据与收到的数据包有关。 |
笔记:有关OTP存储器编程的更多详细信息,请参阅dwt_otpwriteandverify()部分。编程OTP存储器是一次性活动,任何错误编程的值都不能纠正。
另外,编程OTP存储器时请注意只能写入指定的存储器区域 - 在别处编程可能会永久损害DW1000的运行能力一般。
3) dwt_setsmarttxpower
void dwt_setsmarttxpower(int enable);
此功能启用或禁用DW1000的智能TX电源功能。
输入参数: 类型: int 名称: enable 描述: 1表示启用,0表示禁用智能TX电源功能。
返回参数: 没有
笔记:此功能启用或禁用智能TX电源功能。区域电力输出法规通常将发射功率限制指定为每个1 -41 dBm频道带宽的MHz,通常使用每1 MHz的1 ms停留时间来测量分割。
当以6.8 Mbps发送短帧时,可以在a中发送单个帧一毫秒的分数,然后只要发射机不再在同一时间内再次发射毫秒,传输的功率可以增加,仍然符合规定。
这种功率增加将增加传输范围。为了利用这一点,DW1000包括功能我们称之为“智能发射功率门控”,可自动提升发射功率
帧短时传输。智能TX功率控制的速率为6.8 Mbps。以此速率发送短数据帧时(并且假设帧传输速率最多为每毫秒1帧),则可以
增加发射功率并仍然保持在通常的监管功率限制内指定为每毫秒的平均功率。
注意:启用/禁用智能TX电源时,通过电源编程的TX功率值dwt_configuretxrf()函数也需要相应设置。
示例代码:
dwt_setsmarttxpower(1);
文章来源: guo-pu.blog.csdn.net,作者:一颗小树x,版权归原作者所有,如需转载,请联系作者。
原文链接:guo-pu.blog.csdn.net/article/details/90750789
- 点赞
- 收藏
- 关注作者
评论(0)