Skip to main content

按键与开关

查询单条总线下的设备​

命令功能​

i****2cdetect -y i2cbus用于查询某条总线下的设备。

参数说明​

参数说明
i2cbus由I2C总线数量决定,对应i2cdetect -l扫描的序号。

使用实例​

i2cdetect -y 0

回显如下:

root@ubuntu:~# i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00:
10:
20:
30: -- -- -- -- -- -- -- --
40:
50: -- -- 52 -- -- -- -- -- -- -- 5a -- -- -- -- --
60:
70:

父主题: 使用示例

I2C与串口基础函数​

:::note 说明

  • 使用基础函数需要通过命令安装以下依赖,请提前参见配置网络章节为开发者套件共享网络。
    • 安装smbus2库。

      conda install -c conda-forge smbus2
    • 安装pyserial模块。

      pip install pyserial
  • 从设备的地址以及寄存器地址均可以通过I2C-tools查到,如果是标准设备,一般会有统一的地址。 :::

表1 I2C常用函数代码

命令/代码说明
import smbus2导入smbus2库。
bus = smbus2.SMBus(7)初始化I2C总线,7表示默认I2C总线为i2c-7。
read_byte_data(i2c_addr)从设备读取一个字节,i2c_addr为查到的从设备地址。
write_byte_data(i2c_addr)向设备写入一个字节。
read_word_data(i2c_addr, register)从给定的寄存器中读取一个字(2个字节),register为从设备寄存器地址。
write_word_data(i2c_addr, register)将一个字(2个字节)写入给定的寄存器。

开发者套件的40Pin接口上默认串口为引脚8(UART0_TX)、10(UART0_RX),对应的串口号为“/dev/ttyAMA0”。也可连接USB0作为串口,对应的串口号为“ /dev/ttyUSB0”。

表2 串口常用函数代码

命令/代码说明
import serial导入pyserial模块。
ser=serial.Serial("/dev/ttyUSB0",115200)使用USB连接串行口,打开串行口,设置波特率。
ser=serial.Serial("/dev/ttyAMA0",115200)使用开发者套件GPIO口连接串行口,打开串行口,设置波特率。
ser=serial.Serial("com3",115200)Windows系统使用com3口连接串行口,打开串行口,设置波特率。
ser.readline()读一行数据,以“/n”结束。
ser.read(n)读n个字符。
data = “Hello!” ser.write(data.encode())写入二进制编码的字符串数据。

父主题: 使用串口与I2C-tools工具

综合使用示例​

概述​

基于I2C完成用户态下MPU6050传感器的调用和数据处理,且通过串口在PC上实现姿态可视化。

设备连线​

使用USB转串口芯片(以CH343为例)、杜邦线若干,将传感器与开发者套件相连。

将CH343的TXD连接开发者套件的UART0_RX(10),CH343的RXD连接开发者套件的UART0_TX(8),GND接GND(6),再将USB转串口芯片连接PC。

表1 设备连线

MPU6050开发者套件管脚编号开发者套件管脚名称
VCC13.3V
GND9GND
IIC_SDA3I2C7-SDA
IIC_SCL5I2C7-SCL
MPU_INT--
MPU_AD0--

使用示例​

  1. 单击链接,进入页面获取代码。

  2. 以root用户登录开发者套件,将代码包上传至开发者套件任意目录并解压,例如“/home/”。

    unzip ascend_community_projects-310B.zip
    cd ascend_community_projects-310B/A200IDKA2MPU6050PostureVisualization

    其中“ascend_community_projects-310B/A200IDKA2MPU6050PostureVisualization/motion_display”中的“motion_display.pde”文件需在windows电脑中运行。

  3. 安装依赖。

    • 安装smbus2库。

      conda install -c conda-forge smbus2
    • 安装pyserial模块。

      pip install pyserial
  4. 参考设备连线连接开发者套件与PC,在PC等待驱动自动安装。

  5. 在PC中打开控制面板,进入“设备管理器>端口”查看对应端口是否出现,如图1所示。

    图1 查看端口

  6. 进行数据传输与姿态可视化。

    1. 单击获取链接下载Processing工具。

    2. 使用Processing工具选择“文件>打开”按钮打开2获取的“motion_display.pde”文件。

      图2 选择文件

    3. 修改代码中的串口号,并单击运行按钮,如图3所示。

      ...
      void setup(){
      size(800, 480, P3D); // 创建一个高800、宽480的3D场景
      myPort = new Serial(this, "COM3", baudrate); // 根据电脑上查询到的端口号进行修改,例如此处为"COM3"
      }
      ...

      图3 运行按钮

    4. 在开发者套件界面,执行以下命令启动数据传输与姿态可视化。

      python mpu6050_motion.py

      在一定时间间隔持续打印输出姿态信息,并在processing中显示出模拟可视化状态,结果如图4所示。

      图4 姿态可视化结果

父主题: 使用串口与I2C-tools工具

按键与开关​

开发者套件对外提供一个开关机按键,一个U盘制卡按键、一个复位按键和一个拨码开关。

开关机按键​

短按开关机按键,如图1所示,可实现开关机。

图1 Atlas 200I DK A2 开发者套件俯视图

复位按键​

短按复位按键,如图2所示,可触发复位功能。

图2 Atlas 200I DK A2 开发者套件俯视图

U盘制卡按键​

开发者套件的U盘制卡按键如图3所示,当前该按键暂不可用。

图3 Atlas 200I DK A2 开发者套件俯视图

拨码开关​

拨码开关所在位置如图4所示。

图4 Atlas 200I DK A2 开发者套件俯视图

开发者套件的拨码开关上有四个开关,分别为1、2、3和4,如图5所示。其中开关1为预留开关,当前无功能。调整开关2、3、4可以选择开发者套件系统启动介质,当前仅支持SD卡启动,开关值如表1所示。

图5 拨码开关

表1 拨码开关2,3与4的真值表

开关1的拨码方向

开关2的拨码方向

开关3的拨码方向

开关4的拨码方向

启动介质

任意

OFF

ON

OFF

SD卡

其他

预留

LED状态灯​

开发者套件有4个LED状态指示灯,如图1所示。

图1 LED位置标注图

:::note 说明 指示灯丝印信息为LED1、LED3、LED4、D3。 :::

表1 LED1状态指示灯说明

指示灯状态当前开发者套件状态
绿灯亮HBoot2启动成功,即将进入OS
绿灯灭HBoot2启动失败

表2 LED3状态指示灯说明

指示灯状态当前开发者套件状态
绿灯亮文件系统启动成功
绿灯灭文件系统启动失败

表3 LED4状态指示灯说明

指示灯状态当前开发者套件状态注意事项
绿灯亮工作无异常无
红灯亮过温告警- 检查风扇状态
- 检查环境温度
- 下电降温
红灯灭温度正常无

表4 D3状态指示灯说明

指示灯状态当前开发者套件状态
亮上电
灭下电

Micro SD卡接口​

接口介绍​

开发者套件对外提供一个Micro SD卡槽,接口类型是SD 3.0,向下兼容SD 2.0标准。推荐使用SD 3.0接口标准的Micro SD卡。

:::note 说明 Micro SD卡是基于Flash存储介质。当前业界使用较多的是NAND Flash,NAND Flash通过使用Floating Gate存储电子实现数据存储,电子在反复穿过Floating Gate后,会导致Floating Gate存储电子的能力变弱,最终导致击穿而无法存储数据。该特性是NAND Flash的通病,因此在使用NAND Flash时,要充分评估应用业务的写入数据量,避免提前写穿导致器件失效。 :::

接口示例​

图1 Micro SD卡接口

风扇接口​

接口介绍​

开发者套件底板上提供一个风扇接口,用于连接风扇为Atlas 200I A2 加速模块散热。

接口示例​

图1 风扇

接口调用命令​

  • 查询设备的风扇模式。

    npu-smi info -t pwm-mode
    pwm-mode : manual

    表1 打印信息说明

    字段说明
    pwm-mode风扇模式。 有如下两种模式:
    - manual:手动模式
    - auto:自动模式
    默认为自动模式。
  • 查询设备风扇调速比。

    npu-smi info -t pwm-duty-ratio
    pwm-duty-ratio(%) : 40

    表2 打印信息说明

    字段说明
    pwm-duty-ratio(%)风扇调速比
  • 设置设备的风扇模式为手动模式。

    npu-smi set -t pwm-mode -d 0
    Status : OK
    Message : Set pwm manual mode success

    表3 参数说明

    描述
    风扇使能模式。分为手动模式、自动模式。默认为自动模式。
    - 0:手动模式
    - 1:自动模式
  • 设置设备的风扇调速比为40。

    npu-smi set -t pwm-duty-ratio -d 40
    Status : OK
    Message : Set pwm duty ratio 40 success

    表4 参数说明

    描述
    风扇调速比 取值范围:[0-100] 默认40

自动模式下转速说明​

自动模式下,风扇转速随温度的变化情况如图2所示。

图2 风扇转速曲线

在线提单