2017年6月11日 星期日

NuPython结构与规范

NuPython提供的命令以及命令之间的关系图,如图下所示。NuPython命令,使用前必须先Server连线socket方式连接收送这边开启两个socketserver连线,一为Port = 4000(socket1),一为Port = 4001(socket2)。其中Socket2负责和Server沟通保持连线,程序中每个命令之后必须搭配一个trigger Server命令,Server才会持续处理下一步动作。Socket1负责其他所有命令。每个命令还包含其他子命令,将在下一章说明。
NuStreams Module
NuStreams控制卡
NuServer
统整命令,并和NuStreams Module沟通的APNuStreams 600i/2000i系列,NuServer为独立AP, 需要额外启动。NuStreams 700系列,NuServer内建于控制卡,用户不用个别启动,只需以IP连 线即可。
Logger
无论收送命令,或是其他内部动作,皆自动写出文档,供debug使用。因此最终需要使用关档命令 结束。
Combiner
Header和Commmand合并成为一个命令。透过Socket送出。因为每个NuStreams命令,皆有标 头档,NuPython特别将标头档拆开,可以独立设置。最后再透过combiner组合起来即为完整命令。
Parser
接收到来自Socket命令后,根据不同ID,选择不同Parser动作,再将处理结果放入Counters,供后续读取。比方收到board信息idNuPython会丢给board info parser分析,之后再将分析结果丢到board info列表保存。
Command Header
所有传送命令,统一由Command Header加上标头,统一管理ID,sequence number。
Server Command
提供针对Server相关的命令,比方connect/disconnect/trigger等命令,这些命令透过Socket2传送给Server。
Module Command
提供除了Server命令之外,其余板卡相关的命令,这些命令透过Socket1传送给Server。Server再转换后送给Module
Tools
提供一些常用工具,比方取得PortList中的Index,比方说Checksum的计算。
Information
存放系统,板卡等相关信息,如版本号,MAC,Serial NumberLicense等等。
Counter
存放板卡及板卡特定Stream结果数据。

沒有留言:

張貼留言