NSUKit 1.4.0
板卡级统一交互接口
载入中...
搜索中...
未找到
协议详解
待办事项:
协议类详解待完善,具体说明各个协议的通信过程

网络指令

在本工具中,网络指令是指使用TCP/IP通信协议,来实现主机与设备相互通信发送数据的一种方法

设备作为Server端其5001端口常开用于接收指令,本机使用设备IP:5001连接并进行指令收发。

网络指令代码示例

from nsukit import *
nsukit = NSUKit(TCPCmdUItf, TCPStreamUItf)
nsukit.link_cmd(target="x.x.x.x", port=5001)
nsukit.write(0x1, b'\x02\x00\x00\x00')
nsukit.read(0x1)
nsukit.bulk_write({0x1: b'\x02\x00\x00\x00', 0x2: b'\x03\x00\x00\x00'})
nsukit.bulk_read([0x1, 0x2])

串口指令

在本工具中,串口指令是指使用串口线将主机与设备连接,来实现主机与设备相互通信发送数据的一种方法

主机与设备使用串口线互联后,根据串口号连接并进行指令收发。

串口指令代码示例

from nsukit import *
nsukit = NSUKit(SerialCmdUItf, TCPStreamUItf)
nsukit.link_cmd(target="COM1", target_baud_rate=9600)
nsukit.write(0x1, b'\x02\x00\x00\x00')
nsukit.read(0x1)
nsukit.bulk_write({0x1: b'\x02\x00\x00\x00', 0x2: b'\x03\x00\x00\x00'})
nsukit.bulk_read([0x1, 0x2])

PCI-E指令

在本工具中,PCI-E指令是指使用PCI-E总线将主机与设备连接,来实现主机与设备相互通信发送数据的一种方法

将设备插入主机后,根据设备号(0到本机所有插入的设备数量-1)连接并进行指令收发。

PCI-E指令代码示例

from nsukit import *
nsukit = NSUKit(PCIECmdUItf, PCIEStreamUItf)
nsukit.link_cmd(target=0, cmd_sent_base=0x10000000, cmd_recv_base=0x13000000, irq_base=0x00003000 + 44, sent_down_base=0x00003030)
nsukit.write(0x1, b'\x02\x00\x00\x00')
nsukit.read(0x1)
nsukit.bulk_write({0x1: b'\x02\x00\x00\x00', 0x2: b'\x03\x00\x00\x00'})
nsukit.bulk_read([0x1, 0x2])

网络数据流

在本工具中,网络数据流是指使用TCP/IP通信协议,来实现主机与设备相互发送流式数据的一种方法

端口号会根据设备的IP进行自动计算,用户自己指定端口

本机作为Server开放端口后,设备自动连接并进行数据传输。

网络数据流代码示例

from nsukit import *
import threading
event = threading.Event()
length = 1024
nsukit = NSUKit(TCPCmdUItf, TCPStreamUItf)
nsukit.link_stream(target="x.x.x.x")
fd = nsukit.alloc_buffer(length)
nsukit.stream_recv(99, fd, length, 0, event.is_set)
print(nsukit.get_buffer(fd, length))

PCI-E数据流

在本开发工具中,PCI-E数据流是指使用PCI-E总线将主机与设备连接,来实现主机与设备相互发送流式数据的一种方法

将设备插入主机后,根据设备号(0到本机所有插入的设备数量-1)连接并取出数据。

PCI-E数据流代码示例

from nsukit import *
import threading
event = threading.Event()
length = 1024
nsukit = NSUKit(PCIECmdUItf, PCIEStreamUItf)
nsukit.link_stream(target=0)
fd = nsukit.alloc_buffer(length)
nsukit.stream_recv(0, fd, length, 0, event.is_set)
print(nsukit.get_buffer(fd, length))

名词解释

targrt : 目标设备的地址。TCP/IP通信协议中为IP地址,PCI-E中为本机中的设备数量减1,串口为设备串口号

NSUKit : 统一调用工具类

TCPCmdUItf : 网络指令类

SerialCmdUItf : 串口指令类

PCIECmdUItf : PCI-E指令类

TCPChnlUItf : 网络数据流类

PCIEChnlUItf : PCI-E数据流类