前言
查询:
ls -l /dev/tty.*
设置:
screen /dev/tty.SLAB_USBtoUART 115200
Zynq UltraScale+ MPSoC ZCU106 评估套件做开发的时候,会有需要用到终端来调试的时候。Windows和Linux的话,有Xilinx 软件开发套件 (XSDK)可用,安装以后只要直接插入USB连接就可以了。而macOS系统,接入USB却发现不了。
困恼了许久,网上相应的教程也甚少。线插上后毫无反应,怀疑过接口和线材有问题,各种测试后确认可能是没有相关驱动。最后チョウさん帮忙,在Google搜【macos cu baute rate】才解决。
关于波特率的介绍
简介
(チョウさん提醒,加上波特率的介绍) |
在电子通讯领域,波特(Baud)即调制速率,指的是有效数据讯号调制载波的速率,即单位时间内载波调制状态变化的次数。它是对符号传输速率的一种度量,1波特即指每秒传输1个符号,而透过不同的调制方式,可以在一个码元符号上负载多个bit位讯号。
注意以下两点常见错误:
1 “波特”(Baud)本身已是速率,所以不需要写成 Baud Rate(Rate 是赘字)。
2 单位“波特”本身就已经是代表每秒的调制数,以“波特每秒”(Baud per second)为单位是一种常见的错误,但是在一般中文口语化的沟通上还是常以“波特率”来描述“波特”(Baud)。
波特率的计算
波特率有时候会同比特率混淆,实际上后者是对信息传输速率(传信率)的度量。波特率可以被理解为单位时间内传输符号的个数(传符号率),通过不同的调制方法可以在一个符号上负载多个比特信息。因此信息传输速率即比特率在数值上和波特率有这样的关系:
$$I=S\cdot \log {{2}}{N}$$
其中$I$ 为传信率,$S$ 为波特率,$N$ 为每个符号负载的信息量,而${\displaystyle \log {2}{N}}\log _{{2}}{N}$以比特为单位。因此只有在每个符号只代表一个比特信息的情况、或一些简单的调制方式下,例如基带二进制信号、或Bell 103或CCITT V.21(左列两种均为FSK)调制方式等,波特率与比特率才在数值上相等,但是它们的意义并不相同。
ZCU106 板子
步骤1 查询
连接zcu106板子的 USB UART 接口(上图标示左下往上第五行),后输入以下代码,查询已连接USB的接口。
ls -l /dev/tty.*
lhc:~ lhc$ ls -l /dev/tty.*
crw-rw-rw- 1 root wheel 18, 0 5 4 11:54 /dev/tty.Ama-WirelessiAP
crw-rw-rw- 1 root wheel 18, 4 5 4 11:54 /dev/tty.Bluetooth-Incoming-Port
crw-rw-rw- 1 root wheel 18, 6 5 4 11:54 /dev/tty.X9-SerialPort
crw-rw-rw- 1 root wheel 18, 2 5 4 11:54 /dev/tty.ganwangtao-WirelessiAPv2-1
记住上面列出的数据。我电脑里总共发现了0 2 4 6 ,4个已连接的口
步骤2 安装
到CP210x USB 至 UART 桥 VCP 驱动器下载软件。
下载之后,打开【Mac_OSX_VCP_Driver】文件夹,进入【SiLabsUSBDriverDisk.dmg】,双击【 Install Disk/Install CP210x VCP Driver】安装。
点击【打开】。
步骤3 连接并设置波特率
主要用到以下的代码,在终端命令行里输入
ls -l /dev/tty.*
lhc:~ lhc$ ls -l /dev/tty.*
crw-rw-rw- 1 root wheel 18, 0 5 4 11:54 /dev/tty.Ama-WirelessiAP
crw-rw-rw- 1 root wheel 18, 4 5 4 11:54 /dev/tty.Bluetooth-Incoming-Port
crw-rw-rw- 1 root wheel 18, 8 5 18 14:25 /dev/tty.SLAB_USBtoUART
crw-rw-rw- 1 root wheel 18, 10 5 18 14:25 /dev/tty.SLAB_USBtoUART5
crw-rw-rw- 1 root wheel 18, 12 5 18 14:25 /dev/tty.SLAB_USBtoUART6
crw-rw-rw- 1 root wheel 18, 14 5 18 14:25 /dev/tty.SLAB_USBtoUART7
crw-rw-rw- 1 root wheel 18, 6 5 4 11:54 /dev/tty.X9-SerialPort
crw-rw-rw- 1 root wheel 18, 2 5 4 11:54 /dev/tty.ganwangtao-WirelessiAPv2-1
安装了驱动之后,电脑里新发现了8 10 12 14 四个接口。
连接到A-core CPU到终端
复制第新发现的第一个接口,也就是(8)的这一行,/dev/tty.SLAB_USBtoUART 。然后在终端里输入以下:
$ screen /dev/tty.SLAB_USBtoUART 115200
这样就是连接上了,虽然看起来是空的,只要你在板子上操作CPU A-core 的话,相应的数据就会显示在你的终端页面上。
连接到R-core CPU到终端
新建一个终端窗口,
和之前的一样,先输入查看列表的代码
ls -l /dev/tty.*
这次复制第(10)的这一行,/dev/tty.SLAB_USBtoUART5 。然后在终端里输入以下:
$ screen /dev/tty.SLAB_USBtoUART5 115200
显示空列表,就是成功连接上R-core了。只要 R5 CPU 有任何动作,都可以在这个终端里查看调试。
以上。