设计带有SD卡的 MM32F3277 MicroPython 实验板
简 介: 本文测试了基于MM32F3277下的MicroPython电路板设计。其中包含有SD卡接口,常用外设接口等。验证了现在的移植的MicroPython的对文件的基本操作功能。通过测试发现现在的MicroPython版本无法访问低容量(小于512Mb)的SD卡,而只能访问大于4Gb以上的SD卡。
关键词
: MM32F3277,MicroPython,SD卡
MicroPython
§01 设计背景
一、MM32F3277 MicroPython
利用MicroPython开发嵌入式,是在牺牲一定的性能的基础上增加了开发的灵活性。MicroPython的解释执行代码,可以将嵌入式底层的硬件差异性进行屏蔽。
在 制作测试MM32F3277-MicroPython最小电路板 设计了基于MM32F3277的MicroPython的实验板。来自于灵动(MindMotion)的MM32F3277具有丰富的资源。经过测试一下两款不同的MicroPython的移植版本,都可以很好地运行。
- 调试来自于逐飞的MM32F3277移植有MicroPython开发板
- MM32F3277 MicroPython 实验板设计和软件测试
上述两款MicroPython的版本,都需要借助于外部的SD卡来存储最终执行MicroPython程序:main.py
。在没有外置的SD卡的情况下,它们只能通过 REPL (Read Evaluate Print Loop
)进行程序的调试。本文就会在 MM32F3277实验板 基础上增加 SD卡接口部分。
二、SD卡接口
1、SD卡插座
根据 pyBoard v1.1-CN STM32F405RG单片机开发板 MicroPython编程 板上的配置,它使用了 MICRO SD卡座 迷你短体TF卡座 带侦测脚内存卡槽 8P 高H2.6/3.0MM 。这款SD卡组具有三种尺寸:
- 短体H2.6MM 不带有侦测脚;
- 短体H3.0MM 带有侦测脚;
- 短体H3.75MM 带有侦测脚;
▲ 图1.2.1 短体H2.6MM卡座尺寸
2、SD卡接口
根据OneOS(来自于SeekFree)的评估板上的SD卡接口设计,来设计基于MM32F3277的SD卡的接口。
由于这款主板上的SD卡已经在 前面两个版本的MicroPython中得到的验证。
▲ 图1.2.2 SD 卡接口定义
根据上面卡槽的定义,可以知道SD卡的管脚定义顺序如下图所示:
▲ 图1.2.3 SD 卡以及卡槽的管脚顺序定义
根据 MM32F3277用户手册 中关于管脚的定义,可以看到,SD卡的接口使用了MCU的 SDIO(安全数字输入输出接口),兼容 SD/SDIO/MMC的设备控制器, 作为控制外部的SD/SDIO/MMC 卡通信接口。
▲ 图1.2.4 MM32F3277 端口功能定义
三、建立AD元器件库
根据前面给出的SD卡槽的数据,在AltumDesign中检查对应的元器件库。根据 MICRO SD卡座 网页上给出的基本几何参数,设计AD中的元器件库。对于两旁的金属外壳固定焊盘的尺寸不详,通过图片测量到各部分的具体尺寸。
1、器件尺寸
▲ 图1.3.1 在图形上测量几何位置
2、器件封装
PCB封装名称 :SD-H26MM
▲ 图1.3.2 元器件封装
3、器件原理图
原理图器件名称 :MINI-SD
▲ 图1.3.3 原理图器件定义
§02 设计测试
一、设计电路板
在MM32F3277 MicroPython 实验板设计和软件测试基础上,增加SD卡座电路,设计测试电路。
1、原理图
▲ 图2.1.1 电路原理图
eee
2、快速制版PCB
为了适合一分钟制版,如下设计了适应单面板制作的PCB。
▲ 图2.1.2 设计快速制版PCB
3、焊接电路板
下面是经过一分钟制版,焊接形成测试电路板。
▲ 图2.1.3 经过一分钟制版,焊接形成测试电路板
二、测试电路板
1、上电测试
施加+5V工作点,测量电路板上的3.3V稳压输出3.3V。静态耗电量大约:6mA左右。
2、下载MicroPython
使用 MM32-LINK 将来自于灵动苏勇的MicroPython(2021-11-5版本)下载到MM32F3277中。
▲ 图2.2.1 下载MicroPython过程
3、测试MicroPython是否工作
(1)测试晶体信号
来自于苏勇的MicroPython使用到外部的晶体时钟,所以应该能够测量在外部晶体上的8MHz晶体振荡信号。
▲ 图2.2.2 外部晶体上的振荡信号
(2)测量REPL上电串口信号
因为MicroPython在启动后,会在REPL端口输出版本信息,因此应该能够在UART1的TX测量输出信号。
▲ 图2.2.3 上电后在UART1的TX测量到的输出信号
(3)测量REPL
使用 STM32-Bootloader 连接到REPL端口,测试REPL相互的操作。
▲ 图2.2.4 在STM32-BOOLOADER接收到的REPL的提示符
三、测试SD卡
1、存储与读取文件
在SD卡中预先存储 “test1.py” 文本文件。然后在 MicroPython进行读取。
如下是苏勇演示对于文件的读取和写入的示例过程。
▲ 图2.3.1 苏勇给出的演示示例程序
(1)测试程序
from machine import Pin
import utimewith open('test.txt', 'w') as f:f.write('Hello SD file.')with open('test.txt', 'r') as f:print(f.read())
(2)测试结果
程序下载与执行过程,REPL界面显示如下:
Reset MicroPython...
Wait for MicroPython come back...
Download MicroPython : 24 lines/576 characters.
Begin to download program...
-------------------------------------------------------------------------14
Hello SD file.
>>>
上面显示了写入SD file: 14个字节,对应的 test.txt长度为14。 紧接着读取其中的内容并显示。
(3)在Windows下读取SD卡
使用SD读写器,可以看到SD中存在着刚才有MicroPython写入的文件。
▲ 图2.3.2 Windows下查看SD卡内部的内容
2、测试其它SD卡
使用另外一款只有512MB的SD卡,测试在MicroPython下是否能够读取该卡中的内容。
▲ 图2.3.3 测试一个512M的SD卡
使用相同的程序,MicroPython显示如下信息:
Reset MicroPython...
Wait for MicroPython come back...
Download MicroPython : 24 lines/576 characters.
Begin to download program...
-------------------------------------------------------------------------Traceback (most recent call last):File "<stdin>", line 13, in <module>
OSError: 19
>>>
3、写入main.py
在SD存储 main.py,MicroPython上电后首先执行 main.py程序。
下面是main.py的测试内容:
from machine import Pin
import utimefor _ in range(10):print(_)utime.sleep_ms(100)
写入SD卡那中。将SD卡插入测试 MicroPython小板:
▲ 图2.3.4 在SD卡中存储main.py
上电后,程序输出:
[Y] sdcard ready.[Y] file system on sdcard ready.[Y] run the main.py on disk ...0
1
2
3
4
5
6
7
8
9
[Y] done. 1MicroPython v1.16 on 2021-11-05; MB_F3270 with MM32F3277G7P
>>>
※ 测试总结 ※
本文测试了基于MM32F3277下的MicroPython电路板设计。其中包含有SD卡接口,常用外设接口等。验证了现在的移植的MicroPython的对文件的基本操作功能。
■ 相关文献链接:
- 制作测试MM32F3277-MicroPython最小电路板
- 调试来自于逐飞的MM32F3277移植有MicroPython开发板
- MM32F3277 MicroPython 实验板设计和软件测试
- REPL
- pyBoard v1.1-CN STM32F405RG单片机开发板 MicroPython编程
- MICRO SD卡座 迷你短体TF卡座 带侦测脚内存卡槽 8P 高H2.6/3.0MM
- MM32F3277用户手册
- 利用Python模拟鼠标自动完成MM32-LINK程序下载
- STM32-Bootloader
● 相关图表链接:
- 图1.2.1 短体H2.6MM卡座尺寸
- 图1.2.2 SD 卡接口定义
- 图1.2.3 SD 卡以及卡槽的管脚顺序定义
- 图1.2.4 MM32F3277 端口功能定义
- 图1.3.1 在图形上测量几何位置
- 图1.3.2 元器件封装
- 图1.3.3 原理图器件定义
- 图2.1.1 电路原理图
- 图2.1.2 设计快速制版PCB
- 图2.1.3 经过一分钟制版,焊接形成测试电路板
- 图2.2.1 下载MicroPython过程
- 图2.2.2 外部晶体上的振荡信号
- 图2.2.3 上电后在UART1的TX测量到的输出信号
- 图2.2.4 在STM32-BOOLOADER接收到的REPL的提示符
- 图2.3.1 苏勇给出的演示示例程序
- 图2.3.2 Windows下查看SD卡内部的内容
- 图2.3.3 测试一个512M的SD卡
- 图2.3.4 在SD卡中存储main.py
◎ 公众号留言:
小陈想要念硕士
:不懂就问,今年智能车灵动32是不是要去全向信标- 作者: 等明天会议讨论的结果吧。现在初步方案,灵动32 不使用在信标中。
G·RID er·Skye. D
:性能咋样,基本上落地的东西还是c和cpp吧,有点鸡肋,不过做个入门,或者做个算法验证还可以,要是追求性能,还是老老实实写c吧Poan
:看过卓老师一分钟制版,至今念念不忘。建议卓老师做一期一分钟制版相关的视频/文章Yuanjie
:micropy对于新手确实友好,或许是一个新的创作方向,对于平台需要一个健全的BSP支持,否则就需要自己对接c-module了,对于新手就不太友好了。Hi
:追求性能应该直接写汇编呀设计带有SD卡的 MM32F3277 MicroPython 实验板相关推荐
- MM32F3277 MicroPython 实验板设计和软件测试
简 介: 对于截止到(2021-11-08 21:13:44)来自灵动的MicroPython在MM32F3277上的一致的基本功能进行测试.并给除了MicroPython的相关模块的の基本测试调用版 ...
- 简述sd卡2.0协议_【正点原子FPGA连载】第十二章SD卡读写TXT文本实验-领航者 ZYNQ 之嵌入式开发指南...
1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...
- zynqsd的读写数据_【正点原子FPGA连载】 第十二章SD卡读写TXT文本实验-摘自【正点原子】领航者 ZYNQ 之嵌入式开发指南 (amobbs.com 阿莫电子论坛)...
本帖最后由 正点原子 于 2020-10-24 10:25 编辑 QQ群头像.png (1.78 KB) 2020-10-24 10:25 上传5)关注正点原子公众号,获取最新资料 100846rel ...
- 【正点原子FPGA连载】第十四章SD卡读写TXT文本实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南
1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...
- stm32cubeMX学习十八、SD卡虚拟U盘实验
本程序编写基于秉火霸道STM32F103ZET6运行环境. 跑这个实验之前吃了一些亏,让我一一道来! 1.软件写好了,却发现插入USB线连接到电脑后USB居然没有枚举 解决方法: 野火的这款开发板上做 ...
- esp32 sd卡 micropython_ESP32 下 micropython 使用 SD卡
此处讨论的是使用 SD 卡接口的使用,相对速度较快,不讨论以 SPI 方式的使用. 上下拉要求 直接使用会出现 CRC 校验错误的问题,报 0x107 或者 0x109 错误.见此Issues. 开启 ...
- 测试逐飞的MM32F3277 MicroPython开发板的基本功能
简 介: 对于给定的MicroPython移植版本进行了初步的测试.对比之下,MCU中还有很多的模块尚未支持.这些工作需要近期尽快补充测试完毕. 关键词: MM32,MicroPython #merm ...
- 测试MindMotion MM32F3277 MicroPython -2021-11-20新增PWM版本
简 介: 对于初步实现的MicroPython的版本进行了测试.可以看到这个版本在MCU的硬件层面还存在BUG,在实际管脚上尚无法输出对应的PWM波形. 关键词: MM32,MicroPython,P ...
- 【正点原子FPGA连载】第四十六章SD卡读写测试实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1
1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...
最新文章
- 12.MySql关于获取当前时间的三个函数
- 《淘宝店铺经营管理一册通》一一1.3 页面中的图片应用
- 如何用python画出中国地图-用Python画中国地图(二)
- Python Model : glob 文件路径查找
- Design Pattern Quick Overview
- Python库引用import多种用法及比较
- 关于HttpUtility.UrlEncode,HttpUtility.UrlDecode,Server.UrlEncode,Server.UrlDecode
- Servlet是否单例?
- spring mvc统一异常处理(@ControllerAdvice + @ExceptionHandler)
- 函数名、闭包及迭代器
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_11_Thread类的常用方法_sleep...
- python通信系统仿真_详解MATLAB/Simulink通信系统建模与仿真 PDF 高清版
- 前端实习一个多月总结
- python3 分句
- 仿xp画板、画图重绘、五子棋总结
- XML Schema学习札记(1)——基础总览
- 敏涵控股集团董事长刘敏:品牌敏涵 用心做企业
- 批量分析中通快运单号物流,并查看是否签收
- 25-30K ☀️|网络工程师职业技巧与经典面试题✨
- linux 查看mmc分区_查看MTD,EMMC,MMC三种设备的分区
热门文章
- MM32F3277 MicroPython 实验板设计和软件测试