测控总线技术实验指导书最新F最近一次微调.docx
- 文档编号:8699885
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:44
- 大小:247.54KB
测控总线技术实验指导书最新F最近一次微调.docx
《测控总线技术实验指导书最新F最近一次微调.docx》由会员分享,可在线阅读,更多相关《测控总线技术实验指导书最新F最近一次微调.docx(44页珍藏版)》请在冰豆网上搜索。
测控总线技术实验指导书最新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 ●支持选通、轮询、周期、状态改变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 测控 总线技术 实验 指导书 最新 最近 一次 微调