阿米纳AV100协议解析以及参考程序

[复制链接]
羽电流音 发表于 2019-5-6 10:07:58 | 显示全部楼层 |阅读模式
本帖最后由 羽电流音 于 2019-5-6 10:10 编辑

  对于每一个新的控制设备,我们首先需要搞清楚它的通讯参数和协议说明,阿米纳AV100最主要的协议内容如下:
1.波特率、数据位、停止位、校验位分别为38400、8、1、无
2.采用不定长的帧格式,帧最长14字节(正文最长8字节)。
3.第一字节以FAH开始。
4.第二字节为地址段上位机发送的A2H,下位机发送是2AH。
5.第三字节为包号(每发一帧,包号都递增1,加满255后循环为0)。

6.第四字节为数据段长度。
7.第五字节开始为数据段,长度由第四字节指定。
8.数据段之后为校验和,校验和为校验和字段之前所有字节的和的低8位。
9.结束标示F5H
综上所述具体的通讯格式如下:
FA A2 XX XX XX……XX XX F5
  其他的部分例如寄存器的地址及对应的功能请自行查阅完整的说明书。
  在上述的通讯格式中因为包号是不断的增加的,所以所有的指令不唯一,简单的说就是每条命令都不是一定的,而是与包号相关的,所有用通常的解析出每条固定的协议然后通过Serial I/O来发送是行不通的,我们需要转换思路,通过自己组合协议内容的方式来控制该设备,在这个思路里常用的函数为Analog Initial、Analog Initialize SO、Analog Sum、Analog Mod Constant、AnatoSerial等。
  下面以开机、关机、音量加减为例做一个简单的说明:
  完成的程序如下:
21.png
1.首先给固定的字符赋值:
22.png
2.对包号做处理:
23.png
24.png

3.对相应的寄存器地址和具体功能对应的寄存器值进行赋值:
25.png

4.进行和校验,并取和校验的低8位:
26.png

5.每次开关机和音量加减指令都需要保证包号加一:
27.png
28.png
6.根据通讯格式组合我们需要的协议:
29.png

备注:1.其他的功能如Source的选择,静音的选择等功能可以参考样例程序,这里就不一一展开了;
    2.样例程序因为没有经过实际的设备测试,只能当做一种编程的参考,不能百分百保证没有问题,如实际使用中有什么不对,欢迎指正。

阿米纳av100通讯协议V1-5.pdf

190.48 KB, 下载次数: 820

阿米纳AV100 38400 8 1 N.rar

7.69 KB, 下载次数: 822

 楼主| 羽电流音 发表于 2019-5-6 10:10:15 | 显示全部楼层
回复

使用道具 举报

喵喵侠作怪 发表于 2019-5-6 14:17:25 | 显示全部楼层
求手把手教学
综以上所述
回复

使用道具 举报

 楼主| 羽电流音 发表于 2019-5-6 17:23:12 | 显示全部楼层

我JIO得你教不来
回复

使用道具 举报

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

本版积分规则