UWB超宽带 DW1000 API功能描述1
介绍 DW1000 设备驱动程序的API函数调用。
目录
提供API函数帮助开发人员驱动DW1000(Decawave的ScenSor IEEE 802.15.4 UWB收发器IC)。
这些函数在设备驱动程序源代码文件“deca_device.c”中实现,写入'C'编程语言。 设备驱动程序代码使用简单的SPI读写功能与DW1000 IC交互。
它们是从物理硬件中抽象出来的,并且可以轻松移植到任何特定的SPI实施目标系统。有两个SPI函数:writetospi()和readfromspi()这些原型在源代码文件“deca_spi.c”中定义。
设备驱动程序的功能将在下面的各个子部分中介绍:
1) dwt_readdevid
uint32 dwt_readdevid(void);
此函数返回设备标识符(DEV_ID)寄存器值(32位值)。 它读取DEV_ID注册(0x00)并将结果返回给调用者。
例如,这可以由应用程序使用验证DW IC是否通过SPI总线正确连接并正在运行。
输入参数: 没有
返回参数: 类型:uint32 描述: 32位设备ID值,例如 对于DW1000,设备ID为0xDECA0130。
笔记:可以随时调用此函数来读取设备ID值。 返回值为0xFFFFFFFF 除非设备处于DEEP_SLEEP或SLEEP模式,否则表示错误
示例代码:
uint32 devID = dwt_readdevid();
2) dwt_getpartid
uint32 dwt_getpartid(void);
此功能返回在设备测试期间 在工厂中编程的部件标识符资格。
输入参数: 没有
返回参数: 类型:uint32 描述: 32位部件ID值。
笔记:可以随时调用此函数来读取本地存储的值,该值在设备之后有效初始化是通过调用dwt_initalise()函数完成的。
示例代码:
uint32 partID = dwt_getpartid();
3) dwt_getlotid
uint32 dwt_getlotid(void);
此功能在设备测试期间返回工厂中编程的批次标识符资格。
输入参数: 没有
返回参数: 类型:uint32 描述: 32位批次ID值。 (32-bit lot ID value.)
笔记:可以随时调用此函数来读取本地存储的值,该值在设备之后有效初始化是通过调用dwt_initalise()函数完成的。
示例代码:
uint32 lotID = dwt_getlotid();
4) dwt_otprevision
uint8 dwt_otprevision(void) ;
此函数返回OTP修订版本,同时通过调用dwt_initialise初始化DW1000。建议客户编程此位置(并在Decawave的评估板中使用)用于识别OTP区域使用的不同/变化的产品。
输入参数: 没有
返回参数: 类型:uint8 描述: 8位OTP修订版值
笔记:无
示例代码:
uint8 otp_value = dwt_otprevision();
5) dwt_softreset
void dwt_softreset(void) ;
该功能执行DW1000的软件控制复位。 所有的IC配置都将是重置回默认值。 有关IC默认值的详细信息,请参阅DW1000用户手册[2]配置寄存器值。
输入参数: 没有
返回参数: 空
笔记:该功能用于重置IC,例如 在应用新配置之前清除所有以前设定的值。 复位后,DW1000将处于IDLE状态,所有寄存器都将处于IDLE状态有默认值。 任何编程到常开(AON)低功耗配置阵列的值商店也将被清除。
注意:DW1000 RSTn引脚也可用于复位器件。 主机微处理器可以使用此引脚重置设备而不是调用dwt_softreset()函数。 引脚应驱动为低电平(10 ns)然后离开开漏模式。 永远不应该被推高。
希望对你有帮助。
文章来源: guo-pu.blog.csdn.net,作者:一颗小树x,版权归原作者所有,如需转载,请联系作者。
原文链接:guo-pu.blog.csdn.net/article/details/90750444
- 点赞
- 收藏
- 关注作者
评论(0)