测控总线技术实验指导书最新F最近一次微调.docx

上传人:b****5 文档编号:8699885 上传时间:2023-02-01 格式:DOCX 页数:44 大小:247.54KB
下载 相关 举报
测控总线技术实验指导书最新F最近一次微调.docx_第1页
第1页 / 共44页
测控总线技术实验指导书最新F最近一次微调.docx_第2页
第2页 / 共44页
测控总线技术实验指导书最新F最近一次微调.docx_第3页
第3页 / 共44页
测控总线技术实验指导书最新F最近一次微调.docx_第4页
第4页 / 共44页
测控总线技术实验指导书最新F最近一次微调.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

测控总线技术实验指导书最新F最近一次微调.docx

《测控总线技术实验指导书最新F最近一次微调.docx》由会员分享,可在线阅读,更多相关《测控总线技术实验指导书最新F最近一次微调.docx(44页珍藏版)》请在冰豆网上搜索。

测控总线技术实验指导书最新F最近一次微调.docx

测控总线技术实验指导书最新F最近一次微调

 

测控总线技术

实验指导书

朱欣华编写

 

南京理工大学

2007年4月

实验一SC2102CAN总线PCI插卡应用

一、实验目的

在了解SC2102CAN总线PCI接口卡原理的基础上,掌握其与PC电脑的连接方法与具体应用;学会CAN节点的波特率设置和ID设置等;通过实验加深对CAN总线的工作原理的理解与认识。

二、实验内容

1.参考附录中的SC2102数据手册,了解SC2102的硬件组成和使用方法;

2.学会将SC2102总线接口卡的两个CAN端口的总线接线;

3.学会接口卡PC端控件和驱动的安装;

4.学会使用SC2102PC端软件;

5.学会正确设置CAN总线的波特率和ID号等;

6.对自建系统进行测试。

三、实验原理及方法

1.按图1连接好CAN两个端口的通信线。

图1CAN总线PCI插卡端口接线图

2.接口卡PC端控件和驱动的安装

因为要用到SC2102接口卡的ActiveX控件,所以使用前要先注册。

注册方法如下:

(1)先在桌面“CAN”文件夹中找到“实验一”,再在其中找到“PC端驱动”,然后找到“SC2102C.OCX”控件文件,把它复制到C:

\windows下;

(2)点“开始”->“运行”,然后在“运行”中输入:

Regsvr32SC2102C.ocx。

如果能看到如下提示,说明注册成功;若出错请仔细检查已执行的注册方法和步骤是否正确。

图2注册成功提示

(3)当把CAN总线PCI插卡插到PC机的PCI插槽上时,开机有提示“找到新的硬件”,选择<下一步>,系统询问“是否选择搜索新硬件”选择<否>,在硬件列表中选择“其它设备”,单击<下一步>,选“从列表或指它驱动器按装”,单击<浏览…>,选择SC2102驱动程序目录,在桌面\CAN\实验一\驱动\Windows98_2000目录下,单击<确定>,再单击<完成>,即可完成驱动的安装。

3.运行SC2102CAN总线PC端控制软件PCI_CAN并进行相关设置

在电脑桌面“CAN”文件夹中“实验一”里面运行SC2102CAN总线PC端控制软件PCI_CAN,出现如图3所示界面:

图3PC端软件界面

然后完成如下的设置操作:

(1)设置波特率:

BTR0、BTR1

BTR0和BTR1是CAN总线的两个时序寄存器。

用它们的组合来设置CAN总线的波特率。

波特率设置按表1,选择好要设定的波特率所对应的BTR0和BTR1的值,在软件中对应的地方设置好,就完成了波特率的设置。

表1CAN波特率设置表

波特率

最大总线长度

BTR0

BTR1

1Mbps

40m

00h

14h

500kbps

130m

00h

1ch

250kbps

270m

01h

1ch

125kbps

530m

03h

1ch

100kbps

620m

43h

2Fh

50kbps

1.3km

47h

2Fh

20kbps

3.3km

53h

2Fh

10kbps

6.7km

67h

2Fh

5kbps

10km

7Fh

7Fh

(2)设置模式选择位:

FF

设置好模式选择位FF,FF=0对应11位标准模式(SFF),FF=0对应29位扩展模式(EFF)。

(3)设置好报文验收码:

AC和报文屏蔽码:

AM

它们两位都是根据FF决定模式来确定的,如果FF=0则AC和AM都是11位二进制码,同理FF=1时就是29位二进制码

(4)设置好报文标志位:

ID

ID的设置也要根据FF来决定是11位还是29位,同上面一样,设置好设备网络中的ID号。

不用的设备ID号一般不要相同,以示区别两设备。

(5)设置好帧标志位:

RTR

当RTR=0时表时的时数据帧,当RTR=1的时候表示远程帧。

(6)设置好数据长度和数据:

DLEN和DATA

其实只要设置好数据就可以了,因为DLEN会自动根据你所设数据来调整。

CAN总线一次最多可以发8个定节的数据,所以DATA区最多可以输入8个字节的数据。

(7)设置参考

灵活设置CAN节点的验收码和验收屏蔽码可实现点对点、一点对多点以及多主机的工作方式。

例如,当某节点的验收屏蔽码设置为0x7FF即图中的十进制数2047,时它将可以接收到总线上所有的数据包当某节点AC=0x01,AM=0x00时该节点只能接收到(ID.10~ID.0)=0x01的数据包。

图3中的设置可以参考,两个CAN口AM都设成了2047所以它们都可以收到总线上所有设备所发的消息,只要设置好要发的数据,设置就完成了。

4.对基于CAN总线PCI插卡的自建系统进行测试

(1)首先,必须先打开CAN口,点图3中的<打开>,打开CAN;

(2)然后,对两个端口CAN0和CAN1分别进行复位,即分别点图3中的<复位>;

(3)最后点图3中的<发送数据>,CAN0发送成功后,CAN1会收到,而CAN1发送成功后CAN0会收到。

如果做到了两边都可以收发则说明CAN总线PCI插卡应用成功。

四、实验仪器设备

1.PC电脑一台

2.SC2102CAN总线PCI接口卡一个

3.两个DB9针CAN接头

4.导线若干

五、思考题

1.实验中要是有多个CAN设备挂入总线,要实现广播发送,AC、AM如何设置?

2.实验中波特率的设置有何讲究?

3.CAN通信中如果距离较长,选用何种通信导线可是使干扰最小?

*4.参考实验附录1,通过提供的控件和例程自己设计一个PC端的软件,实现对CAN总线的设备的控制。

六、实验报告要求

(1)使用统一的实验报告封面格式并填写有关信息;

(2)要有反映实验目的、实验中所用的主要设备、自己理解的实验原理、完成的实验内容等方面的内容,要求客观真实;

(3)对实验过程中的现象等要有记录、分析,对思考题的思考结果也可反映在报告中。

 

实验二CAN总线远程测控网络设计

一、实验目的

在对CAN总线应用有一定的感性认识的基础上,通过实验,掌握CAN总线远程测控网络的构成方法并有实践方面的认识。

二、实验内容

1.参考附录中的SC3410数据手册,了解CAN总线智能远程测控卡的结构与功能;

2.将SC2102的CAN0口与SC3410接入同一CAN网络中;

3.正确设置SC2102CAN0和SC3410的波特率;

4.正确操作PC端软件,实现通过PC端软件控制CAN总线PCI卡SD2102来控制与SC3410相连的LED显示;

5.通过PC端软件读回与SC3410相连的16路开关的状态;

6.通过PC端软件读回与SC3410相连的模拟信号的A/D转换结果;

7.通过PC端软件控制SC3410上的DAC,用万用表测量输出的模拟量;

8.参考附录中的SC3404和SC1500的数据手册,正确使用SC1500中继器,实现与远距离的SC3404接口卡间进行的通信原理(选做)。

三、实验原理及方法

1.把与SC3410配套的实验接口板用50线的专用排线与SC3410的CAN控制卡相连接;用导线正确连接CANL与CANH,把SC3410CAN总线智能远程测控卡挂到SC2102CAN总线PCI接口卡的CAN0上;接上+5V电源。

2.打开PC端软件PCI_CAN按表1正确设置波特率,波特率设置同SC2102CAN总线PCI插卡应用实验(实验一);正确设置SC3410上的拨码开关,选择相同的波特率(具体设置方法参考SC3410的数据手册)。

表1SC3410的波特率对照表

CANBT1

CANBT0

位速率

最大总线长度

BTR0*

BTR1*

0(on)

0(on)

1Mbps

40m

00h

14h

0(on)

1(0ff)

500kbps

130m

00h

1ch

1(0ff)

0(on)

250kbps

270m

01h

1ch

1(0ff)

1(0ff)

125kbps

530m

03h

1ch

3.点击软件界面上的<打开>,并<复位>,使SC2102处于工作状态。

4.通过PCI_CAN软件设置好16路LED灯(上电默认值是全亮);点击软件界面上的“发送”键,观察实验接口板上对应的LED的点亮情况是否正常。

5.通过拨码开关设置状态(SC3410的开关向上是高电平,向下是低电平),然后点“读取”,观察软件读回的开关状态是否正确。

6.通过SC3410实验接口板的跳线正确选择A/D输入通道(共有8路可选),然后通过跳线正确设置输入的电压值并用万用表测量,记录实际电压值的大小;通过PCI_CAN软件设置好A/D相同的采集通道,点“采集”就可以显示出转换结果;将转换结果与先前记录的电压值进行比较。

7.通过PCI_CAN软件设置好DAC输出的电压值(电压值设定以mV为最小单位,设置范围在0~4095mV之间);然后选取输出通道(共有两路,每次通过设置选择一路);在实验接口板的DAC输出端用万用表测量对应通道的电压值,观察与设置是否一致。

8.假设SC3404是一个远程的CAN接口卡,通过参考附录5所示的实验原理,经SC1500将SC3404连到SC2102和SC3410组成的CAN网络中,并接上SC3404的实验卡,实现实验中4.和5.两个实验内容(选做)。

四、实验仪器设备

1.PC电脑一台

2.SC3410CAN总线智能远程测控卡

3.SC3404CAN总线智能远程测控卡

4.SC2102CAN总线PCI总线接口卡

5.SC1500CAN总线网桥中继模块

6.SC3404实验接口板

7.SC3410实验接口板

8.数字万用表

9.+5V直流电源

10.导线若干

五、思考题

1.参考SC3404和SC3410的数据手册,比较其同异?

2.如果还有别的设备要接入现有的CAN总线中,新接入的CAN设备的AC、AM及波特率等各参赞数应如何设置?

3.如果要使CAN总线中的其中的一个设备具有广播功能,那么该设备和其他设备的AC、AM及ID该如何设置?

*4.通过参考SC3410与SC2102的数据手册,设一个PC软件,通过CAN总线使SC3410完成对其16个DI和DO的控制,使其成为CAN网络的一个测控终端。

六、实验报告要求

(1)使用统一的实验报告封面格式并填写有关信息;

(2)要有反映实验目的、实验中所用的主要设备、自己理解的实验原理、完成的实验内容等方面的内容,要求客观真实;

(3)对实验过程中的现象等要有记录、分析,对思考题的思考结果也可反映在报告中。

实验附录1

SC2102CAN总线PCI插卡数据手册

一、概述

CAN是一种串行总线最高传输速率1Mbps,具有总线仲裁,错误检测,自动重发等功能,适用于仪器或设备中的传感器、传动器等智能I/O设备的联网。

由于它的多主协议、实时能力、错误更正、高抗噪等特性,由最初只用于汽车上,发展到工业自动化领域。

SC2102是双路隔离CAN总线PC插卡,PCI总线,采用直接内存映射方式访问CAN控制器,支持CAN2.0B协议。

该卡为用户提供打包的控件编程支持,具有编程简单、控制灵活的特点极大的降低了开发难度和成本。

是快速建立CAN网络运用的有效选择。

二、技术指标

●可同时操作两路独立的CAN总线支持CAN2.0B协议

●PCI总线支持即插即用

●驱动支持Win98/Me/Se/Win2000控件,编程支持,中断/查询

●直接内存映射,快速访问CAN控制器

●最高传输速率1Mbps(40米)

●最远传输距离10Km(小于5Kbps)

●总线隔离1000VDC

●CAN总线输入输出指示灯,电源指示灯

●两个DB9针式CAN总线连接器

●功耗:

+5V@150mA典型200mA最大

●供电电压:

+4.5V~+5.5V

●工作温度:

0~70

三、硬件说明

1、元件说明

J1

CAN总线Port0,DB9针式插座

J2

CAN总线Port1,DB9针式插座

E1

CAN总线Port0终端匹配电阻设置

E2

CAN总线Port1终端匹配电阻设置

D1

电源指示灯

D2

CAN总线Port0数据传输状态指示灯

D3

CAN总线Port1数据传输状态指示灯

 

2、CAN总线Port0/Port1(J1/J2)管脚定义

DB9

针式插座管脚CAN总线定义

2

CANL

4

CANH

*建议用户使用双绞线

3、CAN总线Port0/Port1终端匹配电阻跳线设置(E1/E2)

ON:

CAN端口接入终端匹配电阻阻值120R

OFF:

CAN端口取消终端匹配电阻

在CAN网络中,应采用总线式连接,在两端的站点安装匹配电阻,其余站点不安装匹配电阻。

如图所示,只有1#站点和N#站点需要安装匹配电阻。

四、CAN总线端口验收码AC,验收屏蔽码AM,报文标识符ID的关系

设目的CAN端口验收码,验收屏蔽码分别为AC、AM则源CAN端口报文标识符ID设置应满足如下条件,将予以验收,以11位标准格式(SFF)为例,29位扩展格式(EFF)同理可推。

((ID.10~ID.0)同或(AC.10~AC.0))或(AM.10~AM.0)=B

用户应用中可以灵活设置CAN节点的验收码和验收屏蔽码,达到点对点,一点对多点以及多主机的工作方式。

例如,当某节点的验收屏蔽码设置为0x7FF,时它将可以接收到总线上所有的数据包当某节点AC=0x01,AM=0x00时,该节点只能接收到(ID.10~ID.0)=0x01的数据包。

五、CAN总线波特率设置

此表显示CAN总线系统任意两个节点之间最大距离与位速率的关系

位速率

最大总线长度

BTR0*

BTR1*

1Mbps

40m

00h

14h

500kbps

130m

00h

1ch

250kbps

270m

01h

1ch

125kbps

530m

03h

1ch

100kbps

620m

43h

2Fh

50kbps

1.3km

47h

2Fh

20kbps

3.3km

53h

2Fh

10kbps

6.7km

67h

2Fh

5kbps

10km

7Fh

7Fh

六、SC2102PCI卡的驱动安装

1、Windows98/SE/ME/TH操作系统安装步骤;

●在Win98控制面板中,双击<添加新硬件>;

●在“添加新硬件”向导窗口中,点击<下一步>;

●点击<下一步>;

●系统询问是否选择搜索新硬件选择<否>,单击<下一步>;

●在硬件类型列表框中选择“其它设备”,单击<下一步>;

●单击<从软盘安装…>;

●单击<浏览…>;

●选择SC2102驱动程序目录,在资料盘SC2102\驱动安装\Win98_2000目录下,单击<确定>;

●单击<确定>;

●单击<下一步>;

●单击<下一步>;

●单击<完成>;

安装成功后可以点击控制面板的系统图标,这时该设备应在设备管理器的设备列表中,选中SC2102卡,点击<属性>可查看该设备运行情况。

2、Windows2000操作系统安装步骤

●启动计算机时,计算机提示找到新硬件

●选择<下一步>;

●系统询问是否选择搜索新硬件,选择<否>;

●在硬件列表中选择其它设备,单击<下一步>;

●单击<从软盘安装…>;

●单击<浏览…>;

●选择SC2102驱动程序目录,在资料盘SC2102\驱动安装\Win98_2000目录下,单击<确定>;

●单击<确定>;

●单击<完成>;

七、SC2102C控件安装

随卡提供编程所需的SC2102C.OCX控件

直接运行资料光盘中的SC2102控件安装程序即可,SC2102测试软件将同时安装。

八、SC2102C编程说明

1、控件属性

ID(LONG):

只读,接收数据包的报文标识符。

11位/29位二进制。

RTR(BYTE):

只读,接收数据包远程帧标志位,0-数据帧,1-远程帧。

DLEN(BYTE):

只读,接收数据包数据字节长度。

0-8。

2、控件方法

●BOOLOPEN():

打开SC2102,卡成功返回TRUE。

VB编程

IfSC2102C.OPEN=TRUEThenLabStatus.Caption=”OpenOk!

VC编程

if(!

m_SC2102C.OPEN())

{

m_Message=”OPENERROR”;

UpdateData(FALSE);

}

●BOOLRESET(bytePortNum,byteFF,longAC,longAM,byteBTR0,byte

BTR1)

复位CAN,端口成功返回TRUE。

PortNum:

CAN端口号0or1

FF:

模式选择011位标准模式(SFF)129位扩展模式(EFF)

AC:

报文验收码由FF决定11位或者29位二进制码

AM:

报文屏蔽码由FF决定11位或者29位二进制码

BTR0:

总线时序寄存器0

BTR1:

总线时序寄存器1

例:

VB编程

IfSC2102C.RESET(0,0,128,2047,0,28)=TRUEThenLabStatus.Caption=”Can0Reset

Ok!

VC编程

if(!

m_SC2102C.RESET(0,0,128,2047,0,28))

{

m_Message=”Can0ResetERROR”;

UpdateData(FALSE);

}

●BOOLSEND(bytePortNum,longID,byteRTR,byteDLEN,VARIANT*

DATA)

发送一个CAN,包成功返回TRUE。

PortNum:

CAN端口号0or1

ID:

报文标识符由FF决定11位或者29位二进制码

RTR:

远程帧标志位0表示数据帧1表示远程帧

DLEN:

报文数据字节数08

DATA:

数据字节数组指针

例:

VB编程

DimiAsInteger

Dima(7)AsByte

Fori=0To7

a(i)=i

Nexti

DimdataAsVariant

data=a

IfSC2102C.SEND(0,17,0,8,data)=TrueThen

Label1.Caption="can0send..."

EndIf

VC编程

COleSafeArraysa;

unsignedcharc[8];

longi;

ULONGj;

j=11;

sa.Create(VT_UI1,1,&j);

for(i=0;i<8;i++)

{

c[i]=i+114;

sa.PutElement(&i,&c[i]);

}

VARIANTvaResult;

vaResult=sa.Detach();

m_SC2102C.SEND(0,17,0,8,&vaResult);

●BOOLRECEIVE(bytePortNum,VARIANT*DATA);

接收一个包成功接收返回TRUE

例:

VB编程

Dima1()AsByte

DimdataAsVariant

DimnnAsByte

DimiAsInteger

If(SC2102C.RECEIVE(0,data)=True)Then

a1()=data

Label2.Caption="id="&SC2102C.ID&"rtr="&SC2102C.RTR&"

dlen="&SC2102C.DLEN

Label3.Caption=""

Fori=0ToSC2102C.DLEN-1

Label3.Caption=Label3.Caption+Format(a1(i))+""

Nexti

EndIf

VC编程

VARIANT*Data;

COleSafeArraysa;

Data=(VARIANT*)(&sa);

if(m_SC2102C.RECEIVE(0,Data))

{

longk;

BYTEc[8];

for(k=0;k

charstr[10];

m_Message=””;

for(inti=0;i

{

itoa(c[i],str,16);

m_Message=m_Message+str+””;

}

}

●BOOLCLOSE();

关闭CAN,卡成功返回TRUE。

例:

VB编程

IfSC2102C.CLOSE=TRUEThenLabStatus.Caption=”CLOSED…”

VC编程

if(!

m_SC2102C.CLOSE())

{

m_Message=”CLOSEFALSE”;

UpdateData(FALSE);

}

3、控件事件CanEvent(byteIntFlag)

IntFlag各位代表两路CAN端口共8种中断事件:

CANPort1

CANPort0

7

6

5

4

3

2

1

0

溢出

中断

出错

中断

发送

中断

接收

中断

溢出

中断

出错

中断

发送

中断

接收

中断

中断处理程序编程举例(VC):

if(IntFlag&0x01)

{

//此处添加CANPort0接收中断处理程序

//添加接收数据包的程序

}

if(IntFlag&0x02)

{

//此处添加发送中断处理代码

}

if(IntFlag&0x04)

{

//出错中断此处添加出错中断处理代码

//可复位相应CAN端口以消除出错状态

}

if(IntFlag&0x08)

{

//数据溢出中断

//可复位CANPort0以消除超载状态

}

4、更多编程举例请参考资料光盘中SC2102目录下的Demo程序目录。

九、产品清单

1、SC2102CAN总线PCI网卡

2、测试用双绞线一个

3、产品说明书一份

4、产品资料光盘一张

 

实验附录2

SC3410CAN总线智能远程测控卡数据手册

一、技术指标

●8路12bitA/D单端输入

●输入模拟电压范围8路独立可编程:

0~5V,0~10V,-5~+5V,-10~+10V

●A/D转换速率100ksps

●2路12bitD/A,输出范围:

0-4.096V

●16路DI,TTL,内部上拉电阻

●16路DO,TTL

●支持选通、轮询、周期、状态改变

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1