处理器系统 处理器系统可通过Xilinx Platform Studio(XPS)设计工具中的基础系统构建器(Base System Builder)向导加以生成,这可使我们获得一个完美的起始工作系统。随后,我们逐步修改基本系统,以获得图1所示FPGA部分的系统。这些修改工作此外还涉及转换到差分时钟输入并将基带模块连接至PLB。 该软件应用运行在Xilkernel顶部的嵌入式MicroBlaze处理器中,Xilkernel是一种非常适用于小型应用的最小实时操作系统。该应用可分为同时运行的三个线程:UWB线程管理基带模块的配置和运行;在系统处于数据传输模式时,应用线程负责获取并播放音频内容; RS232线程负责与运行演示图形用户界面的外部PC进行通信。 由于XPS使用的GNU开发链在其他一些平台上也可应用,我们可以很方便地在主机PC(如使用Cygwin环境)上,而非在嵌入式目标上编译并测试与硬件无关的代码模块。这样一来,调试工作就变得非常容易了。只有最终的测试工作需要在嵌入式目标上完成,而采用如GDB之类的源代码级调试器会受益颇多。赛灵思的应用指南《XAPP1037》为我们提供了许多有用的软件调试技巧。 该系统当初预计的距离范围在25至30米之间,但受一些存在于UWB ASIC中的硬件问题的限制,目前的标称距离仅为3米。不过,我们还是能够同时展示该系统强大的通信和测距功能,而这些功能就是该项目的成功之处。 将来可能还要重新设计UWB ASIC以增加系统的操作距离并实施多点定位功能,将测距系统发展为真正的室内定位系统。 双向测距解说 在脉冲无线电UWB系统中应用的双向测距技术应用中,节点A和节点B之间的距离是通过下列技术确定的(见图):节点A向节点B发送测距请求,并启动高分辨率时钟(3.84GHz);节点B在信号传输延迟prop后收到测距请求,该延迟与节点A和B之间的距离成正比;节点B在已知的处理延迟proc后将测距答复发送回节点A。 在收到测距答复后,节点A在时间rtt停止时钟。随后,即可根据下面公式:
计算出单程信号传输延迟,再乘以光速后,就得到了A和B之间的距离。 |