差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
instru_protocol [2021/10/27 09:42]
gongyusu
instru_protocol [2021/10/27 10:36] (当前版本)
gongyusu
行 1: 行 1:
 ## 硬禾仪器用数据传输及控制协议 ## 硬禾仪器用数据传输及控制协议
 +本逻辑用于将高速ADC采集到的数据进行缓存,并根据上位机的需要,从缓存的数据中选出用于显示的部分进行传输,传输的方式可以是:
 +  * 串口UART
 +  * BLE
 +  * WiFi
 +  * SPI
 +
 +FPGA的作用负责解析控制器发来的控制字,并根据控制字的内容从缓存中选取需要的数据
 +  - 由ADC获取的数据或送往DAC的数据:LVDS:250MHz/​8bits/​4Lanes, 并行:100MHz/​14bits
 +  - 需要显示的数据:20帧/​秒 * 1KPoints/​帧 * 10bit/​points = 200kbps
 +  - 存储深度:ADC - 8K * 10bits * 2(通道)= 20KBytes, DAC - 4K * 12bits * 2 = 12KByte,总计32KBytes ​
 +
 +未来在FPGA里面可以扩展的数据处理功能:
 +  - FFT
 +  - 数字滤波
 +  - 模式识别
 +  - 机器学习
  
-### 示波器部分的功能 
 FPGA内部的框图如下: FPGA内部的框图如下:
 {{drawio>​instru_control_data_protocol}} ​ <WRAP centeralign>​ 数据采集FPGA逻辑功能</​WRAP>​ {{drawio>​instru_control_data_protocol}} ​ <WRAP centeralign>​ 数据采集FPGA逻辑功能</​WRAP>​
 +
 +#### 参考文档:
 +  * [[scope_verilog|基于FPGA逻辑的示波器设计]]
 +  * [[up5k_scope|双通道50Msps/​10MHz口袋示波器]]
 +
 +
 +
 +### 示波器部分的功能
 +
  
 主要分为两部分: 主要分为两部分:
行 42: 行 66:
  
 #### 多命令 #### 多命令
 +
 ---- ----
 可以使用多命令在单个事务中发送多个命令。 可以使用多命令在单个事务中发送多个命令。
行 101: 行 126:
 \\ \\
 \\ \\
- 
- 
  
  
行 110: 行 133:
 ##### 获得当前状态 ##### 获得当前状态
  
---- 
 获得仪器通道的当前状态、 获得仪器通道的当前状态、
  
行 174: 行 196:
  
 ##### 设置通用波形 ##### 设置通用波形
-----+
  
 设置AWG的通道参数以输出正常的波形 设置AWG的通道参数以输出正常的波形
行 295: 行 317:
 \\ \\
  
-### 停止+##### 停止
  
 ---- ----
行 350: 行 372:
  
  
-## 直流电压+#### 直流电压 
 提供访问直流电压数据和函数的命令 提供访问直流电压数据和函数的命令
  
-### 获取当前状态+##### 获取当前状态
  
 ---- ----
行 409: 行 432:
 \\ \\
  
-### 获取电压值+##### 获取电压值
  
 ---- ----
行 416: 行 439:
  
 #### 命令 #### 命令
 +
   * **dc** - (Object) - The DC power supply object.   * **dc** - (Object) - The DC power supply object.
     * **#** - (Array<​Object>​) - An array of command objects to apply to the DC power supply channel.     * **#** - (Array<​Object>​) - An array of command objects to apply to the DC power supply channel.
行 464: 行 488:
 \\ \\
  
-### 设置电压+##### 设置电压
  
 ---- ----
行 477: 行 501:
  
 #### 响应 #### 响应
 +
   * **gpio** - (Object) - The DC power supply object.   * **gpio** - (Object) - The DC power supply object.
     * **#** - (Array<​Object>​) - An array of command objects applied to the DC power supply ​ channel.     * **#** - (Array<​Object>​) - An array of command objects applied to the DC power supply ​ channel.
行 484: 行 509:
  
 #### 举例: #### 举例:
 +
 <WRAP group> <WRAP group>
 <WRAP half column> <WRAP half column>