4 主要操作
本章介绍寄存器操作、按钮操作、指示灯、跟踪显示、常用监控、通用寄存器读写、I2C设置和日志管理的操作。
4.1 寄存器操作
寄存器操作区如 图4-1 所示,分为分段信息区(上部一小横条)和寄存器信息区。通过按钮和右键菜单的结合可以实现增加、修改、删除寄存器分段和寄存器,监控寄存器的值,生成寄存器文件。寄存器操作区中寄存器显示的形式由【设置】菜单中的【位寄存器】和【字寄存器】决定,图4-1 所示为比特形式。
图4-1 寄存器操作界面

4.1.1 分段信息区
点击分段信息区中的下拉框,框中列出已有分段名(及对应基地址),如 图4-2 所示,选择某一分段后,该分段的寄存器将显示在寄存器信息区中。下拉框中最后1个为“All”,表示显示所有的寄存器。
图4-2 分段选择

分段信息区的“Add”、“Modify ”、“Delete”按钮分别实现分段的添加、修改和删除。“All”分段名一直存在(即不必添加)且不允许被删除,它对应的寄存器包括所有分段的寄存器。
- Add—— 左键点击“添加”按钮,出现如 图4-3 所示,输入基地址和分段名称,即可完成分段添加。
图4-3 添加分段

- Modify —— 左键点击“修改”按钮,出现如 图4-4 所示,可修改当前基地址和分段名。
图4-4 修改选择

- Delete—— 左键点击“删除”按钮,将删除当前分段名及所包含的寄存器,为防止误删,会有确认提示,如 图4-5 所示:
图4-5 确认删除

4.1.2 寄存器信息区
寄存器信息区如 图4-6 所示,包括寄存器名字、地址偏移、缺省值和当前值。缺省值和当前值可以按指定基显示,十进制、十六进制、二进制分别以前缀d、h、b表示。当分段选择All时,地址偏移变为绝对地址,列表中的寄存器也以绝对地址显示。
图4-6 寄存器信息区

- 选中 —— 左键单击某寄存器行(除当前值外),此行变蓝色,表示选中。
- 读寄存器 —— 双击某寄存行(除当前值外),即可以读该寄存器,显示在当前值域。
- 写寄存器 —— 左键点击某寄存器的当前值格,可以直接输入新值,如 图4-7 蓝色部分所示,在该当前值格外任意地方点击即完成输入。
图4-7 编辑寄存器值

本软件中所说的读寄存器是指从芯片或FPGA中读取寄存内容,显示到软件中。
4.1.3 寄存器信息区右键菜单功能
在寄存器信息区选中任一寄存器(非当前值区)时,选中条变蓝,单击右键,跳出菜单,如 图4-8 所示。当在分段中选择All时,右键菜单下的添加、修改、删除变得无效(灰色)。
图4-8 右键菜单

- Update —— 读取选中寄存器的值
- Update All —— 读取寄存器信息区中所有寄存器的值(不在当前分段的不刷新)。
- Add —— 增加寄存器,如 图4-9 所示,可输入寄存器名字、偏移地址(16进制)、比特范围(十进制、左高右低)、基、缺省值,如图4-9。
图4-9 添加寄存器

- Modify —— 修改寄存器,界面同 图4-9,只是框中已有原来内容。
- Delete —— 删除所选中的寄存器,无告警。
- Save As File —— 从文件中导入寄存器数据到信息区中。
- Write by File —— 将当前寄存器信息区的内容写到文件中,文件可由用户指定。
4.2 按钮操作
按钮区域的任一按钮都可由用户配置其对应的C脚本函数,用鼠标左键点击即可执行该C脚本函数定义的功能。
在某按钮上点击鼠标右键时弹出界面,可以配置按钮的功能,如 图4-10所示:
图4-10 按钮配置

- Button —— 显示按钮的编号,可以选择不同按钮,实现对不同按钮的配置。
- Caption —— 输入需要在按钮上显示的字符串,用于提示该按钮的功能。
- Function —— 在下拉框中选择对应的C脚本函数。
- ParamNum —— 选择输入参数的个数,默认为0。如果选0,则后面“默认值”和“提示”为灰色,不能操作。需要注意的是,软件不会对参数做任何解释,它只会以字符串格式传给脚本函数。
- Default —— 用于输入参数的缺省值,多个数值间用英文逗号隔开。注:必须使用英文逗号
- Remind —— 用于输入参数提示。
- Show Return Value —— 如选中,则显示该C脚本函数的返回值。
- Uninstall —— 用于卸载指定按钮。
左键点击某已配置的按钮按钮,如果它的参数个数不为0时,则应在跳出的窗口中输入参数,多个参数以逗号隔开。如 图4-11 所示,在参考中显示的即为配置该按钮时在提示框中输入的字符串。当参数有缺省值时,缺省值会显示在输入框中
图4-11 参数设置

4.3 指示灯操作
指示灯区如 图4-12 所示,每个指示灯都可以由用户配置其对应的C脚本函数。系统定时周期性调用该C脚本函数,并根据函数返回值让指示灯显示不同的颜色。
图4-12 指示灯区域

在某指示灯右侧字符上点击鼠标右键可以配置指示灯的功能,如 图4-13 所示:
图4-13 指示灯设置

- Lamp—— 显示指示灯的编号,可以选择不同指示灯,实现对不同指示灯的配置。
- Caption —— 输入需要在指示灯右边显示的字符串,即给出该指示灯的意义。
- Lamp Mode —— 选择灯的显示模式,可选Gray+Green(按序对应数值0/>=1)或Gray+Green+Red(按序对应数值0/1/>=2)。
- 其它参见“按钮操作”节的对应项。
4.4 跟踪显示
跟踪区如 图4-14 所示,每个跟踪显示都可以由用户配置其对应的C脚本函数。系统定时周期性调用该C脚本函数,并在跟踪显示框内显示返回的字符串。
图4-14 跟踪显示区域

在某跟踪显示框上(不能在文字上)点击鼠标右键可以配置跟踪显示框的功能,如 图4-15 所示:
图4-15 跟踪显示设置

- Trace —— 显示框的编号,可以选择不同显示框,实现对不同显示框的配置。
- Caption —— 输入需要在左边横线上显示的字符串,即给出该跟踪显示的意义。
- 其它参见“按钮操作”节的对应项。
4.5 常用监控
监控区如 图4-16所示,每个监控显示都可以由用户配置其对应的C脚本函数。系统定时周期性调用该C脚本函数,并在对应的框内显示返回的字符串或显示进度条。
图4-16 常用监控区域

- Lock Time —— C脚本函数计算系统锁定时间。
- Symbol Error —— C脚本函数计算符号率误差。
- Carrier Error —— C脚本函数计算载波频率误差。
- Signal Intensity —— C脚本函数计算信号强度(0~100)。
- Signal Quality —— C脚本函数计算信号质量(0~100)。
- C/N —— C脚本函数计算C/N值。
- Error Rate —— C脚本函数计算错误率。
在各条监控的显示框内点击右键,从函数列表中选择C脚本函数。
- Function—— 在下拉框中选择对应的C脚本函数。,如果绑定的函数在配置文件指定的C函数脚本中不存在,则选中的项为空。
- Uninstall——把绑定函数置空。
4.6 通用寄存器读写
通用寄存器读写(Universal Read Write)区如 图4-17 所示。基中Dec、Hex和Bin分别表示十、十六、二进制。
图4-17 通用寄存器读写区域

- Read —— 在地址后给出寄存器地址(十六进制),按“读”按钮可读回该寄存器的内容,并按“基”中选定的基显示在“值”后的方框中。
- Write —— 指定寄存器地址,并在“值”后方框中给出准备写入的值(按“基”中选定的基),按“写”按钮完成写寄存器。
注意:
- Address和配置文件中AddressBytes设置相关,Address的长度不能大于AddressBytes。
- Value输入值长度与配置文件的RegisterBytes设置,还有Base进制选择相关,当Base等于HEX,Value的长度不能大于2*RegisterBytes。
当Base等于BIN,Value的长度不能大于8*RegisterBytes。
4.7 I2C设置
I2C 设置区如 图4-18所示,主要用于I2C地址设置和I2C状态监控。
图4-18 I2C设置区域

四个单选按钮用于选择I2C从器件及该器件地址(16进制)。未选中的为灰色。芯片地址通常用于和海思信道芯片的通信,大FPGA和中FPGA通常用于FPGA版本的调试和测试,小FPGA用于FPGA平台辅助功能的控制。在Main页面只能选择前三个之一,在Slave页面固定使用Small FPGA。
图标显示I2C通讯是否正常,正常时显示Online(绿色),异常显示Offline(红色)。软件定时周期性调用C脚本函数,根据脚本函数结果判断是否正常(值大于等于1为正常)。在状态图标上点击右键,选择C脚本函数。如 图4-19所示:
图4-19 I2C设置对话框

- Function—— 在下拉框中选择对应的C脚本函数。,如果绑定的函数在配置文件指定的C函数脚本中不存在,则选中的项为空。
- Uninstall——把绑定函数置空。
4.8 日志管理
Log区如 图4-20所示,在Log显示区中显示对寄存器区操作的结果,显示Button操作信息,右侧有滚动条。
图4-20 日志管理区域

- Clear Log —— 清除显示区中Log信息
- Save Log —— 将显示区中的Log信息保存到用户指定的文件中,文本格式。