使用说明

插入设备

当插入JTool-I2C模块后,上位机会自动识别并连接。当有多个设备插入时,可点击切换设备菜单切换到需要用的模块。在顶部栏可以设置VCC电压,IO电平(即I2C总线电平),I2C速率。

输入图片说明

VCC电压、IO电平、I2C速率设置后会保存在模块内部,重新插入保持不变。

扫描从机地址

点击扫描设备按钮,模块将依次检查每个地址(0x00~0xFE)是否有ACK,用来判断总线上有哪些器件,扫描出来的地址以8位地址展示(7位I2C地址+1位读写位),使用写地址,即最后一位为0。(为什么不使用7位地址模式:因为8位更加直观,多数器件手册用的是8位,数据流更容易区分。实际上都是一样的,展现方式不同)

扫描从机

日志框显示选项

日志框侧边6个按钮分别为以下功能:

  1. 日志框满自动清空:超出日志框显示范围自动清空,长时间运行可节省应用内存
  2. 显示读数据:选中后,读取到的数据会罗列到日志框中
  3. 新增展示写数据选项(V1.2.0以上)
  4. 新增展示读写地址选项(V1.2.0以上)
  5. 显示时间戳:日志框添加蓝色的时间标记
  6. 显示行号:日志框显示行号

V1.2.0以上新增日志实时缓存至文件开关,适用于长时间运行保存数据,避免软件崩溃导致数据丢失

简单读写

JTool-I2C模块内部已经封装好I2C的Read/Write函数,我们只需要输入从机地址、寄存器地址、写数据(或读长度)就可以读写了。在应用软件下方的读写区域,设置好相关的参数,点击读或写,日志框会显示相关结果。如果选中了“读完更新”选项,读出的数据会覆盖到读写框。下面是各个设置项的解释。

基础读写

  1. 从机地址:8位地址(带读写位0),如果输入的读写位是1,会自动转换为0(即无需填写读地址,如果是读,模块封装的函数会自动置1)
  2. 寄存器地址类型:根据器件手册设置,指的是寄存器地址(或命令)的长度

    • None:无需寄存器地址,直接读写
    • Reg8bit:1字节的寄存器地址或命令
    • Reg16bit:2字节的寄存器地址或命令,高字节在前
    • Reg24bit:3字节的寄存器地址或命令,高字节在前
    • Reg32bit:4字节的寄存器地址或命令,高字节在前
  3. 寄存器地址:要读写的寄存器,长度由2所设置的项决定,某些器件使用的命令,这里也可以当作命令使用
  4. 读写框:读,写数据框是一个,读到的数据会更新此文本框
  5. 读写长度:与4读写框是联动的,二者设置一项即可
  6. 读完更新:选中后,读出的数据会更新到4读写框,否则不会更新
  7. 写后读取:选中后,如果是写操作,写完会自动再读一次,用于检验数据是否已经正确写入寄存器
  8. 读/写按钮:读写按钮分开,更加方便

器件分组批量读写

通常一个I2C器件里包含多个寄存器,有的用于配置参数,有的用于存储传感器数据。如果每次都单独的修改地址,再去读写,重复的工作量太大,所以JI2C提供一个扩展页面,用于归纳每个器件的信息描述和操作方法。软件退出时会自动保存已添加的器件,以便下次使用,快速打开。


图中各个区域的解释如下:

  1. 添加/删除/选择器件,备注名称
  2. 每个器件都有4种批量操作的方式,可切换选择
  3. 当前所选器件的从机地址、寄存器地址类型、中断类型。此处的配置将用于所选器件下面的所有批量列表
  4. 列表显示区域
  5. 批量操作按钮(4种批量操作各不一样)
  6. 批量列表中的添加项、删除项、移动项等操作

寄存器表

寄存器表的目的是能最快速的查看器件内部的所有寄存器,了解当前状态,具有一键读取全部功能。每个寄存器最大可设置为8个字节,覆盖从UInt8到Double的所有类型。可以为每个寄存器编辑描述,随时查看,描述框聚焦展开,失焦折叠。另外,在寄存器值文本框内输入数据,回车可以直接写入,方便快速的修改其中某个寄存器。

初始化

初始化表的目的是在器件插入电脑后,能最快速的配置为我们预先设定的参数,一键初始化,让器件运行起来。每条初始化指令后面具有单独写入按钮,右键该按钮可以修改备注。取消勾选可以暂时不初始化该指令。


如果有多种不同的参数配置怎么办?这里有两种方法:

1. 使用前面的选框来选择不同的初始化
2. 在分组里面添加一个该器件的副本

周期触发

周期触发表可以按顺序定时周期执行表里面的读写指令,每条指令可配置延时,配置读/写选择。如果是读指令,可以配置读数据的曲线格式解析,一键生成实时曲线。

中断触发

对于大部分传感器来说,数据采集完成后,都是通过中断来通知主机进行读取,所以JTool-I2C模块带有一个中断引脚,当检测到产生中断后,会触发中断列表里的读写指令,实现自动读写。中断触发也可以配置生成曲线。中断类型可配置为:

  1. 上升沿
  2. 下降沿
  3. 双边沿
  4. 高电平
  5. 低电平
电平中断会在保持该电平时一直触发,电平中断目前最快10ms触发一次

CRC校验与读延时

可以给每一个器件分组配置CRC校验选项和读延时选项

CRC校验

部分器件读写带有CRC校验,并且写入时需要校验正确才接受数据,所以JI2C提供了一个字节的CRC校验选项,更加便捷

  1. 使能校验
  2. 选择校验区间:仅读写内容/全部(包含地址)
  3. 选择校验类型,支持如下校验类型

    • SUM:累加
    • XOR:异或
    • CRC8
    • CRC8-ITU
    • CRC8-ROHC
    • CRC8-MAXIM
    • CRC8-自定义
  4. 当选择CRC8-自定义时,配置所需自定义参数
  5. 校验测试:设置好校验类型后,可以测试一下是否符合预期

校验测试功能,输入16进制字节数组,点击计算,即可得出校验结果

使能校验之后,当前器件的读写操作均会执行校验,须注意:设置的读写长度请不要包含校验字节,软件会自动+1

读取时,会多读一个字节,并将校验结果显示到日志框
写入时,会自动计算出校验字节,添加到写入数据的末尾,一并写入

读延时

部分器件在读取时,写完寄存器地址(或指令)后,需要等待一段时间,让从机完成数据采集,再继续传输,所以JI2C提供一个读延时功能

输入图片说明

  1. 使能读延时
  2. 设置Sr前延时时间,最大100ms
  3. 设置读地址后延时时间,最大100ms

生成实时曲线

周期触发中断触发中,读数据可以查看实时曲线。
首先,曲线是基于读指令的,就是说每一条读指令都可以生成曲线,可以打开多个曲线窗口。选中曲线复选框后即可弹出曲线窗口,取消选中可关闭曲线(也可以直接在曲线窗口中关闭)。
其次,在打开曲线窗口之前,需要编辑曲线格式,告诉应用程序该如何解析此条数据

编辑曲线格式

曲线格式编辑步骤如下:

  1. 输入通道数,回车,或者点击右上角添加按钮(每一条读指令可以包含多个字节的,可一次连续读取含多个通道)
  2. 给通道命名,会在曲线窗口中显示,便于区分
  3. 选择该通道的数据类型,此选项用于判断通道占用的字节数,并且正确解析为需要的数据
  4. 选择高字节在前还是低字节在前
  5. 选择是否使用时间作为横坐标index,如果不使用,横坐标为数据点的序号
  6. 如需该通道的数据进行计算后绘图,请输入公式(例如需要单位转换、需要屏蔽高位、需要取固定小数位等等)
  7. 支持FIFO读取,即每个通道含有多个数据,此时需要考虑通道优先还是索引优先(如果只有一个通道,或者每个通道只有一个数,可以忽略此项)

注意:曲线生成支持多通道,支持FIFO多数据,但是(数据类型、通道数、FIFO数)计算出来的字节数长度必须与该读指令的读取长度保持匹配(相等或为它的整数倍),否则会报错,并且清空列表。

计算公式

点击提示按钮,可查看支持的运算符


用[x]表示该通道的自变量,公式中的数必须以十进制表示,不支持十六进制

小技巧:

  1. 如需单位转换,可使用 * /
  2. 如需偏移,可使用 + -
  3. 如需屏蔽高位,可使用按位与 &
  4. 如需取固定小数位,可使用Round
  5. 某些通道不是数据,用不上,可直接*0

注意:计算公式必须保持语法的正确性,否则会报错!

曲线窗口

自研高性能曲线控件,曲线窗口的功能非常简单直观
暂停/开始:暂停后,数据不再输入到曲线窗口,此时可缩放,拖拽,截取

鼠标左键按住拖拽
鼠标右键按住截取到新窗口
鼠标滚轮纵向缩放
Ctrl + 鼠标滚轮横向缩放
Ctrl + A 可缩放整个曲线到适应窗口大小

自适应:具有X、Y轴自适应的选项功能,开启后将在对应轴上缩放至可视范围内
缓存:这里的缓存指的是控件内部缓存的数据量,数据到达设置值之后会清空数据,用来节省内存

V1.2.0以上新增曲线数据实时缓存至文件功能,适用于长时间运行保存数据,避免软件崩溃导致数据丢失

静态数据生成曲线

当我们保存了曲线数据之后,如果想再通过这个数据看曲线,推荐使用JCurve,支持复制粘贴/打开文件的方式生成静态数据曲线

模拟从机

作为从机,需要预先填入数据,供主机随时读写。JTool-I2C模块内部可模拟为从机,最大支持400K的速率,具有最大1KByte的缓存,默认全为0xFF。点击菜单栏模拟从机按钮,进入从机界面

  1. 配置从机地址(8位模式),可选择响应所有地址
  2. 配置寄存器地址类型,此项也可作为指令类型
  3. 配置内存映射,给指定的地址填充需要的数据

    • 可添加多条映射
    • 映射之间地址可间隔,未填充的地址数据为0xFF
    • 映射之间地址不可重叠
    • 映射地址超过1024后,将从0继续排列
    • 主机读取时,会读取到此列表的数据
    • 主机写入时,此列表的数据会被实时更新
  4. 点击开始模拟,即可进入从机模式

进入从机模式后,日志框会实时显示来自主机的读写数据

  1. S:Start条件
  2. Sr:Repeated Start条件
  3. P:Stop条件

固件升级

JTool-I2C模块支持固件升级,服务器上传最新固件后,会提示下载并升级,点击帮助->关于菜单,先下载最新固件,随后点击进入升级按钮,模块会模拟出一个U盘,将下载的固件bin文件拖入U盘内即可升级完成

输入图片说明