包含一个TM035035触控板和一个9轴IMU传感器MPU9250,基于nRF52832的VR控制器Torrus电路设计
发布时间:2020-03-12
分享到:
包含一个TM035035触控板和一个9轴IMU传感器MPU9250,基于nRF52832的VR控制器Torrus电路设计
发布时间:2020-03-12
分享到:

Torrus是一个控制器,可让您获得各种虚拟现实体验。它可以跟踪您的运动,而无从内到外的跟踪。它使用反向和正向运动学来实现用户耳机与其手之间的精确位置跟踪。 

组件
1×nRF52832 BLE
1×MPU9250 IMU
1×TM035035触控板

Torrus基于nRF52832,通常使用称为CMSIS-DAP的接口芯片以C语言进行编程。该编程芯片可以在nRF52开发套件中找到,价格约为50美元,但我认为我们也可以为0至2美元编程!

我们目前有两个问题要解决: 

1.使用Arduino编程Torrus,而不是复杂的IDE

2.无需外部编程器或FTDI芯片即可对Torrus进行编程。

Arduino和nRF52
多亏了Sandeepmistry,我们有了一个端口,可以让我们在Arduino上使用Nordic nRF5芯片!其他人已经基于此库使用了他们的核心软件:

RedBearLab nRF51822 Github  (DFU Over the Air引导程序,似乎是无按钮的!) 
nRF52 Github
Sparkfun nRF52832

但是我们可能需要提供额外的功能以使其易于编程。这就是我接下来几周要进行的工作。我已经开始在Github上创建库,并致力于Torrus板的支持。我还包括了Sparfun的串行编程工具(更多信息在下面...)。

编程Torrus
这很重要!我们想要摆脱CMSIS-DAP编程器,因为如果它适合调试,那么它又大又昂贵。

为了避免使用编程器,Nordic提供了另一种称为DFU(设备固件更新)的方法。DFU可以通过两种方式完成:

串行更新。
在这种情况下,我们需要重置设备,按一个按钮进入DFU模式,然后通过串行发送新固件(例如,从Arduino),非常适合开发。
简而言之,就是通过蓝牙进行OTA(空中下载)更新。可以通过蓝牙服务将设备设置为DFU模式。这很棒,因此每个人都可以从其手机更新Torrus。
在继续之前,我想向您简要介绍一下应用程序布局(所有数据都存储在nRF52中,Torrus大脑):

该softdevice由北欧提供的,它运行的所有重要功能。我们不能修改它,只能调用函数。它是在引导加载程序之前紧随引导程序执行的第一件软件。

该应用程序是...很好的应用程序!我们需要发展!要创建蓝牙服务,请与其他传感器进行通信...这是我们大多数时间都将使用的

该  引导程序检查,如果我们试图更新软件,否则启动应用程序。

这是我们现在要做的:

创建引导加载程序,以便可以从蓝牙或串行更新

修改Torrus电路以添加一个串行编程器(一定是CP2104A),该编程器将能够自动重置板。 

使新的引导加载程序可与Arduino一起使用。

然后,我们将能够从其USB端口对Torrus进行编程。

 

 

来源hackaday

加入微信技术交流群

技术交流,职业进阶

关注电路设计技能公众号

了解最新技术方案

加入电路城 QQ 交流群

与技术大牛交朋友

讨论