[MM32硬件] MM32F3277 MicroPython 实验板设计和软件测试

[复制链接]
2174|48
 楼主| 原来是wjc 发表于 2023-9-30 11:18 | 显示全部楼层 |阅读模式
6223365179332145bf.png

简 介: 对于截止到(2021-11-08 21:13:44)来自灵动的MicroPython在MM32F3277上的一致的基本功能进行测试。并给除了MicroPython的相关模块的の基本测试调用版本。

关键词: MM32F3277MicroPython


  在 制作测试MM32F3277-MicroPython最小电路板 测试了基于MM32F3277的MicroPython测试板。也可以看到它的时钟是不需要。下面设计一个适应于面包板进行测试实验的MicroPython测试板。

一、资源设置
1、MicroPython支持模块
  下面使用灵动苏勇提供的模块支持类别:
28557651793545036c.png
▲ 图1.1.1 MM32F3277中的模块
89588651793635af84.png
▲ 图1.1.2 MM32F3277七个UART对应的管脚





评论

———————————————— 版权声明:本文为CSDN博主「卓晴」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/zhuoqingjoking97298/article/details/121146277  发表于 2023-9-30 11:18
 楼主| 原来是wjc 发表于 2023-9-30 11:18 | 显示全部楼层
设计电路板
1、原理图
6547365179387f20aa.png
▲ 图1.2.1 原理图
 楼主| 原来是wjc 发表于 2023-9-30 11:19 | 显示全部楼层
PCB
140456517939d035c7.png
▲ 图1.2.2 快速制版单面PCB设计图
 楼主| 原来是wjc 发表于 2023-9-30 11:19 | 显示全部楼层
修正版本
  在上面设计中,对于模拟电源部分(VDDA,VSSA)没有能够单独供电,这将会影响ADC,DAC信号的性能。在下面版本中,将VDDA,VSSA单独进行供电。

AD\MM32\TestMM32\TestMM32MicroPythonPIN.SchDoc
 楼主| 原来是wjc 发表于 2023-9-30 11:19 | 显示全部楼层
96156651793b1752d9.png
▲ 图1.2.3 将VDDA,VSSA采用0Ω电阻进行单独供电部分
 楼主| 原来是wjc 发表于 2023-9-30 11:19 | 显示全部楼层
7030651793c1c4611.png

图1.2.4 设计的单面快速制版PCB图
 楼主| 原来是wjc 发表于 2023-9-30 11:19 | 显示全部楼层
  存在的问题:
  在上面设计中,依然存在的问题:就是没有将VSSDA引出,在外部信号输入的时候,没有信号底线。

三、焊接与调试
  使用 一分钟制版法 ,在五分钟之后制作完电路板,进行焊接和调试。
 楼主| 原来是wjc 发表于 2023-9-30 11:20 | 显示全部楼层
焊接电路板
  焊接测试电路板,如下图所示
81342651793e375bb7.png

▲ 图1.3.1 焊接之后的测试电路板
 楼主| 原来是wjc 发表于 2023-9-30 11:20 | 显示全部楼层
测试电路板
(1)上电测试
  施加+5V工作电压。测量板内3.3V的电源电压符合要求。

(2)下载MicroPython
  下来来自于苏勇的MicroPython。这个版本需要外部晶体。
 楼主| 原来是wjc 发表于 2023-9-30 11:20 | 显示全部楼层
98959651793fca89e9.png
▲ 图1.3.2 使用MM32-LINK下载MicroPython
 楼主| 原来是wjc 发表于 2023-9-30 11:20 | 显示全部楼层
94037651794075047a.png

▲ 图1.3.3 下载MicroPython之后在晶体上测量到时钟信号
 楼主| 原来是wjc 发表于 2023-9-30 11:21 | 显示全部楼层
测试RX1
  MicroPython写入之后,在上电之后会发送出MicroPython的版本信息。可以在TX1上测量到该波形。

537086517941a13f63.png

▲ 图1.3.4 上电后测量TX1上的波形
 楼主| 原来是wjc 发表于 2023-9-30 11:21 | 显示全部楼层
测试REPL
  连接测试版上的REPL接口(UART1)到计算机的串口终端,可以在电路板上电之后读取到版本信息。
382766517942acbf40.png
▲ 图1.3.5 REPL 提示符号
 楼主| 原来是wjc 发表于 2023-9-30 11:22 | 显示全部楼层
根据苏勇反馈的信息,现在这个版本MicroPython已经支持一下模块:Pin、ADC、UART、SDCard、utime。模块的使用遵循着 MicroPython官网 给出的协议。下面对于现在的版本进行测试。

一、基本信息测试
1、测试代码
  1. from machine import Pin,ADC,UART,freq
  2. import machine
  3. import utime

  4. dir(machine)
  5. dir(utime)

  6. freq()
 楼主| 原来是wjc 发表于 2023-9-30 11:22 | 显示全部楼层
测试结果
  1. Reset MicroPython...
  2. Wait for MicroPython comeback...
  3. Download MicroPython : 9 lines/109 characters.
  4. Begin to download programm...
  5. -------------------------------------------------------------------------

  6. ['__name__', 'ADC', 'Pin', 'SDCard', 'UART', 'freq', 'mem16', 'mem32', 'mem8']
  7. ['__name__', 'sleep', 'sleep_ms', 'sleep_us', 'ticks_add', 'ticks_cpu', 'ticks_diff', 'ticks_ms', 'ticks_us']
  8. 96000000
  9. >>>
 楼主| 原来是wjc 发表于 2023-9-30 11:22 | 显示全部楼层
 从上面可以看到,内部的OSC的频率为96MHz。
 楼主| 原来是wjc 发表于 2023-9-30 11:22 | 显示全部楼层
测试utime
1、测试代码
  1. from machine import Pin,ADC,UART,freq
  2. import utime

  3. while True:
  4.     print('A')
  5.     utime.sleep_ms(100)
 楼主| 原来是wjc 发表于 2023-9-30 11:23 | 显示全部楼层
测试结果
  REPL接口输出’A’,每隔100ms输出一个数字。
 楼主| 原来是wjc 发表于 2023-9-30 11:23 | 显示全部楼层
测试Pin
  测试GPIO的输入输出功能。

1、测试输出
  根据苏勇反馈的信息:
  1. from machine import Pin

  2. pin0 = Pin('PB2', mode=Pin.OUT_PUSHPULL)
  3. pin0(1)
  4. pin0.low()
 楼主| 原来是wjc 发表于 2023-9-30 11:23 | 显示全部楼层
测试GPIO对应的输出功能。

(1)测试代码
  1. from machine import Pin,ADC,UART,freq
  2. import utime

  3. led = Pin('PB2', Pin.OUT_PUSHPULL)

  4. while True:
  5.     led(1)
  6.     utime.sleep_ms(100)
  7.     led(0)
  8.     utime.sleep_ms(100)

您需要登录后才可以回帖 登录 | 注册

本版积分规则

87

主题

1250

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部