首先,打开控制面板,网络连接。
在本地连接上点右键,选择属性。
双击进入 Internet协议(TCP/IP),点击“使用下面的IP地址”
写入 IP 地址和子网掩码,记住要和NPORT 的IP 地址在同一子网段内。如NPORT 默认IP
为192.168.127.254,255.255.255.0;就需要把PC 机的IP 地址设为192.168.127.XXX,
255.255.255.0,最后一个数字不同即可。
点击确定。
第二章:网络和串口参数配置
搜索 NPort
打开NPort Administrator(可以在光盘的对应位置找到这个软件,安装好),点击Search,此
时请确认网络防火墙已经关闭。
会搜索到我们的NPort5110,点击stop,停止搜索。
网络参数配置
双击右边空白处的NPort 设备,会出现以下界面,点击选择Network 选项卡,点击Modify
修改。可以看到以下界面:
我们可以在里面修改NPort的以下参数:
IPAddress:IP地址。
Netmask:子网掩码。
Gateway:网关。
IP Configuration:可以配置为静态IP(Static),或者为DHCP(动态IP)。
DNS Server1和2:DNS,域名解析服务器。
串口参数配置
点击 Serial选项卡,点击Modify修改,双击端口进去,可以看到以下界面:
我们可以在里面修改以下参数:
Baud Rate:波特率,NPort5000 系列只能支持标准波特率,如9600,115200bps 等。
Parity:校验。
None:无校验
Even:偶校验。
Odd:奇校验。
Space:空。
Mark:标志。
Data Bits:数据位。
Stop Bits:停止位。
Flow Control:流量控制。
None:无流量控制。
XON/XOFF:软件流控。
RTS/CTS:硬件流控。
FIFO:64bit先进先出,为了降低CPU负载,提高设备性能。可以选择Enable启用,或Disable
禁用。
Interface:可选择RS232,RS422,RS485 2线,或者RS485 4线。(NP5110 只能为RS232)
设置好后,点击OK,设置保存,设备重新启动。
第三章: *** 作模式设置
Real COM映射端口
打开 NPort Administrator(可以在光盘的对应位置找到这个软件,安装好),点击Search,此
时请确认网络防火墙已经关闭。
会搜索到我们的NPort5110,点击stop,停止搜索。
双击右边的5110,选择Operating Mode选项卡,确认为Real COM模式:
点击左边的第四项:COM MAPPING,
再点击Add
点击“OK”,
点击“Apply”保存
点击“Yes”,点击“OK”。
这样,端口就映射好了。
TCP Server模式的设置(用软件)
打开 NPort Administrator(可以在光盘的对应位置找到这个软件,安装好),点击Search,此
时请确认网络防火墙已经关闭。
会搜索到我们的NPort5110,点击stop,停止搜索。如果打开防火墙,可以使用Search IP,
在下面选项框里输入NPort的IP地址,
点击 OK,就可以搜索到NPort设备。
双击右边的NP5110,切换到OperatingMode选项卡,点击Modify,双击进去。可以把模式
修改成TCP Server 模式。
里面的名词解释:
Local TCP Port:本地数据端口,指的是NP5110 的数据端口。
Command Port:NP5110 的命令端口。
Max Connection:最大连接数,也就是说同时最大可以有几台上位机采集到下面串口设备
的数据,NPort5000 系列最大是4 个,NPort6000 和CN2600 系列是8 个。
当最大连接数为2 或以上的时候,右边的选项Allow Driver Control 和Ignore Jammed IP会开
启。
Allow Driver Control:当最大连接数为2 或以上时,且此功能打开时,上位机A 需要以
4800bps打开串口,上位机B需要以9600bps打开串口,是可以的。如果此功能关闭,则波
特率需以固件中的设置一致。
Ignore Jammed IP:当最大连接数为2 或以上时,且此功能打开时,其中一台上位机A死
机,上位机B 依然可以正常接收数据。如果此功能关闭,则上位机B 也不能收到串口的数
据了。
CAN位时间特性寄存器 (CAN_BTR)地址偏移量: 0x1C
复位值: 0x0123 0000
注: 当CAN处于初始化模式时,该寄存器只能由软件访问。
图2
位31SILM: 静默模式(用于调试)
0: 正常状态;
1: 静默模式。
位30LBKM: 环回模式(用于调试)
0: 禁止环回模式;
1: 允许环回模式。
位29:26保留位,硬件强制为0。
位25:24SJW[1:0]: 重新同步跳跃宽度
为了重新同步,该位域定义了CAN硬件在每位中可以延长或缩短多少个时间单元的上限。
tRJW = tCAN x (SJW[1:0] + 1)。
位23保留位,硬件强制为0。
位22:20TS2[2:0]: 时间段2
该位域定义了时间段2占用了多少个时间单元
tBS2 = tCAN x (TS2[2:0] + 1)。
位19:16TS1[3:0]: 时间段1
该位域定义了时间段1占用了多少个时间单元
tBS1 = tCAN x (TS1[3:0] + 1)
位15:10保留位,硬件强制其值为0。
位9:0BRP[9:0]: 波特率分频器
该位域定义了时间单元(tq)的时间长度
tq = (BRP[9:0]+1) x tPCLK
3 如何在代码中配置波特率
配置波特率是在CAN模块初始化时配置,代码示例如下:
//CAN1 register init
CAN_DeInit(CAN1)
CAN_StructInit(&CAN_InitStructure)
//CAN cell init
CAN_InitStructure.CAN_TTCM = DISABLE
CAN_InitStructure.CAN_ABOM = DISABLE
CAN_InitStructure.CAN_AWUM = DISABLE
CAN_InitStructure.CAN_NART = DISABLE
CAN_InitStructure.CAN_RFLM = DISABLE
CAN_InitStructure.CAN_TXFP = ENABLE
CAN_InitStructure.CAN_Mode = CAN_Mode_Normal
CAN_InitStructure.CAN_SJW = CAN_SJW_1tq
CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq//tBS1=6个tCAN时钟周期
CAN_InitStructure.CAN_BS2 = CAN_BS2_8tq//tBS2=8个tCAN时钟周期
CAN_InitStructure.CAN_Prescaler = 4//ABP总线时钟时钟4分频
//CANbps= Fpclk/((BRP+1)*((Tseg1+1)+(Tseg2+1)+1)
//所以这里CANbps=30000000/4/(8+6+1))=500k bps
//总体配置方向: Tseg1>=Tseg2 Tseg2>=tqTseg2>=2TSJW
if (CAN_Init(CAN1,&CAN_InitStructure) == CANINITFAILED)
{
return _ERROR
}
CAN_ITConfig(CAN1,CAN_IT_FMP0, ENABLE)//打开FMP0中断
总体配置保持tBS1>=tBS2 tBS2>=1个CAN时钟周期 tBS2>=2tSJW
如果是自己写的驱动,先检查驱动是否支持波特率的修改。
如果支持:
stty -F /dev/ttyS0 speed 115200 cs8 -parenb -cstopb -echo 修改 波特率115200 8 N 1
下位机采用相同的配置,并在linux终端输入echo "hello" >/dev/ttyS0 看看是否能通信。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)