EDA实验手册.docx

上传人:b****5 文档编号:8571368 上传时间:2023-01-31 格式:DOCX 页数:16 大小:332.98KB
下载 相关 举报
EDA实验手册.docx_第1页
第1页 / 共16页
EDA实验手册.docx_第2页
第2页 / 共16页
EDA实验手册.docx_第3页
第3页 / 共16页
EDA实验手册.docx_第4页
第4页 / 共16页
EDA实验手册.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

EDA实验手册.docx

《EDA实验手册.docx》由会员分享,可在线阅读,更多相关《EDA实验手册.docx(16页珍藏版)》请在冰豆网上搜索。

EDA实验手册.docx

EDA实验手册

目录

目录1

1.关于软件的说明2

2.软件的安装与卸载3

2.1安装过程3

2.2软件的卸载5

3.CAN总线的基本实验6

3.1标准帧格式的认识与接发实验6

3.2标准帧情况下,优先级问题10

3.3扩展帧的数据收发实验及优先级实验10

3.4接收滤波实验11

3.5虚拟设备实验15

4.AT90CAN128单片机CAN控制器使用17

5.TMS320LF2407的CAN控制器使用17

6.J1939协议的使用17

7.DeviceNet协议的使用17

8.开放网络接口的说明18

9.软件Bug报告20

10.关于21

1.关于软件的说明

在对CAN(Controller Area Network,控制局域网)总线知识的学习过程中,有很多的概念是比较抽象、晦涩的,这就使同学们学习起来有一定的困难,而当同学面对一堆CAN总线的设备或从事具体的设计时,由于对CAN总线的知识和工作原理缺乏一定的认识,就出现了猫吃团鱼找不到头的局面;同时,现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。

它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持,是控制相关专业同学应该掌握,至少要了解的知识。

鉴于以上情况,为了跨越书本和实际应用的小沟,为了减轻同学们学习这方面知识的痛苦,江杰老师决定开发这一款小软件,给同学们作为学习参考。

给同学们的学习小建议:

把书上的知识和软件的使用相结合起来,来体会CAN总线的基本知识,这款软件只是模拟软件,是用我们的计算机网模拟CAN总线,并不能完全替代真正的CAN总线,学习时要注意这点。

在软件的高级实验部分,随着结合实际、具体的设计(如单片机和DSP的CAN总线编程),将会体会的更精确。

本手册针对CAN总线学习模拟软件v1.0alpha(测试版)编写,这一版软件只完成CAN总线的基本实验模块,以后还将继续完善。

同学们在使用的过程中如果发现有任何问题请联系我,也欢迎参与这款软件的完善工作。

内蒙古科技大学信息工程学院——总线实验室2008-12-6

2.软件的安装与卸载

这部分很简单,软件大小只有2M,而且很容易安装卸载,熟悉计算机使用的同学可略过本节。

2.1安装过程

软件的安装包有三个文件,如图2.1所示,用鼠标双击

图2.1安装程序文件

setup.exe程序,就进入安装过程,能看到询问你是否安装软件的界面,如图2.2所示,点OK按钮,就能进入图2.3所示选择安装选择路径的对话框,

图2.2询问是否进行软件安装

图2.3安装路径选择对话框

如果不选择路径,点

按钮进行安装。

接下来会出现开始菜单取名的对对话框如图2.4所示,直接点continue

按钮就行,安装完毕后得到安装成功提示图2.5所示。

图2.4安装开始菜单取名

图2.5安装成功提示

 

2.2软件的卸载

图2.6到控制面板卸载软件

当不再使用软件时,可以进行卸载。

软件卸载方法是到计算机控制面板里找到“CAN总线学习模拟软件”点“更改/删除”。

另一种卸载方法是点winodws的”开始”菜单,点”程序”,再点“CAN总线模拟”,点“卸载”。

3.CAN总线的基本实验

3.1标准帧格式的认识与接发实验

目标:

1,认识CAN总线的标准帧格式包括哪几部分。

2,认识在使用标准帧发送数据时,要注意哪些场的数据填写

3,在CAN总线模拟软件的发送窗口里发送一条标准帧数据,在接收窗口里观察接收到的数据。

4,可以与同学进行联网标准帧数据的收发。

 

动动手:

1,发送ID号为123H,内容为6个字节(AA,BB,CC,DD,EE,FF)的标数据帧。

2,通过网络(CAN总线)把这个数据发送到你同学的接收窗口。

3,让你的同学发送一条有特定ID号的,特点数据内容的标准数据帧给你。

 

CAN标准数据帧结构

先补充点预备知识,找找书本,仔细看看标准数据帧的帧结构,如果找不到请看下面。

图3.1CAN总线标准数据帧结构

从左到右认识一个标准数据帧在总线上传输的格式:

从整体上看,一个标准数据帧主要由:

SOF(帧开始)、ArbitrationField(仲裁域)、ControlField(控制域)、DataField(数据)、CRCField(CRC校验域)、AckField(应答域)、EndofFrame(帧结束)这几区域组成。

具体的解释如下:

a.Busidel(总线空闲),下面对应的是InterframeSpace(帧之间的间隔),就是说总线上没有数据或传输两帧数据之间的那小段时间。

b.SOF(startofframe,帧开始),当要进行一帧数据传输时都要以这个开始,它是一个bit的显性电平(啥叫显示电平dominant?

啥叫隐性电平recessive?

baidu一下你就知道)。

c.11bitIdentifier(11位ID号),传输数据的内容和意义就是由这11个bit标识的,这个ID号不是代表数据要传送到目的地,而是代表这一帧数据的含意。

比方说ID为123h传送1个字节数据,这一个字节的数据存储某表桶里的液位值。

也就是说ID为123h的数据帧就代表某个桶里的认错位值。

为什么是123h呢?

这里代表16进制123(十进制的291),11bit的ID能代表多少种意思呢?

算算2的11次方=2048,所以11bit的ID值范围是0h~7FFh;ID号还代表什么用呢?

这11bit的ID号和它后面的RTR位共同组成仲裁域,要知道总线是一条通信线路,上面有很多设备(叫节点),在一个时刻只能有一个设备发送数据。

假如在同一时刻有两个设备要同时发送数据,怎么办?

人的做法当然是VIP选享受服务啊,所心ID号越小的数据帧就越是VIP。

所以ID号的另一个作用是仲裁谁先传数据。

说了这么多,ID号是我们在做实验时要关心一项内容。

d.RTR(remotetransmissionrequest)远程传输请求位,这一位在数据帧中用不上,要设置为显性电平(RTR=0)。

RTR为隐性电平时(RTR=1)时,帧类型为远程帧,找书看看CAN总线上传输的帧类型有几种?

远程帧的作用是就是当总线上一个设备A想让B发送一条事选存储在B里的数据时,A就给B发一条远程帧数据,B收到后就会发出一条相应的数据帧。

在这片软件里暂时没做远程帧的实验模块。

e.IDE(IdentifierExtensionBit)扩展帧标志位,当这一位IDE=1时,代表数据帧为扩展帧,IDE=0时帧类型为标准帧,这一位也是我们在实验要关心的位。

f.r0保留位,目前没什么大用,设计CAN总线那些人当时预留的,还不知道他们要干什么用。

g.DLC(DataLengthCode)数据长度码,没看见它后面跟着8个字节的数据么?

这4bit就是说它后面发送多少个字节的数据。

当它为0000时,发送0个字节,当为1000时发送8个字节数据,CAN总线一帧最后只能传输8个字节的数据,在这版软件里,默认最少传送的是1个字节数据。

数据长度DLC也是在做实验时要关心的数据.

h.0~8Bytes,这就是要发送的8个字节的数据了。

它可以是0~8个字节的数据。

i.16bitCRC(CRC校验域),数据在从一个地方发送到另一个地方难免会受干扰,发生错误了怎么办?

大名鼎鼎的奇偶校验听过吧?

数据传错了奇偶校验位就会错,数据就无效丢掉不要。

而CRC不仅能知道数据错,还知道哪错了可以改正过来。

免丢。

j.ACKfield,应答场,(它包含应答时隙ackslot和定界符delimiter)就是听它的名字就知道它的作用,发送设备把这两个bit都发送成隐性电平,当接收端能正确接收到数据到,就把ackslot置成显性电平,表示“我正确收到”。

k.最后那7bit是表示这一帧传完了。

列了这么一大堆,把标准帧解释完了,还是不明白的同志可以mail我。

 

下面开始做实验

a.先打开软件,在windows的“开始”->“程序”->“总线模拟”->“CANsim”打开软件,得到图3.1.1所示,选择实验内容,这里选择“CAN总线基本实验”,软件运行就相当于你的计算机是CAN总线上的一个(数据收发)设备

图3.1.1实验选择

b.进入接收窗口如图3.1.2所示:

图3.1.2数据接收窗口

在做标准帧实验时,接收帧数据类型选择标准帧,另外操作菜单里可是选择是本机接收还是联网接收,本机接收是指你计算机没有连接到CAN总线(计算机网)上实验,另个在总线上传输的数据你看不到。

由于数据通信都是有传输速率的,接收和发送方的速率一样才能正常的收发数据,常见波特率菜单里设置了一些常见的速率,通过可以选择速率。

c.点接收窗口的打开发送窗如图3.1.3所示。

图3.1.3发送窗口

它画出了标准帧和扩展帧的帧结构,通过发送数据帧类型来切换,也可以选择发送的速率,同时也可以选把网络方式:

单机模拟发出的数据只能自己收到,联网模拟发送时,其它计算机能够收到。

这里能同时发送4帧数据,发送时要选填好标识符(ID0h~7FFh),数据长度(1~8)以及8个字节的数据(0h~FFh)。

在发送前把要发送的数据后面的小方框打上勾。

3.2标准帧情况下,优先级问题

目标:

1,认识CAN总线的逐位仲裁机制,说说为什么ID号小的有高优先级。

2,在标准帧的情况下,进行ID仲裁实验。

动动手:

1,翻阅CAN总线的相关书,仔细阅读逐位仲裁机制那小段的内容。

2,同时发送ID为123h,456h,321h,100h的4条标准数据帧,在接收窗口观察接收到的数据的ID的大小关系。

 

3.3扩展帧的数据收发实验及优先级实验

标准帧的实验做出来了么?

如果你做出来了,相信扩展帧的数据收发你只会说easy,simplenaive!

目标:

1,了解CAN总线的扩展帧结构,说说它有哪几部分组成,和标准帧有什么区别。

2,利用模拟软件做扩展帧的收发实验。

3,做扩展数据帧的优先级实验。

动动手:

1,翻阅CAN总线的相关书,看看扩展帧的知识。

2,把模拟软件的接收发送窗口点到扩展帧类型进行扩展帧数据的收发实验。

3,分别取4个不同的ID,进行收发实验,看看扩展帧下的优先级。

 

再给你们介绍一下扩展帧的结构,如图3.2.1所示。

图3.2.1CAN扩展帧结构

在这里只把在标准帧里没见过的东西提提,首先看看重要的是扩展帧的ID是11-bitbaseidentifier,18-bitidentifierextension,也就是说扩展帧的ID变成了11+18=29bit了,算算范围2的29次方是0h~1FFFFFFFh.ID一下变长了不少吧?

至于SRR(substituteRemoterequest)叫替代远程请求,它一直是隐性电平SRR=1,就是放在标准帧RTR的那个位置,替代标准帧RTR位置,因此而得名。

一般情况下没什么大用,教材也都没提。

如果你真想知道我就告诉你,早期的CAN总线上由于硬件控制器的功能有限,只能传输一种帧格式,要么是标准,要么是扩展,现在不一样了,新的硬件控制器推出来了,可以同时存在两种帧传输的情况,当然标准帧的优先级要比扩展的高了,所以为了防止扩展的优先级比标准帧的高,把这一位置1,就永远一不会比标准帧高了。

接下来的r1和r0还是两个保留位。

3.4接收滤波实验

目标:

1,了解CAN总线的滤波(屏蔽)机制,说说它是怎么滤波的。

2,利用模拟软件做滤波实验。

动动手:

1,标准帧在不滤波的情况下发送0h~7FFh间任意ID,看看接收窗接收结果。

2,在滤波窗口设置ID为7F8,把屏蔽位全设成1,再做第一步,看看能收到什么?

3,接下面举的例子设置ID和屏蔽位,再做做滤波实验。

 

CAN总线上一般情况下会有很多的设备在收发大量的数据,正如每个人进入图书馆选对口味的书一样,不是看图书馆所有的书,而是有选择的看书。

对于总线上的一个设备,不是总线上传输的每条数据它都要接收下来处理处理,它可以选择性的接收对它有用的数据帧。

它是怎么做到的?

这里细化一下CAN总线的滤波的工作机制:

首先CAN数据的收发是都要有相应的硬件为它完成的,就像我们的计算机要用网卡接上网线才能上网一样,很多设备要有CAN的控制器和收发器才能上CAN。

其次,发送数据的过程,我们设置CAN控制器告诉它我们要发的数据帧的ID,数据长度,以及几个字节的数据,以及是标准帧还是扩展帧,再让它发送它就发送了(要关注的内容用蓝色标出)。

再次,数据接收的过程,默认情况下,只要开启接收功能,所有总线上传输的数据都接收,但前面不是说过了么?

你只是选择读一些书。

所以对于接收,可以设置想接收的ID号,以及相应的屏蔽位,能过它们的组合可以决定接收哪个或哪些ID。

CAN的控制器有很多种,大同小异,下面举其中的一种说明一下(见Examples),其中IDTAG就是我们所说的ID,IDMSK就是我们所说的屏蔽位。

这里用的是标准帧的例子,扩展帧的一样:

先看最下面的三行Nofiltering,接收所有的ID号(0h~7FFh)的的数据,它的IDMSK全设的是0,0代表对应的ID那1bit不屏蔽,可以是0也可以是1(所以列的是x),所以控制器里的IDTAG中的每一位填0或1都接收,接收范围成了00000000000b~11111111111b,就是0h~7FFh,(其中b代表是2进制).

再看中间三行,partielfiltering部分屏蔽的例子,这个设备相接收ID为0x310到0x317这一组ID的数据。

我把这一种ID列一下:

01100010000b->0x310

01100010001b->0x311

01100010010b->0x312

01100010011b->0x313

01100010100b->0x314

01100010101b->0x315

01100010110b->0x316

01100010110b->0x317

这一组数据前面的9bit都是一样的,接收的数据的ID的前9bit必须是01100010,这9bit的屏蔽位(IDMSK)就设为1,表示总线上的数据的前9bit必须和你设的IDTAG的前9bit一样才接收;而后三位是可以变的,就成了xxx,这3bit的IDMSK就可以是0了,因些接收的ID成了01100010xxxb,屏蔽们成了111111111000b

是后看最前三行,Fullfiltering完全屏蔽,这个就简单了,只接收ID是317h->01100010111的数据帧,CAN控制器里的ID就设定它,屏蔽位全都是1,11111111111b.

接下来看看滤波设置吧,在接收窗口上点菜单滤波->滤波设置,然后就进入(图3.2.2),它分为标准帧滤波和扩展帧滤波两个部分,要做的只是把接收ID填上,相应的滤波位设置好,然后在接收窗口里点启用滤波,在发送窗口上发任意的ID,看看接收窗口是否能接收就能验证效果了。

图3.2.2滤波设置

 

3.5虚拟设备实验

前面的东西都是围绕着CAN总线的看不见摸不着的知识进行的实验,这一节给出一个用软件虚拟的仪表接收CAN总线上的数据,并反映出结果。

点接收窗口操作,再点打开虚拟设备,如图3.2.3,它有一个液位显示和一个8路的开关量显示,设置好相应的液位和开关量接收的ID号,从发送窗口发送这两个ID的数据帧,相应的值就能反应到

这个虚拟仪表上来。

 

图3.2.3虚拟设备

 

4.AT90CAN128单片机CAN控制器使用

5.TMS320LF2407的CAN控制器使用

6.J1939协议的使用

7.DeviceNet协议的使用

 

8.开放网络接口的说明

这一节主要是把这个模拟软件在计算机网上传输的信息的格式公开,以更于同学位使用其它软件如VB,VC,Labview,组态软件等开发自己的实验模块。

模拟软件用UDP数据包(UDP协议)的格式进行传输,接收端的端口号为54540,

数据包的由以下几个部分组成:

帧格式标志+波特率+数据长度+ID+数据

其中:

帧格式标志为1个字符:

0代表标准帧,1代表扩展帧

波特率标示为1个字符:

1

代表125K

2

代表250K

3

代表500K

4

代表1000K

数据长度为1个字符:

0~8

ID分为标准和扩展两种情况

帧格式

用字符数

数据范围

标准帧

3

000~1FF

扩展帧

8

00000000~1FFFFFFF

数据根据数据长度最后根8x2个字符的长度。

举例说明:

1,标准帧,ID号为28以500K波特率发送3个字节0xAA,0x08,0xFF数据,其格式为

023028AA08FF,

0代表标准帧,2代表是500K,3代表是3字节数据,028代表ID号

AA08FF代表三个字节的数据。

2,标准帧,ID号为7FF以125K波特率发送8个字节0xAA,0x08,0xFF,0x01,0x02,0xBB,0xCC,0x87数据,其格式为

0187FFAA08FF0102BBCC87

3,扩展帧,ID号为123以125K发送3个字节0xAA,0x08,0xFF数据,其格式为:

113000000123AA08FF

3,扩展帧,ID号为1FFFFFFF以500K发送8个字节0xAA,0x08,0xFF,0x01,0x02,0xBB,0xCC,0x87数据,其格式为

1281FFFFFFFAA08FF0102BBCC87

9.软件Bug报告

1.优先级实验如果有两个ID相同,会出现相同的ID每个发送两次的情况。

在后续版本中将更改过来。

2.在进行联网实验的过程中,拔掉网线,如果没有切换回单机实验,继续以联网的方式发送数据。

软件会出错。

10.关于

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

当前位置:首页 > 成人教育 > 专升本

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

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