增加四通道参数保存为json和json恢复功能

This commit is contained in:
yangshenbo 2026-07-28 22:28:14 +08:00
parent 4922a2f5d3
commit 4d9b923362
10 changed files with 1934 additions and 249 deletions

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

View File

@ -6,8 +6,8 @@
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2026-07-28T09:50:05.947705Z",
"start_time": "2026-07-28T09:50:05.940378Z"
"end_time": "2026-07-28T13:59:14.582505Z",
"start_time": "2026-07-28T13:59:14.575884Z"
}
},
"source": [
@ -32,8 +32,8 @@
" 通用执行函数:自动判断模式并按需调用 configure_chip_output, env_config, instruction_config\n",
" :param output_dir: 可选,自定义输出文件和 JSON 保存的目录路径\n",
" \"\"\"\n",
" # 1. 确定最终输出目录\n",
" base_dir = Path('D:/MyDocument/工作/Z芯片的case生成器/4ch-Z_Generator/gen_cases') # 在这边选择case目录所在位置\n",
" # 确定最终输出目录\n",
" base_dir = Path('D:/MyDocument/工作/Z芯片的case生成器/Chip_Case_Generator/4ch-Z_Generator/gen_cases') # 在这边选择case目录所在位置\n",
" folder_name = params.get('FolderName', 'General') #文件夹名不用在这边改在case参数里面改\n",
" out_dir = base_dir / folder_name\n",
" \n",
@ -42,28 +42,24 @@
" # 更新 params 中的路径信息\n",
" params['config_file'] = str(config_file_path)\n",
" \n",
" # 2. 自动创建目录并初始化保存器\n",
" pm = ParamsManager(out_dir)\n",
" if save_json:\n",
" pm.save(params, case_name)\n",
" \n",
" # 3. 基础芯片输出配置\n",
"\n",
" # 基础芯片输出配置\n",
" config_chip_reg(mk, **params)\n",
" print(\"执行 config_chip_reg\")\n",
" \n",
" # 4. 自动识别并执行包络配置\n",
" # 自动识别并执行包络配置\n",
" if 'envelope_configs' in params or 'envelope_type' in params or 'amp' in params:\n",
" if 'env_config' in globals():\n",
" env_config(mk, **params)\n",
" print(\"执行了 env_config\")\n",
" \n",
" # 5. 自动识别并执行指令配置\n",
" # 自动识别并执行指令配置\n",
" if 'instr_type' in params:\n",
" instruction_config(mk, mk_instr, **params)\n",
" print(\"执行了 instruction_config\")\n",
" \n",
" \n",
" # 7. 基础硬件寄存器下发\n",
" # 基础硬件寄存器下发\n",
" if write_hw:\n",
" channel = params['channel']\n",
" envm_base =addr_base['ENVM0_BASE'] + channel* 0x600000\n",
@ -78,13 +74,13 @@
"\n"
],
"outputs": [],
"execution_count": 34
"execution_count": 41
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-07-28T09:52:50.467599Z",
"start_time": "2026-07-28T09:52:50.435623Z"
"end_time": "2026-07-28T14:17:52.745749Z",
"start_time": "2026-07-28T14:17:52.706024Z"
}
},
"cell_type": "code",
@ -142,6 +138,15 @@
" 'FolderName': 'General',\n",
" 'CaseName': 'env2',\n",
"}\n",
"# ==========================================\n",
"#在运行前,先删除旧的 HEX 文件防止重复运行追加到case文件中\n",
"base_dir = Path('D:/MyDocument/工作/Z芯片的case生成器/Chip_Case_Generator/4ch-Z_Generator/gen_cases')\n",
"out_dir = base_dir / param_ch0['FolderName']\n",
"hex_file = out_dir / f\"{param_ch0['CaseName']}_HEX.txt\"\n",
"# 如果上一次运行的旧文件还在,就把它删掉\n",
"if hex_file.exists():\n",
" hex_file.unlink()\n",
"# ==========================================\n",
"run_case(param_ch0)\n",
"\n",
"#通道1\n",
@ -162,6 +167,19 @@
"param_ch3['fcw'] = [400, 200, 300, 400]\n",
"run_case(param_ch3)\n",
"\n",
"# ==========================================\n",
"#参数打包到json里面\n",
"out_dir = Path(param_ch0['config_file']).parent \n",
"case_name = param_ch0['CaseName']\n",
"all_params = {\n",
" \"ch0\": param_ch0,\n",
" \"ch1\": param_ch1,\n",
" \"ch2\": param_ch2,\n",
" \"ch3\": param_ch3\n",
"}\n",
"pm = ParamsManager(out_dir)\n",
"pm.save(all_params, case_name)\n",
"# ==========================================\n",
"\n"
],
"id": "3e79e12a64f2769e",
@ -173,29 +191,29 @@
"执行 config_chip_reg\n",
"执行了 env_config\n",
"执行了 instruction_config\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n",
"执行 config_chip_reg\n",
"执行了 env_config\n",
"执行了 instruction_config\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n",
"执行 config_chip_reg\n",
"执行了 env_config\n",
"执行了 instruction_config\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n",
"执行 config_chip_reg\n",
"执行了 env_config\n",
"执行了 instruction_config\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n"
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n"
]
}
],
"execution_count": 40
"execution_count": 62
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-07-28T09:50:35.917889Z",
"start_time": "2026-07-28T09:50:35.900732Z"
"end_time": "2026-07-28T14:03:52.514124Z",
"start_time": "2026-07-28T14:03:52.492729Z"
}
},
"cell_type": "code",
@ -213,6 +231,15 @@
" 'FolderName': 'RAMP',\n",
" 'CaseName': f\"RAMP_SPI\"\n",
"}\n",
"# ==========================================\n",
"#在运行前,先删除旧的 HEX 文件防止重复运行追加到case文件中\n",
"base_dir = Path('D:/MyDocument/工作/Z芯片的case生成器/Chip_Case_Generator/4ch-Z_Generator/gen_cases')\n",
"out_dir = base_dir / param_ch0['FolderName']\n",
"hex_file = out_dir / f\"{param_ch0['CaseName']}_HEX.txt\"\n",
"# 如果上一次运行的旧文件还在,就把它删掉\n",
"if hex_file.exists():\n",
" hex_file.unlink()\n",
"# ==========================================\n",
"run_case(param_ch0,write_hw = True)\n",
"\n",
"#通道1\n",
@ -228,7 +255,20 @@
"#通道3\n",
"param_ch3 = param_ch0.copy()\n",
"param_ch3['channel'] = 3\n",
"run_case(param_ch3,write_hw = True)\n"
"run_case(param_ch3,write_hw = True)\n",
"# ==========================================\n",
"#参数打包到json里面\n",
"out_dir = Path(param_ch0['config_file']).parent \n",
"case_name = param_ch0['CaseName']\n",
"all_params = {\n",
" \"ch0\": param_ch0,\n",
" \"ch1\": param_ch1,\n",
" \"ch2\": param_ch2,\n",
" \"ch3\": param_ch3\n",
"}\n",
"pm = ParamsManager(out_dir)\n",
"pm.save(all_params, case_name)\n",
"# ==========================================\n"
],
"id": "1f6f70a26d5da7f8",
"outputs": [
@ -237,17 +277,17 @@
"output_type": "stream",
"text": [
"执行 config_chip_reg\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n",
"执行 config_chip_reg\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n",
"执行 config_chip_reg\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n",
"执行 config_chip_reg\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n"
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n"
]
}
],
"execution_count": 36
"execution_count": 53
},
{
"metadata": {
@ -273,7 +313,15 @@
" 'FolderName': 'RAMP',\n",
" 'CaseName': f\"RAMP_MCU_STEP\"\n",
"}\n",
"\n",
"# ==========================================\n",
"#在运行前,先删除旧的 HEX 文件防止重复运行追加到case文件中\n",
"base_dir = Path('D:/MyDocument/工作/Z芯片的case生成器/Chip_Case_Generator/4ch-Z_Generator/gen_cases')\n",
"out_dir = base_dir / param_ch0['FolderName']\n",
"hex_file = out_dir / f\"{param_ch0['CaseName']}_HEX.txt\"\n",
"# 如果上一次运行的旧文件还在,就把它删掉\n",
"if hex_file.exists():\n",
" hex_file.unlink()\n",
"# ==========================================\n",
"run_case(param_ch0,write_hw = True)\n",
"\n",
"#通道1\n",
@ -289,7 +337,21 @@
"#通道3\n",
"param_ch3 = param_ch0.copy()\n",
"param_ch3['channel'] = 3\n",
"run_case(param_ch3,write_hw = True)"
"run_case(param_ch3,write_hw = True)\n",
"\n",
"# ==========================================\n",
"#参数打包到json里面\n",
"out_dir = Path(param_ch0['config_file']).parent \n",
"case_name = param_ch0['CaseName']\n",
"all_params = {\n",
" \"ch0\": param_ch0,\n",
" \"ch1\": param_ch1,\n",
" \"ch2\": param_ch2,\n",
" \"ch3\": param_ch3\n",
"}\n",
"pm = ParamsManager(out_dir)\n",
"pm.save(all_params, case_name)\n",
"# =========================================="
],
"id": "84e2c612b0a8f7ab",
"outputs": [
@ -317,8 +379,8 @@
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-07-28T09:51:30.781841Z",
"start_time": "2026-07-28T09:51:30.762192Z"
"end_time": "2026-07-28T14:13:45.795371Z",
"start_time": "2026-07-28T14:13:45.764237Z"
}
},
"cell_type": "code",
@ -338,6 +400,15 @@
" 'FolderName': 'RAMP',\n",
" 'CaseName': f\"RAMP_MCU_FIXED\"\n",
"}\n",
"# ==========================================\n",
"#在运行前,先删除旧的 HEX 文件防止重复运行追加到case文件中\n",
"base_dir = Path('D:/MyDocument/工作/Z芯片的case生成器/Chip_Case_Generator/4ch-Z_Generator/gen_cases')\n",
"out_dir = base_dir / param_ch0['FolderName']\n",
"hex_file = out_dir / f\"{param_ch0['CaseName']}_HEX.txt\"\n",
"# 如果上一次运行的旧文件还在,就把它删掉\n",
"if hex_file.exists():\n",
" hex_file.unlink()\n",
"# ==========================================\n",
"\n",
"run_case(param_ch0,write_hw = True)\n",
"\n",
@ -354,7 +425,20 @@
"#通道3\n",
"param_ch3 = param_ch0.copy()\n",
"param_ch3['channel'] = 3\n",
"run_case(param_ch3,write_hw = True)"
"run_case(param_ch3,write_hw = True)\n",
"# ==========================================\n",
"#参数打包到json里面\n",
"out_dir = Path(param_ch0['config_file']).parent \n",
"case_name = param_ch0['CaseName']\n",
"all_params = {\n",
" \"ch0\": param_ch0,\n",
" \"ch1\": param_ch1,\n",
" \"ch2\": param_ch2,\n",
" \"ch3\": param_ch3\n",
"}\n",
"pm = ParamsManager(out_dir)\n",
"pm.save(all_params, case_name)\n",
"# =========================================="
],
"id": "e2743613b0b64ea7",
"outputs": [
@ -364,20 +448,91 @@
"text": [
"执行 config_chip_reg\n",
"执行了 instruction_config\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n",
"执行 config_chip_reg\n",
"执行了 instruction_config\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n",
"执行 config_chip_reg\n",
"执行了 instruction_config\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n",
"执行 config_chip_reg\n",
"执行了 instruction_config\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n"
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n"
]
}
],
"execution_count": 38
"execution_count": 58
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-07-28T14:23:00.027209Z",
"start_time": "2026-07-28T14:23:00.001173Z"
}
},
"cell_type": "code",
"source": [
"#通过json还原case脚本\n",
"# ==========================================\n",
"# 1. 定义你要还原的 Case 信息\n",
"# ==========================================\n",
"base_dir = Path('D:/MyDocument/工作/Z芯片的case生成器/Chip_Case_Generator/4ch-Z_Generator/gen_cases')\n",
"folder_name = 'RAMP' # 填入你要还原的文件夹名\n",
"case_name = 'RAMP_MCU_FIXED' # 填入你要还原的 Case 名字\n",
"out_dir = base_dir / folder_name\n",
"\n",
"# ==========================================\n",
"# 2. 实例化 ParamsManager 并加载 JSON\n",
"# ==========================================\n",
"pm = ParamsManager(out_dir)\n",
"# load 方法会返回你之前保存的包含 ch0, ch1, ch2, ch3 的大字典\n",
"loaded_params = pm.load(case_name) \n",
"\n",
"# ==========================================\n",
"# 3. 还原前先清理旧的 HEX 文件(防止重复追加)\n",
"# ==========================================\n",
"hex_file = out_dir / f\"{case_name}_HEX.txt\"\n",
"if hex_file.exists():\n",
" hex_file.unlink()\n",
"\n",
"# ==========================================\n",
"# 4. 遍历 JSON 数据,依次执行 run_case 还原\n",
"# ==========================================\n",
"# 为了保证顺序,我们按 ch0 到 ch3 的顺序遍历\n",
"for ch_key in ['ch0', 'ch1', 'ch2', 'ch3']:\n",
" if ch_key in loaded_params:\n",
" ch_param = loaded_params[ch_key]\n",
" \n",
" \n",
" # 将读取到的参数直接塞进 run_case。\n",
" # 此时不需要再保存 json (save_json=False),但需要写入硬件文本 (write_hw=True)\n",
" run_case(ch_param, save_json=False, write_hw=True)\n",
"\n",
"print(\"Case 还原完成!\")"
],
"id": "4d17f59a15077bb1",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"执行 config_chip_reg\n",
"执行了 instruction_config\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n",
"执行 config_chip_reg\n",
"执行了 instruction_config\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n",
"执行 config_chip_reg\n",
"执行了 instruction_config\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n",
"执行 config_chip_reg\n",
"执行了 instruction_config\n",
"生成文件路径D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n",
"🎉 Case 还原完成!\n"
]
}
],
"execution_count": 63
}
],
"metadata": {

View File

@ -1,4 +1,5 @@
import json
import re
import os
from pathlib import Path
@ -15,11 +16,17 @@ class ParamsManager:
def save(self, params, filename):
if not filename.endswith('.json'):
filename = filename + '.json'
filepath = os.path.join(self.params_dir, filename)
with open(filepath, 'w', encoding='utf-8') as f:
json.dump(params, f, indent=2, ensure_ascii=False)
json.dump(params, f, indent=None, separators=(',', ':'), ensure_ascii=False)
def load(self, filename):
if not filename.endswith('.json'):
@ -30,19 +37,9 @@ class ParamsManager:
with open(filepath, 'r', encoding='utf-8') as f:
params = json.load(f)
return params
def save_multiple(self, params_dict):
filepaths = []
for filename, params in params_dict.items():
filepath = self.save(params, filename)
filepaths.append(filepath)
return filepaths
def load_multiple(self, filenames):
result = {}
for filename in filenames:
result[filename] = self.load(filename)
return result
# from ParamsManager import ParamsManager

View File

@ -1,150 +1,602 @@
{
"channel": 3,
"chip_mode": "AWG",
"mode": "nco",
"tail_en": false,
"tc_coef_set": "coef3",
"inner_sync": false,
"amp_mod_enable": true,
"freq_mod_enable": true,
"bias_enable": true,
"fcw": [
400,
200,
300,
400
],
"mcu_reg_clr": true,
"pcw": [
0,
30,
45,
90,
120,
135,
150,
180
],
"rz_ff_pha": 0,
"rz_fm_pha": 45,
"ff_amp": [
32767,
32767,
32767,
32767
],
"fm_amp": [
32767,
32767,
32767,
32767
],
"bias": [
1,
2,
3,
4
],
"fm_en": false,
"instr_type": "general_send_wait",
"send_interval": [
100,
150,
200,
250,
300,
350,
400,
450,
500
],
"cycle_num": 1,
"codeword_configs": [
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 4
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 5
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 6
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 7
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 8
}
],
"sweep_config": {
"sweep_num": 0,
"offsets": [
120,
64
"ch0": {
"channel": 0,
"chip_mode": "AWG",
"mode": "mod",
"tail_en": false,
"tc_coef_set": "coef3",
"inner_sync": false,
"amp_mod_enable": true,
"freq_mod_enable": true,
"bias_enable": true,
"fcw": [
100,
200,
300,
400
],
"steps": [
3000,
143165576
]
"mcu_reg_clr": true,
"pcw": [
0,
30,
45,
90,
120,
135,
150,
180
],
"rz_ff_pha": 0,
"rz_fm_pha": 45,
"ff_amp": [
32767,
32767,
32767,
32767
],
"fm_amp": [
32767,
32767,
32767,
32767
],
"bias": [
1,
2,
3,
4
],
"fm_en": false,
"instr_type": "general_send_wait",
"send_interval": [
100,
150,
200,
250,
300,
350,
400,
450,
500
],
"cycle_num": 1,
"codeword_configs": [
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 4
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 5
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 6
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 7
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 8
}
],
"sweep_config": {
"sweep_num": 0,
"offsets": [
120,
64
],
"steps": [
3000,
143165576
]
},
"envelope_configs": [
{
"envelope_type": "rect_hold",
"amp": 32767
},
{
"envelope_type": "flattop_hold",
"amp": 32767,
"edge_time": 3.5,
"wave_time": 30
},
{
"envelope_type": "acz",
"amp": 32767,
"wave_time": 48
},
{
"envelope_type": "accz",
"wave_time": 48
},
{
"envelope_type": "cosine",
"amp": 32767,
"wave_time": 300
},
{
"envelope_type": "rect",
"amp": 32767,
"wave_time": 12
},
{
"envelope_type": "flattop",
"amp": 32767,
"edge_time": 2,
"wave_time": 22
}
],
"FolderName": "General",
"CaseName": "env2",
"config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt"
},
"envelope_configs": [
{
"envelope_type": "rect_hold",
"amp": 32767
"ch1": {
"channel": 1,
"chip_mode": "AWG",
"mode": "mod",
"tail_en": false,
"tc_coef_set": "coef3",
"inner_sync": false,
"amp_mod_enable": true,
"freq_mod_enable": true,
"bias_enable": true,
"fcw": [
200,
200,
300,
400
],
"mcu_reg_clr": true,
"pcw": [
0,
30,
45,
90,
120,
135,
150,
180
],
"rz_ff_pha": 0,
"rz_fm_pha": 45,
"ff_amp": [
32767,
32767,
32767,
32767
],
"fm_amp": [
32767,
32767,
32767,
32767
],
"bias": [
1,
2,
3,
4
],
"fm_en": false,
"instr_type": "general_send_wait",
"send_interval": [
100,
150,
200,
250,
300,
350,
400,
450,
500
],
"cycle_num": 1,
"codeword_configs": [
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 4
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 5
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 6
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 7
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 8
}
],
"sweep_config": {
"sweep_num": 0,
"offsets": [
120,
64
],
"steps": [
3000,
143165576
]
},
{
"envelope_type": "flattop_hold",
"amp": 32767,
"edge_time": 3.5,
"wave_time": 30
"envelope_configs": [
{
"envelope_type": "rect_hold",
"amp": 32767
},
{
"envelope_type": "flattop_hold",
"amp": 32767,
"edge_time": 3.5,
"wave_time": 30
},
{
"envelope_type": "acz",
"amp": 32767,
"wave_time": 48
},
{
"envelope_type": "accz",
"wave_time": 48
},
{
"envelope_type": "cosine",
"amp": 32767,
"wave_time": 300
},
{
"envelope_type": "rect",
"amp": 32767,
"wave_time": 12
},
{
"envelope_type": "flattop",
"amp": 32767,
"edge_time": 2,
"wave_time": 22
}
],
"FolderName": "General",
"CaseName": "env2",
"config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt"
},
"ch2": {
"channel": 2,
"chip_mode": "AWG",
"mode": "mod",
"tail_en": false,
"tc_coef_set": "coef3",
"inner_sync": false,
"amp_mod_enable": true,
"freq_mod_enable": true,
"bias_enable": true,
"fcw": [
300,
200,
300,
400
],
"mcu_reg_clr": true,
"pcw": [
0,
30,
45,
90,
120,
135,
150,
180
],
"rz_ff_pha": 0,
"rz_fm_pha": 45,
"ff_amp": [
32767,
32767,
32767,
32767
],
"fm_amp": [
32767,
32767,
32767,
32767
],
"bias": [
1,
2,
3,
4
],
"fm_en": false,
"instr_type": "general_send_wait",
"send_interval": [
100,
150,
200,
250,
300,
350,
400,
450,
500
],
"cycle_num": 1,
"codeword_configs": [
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 4
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 5
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 6
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 7
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 8
}
],
"sweep_config": {
"sweep_num": 0,
"offsets": [
120,
64
],
"steps": [
3000,
143165576
]
},
{
"envelope_type": "acz",
"amp": 32767,
"wave_time": 48
"envelope_configs": [
{
"envelope_type": "rect_hold",
"amp": 32767
},
{
"envelope_type": "flattop_hold",
"amp": 32767,
"edge_time": 3.5,
"wave_time": 30
},
{
"envelope_type": "acz",
"amp": 32767,
"wave_time": 48
},
{
"envelope_type": "accz",
"wave_time": 48
},
{
"envelope_type": "cosine",
"amp": 32767,
"wave_time": 300
},
{
"envelope_type": "rect",
"amp": 32767,
"wave_time": 12
},
{
"envelope_type": "flattop",
"amp": 32767,
"edge_time": 2,
"wave_time": 22
}
],
"FolderName": "General",
"CaseName": "env2",
"config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt"
},
"ch3": {
"channel": 3,
"chip_mode": "AWG",
"mode": "mod",
"tail_en": false,
"tc_coef_set": "coef3",
"inner_sync": false,
"amp_mod_enable": true,
"freq_mod_enable": true,
"bias_enable": true,
"fcw": [
400,
200,
300,
400
],
"mcu_reg_clr": true,
"pcw": [
0,
30,
45,
90,
120,
135,
150,
180
],
"rz_ff_pha": 0,
"rz_fm_pha": 45,
"ff_amp": [
32767,
32767,
32767,
32767
],
"fm_amp": [
32767,
32767,
32767,
32767
],
"bias": [
1,
2,
3,
4
],
"fm_en": false,
"instr_type": "general_send_wait",
"send_interval": [
100,
150,
200,
250,
300,
350,
400,
450,
500
],
"cycle_num": 1,
"codeword_configs": [
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 4
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 5
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 6
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 7
},
{
"wave_hold": 0,
"fcw_index": 0,
"pcw_index": 0,
"code_clr": 1,
"env_index": 8
}
],
"sweep_config": {
"sweep_num": 0,
"offsets": [
120,
64
],
"steps": [
3000,
143165576
]
},
{
"envelope_type": "accz",
"wave_time": 48
},
{
"envelope_type": "cosine",
"amp": 32767,
"wave_time": 300
},
{
"envelope_type": "rect",
"amp": 32767,
"wave_time": 12
},
{
"envelope_type": "flattop",
"amp": 32767,
"edge_time": 2,
"wave_time": 22
}
],
"FolderName": "General",
"CaseName": "env2",
"config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt"
"envelope_configs": [
{
"envelope_type": "rect_hold",
"amp": 32767
},
{
"envelope_type": "flattop_hold",
"amp": 32767,
"edge_time": 3.5,
"wave_time": 30
},
{
"envelope_type": "acz",
"amp": 32767,
"wave_time": 48
},
{
"envelope_type": "accz",
"wave_time": 48
},
{
"envelope_type": "cosine",
"amp": 32767,
"wave_time": 300
},
{
"envelope_type": "rect",
"amp": 32767,
"wave_time": 12
},
{
"envelope_type": "flattop",
"amp": 32767,
"edge_time": 2,
"wave_time": 22
}
],
"FolderName": "General",
"CaseName": "env2",
"config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt"
}
}

View File

@ -1,6 +1,6 @@
00300108
00100004
00000006
00000005
00300104
00100004
@ -363,7 +363,7 @@ f6000ce3
00900108
00100004
00000006
00000005
00900104
00100004
@ -726,7 +726,7 @@ f6000ce3
00f00108
00100004
00000006
00000005
00f00104
00100004
@ -1089,7 +1089,7 @@ f6000ce3
01500108
00100004
00000006
00000005
01500104
00100004

View File

@ -1,49 +1,198 @@
{
"channel": 3,
"chip_mode": "RAMP",
"ramp_ctrl": "MCU",
"instr_type": "ramp_fixed",
"fixed_value": [
32768,
32769,
32770,
32772,
32776,
32784,
32800,
32832,
32896,
33024,
33280,
33792,
34816,
36864,
40960,
49152,
0
],
"wait_clk": [
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000
],
"config_param_num": 17,
"ensemble_num": 0,
"FolderName": "RAMP",
"CaseName": "RAMP_MCU_FIXED",
"config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt"
"ch0": {
"channel": 0,
"chip_mode": "RAMP",
"ramp_ctrl": "MCU",
"instr_type": "ramp_fixed",
"fixed_value": [
32768,
32769,
32770,
32772,
32776,
32784,
32800,
32832,
32896,
33024,
33280,
33792,
34816,
36864,
40960,
49152,
0
],
"wait_clk": [
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000
],
"config_param_num": 17,
"ensemble_num": 0,
"FolderName": "RAMP",
"CaseName": "RAMP_MCU_FIXED",
"config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt"
},
"ch1": {
"channel": 1,
"chip_mode": "RAMP",
"ramp_ctrl": "MCU",
"instr_type": "ramp_fixed",
"fixed_value": [
32768,
32769,
32770,
32772,
32776,
32784,
32800,
32832,
32896,
33024,
33280,
33792,
34816,
36864,
40960,
49152,
0
],
"wait_clk": [
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000
],
"config_param_num": 17,
"ensemble_num": 0,
"FolderName": "RAMP",
"CaseName": "RAMP_MCU_FIXED",
"config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt"
},
"ch2": {
"channel": 2,
"chip_mode": "RAMP",
"ramp_ctrl": "MCU",
"instr_type": "ramp_fixed",
"fixed_value": [
32768,
32769,
32770,
32772,
32776,
32784,
32800,
32832,
32896,
33024,
33280,
33792,
34816,
36864,
40960,
49152,
0
],
"wait_clk": [
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000
],
"config_param_num": 17,
"ensemble_num": 0,
"FolderName": "RAMP",
"CaseName": "RAMP_MCU_FIXED",
"config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt"
},
"ch3": {
"channel": 3,
"chip_mode": "RAMP",
"ramp_ctrl": "MCU",
"instr_type": "ramp_fixed",
"fixed_value": [
32768,
32769,
32770,
32772,
32776,
32784,
32800,
32832,
32896,
33024,
33280,
33792,
34816,
36864,
40960,
49152,
0
],
"wait_clk": [
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000
],
"config_param_num": 17,
"ensemble_num": 0,
"FolderName": "RAMP",
"CaseName": "RAMP_MCU_FIXED",
"config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt"
}
}

View File

@ -0,0 +1,316 @@
00300108
00100004
00000008
00300124
00100004
40000000
002000dc
00100094
80000000
00000000
00000011
80008000
000003e8
80018000
000003e8
80028000
000003e8
80048000
000003e8
80088000
000003e8
80108000
000003e8
80208000
000003e8
80408000
000003e8
80808000
000003e8
81008000
000003e8
82008000
000003e8
84008000
000003e8
88008000
000003e8
90008000
000003e8
a0008000
000003e8
c0008000
000003e8
00008000
000003e8
00100000
00100060
001000b7
00200137
0dc0af83
0df12223
00800193
0e00a203
fff20213
00008313
0e40a283
fff28293
0e832f83
0ec32f03
0bf12c23
00330333
00029463
00c0006f
fe8f000b
fe1ff06f
fdcf000b
fc0216e3
00f0000b
0a012c23
0c012223
0000002b
00500000
00100004
00000000
00900108
00100004
00000008
00900124
00100004
40000000
008000dc
00100094
80000000
00000000
00000011
80008000
000003e8
80018000
000003e8
80028000
000003e8
80048000
000003e8
80088000
000003e8
80108000
000003e8
80208000
000003e8
80408000
000003e8
80808000
000003e8
81008000
000003e8
82008000
000003e8
84008000
000003e8
88008000
000003e8
90008000
000003e8
a0008000
000003e8
c0008000
000003e8
00008000
000003e8
00700000
00100060
001000b7
00200137
0dc0af83
0df12223
00800193
0e00a203
fff20213
00008313
0e40a283
fff28293
0e832f83
0ec32f03
0bf12c23
00330333
00029463
00c0006f
fe8f000b
fe1ff06f
fdcf000b
fc0216e3
00f0000b
0a012c23
0c012223
0000002b
00b00000
00100004
00000000
00f00108
00100004
00000008
00f00124
00100004
40000000
00e000dc
00100094
80000000
00000000
00000011
80008000
000003e8
80018000
000003e8
80028000
000003e8
80048000
000003e8
80088000
000003e8
80108000
000003e8
80208000
000003e8
80408000
000003e8
80808000
000003e8
81008000
000003e8
82008000
000003e8
84008000
000003e8
88008000
000003e8
90008000
000003e8
a0008000
000003e8
c0008000
000003e8
00008000
000003e8
00d00000
00100060
001000b7
00200137
0dc0af83
0df12223
00800193
0e00a203
fff20213
00008313
0e40a283
fff28293
0e832f83
0ec32f03
0bf12c23
00330333
00029463
00c0006f
fe8f000b
fe1ff06f
fdcf000b
fc0216e3
00f0000b
0a012c23
0c012223
0000002b
01100000
00100004
00000000
01500108
00100004
00000008
01500124
00100004
40000000
014000dc
00100094
80000000
00000000
00000011
80008000
000003e8
80018000
000003e8
80028000
000003e8
80048000
000003e8
80088000
000003e8
80108000
000003e8
80208000
000003e8
80408000
000003e8
80808000
000003e8
81008000
000003e8
82008000
000003e8
84008000
000003e8
88008000
000003e8
90008000
000003e8
a0008000
000003e8
c0008000
000003e8
00008000
000003e8
01300000
00100060
001000b7
00200137
0dc0af83
0df12223
00800193
0e00a203
fff20213
00008313
0e40a283
fff28293
0e832f83
0ec32f03
0bf12c23
00330333
00029463
00c0006f
fe8f000b
fe1ff06f
fdcf000b
fc0216e3
00f0000b
0a012c23
0c012223
0000002b
01700000
00100004
00000000

View File

@ -0,0 +1,50 @@
{
"ch0": {
"channel": 0,
"chip_mode": "RAMP",
"ramp_ctrl": "SPI",
"fixed_enable": true,
"fixed_value": 22767,
"height": 512,
"step_time": 34,
"FolderName": "RAMP",
"CaseName": "RAMP_SPI",
"config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt"
},
"ch1": {
"channel": 1,
"chip_mode": "RAMP",
"ramp_ctrl": "SPI",
"fixed_enable": true,
"fixed_value": 22767,
"height": 512,
"step_time": 34,
"FolderName": "RAMP",
"CaseName": "RAMP_SPI",
"config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt"
},
"ch2": {
"channel": 2,
"chip_mode": "RAMP",
"ramp_ctrl": "SPI",
"fixed_enable": true,
"fixed_value": 22767,
"height": 512,
"step_time": 34,
"FolderName": "RAMP",
"CaseName": "RAMP_SPI",
"config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt"
},
"ch3": {
"channel": 3,
"chip_mode": "RAMP",
"ramp_ctrl": "SPI",
"fixed_enable": true,
"fixed_value": 22767,
"height": 512,
"step_time": 34,
"FolderName": "RAMP",
"CaseName": "RAMP_SPI",
"config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt"
}
}

View File

@ -0,0 +1,560 @@
00300108
00100004
00000008
00300118
00100004
58ef8000
00300124
00100004
80000000
00500000
00100004
00000000
00100000
00100004
0000002b
00900108
00100004
00000008
00900118
00100004
58ef8000
00900124
00100004
80000000
00b00000
00100004
00000000
00700000
00100004
0000002b
00f00108
00100004
00000008
00f00118
00100004
58ef8000
00f00124
00100004
80000000
01100000
00100004
00000000
00d00000
00100004
0000002b
01500108
00100004
00000008
01500118
00100004
58ef8000
01500124
00100004
80000000
01700000
00100004
00000000
01300000
00100004
0000002b
00300108
00100004
00000008
00300118
00100004
58ef8000
00300124
00100004
80000000
00500000
00100004
00000000
00100000
00100004
0000002b
00900108
00100004
00000008
00900118
00100004
58ef8000
00900124
00100004
80000000
00b00000
00100004
00000000
00700000
00100004
0000002b
00f00108
00100004
00000008
00f00118
00100004
58ef8000
00f00124
00100004
80000000
01100000
00100004
00000000
00d00000
00100004
0000002b
01500108
00100004
00000008
01500118
00100004
58ef8000
01500124
00100004
80000000
01700000
00100004
00000000
01300000
00100004
0000002b
00300108
00100004
00000008
00300118
00100004
58ef8000
00300124
00100004
80000000
00500000
00100004
00000000
00100000
00100004
0000002b
00900108
00100004
00000008
00900118
00100004
58ef8000
00900124
00100004
80000000
00b00000
00100004
00000000
00700000
00100004
0000002b
00f00108
00100004
00000008
00f00118
00100004
58ef8000
00f00124
00100004
80000000
01100000
00100004
00000000
00d00000
00100004
0000002b
01500108
00100004
00000008
01500118
00100004
58ef8000
01500124
00100004
80000000
01700000
00100004
00000000
01300000
00100004
0000002b
00300108
00100004
00000008
00300118
00100004
58ef8000
00300124
00100004
80000000
00500000
00100004
00000000
00100000
00100004
0000002b
00900108
00100004
00000008
00900118
00100004
58ef8000
00900124
00100004
80000000
00b00000
00100004
00000000
00700000
00100004
0000002b
00f00108
00100004
00000008
00f00118
00100004
58ef8000
00f00124
00100004
80000000
01100000
00100004
00000000
00d00000
00100004
0000002b
01500108
00100004
00000008
01500118
00100004
58ef8000
01500124
00100004
80000000
01700000
00100004
00000000
01300000
00100004
0000002b
00300108
00100004
00000008
00300118
00100004
58ef8000
00300124
00100004
80000000
00500000
00100004
00000000
00100000
00100004
0000002b
00900108
00100004
00000008
00900118
00100004
58ef8000
00900124
00100004
80000000
00b00000
00100004
00000000
00700000
00100004
0000002b
00f00108
00100004
00000008
00f00118
00100004
58ef8000
00f00124
00100004
80000000
01100000
00100004
00000000
00d00000
00100004
0000002b
01500108
00100004
00000008
01500118
00100004
58ef8000
01500124
00100004
80000000
01700000
00100004
00000000
01300000
00100004
0000002b
00300108
00100004
00000008
00300118
00100004
58ef8000
00300124
00100004
80000000
00500000
00100004
00000000
00100000
00100004
0000002b
00900108
00100004
00000008
00900118
00100004
58ef8000
00900124
00100004
80000000
00b00000
00100004
00000000
00700000
00100004
0000002b
00f00108
00100004
00000008
00f00118
00100004
58ef8000
00f00124
00100004
80000000
01100000
00100004
00000000
00d00000
00100004
0000002b
01500108
00100004
00000008
01500118
00100004
58ef8000
01500124
00100004
80000000
01700000
00100004
00000000
01300000
00100004
0000002b
00300108
00100004
00000008
00300118
00100004
58ef8000
00300124
00100004
80000000
00500000
00100004
00000000
00100000
00100004
0000002b
00900108
00100004
00000008
00900118
00100004
58ef8000
00900124
00100004
80000000
00b00000
00100004
00000000
00700000
00100004
0000002b
00f00108
00100004
00000008
00f00118
00100004
58ef8000
00f00124
00100004
80000000
01100000
00100004
00000000
00d00000
00100004
0000002b
01500108
00100004
00000008
01500118
00100004
58ef8000
01500124
00100004
80000000
01700000
00100004
00000000
01300000
00100004
0000002b