前言
搁了这么久,目前我设计的 USB 转 LoRa 模块(起名叫:Red LoRa Module,后续简称 RLM)的固件开发的差不多了,基本实现了双向的 USB 到 LoRa 之间的转换,今天就发文总结以下,因为后面就要到光照度算法部分开发了,期待哦。
概述
首先看下 RLM 的,结构框图:

再看一下3D图和实物图:



这部分驱动是运行在 STM32F103 上面,通过 CDC ACM 配置,实现在 PC 端枚举出来对应的节点。另一方面通过 SPI 和 LoRa 通信,最终实现 USB 和 LoRa 之间的透传。这部分代码是开源的,我是在 [https://github.com/blackmagic-debug/blackmagic.git]开源项目的基础上修改实现的。这部分固件代码我放在我的 gitee 仓库 [rlm_hsi],感兴趣的小伙伴可以去看看。
经验总结
经过这几天的 USB 转 LoRa 固件功能的开发,总结出来比较深刻的经验有如下几点:
- 使用 STM32F103CBT6 的 USB,USB 的时钟要固定在48MHZ,并且官方不建议使用内部晶振提供这个时钟,在选择使用 cubeMX 软件的时候,如果选择 HSI 提供这个始终,也会提示你有冲突,但是不要紧,想用 HSI 还是可以的,不过不建议哦,因为我这个板子的图画的比较早了,当时没有考虑到,所以就硬着头皮往下开发了,好在成功了。
- 使用 STM32F103CBT6 的 USB 的时候,为了让 PC 可以枚举设备,在电路上需要在 D+ 上设计一个上拉电阻,如果想实现动态热插拔,这个电阻另一端需要连接到一个可以控制的 GPIO 管脚,通过拉高这个 GPIO,实现动态热插拔,如果不需要这个功能,就直接上拉到 VCC(我这里是直接接到了 3V3) 就行了。
- 在使用 SPI 的时候,因为我想用软件控制 NSS,发现必须要同时配置 SPI 的 CR1 的 SSM 和 SSI 为 1。否则是不能配置到主机模式软件NSS的。
- 在调试 LoRa 模块的时候,发现 spi 速率太低也会导致通信异常,最后我设定在 SPI 时钟 2 分频可以正常工作。
效果演示
说了这么多,我们看下实际的效果,首先是设备枚举:
[349794.851655] usb 3-4.2: new full-speed USB device number 49 using xhci_hcd
[349795.044759] usb 3-4.2: New USB device found, idVendor=1d51, idProduct=6118, bcdDevice= 0.09
[349795.044777] usb 3-4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[349795.044783] usb 3-4.2: Product: Red Lora Module v1.10.0-926-g8f2291e7-dirty
[349795.044787] usb 3-4.2: Manufacturer: Red Studio
[349795.044791] usb 3-4.2: SerialNumber: E1C3A7D0
[349795.054870] cdc_acm 3-4.2:1.0: ttyACM2: USB ACM device
然后,视频演示部分可以参看 [具有 Local AI 功能的工业用照明控制器] 的评论区哦。
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
usb
+关注
关注
60文章
8474浏览量
285766 -
AI
+关注
关注
91文章
40982浏览量
302534 -
LoRa
+关注
关注
355文章
1916浏览量
238398
发布评论请先 登录
相关推荐
热点推荐
嵌入式AI开发必看:杜绝幻觉,才是工业级IDE的核心底气
的合规性,导致企业“不敢用、不愿用”AI技术。
▌开发效率与安全矛盾加剧:开发者既要借助AI提升编码效率,又要承担AI幻觉带来的风险,陷入“
发表于 03-18 13:49
VIAVI PCI Express5.0 Xgig协议训练器主机测试台专为 PCIe 5.0 适配器卡及控制器/固件开发的一体化测试方案
PCIE5.0协议训练器主机测试台专为适配器卡及其控制器/固件开发设计的一体化测试解决方案。设计用于开发、协调和性能调谐PCIe适配卡及其控
基于RK3568开发板显示屏调试适配方法(1)-如何在Uboot界面切换显示屏
、MIPI同显为例)第二章:帮助用户如何适配自己的显示屏(DM7寸显示屏为例)由于TQ3568支持在uboot阶段选择显示屏,具体如何操作如第一章所示。第一章如何在Ubo
【「AI芯片:科技探索与AGI愿景」阅读体验】+第二章 实现深度学习AI芯片的创新方法与架构
、Transformer 模型的后继者
二、用创新方法实现深度学习AI芯片
1、基于开源RISC-V的AI加速器
RISC-V是一种开源、模块化的指令集架构(ISA)。优势如下:
①模块化特性②标准接口③开源
发表于 09-12 17:30
【「AI芯片:科技探索与AGI愿景」阅读体验】+内容总览
,其中第一章是概论,主要介绍大模型浪潮下AI芯片的需求与挑战。第二章和第三章分别介绍实现深度学习AI芯片的创新方法和架构。以及一些新型的算法
发表于 09-05 15:10
【「开关电源控制环路设计:Christophe Basso 的实战秘籍」阅读体验】+第二章开环系统
很荣幸有机会拜读《开关电源控制环路设计》这本书,最近粗略的看完了本书,受益匪浅,今天再此与诸位共同欣赏下此书。聊一聊第二章开环系统。
什么是开环系统呢?
开环系统是根据两个信号直接的特定关系,将控制
发表于 08-16 17:54
龙芯中科亮相第二届算力之都开发者大会
近日,以“开源·开放 融合·服务”为主题的第二届算力之都开发者大会暨天翼云AI生态合作大会在银川召开。大会由中国电信宁夏公司携手龙芯中科等业界领军企业与顶尖科研院所共同主办,旨在深度激活算力交易潜能,全景展示大模型赋能千行百业的
第二章 W55MH32 DHCP示例
本文介绍 DHCP 协议,包括其在 IP 网络自动分配参数的功能、便捷配置等特点、工作原理、报文格式和应用场景。通过 W55MH32 实战例程展示动态获取网络地址信息过程,含注册定时器中断、启用模式和获取信息等步骤,烧录后可完成检测与信息打印,PC 端能 PING 通设备。
初级工程师PCB设计技巧(PPT版)
目录第一章:PCB 概述第二章:PCB 设计流程及PCB Layout 设计第三章: PROTEL 常用操作第四章: PCB Layout 技巧
获取完整文档资料可下载附件哦!!!!
发表于 06-26 15:50
在IDE中运行固件内自带的AI程序,约2分钟左右就死机了,为什么?
1、在IDE中运行固件内自带的AI程序,约2分钟左右就死机,点击停止报 繁忙,点连接也报 忙碌中。从资源管理器中点击CanMV可以访问下一级文件夹。
2、过几分钟后在IDE中点击“连接”,报“获取
发表于 06-06 07:28
恩智浦推出第二代OrangeBox车规级开发平台
第二代OrangeBox开发平台集成AI功能、后量子加密技术及内置软件定义网络的能力,应对快速演变的信息安全威胁。
第二章 开发板与芯片介绍 详解W55MH32芯片及开发板
本章介绍了W55MH32芯片及开发板。该芯片采用Cortex-M3内核,主频216MHz,集成以太网功能,有L和Q两种型号。配套开发板L-EVB功能丰富、Q-EVB为最小系统板,均含仿真器。
第二届固件技术峰会盛大召开,共探行业创新发展之路
(OpenSystemFirmwareFoundation)共同参与的第二届固件技术峰会,在长沙顺利举行。此次峰会以“创新、协作、发展”为核心理念,坚持纯技术、非商业原则,吸引了全球50多家企业、近200位
《ESP32S3 Arduino开发指南》第二章 Arduino基础知识
第二章 Arduino基础知识
本章,我们将向大家介绍Arduino是一个什么东西?让大家对Arduino有一个大概了解。本章将分为如下几个小节:2.1什么是Arduino2.2 Arduino
发表于 05-13 09:28
第二章:RLM 适配 HZHY AI300G 的固件开发
评论