当前位置:文档之家› USB,CAN总线开发板实验指导_V2.0

USB,CAN总线开发板实验指导_V2.0

USB,CAN总线开发板实验指导_V2.0
USB,CAN总线开发板实验指导_V2.0

YH51-III USB,RS232,485,CAN

总线学习开发板实验指导

V2.0

宇航工作室

2010/6/25

前言

我们相信会单片机的人实在太多,但是会用单片机并不等于你能做出一个实实在在的产品,也并不等于就就能找到一份好的工作,因为会单片机不仅仅是会使用单片机控制几个LED闪烁、会做一个数字钟或者控制几个继电器的通断,而且还要懂得使用几种常用的总线,会用单片机和其他设备打交道,也就是“通讯”,也是学习单片机中不可缺少的部分,对于一个刚毕业的学生来说所谓的会单片机无非就是会使用单片机的内部资源,比如会使用I/O口控制外部设备,会使用定时器、会使用串口通讯,当然也有的学生实实在在地做过了项目,也许很多人对常用的485通讯、USB通讯,及CAN BUS还没了解,或者对它们的复杂过程感到畏惧,如今本站推出的YH51-III CAN、USB、RS232、RS485多总线学习开发板为您带来了福音,他将帮助你快速地学会使用这些总线,帮你快速地开发出你的产品。

学习板介绍

YH51-III是一款CAN、USB、RS232、RS485多总线学习开发板,单片机采用大家最为熟悉的51内核单片机,支持ISP在线编程,程序可通过串口直接下载到单片机调试调试程序非常方便,CAN控制器采用了在现场总线种应用最为广泛的SJA1000,USB 芯片采用内置USB协议固件的CH372使USB通讯变得非常简单,本站的提供了CAN转232(2个节点CAN通讯)、CAN转 USB2(2个节点CAN通讯)、USB转485、USB通讯的原程序及YuhangDebugTools调试软件,使用此软件可以方便地分析总线数据,对收发的数据一目了然不必用串口助手之类的软件自行分析,此外还提供了USB通讯的上位机源代码、动态库使用户方便地开发出自己的USB通讯软件。

学习板

YuhangDebugTools调试软件

实验指导

注意事项:

1、做任何实验CanMini均不需要刷新程序,否则CanMini将报废!

2、如果是SJA1000做为CAN处理器请将S4的两个短路块短路左边两排针,如果是

MCP2515作为CAN处理器则将S4的两个短路块短路右边两排针。

3、学习板中的三个按钮和一个四位的拨码开关留给用户自行使用,拨码开关可以作为设置

CAN 的ID或者设置波特率等功能。。。。

一、 2节点CAN总线通讯实验(CAN转232)

1.实验必备:

1)YH51-III USB, 485,CAN总线学习开发板一块

2)CanMini(CAN转232通讯板一块)

3)电脑一台(要求有2个串口)

4)YuhangDebugTools调试软件包,STC_ISP下载软件包

5)USB线(两头为公)1条,RS232串口延长线2条

2.实验说明:

2节点CAN总线通讯可实现两个或多个CAN设备之间的数据双向传输,在本实验

中利用YH51-III和CanMini之间通过CAN总线相互通讯,为了更好地,更方便地

发送和监视对方发送的数据及分析帧格式,YH51-III和CanMini双方收发的数据

均通过串口和YuhangDebugTools调试软件来完成,因此此实验包含了2节点CAN

通讯和CAN转323的通讯过程。

3.通讯流程示意图:

图1-3-1

4.实验步骤:

1)把CAN-232.hex文件烧入YH51-III学习板,如果不会烧写请看程序烧写方法

2)通过接线柱用4条线把YH51-III学习板和CanMini连接好,注意两个线不要

连接错误,否则会烧坏CanMini,连接关系如下表1-3-1

YH51-III CanMini 备注

+5V +5V 5V电源

GND GND 电源地线

CAH CANH 数据线

CAL CANL 数据线

A

485数据线

485数据线

B

表1-4-1

3)连接串口线:

拔掉USB电源线,用两条串口线把YH51-III学习板和CanMini分别连接到电

脑的两个串口, USB线连接到YH51-III学习板和电脑USB口,连接好后再

连接USB线给学习板通电,此时YH51-III学习板的LED1处于闪烁状态表明

程序已运行,LED2常亮表明CAN芯片自检成功(否则CAN芯片自检失败,

无法通讯)。CanMini的LED也处于闪烁状态,如果异常请检查YH51-III是否

4)YuhangDebugTools调试软件设置:

状态正常后运行两个YuhangDebugTools调试软件,调试界面均默认为CAN-232调试界面,选择连接CanMini的串口号,波特率设选择115200,设置好后点击“连接CanMini” 如果串口打开成功调试软件CAN控制部分由禁止变为使能并弹出一个窗口提示波特率。另一个软件连接YH51-III学习板,选择对应的串口号,波特率设置为9600,CAN波特率均默认为250K,然后点击“连接CanMini”(实际上是连接YH51-III学习板,并不提示连接成功,也不弹出窗口),如图1-4-1所示。

图1-4-1

5)如果链接正确此时就可以相互通讯了,在CAN控制栏里选择帧类型、帧格式,

在帧ID输入框里输入ID,数据输入框里输入要发送的数据,点击发送后即可发送出一帧数据,如果线路连接无误则在另一个调试软件的接收框里应该会接收到对方发来的数据,收到的数据软件自动分解,显示出来的数据一目了然,如图1-3-2所示

图1-4-2

二、 2节点CAN总线通讯实验(CAN转USB)

1.实验必备:

1)YH51-III USB, 485,CAN总线学习开发板一块

2)CanMini(CAN转232通讯板一块)

3)电脑一台(要求有1个串口)

4)YuhangDebugTools调试软件包,STC_ISP下载软件包

5)SB通讯线(两头为公)1条,RS232串口延长线1条

2.实验说明:

2节点CAN总线通讯可实现两个或多个CAN设备之间的数据双向传输,在本实验

中利用YH51-III和CanMini之间通过CAN总线相互通讯,为了更好地,更方便地

发送和监视对方发送的数据及分析帧格式,YH51-III和CanMini双方收发的数据

均通过串口和YuhangDebugTools调试软件来完成,因此此实验包含了2节点CAN

通讯和CAN转USB的通讯过程。

3.通讯流程示意图:

图2-3-1

4.实验步骤:

1)把CAN-USB.hex文件烧入YH51-III学习板,如果不会烧写请看程序烧写方法

2)通过接线柱用4条线把YH51-III学习板和CanMini连接好,注意两个线不要

连接错误,否则会烧坏CanMini,连接关系如下表2-4-1

YH51-III CanMini 备注

+5V +5V 5V电源

GND GND 电源地线

CAH CANH 数据线

CAL CANL 数据线

485数据线

A

485数据线

B

表2-4-1

3)连接串口线:

拔掉USB电源线,用串口线把CanMini和电脑的串口连接好,用 USB线把

YH51-III学习板和电脑USB口连接起来,此时YH51-III学习板的LED1处于

闪烁状态表明程序已运行,LED2常亮表明CAN自检成功(否则CAN芯片自

检失败,无法通讯),LED3常亮表明USB芯片自检成功。CanMini的LED也

处于闪烁状态,如果异常请检查YH51-III是否烧错了程序。

4)YuhangDebugTools调试软件设置:

状态正常后运行两个YuhangDebugTools调试软件,连接CanMini的调试界面

默认为“CAN-232调试“界面,选择连接CanMini的串口号,波特率设选择

口打开成功调试软件CAN控制部分由禁止变为使能并弹出一个窗口提示波特率。连接YH51-III学习板的软件选择“CAN-USB调试“界面,然后点击“连接USB设备”,如图2-4-1所示。

图2-4-1

5)如果链接正确此时就可以相互通讯了,在CAN控制栏里选择帧类型、帧格式,

在帧ID输入框里输入ID,数据输入框里输入要发送的数据,点击发送后即可发送出一帧数据,如果线路连接无误则在另一个调试软件的接收框里应该会接收到对方发来的数据,收到的数据软件自动分解,显示出来的数据一目了然,如图2-3-2所示

图2-4-2

三、 2节点485总线通讯实验

1.实验必备:

1)YH51-III USB, 485,CAN总线学习开发板2块

2)电脑一台(要求有串口、USB接口)

3)YuhangDebugTools调试软件包,STC_ISP下载软件包

4)USB线(两头为公)1条,RS232串口延长线1条

2.实验说明:

2节点485总线通讯可实现两个485接口设备之间的数据双向传输,在本实验中利

用两块或者多块YH51-III相互通讯,为了更好地,更方便地发送和监视对方发送

的数据及分析帧格式,通讯板主板通过USB接口配合YuhangDebugTools调试软件

来发送和监视从板(Slave)发来的数据,本实验中也可以接入多个从设备实现多

节点485通讯,在485网络中可以存在多个节点因此每个节点都应该有自己的ID,YH51-III实验板可以通过4位拨码开关来设置ID(范围为0x00~0x0F),ON方向为

0。电脑发送数据时ID号(第一个字节)必须要和从板(Slave)的其中一个相同

才能有数据返回,从板(Slave)也可以主动向主板发送数据并在调试软件接收框

里显示,主板不需要设置ID任何数据它都会接收并发给电脑显示。

3.讯流程示意图:

图3-2-1

4.实验步骤:

1)把YH51-III学习板烧写485_Master.hex作为主板通过USB与通讯,另一块或

者多块YH51-III学习板烧写485_Slave.hex作为从板与主板通讯,如果不会烧

写请看程序烧写方法。

2)通过接线柱用4条线把主从YH51-III学习板连接好,注意两个线不要连接错

误,否则会烧坏CanMini,连接关系如下表3-3-1,确认无误后通过USB线把

主板和电脑连接起来,此时主从板的LED1都处于闪烁状态,并且主板的LED3

处于常亮状态(USB自检成功),如果不亮确认是否烧对程序。

YH51-III (Master) YH51-III(Slave) 备注

+5V +5V 5V电源

GND GND 电源地线

485数据线

A A

485数据线

B B

表3-3-1

3)YuhangDebugTools调试软件设置及通讯:

状态正常后运行YuhangDebugTools调试软件,切换到“USB调试助手”的调试界面,然后点击“打开设备”,如图3-3-1所示。在端点2下传框里输入要发送的数据,第一个字节是ID(0x00~0x0f)后面的都是数据数据,数据包长度最大为64个字节,输入完成后点击下传数据,当从板收到数据后判断收到的ID是否和自己的ID相同(ID可以通过4位拨码开关设置ON方向为0),如果相同则把数据原封不动地返回给主板,如果不同则不做任何处理,从板也可以主动向主板发送数据,4个按钮可以发送不同的数据,发送数据时程序会自动加上自己的ID以便主设备收到数据后能识别是哪个设备发来的数据做相应的处理,这只是演示通讯而已在多节点485通讯网络中从设备一般不会主动向主设备发送数据,否则有可能造成通讯异常甚至网络瘫痪(这是485通讯网络致命缺点)。

图3-3-1

四、 USB通讯实验

1.实验必备:

1)YH51-III USB, 485,CAN总线学习开发板一块

2)电脑一台(要求有1个串口,1个USB接口)

3)YuhangDebugTools调试软件包,STC_ISP下载软件包

4)SB通讯线(两头为公)1条,RS232串口延长线1条

2.实验说明:

USB通讯实验是YH51-III和电脑之间的通讯,在本实验中只用到了一块YH51-III

学习实验板,通讯和取电均通过一条USB线完成,配合YuhangDebugTools调试软

件即可实验及调试程序,本站提供的程序实现电脑发送数据,学习板收到后把数据

原封不动返回,按学习板上的4个按键也可实现YH51-III学习板主动向电脑上传

数据。

3.通讯流程示意图:

图4-2-1

4.实验步骤:

1)把USB.hex文件烧入YH51-III学习板,如果不会烧写请看程序烧写方法

烧写完成后LED1处于闪烁状态LED3于常亮状态此时表明程序已正常运行,

如果LED3表明USB自检失败,请检查是否烧错了程序。

2)YuhangDebugTools调试软件设置:

状态正常后运行YuhangDebugTools调试软件,切换到“CAN-USB调试“界

面,然后点击“连接USB设备”,如图4-4-2所示。在端点2下传框里输入要

发送的数据(最多为64个字节),输入完成后点击下传数据,当YH51-III学

习板收到数据后把数据原封不动返回个电脑并在端点2上传端口显示。按学习

板上的4个按键也可实现YH51-III学习板主动向电脑上传数据。

图4-4-2

五、 USB转232

1.实验必备:

1)YH51-III USB, 485,CAN总线学习开发板一块

2)电脑一台(要求有1个串口,1个USB接口)

3)YuhangDebugTools调试软件包,STC_ISP下载软件包

4)SB通讯线(两头为公)1条,RS232串口延长线1条

2.实验说明:

USB转232实验是USB口和串口之间的的双向通讯,在本实验中只用到了一块

YH51-III学习实验板,利用板上的USB接口和串口,配合YuhangDebugTools调试

软件即可实验及调试程序,本站提供的程序实现电脑通过USB或者串口发送数据,学习板收到后把数据原封不动地转发到串口或者USB口实现接口转换。

3.通讯流程示意图:图5-4-1

图5-4-1

4.实验步骤:

1)把usb-232.hex文件烧入YH51-III学习板,如果不会烧写请看程序烧写方法

烧写完成后LED1处于闪烁状态LED3于常亮状态此时表明程序已正常运行,

如果LED3表明USB自检失败,请检查是否烧错了程序。

2)YuhangDebugTools调试软件设置:

状态正常后运行两个YuhangDebugTools调试软件,连接到串口的控制软件把

调试界面切换到“串口调试助手”,选择好对应的串口号,波特率选择9600,

软后点击“打开串口”,连接USB的软件切换到“CAN-USB调试“界面,

然后点击“连接USB设备”,如图5-4-2所示。在端点2下传框里输入要发送

的数据(最多为64个字节),输入完成后点击下传数据,当YH51-III学习板

收到数据后把数据原封不动地把数据向串口转发,此时连接串口的调试软件回

收到USB发送的数据,在串口助手里发送数据USB调试软件也能收到。

六、 DS18B20温度采集

1.实验必备:

1)YH51-III USB, 485,CAN总线学习开发板一块

2)CanMini一个

3)电脑一台(要求有1个串口)

4)YuhangDebugTools调试软件包,STC_ISP下载软件包

5)SB通讯线(两头为公)1条,RS232串口延长线1条

2.实验说明:

1)在本实验中只用到了一块YH51-III学习实验板,利用板上的DS18B20采集环

境温度每隔一秒钟向CAN和串口发送一次温度数据。

2)把ds18b20.hex文件烧入YH51-III学习板,如果不会烧写请看程序烧写方法

烧写完成后LED1处于闪烁状态表明程序已正常运行,LED2亮表明CAN自

检成功, LED3亮表明检测到DS18B20,如果不正常请检查YH51-III是否烧,

错了程序,断电后和CanMini连接上

3)YuhangDebugTools调试软件设置:

状态正常后运行YuhangDebugTools调试软件,连接CanMini的调试界面默认

为“CAN-232调试“界面,选择连接CanMini的串口号,波特率设选择115200,

CAN波特率均默认为250K,设置好后点击“连接CanMini” 如果串口打开成

功调试软件CAN控制部分由禁止变为使能并弹出一个窗口提示波特率。通上

电后便可以收到数据,例如数据为00 03 03 07 则温度为33.7°,也可选择串

口调试助手界面波特率选择9600把HEX显示去掉勾,把串口线连接到

YH51-III则串口直接显示温度,例如033.1°

七、 程序烧写方法:

1.在光盘里找到文件夹:开发工具\ STC单片机程序下载工具\找到

STC_ISP_V479.exe ,双击运行如下图:

2.连接好串口通讯线,断开电源

3.在下载软件界面1处选择单片机型号,看YH51-III学习板上中间那片四方形的IC

上面印的型号,有可能是STC10F08,STC89C58RD+,STC89C52RC,选择对应的型

号即可

4.在下载软件界面2处点击OpenFile/打开文件,加载要烧写的程序,少些文件扩展

名为.hex

5.在下载软件界面3处选择学习板连接的电脑串口号,其它一切默认设置

6.在下载软件界面4处点击Download/下载,然后给学习板插上USB线接通电源,

等待数秒后如果下载成功则出现5处提示的信息,如果失败则从新点击Download/

下载再断开学习板电源再次接上电源即可。

7.下载完毕,如果有什么问题欢迎到我们论坛https://www.doczj.com/doc/697247183.html,/bbs讨论。

八、 产品介绍

YH51-III是一款CAN、USB、RS232、RS485多总线学习开发板,单片机采用大家最为熟悉的51单片机,CAN控制器采用了在现场总线种应用最为广泛的SJA1000,USB芯片采用内置USB协议固件的CH372使USB通讯变得非常简单,本站的提供了CAN转232、CAN转

USB、CAN转485的原程序及YuhangDebugTools调试软件,使用此软件可以方便地分析总线数据,对收发的数据一目了然不必用串口助手之类的软件自行分析。促销期间YH51-III + CanMini (相当于两块学习板,可以实现CAN和CAN之间通讯等)预定价格为298元。

YH51-III:

CanMini:可以实现CAN转232功能,兼容2.0版本

现场总线实验报告

现场总线 实验报告 专业班级:测控1202 姓名:李聪 学号:12054224

一、实验目的: 1、熟悉现场总线控制系统的组成 2、了解常用的现场总线控制软件 3、熟悉STEP7、SIMATIC组态软件的使用 4、了解PROFIBUS-DP总线接口卡CP5611的工作原理 二、实验设备: 1、PROFIBUS-DP现场总线控制系统 2、万用表 3、4-20MA温度变送器 三、实验内容: 现场总线是一种串行的数字数据通讯链路,它沟通了生产过程领域的基本控制设备之间以及更高层次自动控制领域的自动化控制设备之间的联系。 Profibus是世界上最快的总线,世界范围的标准。主要应用于工业控制的各个领域。PROFIBUS提供了3种数据传输类型:用于DP和FMS的RS-485传输、用于PA的IEC1158-2传输、用光纤传输。 分为工厂级,车间级还有现场级。 实验室的Profibus总线系统

实验室通过电脑显示4-20 ma常规信号 三、实验步骤: 1.打开station cobfiguration editor。设置OPC server和CP5611 2.打开STMATIC Manager,通过insert>station>simatic pc station插入一个pc站,站名要更 改为configuration editor中所命名的。 3.选择address为1,并新建subnet

4.在Set pc interface中选择pc internal(local) 5.双击cobfiguration,打开硬件组态窗口,组态与所安装的simatic net软件版本 相一致的硬件,插槽机构与在cobfiguration editor的pc站一致 6.设置address为4 7.设置数据类型为w

CAN总线通讯实验

CAN总线通讯实验 一、实验目的 1.掌握UP-NetARM2410经典版上的CAN总线通讯原理。 2.学习编程实现MCP2510的CAN总线通讯。 3.掌握查询模式的CAN总线通讯程序的设计方法。 二、实验内容 学习CAN总线通讯原理,了解CAN总线的结构,阅读CAN控制器MCP2510的芯片文档,掌握MCP2510的相关寄存器的功能和使用方法。编程实现UP-NetARM2410-CL之间的CAN总线通讯: 两个UP-NetARM2410-CL通过CAN总线相连接。ARM监视串行口,将接收到的字符发送给另一个开发板并通过串口显示(计算机与开发板是通过超级终端通讯的)。即按PC 键盘通过超级终端发送数据,开发板将接收到的数据通过CAN总线转发,再另一个PC的超级终端上显示数据。 三、预备知识 1、用EW ARM集成开发环境,编写和调试程序的基本过程。 2、ARM应用程序的框架结构。 3、会使用Source Insight 3 编辑C语言源程序。 4、了解CAN总线。 四、实验设备及工具 硬件:ARM嵌入式开发平台、用于ARM920T的JTAG仿真器、PC机Pentium100以上,CAN通讯电缆。 软件:PC机操作系统Win2000或WinXP、EW ARM集成开发环境、仿真器驱动程序、超级终端通讯程序 五、实验原理及说明 1.CAN总线概述

CAN全称为Controller Area Network,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN总线被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如,发动机管理系统、变速箱控制器、仪表装备、电子主干系统中均嵌入CAN控制装置。 一个由CAN总线构成的单一网络中,理论上可以挂接无数个节点。但是,实际应用中节点数目受网络硬件的电气特性所限制。例如,当使用Philips P82C250 作为CAN 收发器时,同一网络中允许挂接110个节点。 CAN可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。 CAN的主要优点包括: ◆低成本 ◆极高的总线利用率 ◆很远的数据传输距离(长达10公里) ◆高速的数据传输速率(高达1Mbit/s) ◆可根据报文的ID决定接收或屏蔽该报文 ◆可靠的错误处理和检错机制 ◆发送的信息遭到破坏后可自动重发 ◆节点在错误严重的情况下具有自动退出总线的功能 ◆报文不包含源地址或目标地址仅用标志符来指示功能信息优先级 2.CAN总线的电气特性 CAN能够使用多种物理介质进行传输,例如:双绞线、光纤等。最常用的就是双绞线。信号使用差分电压传送,两条信号线被称为CAN_H和CAN_L,静态时均是2.5V左右,此时状态表示为逻辑1也可以叫做“隐性”。用CAN_H比CAN_L高表示逻辑0,称为“显性”。此时,通常电压值为CAN_H=3.5V和CAN_L=1.5V。当“显性”位和“隐性”位同时发送的时候,最后总线数值将为“显性”。这种特性,为CAN总线的总裁奠定了基础。 CAN总线的一个位时间可以分成四个部分:同步段,传播段,相位段1和相位段2,每段的时间份额的数目都是可以通过CAN总线控制器(比如MCP2510)编程控制的,而时间份额的大小tq由系统时钟tsys和波特率预分频值BRP决定:tq=BRP/tsys。如下图所示: 图9-1 CAN总线的一个位时间 上述四个部分的设定和CAN总线的同步、仲裁等信息有关,请读者参考CAN总线方面的相关资料。

使用泰克MSO4000示波器测试与分析CAN总线信号

主题TOPIC —————————————————————————————————TITLE:使用泰克MSO4000示波器测试与分析CAN总线信号 OBJET :介绍了泰克MSO4000系列示波器在CAN网测试中的若干应用

目录 1目的 (3) 2适用范围 (3) 3参考文件 (3) 4历史 (3) 5泰克MSO4000示波器简介 (4) 6利用MSO4000示波器对CAN LS信号进行采集和解码 (4) 6.1 对示波器进行设置 (4) 6.2 监测CAN LS网络上的CAN_H和CAN_L电平信号 (5) 6.3 技术规范对CAN LS信号电平值的规定 (8) 6.4 监测CAN LS网络的总线解码信号 (9) 7利用MSO4000示波器对CAN HS信号进行采集和解码 (10) 7.1 对示波器进行设置 (10) 7.2 监测CAN HS网络上的CAN_H和CAN_L电平信号 (10) 7.3 技术规范对CAN HS信号电平值的规定 (11) 7.4 监测CAN HS网络的总线解码信号 (11) 8使用泰克“e﹡Scope”功能对示波器进行远程操作 (12) 9使用Open Choice软件自动获取示波器屏幕截图 (13) 10使用SignalExpress TE软件实现自动化测试 (15) 2 of Page 19

1 目的 CAN网络信号的测试包括总新电平信号的采集、电压值的测量、信号解码分析、总线通讯状态监测等内容,这部分内容也是构成CAN网络底层测试的基础,测试结果的正确与否,直接关系到整车电器架构的稳定性与电控单元功能的完好性,因此如何便捷高效地完成CAN网络的测试,已经成为整车验证环节中不可回避的一个话题。本文中提出了一套使用泰克MSO4000系列示波器与配套的LabVIEW SignalExpress TE软件进行CAN总线信号测试与分析的方法,从而完成整车高速、低速CAN网络信号的分析与测试工作。通过“示波器+PC软件”的方式,测试人员可以方便快捷地对总线信号进行实时监测,也可以使用示波器的解码功能直接观测到对应的逻辑信号。在使用附属的SignalExpress TE软件后,还可以实现远程测试、自动化测试等功能,与其它测试和分析方法相比,具有入门简单、适用范围广、数据采集精度高等优点,大大提高了基于CAN总线技术的电控单元的开发与测试效率。 2 适用范围 供新车型项目中进行CAN网底层测试时参考使用。 3 参考文件 4 历史

CAN总线通信接口及程序设计毕业设计

机电工程学院 毕业设计说明书设计题目: CAN总线通信接口及程序设计 2012 年 5 月21 日

目次

1 CAN总线介绍 1.1 CAN总线的发展背景 随着汽车产业的发展,需要一种更利于信息数据传输交换的通信协议。汽车中的各种电子控制系统需要较高的技术支持,而随着汽车的发展,汽车是否安全、是否便利、成本是否低、是否舒适都已成为人们首要考虑的事情。但是传统的汽车控制技术已不足以满足人们越来越高的要求,也已不适以汽车的发展方向。20世纪80年代,德国Bosch公司着手研究用于汽车产业的新的通信协议及控制方法,并首先提出了CAN总线控制系统。这一崭新的网络协议使得汽车产业得到了飞速的发展。 CAN总线最明显的特点是最大程度地减少了汽车控制系统中的线束的数量及长度,另外还大大提高了系统控制的可靠性和稳定性。在没有CAN总线协议之前,一辆汽车中用于各种控制通信的线束的总长度达3公里之长,严重影响了汽车的通信速度和通信精度。并且还使汽车的整体结构繁冗复杂,可靠性低,成本高,难以维护。因此CAN总线的出现无疑具有重大的意义和作用。作为一种新的网络通信协议,CAN总线不仅减少了汽车中线束的长度,还提高了汽车的整体性能,极大的促进了汽车产业的发展。 CAN总线刚被提出的时候,仅仅应用于汽车产业上,但CAN总线通信协议的性能和可靠性经过多年的检验,已被应用于越来越多的产业,比如航空、船舶、机床等产业设备方面。仅仅二十多年的发展,CAN总线便已成为自动化领域技术的潮流。 CAN总线是串行通信网络。传统运用的是基于R线构建分布式控制系统,这种传统的控制系统是基于通信节点的地址编码的,因此其结构复杂,直接导致系统的通信效率不高,并且控制的可靠性能低。CAN总线通过每个网络节点进行数据通信,每个节点可以互相收发数据,CAN总线协议对通信数据编码,不对节点地址编码,使各个节点可以同时接收到相同的数据,大大增强了数据通信的实时控制及传输性能。另一方面CAN总线使用起来非常方便。CAN总线的结构十分简单,仅有2根线(CANH和CANL)和外部设备相连,但CAN总线的内部却有非常复杂和智能的通信模块,可以方便快捷准确无误的进行数据

课程设计实验报告 北邮

课程设计实验报告 -----物联网实验 学院:电子工程学院班级:2011211204 指导老师:赵同刚

一.物联网概念 物联网是新一代信息技术的重要组成部分。物联网的英文名称叫“The Internet of things”。顾名思义,物联网就是“物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网的基础上延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物体与物体之间,进行信息交换和通信。因此,物联网的定义是:通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物体与互联网相连接,进行信息交换和通信,以实现对物体的智能化识别、定位、跟踪、监控和管理的一种网络。 二.物联网作用 现有成熟的主要应用包括: —检测、捕捉和识别人脸,感知人的身份; —分析运动目标(人和物)的行为,防范周界入侵; —感知人的流动,用于客流统计和分析、娱乐场所等公共场合逗留人数预警; —感知人或者物的消失、出现,用于财产保全、可疑遗留物识别等; —感知和捕捉运动中的车牌,用于非法占用公交车道的车辆车牌捕捉; —感知人群聚集状态、驾驶疲劳状态、烟雾现象等各类信息。 三.物联网无线传感(ZigBee)感知系统 ZigBee是一种新兴的短距离、低功耗、低数据速率、低成本、低复杂度的无线网络技术。ZigBee在整个协议栈中处于网络层的位置,其下是由IEEE 802.15.4规范实现PHY(物理层)和MAC(媒体访问控制层),对上ZigBee提供了应用层接口。 ZigBee可以组成星形、网状、树形的网络拓扑,可用于无线传感器网络(WSN)的组网以及其他无线应用。ZigBee工作于2.4 GHz的免执照频段,可以容纳高达65 000个节点。这些节点的功耗很低,单靠2节5号电池就可以维持工作6~24个月。除此之外,它还具有很高的可靠性和安全性。这些优点使基于ZigBee的WSN广泛应用于工业控制、消费性电子设备、汽车自动化、家庭和楼宇自动化、医用设备控制等。 ZigBee的基础是IEEE802.15.4,这是IEEE无线个人区域网工作组的一项标准,被称作IEEE802.15.4(ZigBee)技术标准。ZigBee不仅只是802.15.4的名字。IEEE仅处理低级MAC

传媒--数据通路实验报告5

实验四总线及数据通路组成实验 一、实验目的 1、理解总线的概念、作用和特性。 2、掌握用总线控制数据传送的方法。 3、进一步熟悉教学计算机的数据通路。 4、掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法。 5、锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。 二、实验设备 1、TWL-PCC计算机组成原理教学实验系统一台,排线若干。 2、PC微机一台(选配)。 三、实验原理 总线用来连接计算机中的各个功能部件,是计算机的各部件之间传输信息的公共通路,包括传输数据信息的逻辑电路、管理信息传输协议的逻辑线路和物理连线。分时和共享是总线的两大特征。所谓共享,是指在总线上可以挂接多个部件,它们都可以使用这一信息通路来和其他部件传输信息。所谓分时,是指同一总线在同一时刻,只能有一个部件占领总线发送信息,其他部件的信息不能发送到总线上,逻辑上等同于不存在,只有该部件信息发送完毕释放总线后才能申请使用。但在同一时刻可以有多个部件接收信息。 本实验的数据通路图如图6.1所示。 本实验将输入设备,输出设备,存储器,通用寄存器等单元都挂至总线上,这些设备都需要有三态输出控制,各个部件都有自己的输入输出控制信号,通过对这些信号的有序控制,就可以正确地通过总线把数据传送给不同的部件。各个部件的控制信号都需要是连接到“开关组单元”的各个独立的二进制开关上来手动控制。连接到总线上的地址寄存器只有输入线,其输出直接连接到存储器的地址用于锁存需读写的存储器的地址。 本实验中时序信号用到了T3和T4信号,可将“信号源单元”的时钟输出SY接到“时序发生器单元”的Φ上,将OT3和OT4分别连接到“总线单元”中相应的T3和T4端上,二进制开关拨至“单步”状态,然后每按动一次启动键START,就会顺序产生一个T3、T4时序信号。 根据挂接在总线上的几个部件,现设计一个简单的实验要求:将存储器10H地址存入数据93H,然后将存储器10H地址单元中存储的数据送输出单元显示,同时也存入到R0寄存器中。

数据通路实验报告

实验3 存储器实验 预习实验报告 疑问: 1、数据通路是干嘛的? 2、数据通路如何实现其功能? 3、实验书上的存储器部分总线开关接在高电平上,是不是错了? 实验报告 一、波形图: 参数设置: Endtime:2.0us Gridsize:100.0ns 信号设置: clk:时钟信号,设置周期为100ns占空比为50%。 bus_sel: sw|r4|r5|alu|pc_bus的组合,分别代表的是总线(sw_bus)开关,将 存储器r4的数据显示到总线上,将存储器r5的数据显示到总线上, 将alu的运算结果显示到总线上,将pc的数据打入AR中二进制 输入,低电平有效。 alu_sel:m|cn|s[3..0]的组合,代表运算器的运算符号选择,二进制输入,高 电平有效。 ld_reg:lddr1|lddr2|ldr4|ldr5|ld_ar的组合,分别表示将总线数据载入寄存器 r1,r2,r4, r5或AR中,二进制输入,高电平有效。 pc_sel: pc_clr|ld|en的组合,分别代表地址计数器PC的清零(pc_clr)、装 载(pc_ld)和计数使能信号(pc_en),二进制输入,低电平有效。we_rd:信号we和rd的组合,分别代表对ram的读(we)与写(rd)的操作, 二进制输入,高电平有效 k:k [7]~ k [0],数据输入端信号,十六进制输入。 d: d[7]~d[0],数据输出中间信号,十六进制双向信号。 d~result: d [7] result ~d[0] result,最终的数据输出信号,十六进制输出。ar: ar[7]~ ar[0],地址寄存器AR的输出结果,十六进制输出。 pc: pc [7]~ pc [0],地址计数器PC的输出结果,十六进制输出。 仿真波形

CAN总线实验报告

CAN总线实验报告 实验一SJA1000初始化 一、实验要求: 正确完成对SJA1000初始化,初始化成功后用LED点亮,表示初始化完成;否则LED 不亮。 二、实验内容: 1.实现SJA1000的初始化设置 2.理解SJA1000的相关寄存器的设置。 三、实验系统硬件设计: 图1是89C51与SJA1000连接图。MCU与SJA1000连接图。 选择适合的电阻和电容。此实验选择了51KR电阻与1UF电容,开机后给电容充电,电容电压由0V升至5V,SJA1000可靠复位。 I/O复位,由单片机某一I/O引脚控制SJA1000复位引脚,使单片机在可靠复位之后完成SJA1000的复位,避免时间偏差。

芯片复位,可以通过外围芯片进行复位。 四、实验系统软件设计 程序开始采用宏定义,初始化开始。设置模式寄存器进入复位模式;然后配置时钟分频寄存器(CDR)选择PeliCAN模式,关闭CLKOUT输出;然后是输出控制寄存器(OCR),再设置位定时(BTR0/BTR1)6MHz晶振,波特率30Kbps;然后配置验收滤波;最后再次设置模式寄存器推出复位状态并且设置单验收滤波,然后判断状态寄存器是否位OXOC以确认初始化是否成功,如果成功则点亮LED,否则重新初始化。 图1系统软件设计框图

程序如下: MODE EQU 0DE00H CMR EQU 0DE01H ;命令寄存器 SR EQU 0DE02H ;状态寄存器 IR EQU 0DE03H ;中断寄存器 IER EQU 0DE04H ;中断使能寄存器 BTR0 EQU 0DE06H ;总线定时寄存器一 BTR1 EQU 0DE07H ;总线定时寄存器二 OCR EQU 0DE08H ;输出控制寄存器 ALC EQU 0DE0BH ;仲裁丢失捕捉寄存器 ECC EQU 0DE0CH ;错误代码捕捉寄存器 TXERR EQU 0DE0FH ;发送错误计数器 ACR0 EQU 0DE10H ;验收代码寄存器0 ACR1 EQU 0DE11H ; 1 ACR2 EQU 0DE12H ; 2 ACR3 EQU 0DE13H ; 3

can总线分析仪kvaserlin产品详解

CAN总线分析仪Kvaser Linx 将Kvaser Linx连接到Kvaser 现场总线上,即可分析J1587、LIN、K-Line、SWC 或 LS 总线网络,其优越的兼容性、灵活性和可靠性,极大的方便了各种总线的分析,目前市场上尚只有Kvaser Linx J1587 ?Kvaser Linx LIN适用于LIN 2.0和LIN 1.x. ?Kvaser Linx J1587适用于 SAE J1587/1708. ?Kvaser Linx K-line适用于ISO 9141. ?Kvaser Linx SWC适用于SAE J2411, GMLAN. ?Kvaser Linx LS适用于ISO 11898-3 (故障容忍CAN). ?Kvaser Linx Analog I/O适用于从0到24伏的输入电压. 一般特点 ?塑模造的9针DSUB母连接器带大拇指螺钉 ?塑模造的9针DSUB公连接器 ?紧凑的塑料外壳 ?适用于Kvaser的高速CAN接口 ?特别适合于 Kvaser Memorator Professional, Kvaser USBcan Professional 产品版本 ?Kvaser Linx J1587 (Schedule for Item no. 00389-7) ?Kvaser Linx LIN (Schedule for Q1, 2007) ?Kvaser Linx K-line (Schedule for Q1, 2007) ?Kvaser Linx SWC (Schedule for Q1, 2007) Kvaser Linx LS (Schedule for Q1, 2007)

STM32的can总线实验心得要点

STM32的can总线实验心得 (一) 工业现场总线 CAN 的基本介绍以及 STM32 的 CAN 模块简介 首先通读手册中关于CAN的文档,必须精读。 STM32F10xxx 参考手册Rev7V3.pdf https://www.doczj.com/doc/697247183.html,/bbs/redirect.php?tid=255&goto=lastpost#lastpos t 需要精读的部分为 RCC 和 CAN 两个章节。 为什么需要精读 RCC 呢?因为我们将学习 CAN 的波特率的设置,将要使用到RCC 部分的设置,因此推荐大家先复习下这部分中的几个时钟。 关于 STM32 的 can 总线简单介绍 bxCAN 是基本扩展 CAN (Basic Extended CAN) 的缩写,它支持 CAN 协议 2.0A 和 2.0B 。它的设计目标是,以最小的 CPU 负荷来高效处理大量收到的报文。它也支持报文发送的优先级要求(优先级特性可软件配置)。 对于安全紧要的应用,bxCAN 提供所有支持时间触发通信模式所需的硬件功能。 主要特点 · 支持 CAN 协议 2.0A 和 2.0B 主动模式 · 波特率最高可达 1 兆位 / 秒 · 支持时间触发通信功能 发送 · 3 个发送邮箱 · 发送报文的优先级特性可软件配置 · 记录发送 SOF 时刻的时间戳 接收 · 3 级深度的2个接收 FIFO · 14 个位宽可变的过滤器组-由整个 CAN 共享 · 标识符列表 · FIFO 溢出处理方式可配置 · 记录接收 SOF 时刻的时间戳 可支持时间触发通信模式 · 禁止自动重传模式 · 16 位自由运行定时器 · 定时器分辨率可配置 · 可在最后 2 个数据字节发送时间戳 管理 · 中断可屏蔽

总线控制实验报告

实验四:总线控制实验报告 一、实验目的: 1.理解总线的概念及其特性; 2.掌握总线传输控制特性; 二、实验设备 TDN-CM+计算机组成原理教学实验系统一台,排线若干。 三、实验内容 1. 总线的基本概念 总线是多个系统内部之间进行数据传输的公共通路,是构成计算机系统的骨架。借助总线连接,计算机在系统各个部件之间实现传送地址、数据和控制信息的操作。因此,所谓总线就是能为多个部件服务的一组公共信息线。 1.实验原理 实验所用总线传输实验框图如图7-1所示,它将几种不同的设备挂至总线上,有存储器、输入设备、输出设备、寄存器。这些设备都需要有三态输出控制,按照传输要求恰当有序的控制它们,就可实现信息传输。 实验要求 根据挂在总线上的几个基本部件,设计一个简单的流程: ⑴输入设备将一个数打入R0寄存器; ⑵输入设备将另一个数打入地址寄存器; ⑶将R0寄存器中的数写入到当前的存储器中; ⑷将当前地址存储器中的数用LED数码管显示。

1.实验步骤 ⑴按照图7-2实验接线图进行接线。 ⑵具体操作步骤如下:

初始状态应设为:关闭所有的三态门(SW-B=1,CE=1,R0-B=1),其他控制信号为:LDAR=0,LDR0=0,W/R(RAM)=1,W/R(LED)=1 第一组数据:(R0)=11H,(AR)=21H LED显示的数据为: 第二组数据:(R0)=A5H,(AR)=22H LED显示的数据为: 第三组数据:(R0)=FCH,(AR)=23H LED显示的数据为: 注意事项: 1、所有导线使用前须测通断; 2、不允许带电接线; 3、“0”——亮“1”——灭; 4、注意连接线的颜色、数据的高低位。 四、实验总结 实验过程出现了很多问题,只有在实验前做好充分准备,才能减少在实验过程中遇到的难题。实验主要是使我们理解总线的概念及其特性,并掌握总线传输控制特性,这对我们深入了解计算机组成原理这门课程更加有利。

CAN总线学习心得--重要

CAN总线学习心得--重要 SJ A1 0 0 0 的常用标准波特率设置,为什么基本上都是单次采样?即使是低速的时候也是这样的,既然T SEG1 的设置周期都很大,比如都大于1 0 了,为什么不让他采样三次呢?答:是不好理解,但那是Ci A 推荐的值。用5 1 系列芯片和两个SJ A1 0 0 0 接口还要外扩一个RAM,请问5 1 的AL E 能否同时与三个芯片的AL E 管脚相连( 地址不同) 有哪位高手做过双SJ A1 0 0 0 冗余的请指教!答:能同时连接。请问CAN 总线在想传输1 0 0 0 m 的情况下, 最快的速度能到多少呢?答: 5 0 k b p s = 1 3 0 0 m。如果一个网络中只有 2 个节点, 其中一个处于监听模式,另一个节点发送报文会使处于监听模式的节点进入中断吗?答:能进入接收中断,你自己的试验也可以证明。想组建一个简单的CAN 网络, 已经有两个节点, 我想问CAN 总线如何组建, 终端电阻安装在哪里?小弟还没有入门, 大虾们指点一下。答1 :直接将节点CANH 和CANL 连到总线上,终端电阻接在总线两端,大约1 2 0 欧。答2 :推荐北航出版《现场总线CAN 原理与应用技术》,研读一下。请问各位老师:我是一名c a n 总线的新手,我正在做c a n 总线的开发,控制器用s j a 1 0 0 0 t ( 我自己两个控制板互通) , 但我在发送数据后将出现总线关闭,我看到发送错误计数器在不断增加,直到0 x f f 最后恢复到0 x 7 f , 谢谢各位老师帮我解答这个问题。或者对我给与启发答1 ;首先调通单个节点。答2 :这是单节点发送没有成功( 或者由于网络中其他节点没有收到帧并在响应场响应) 建议参考网站CAN 应用方案。我想请教各位c a n 远程贞有何作用?如何应用?在什么情况下才需要用到远程贞?谢谢了!答:远程帧的用与不用完全取决你自己的协议,c a n 有远程帧的功能,是可用可不用的!用网站提供的计算波特率的工具算出的数,1 2 k 以上的都正确,无论是自接收还是两个节点通讯都没有任何问题。但是1 2 k 以下的数据一个都不能用,两个节点通讯没有成功的,自接收有1 0 k 的几个数据成功。我们的项目要求必须在1 0 k 以下,最好是5 k ,但是不成功,自己计算的数据也没有成功的。(我们至少试验了3 0 多个,所有情况都考虑了。)我现在怀疑s j a 1 0 0 0 的波特率根本达不到5 k 和相对应的传输1 0 k m。或者可以谁能提供个经过实践检验的正确的总线定时器0 和1 的设置呢?要求低于1 0 k 。答:PCA8 2 C2 5 0 / 2 5 1 可以保证5 KBPS 的速率;比如Z L GCAN 系列接口卡。答:t j a 1 0 5 0 在低速时好像有问题。我用1 0 5 0 进行5 k 的时候不行,用8 2 c 2 5 0 很好,你可以试一试。我本想双机调试,一边收,一边发,但跑程序后,发送方会不断进入复位模式,所以现在进行自测试模式,我先进入复位模式,设置进入PEL I CAN 模式,对寄存器初始化后,设置接收,发送中断使能,最后设置进入自接收,单滤波模式,这样初始化就结束了,我的ACR0 ~ ACR3 为0 x 5 5 , 0 x 5 5 , 0 x 5 5 0 x 5 0 , AMR0 ~ AMR3 为0 x f f , 之后,我就往BUF F ER 里填数,0 x 8 8 , 0 x 5 5 , 0 x 5 5 , 0 x 5 5 , 0 x 5 0 , 0 x 3 0 , 0 x 3 1 , .0 x 3 7 , 之后,启动自接收请求命令,但是程序只进入了中断一次,是发送空中断,接收中断没有产生,我读发送错误寄存器,发现有错误产生,我读接收计数寄存器,为0 ,说明我没有收到数,但我读接收BUF F ER 时,值为0 x 5 5 , 0 x 5 5 , 0 x 5 5 , 0 x f f , 0 x f f , 0 x f f , 0 x f f , 0 x f f , 0 , 0 , 0 , 0 , 0 , 以上测试时,我在CANH 和CANL 之间加入了两个1 2 0 欧的匹配电阻并联在一起的,请各位高手指点呀,谢谢了答:在总线上加个CAN 接口卡会方便许多,或者加个捕获功能的示波器也可以检测波形。仿真环境:k e i l u v 2 编译器:k e i l c 5 1 7 . 0 仿真器:t k s - 5 9 1 s c p u : p 8 7 c 5 9 1 程序大小:8 K 左右兄弟在一片CPU 中烧写了一个,运行一个CAN 总线,I I C 总线测试程序能够正常运行。这个基础上加上应用程序后在仿真机中运行正常,但是烧写到c p u 后插入c p u 程序不能运行,请问是什么原因?另外一个问题:在另外一个项目中条件相同,程序只有4 K, 程序正常跑着,CAN 接口可以检测到输出波形但是却不能正确传输数据,在一块旧板子上就可以,比较两者之后发现电路完全相同测量也正常,只是布局不同,请教原因。答:程序已运行了吧?可能是HEX 文件有错;编制程序时注意P8 7 C5 9 1 的ERAM 设置、6 CL K 设置。位流数据采样自发送节点的8 2 c 2 5 0 的T x 管脚。测试条件:p e l i c a n ,扩展,双滤波模式,对方I D:0 x 8 8 , 0 x 1 1 , 0 x 5 5 , 0 x 1 0 ,发送的对方I D 为:0 x 8 8 , 0 x 1 1 , 0 x 0 0 , 0 x 0 0 ,发送2 字节数据为:0 x 0 5 , 0 x 0 6 采集的位流数据如下:0 1 0 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 请教位流数据的含义?答:自行计算时要区分位,还需要进行“位填充”的逆运行;简单的方法是将此信号连接

15.22、 CAN总线回环实验

CAN总线回环实验 这一节我们将向大家介绍STM32的CAN总线的基本使用。有了STM32,CAN总线将变得简单,俗话说“百闻不如一见”,应当再加上“百见不如一试”。在本小节,我们初始化CAN总线,分别测试轮询模式和中断模式下的CAN总线环回,并通过神舟IV号的LED和串口等指示CAN环回的数据传送结果。本节分为如下几个部分: 1 CAN总线回环实验的意义与作用 2 实验原理 3 软件设计 4 硬件设计 5 下载与验证 6 实验现象 z意义与作用 什么是CAN总线? CAN,全称“Controller Area Network”,即控制器局域网,是国际上应用最广泛的工业级现场总线之一。它是一种具有国际标准而且性能价格比又较高的现场总线,当今自动控制领域的发展中能发挥重要的作用。最初CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。 CAN控制器局部网是BOSCH公司为现代汽车应用领先推出的一种多主机局部网,由于其卓越性能现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。控制器局部网将在我国迅速普及推广。 由于CAN为愈来愈多不同领域采用和推广,导致要求各种应用领域通信报文的标准化。为此,1991年9月 PHILIPS SEMICONDUCTORS制订并发布了 CAN技术规范(VERSION 2.0)。该技术规范包括A和B两部分。2.0A给出了曾在CAN技术规范版本1.2中定义的CAN报文格式,而2.0B给出了标准的和扩展的两种报文格式。此后,1993年11月ISO正式颁布了道路交通运载工具--数字信息交换--高速通信控制器局部网(CAN)国际标准(ISO11898),为控制器局部网标准化、规范化推广铺平了道路。 CAN总线特点 CAN总线是一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达1MBPS。CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。 CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由

CAN总线应用

设计(论文)题目:基于CAN总线的楼宇温度检测系统 前言 基于单片机实现传统温度检测技术的特点,提出了基于CAN总线的楼宇温度检测系统方案。该系统方案的硬件平台主要包括温度检测模块和主控平台,并详细介绍了其硬件实现、软件设计思想及流程。实验表明:该系统可实现对楼宇温度的实时检测,并由数码管显示检测结果,对异常情况进行处理,从而实现对楼宇房间温度的有效检测。 在传统的检测技术中,温度检测基本采用单片机系统为主,且大多数都针对工业需要,日常生活中的应用并不多;而通信多基于落后的485总线,不能进行远距离的实时数据传输,更不能与因特网相连,可靠性也不高。因此,本文提出一种基于CAN总线的温度测控技术,该技术适合远距离控制与传输,具有非常高的可靠性。 控制器局域网(Controller Area Network,CAN)是国际上应用最广泛的现场总线之一。CAN总线最早出现在20世纪80年代末的汽车工业中,由德国BOSCH公司最先提出,其主要特性为低成本,且总线利用率高。CAN采用串行通信方式工作,所提供的最高数据传输速率为1Mbit/s,最大通信距离为10km。CAN还具有可靠的错误处理和检错机制,极强的错误检测能力,发送信息遭到破坏后可自动重发;可在高噪声的干扰环境中只用,能够检测出产生的任何错误,当数据的传输距离达到10km时,CAN仍能提供5kbit/s的数据传输速率。 正是基于CAN总线的上述优点,目前CAN总线在众多领域被广泛应用,其应用范围不再局限于原先的汽车行业,而向过程工业、机械工业、纺织工业、数控机床、医疗器械及传感器等领域发展,CAN总线已经形成国际标准,并已被公认为是几种最有前途的现场总线之一。 考虑到CAN总线的高可靠性和远距离传输优点,结合目前温度检测技术的技术瓶颈,即距离短和实时性差的特点,本系统CAN总线应用于传统的温度检测中,也是一种新的尝试。

计算机组成原理 实验六 总线数据传输控制实验

实验六总线数据传输控制实验 一、实验目的 1.理解总线的概念,了解总线的作用和特性。 2.掌握用总线传输数据的控制原理和方法。 二、实验原理 1.74LS374芯片的逻辑功能 2.了解通用寄存器部件的逻辑功能 三、实验过程 1.连线 1)连接实验一(输入、输出实验)的全部连线。 2)按逻辑原理图连接寄存器单元(REG UNIT)的B-R0,B-R1正脉冲信号。 3)连接寄存器单元(REG UNIT)的R0-B、R1-B到KA、KB,用KA、KB控制R0-B、 R1-B这两个低电平有效信号 4)连接运算器单元(ALU UNIT)S1、S0、M、299-B。 5)按逻辑原理图连接时钟单元(CLOCK UNIT)与微程序控制单元(MAIN CONTROL UNIT)的T4。

2.数据送R0操作过程 1)首先把手动控制开关单元(MANUAL UNIT)的控制开关全部拨到无效状态。 2)在输入数据开关拨一个实验数据(如“00001001”,即16进制的09H),把I/O-R 把实验数据送总线。 3)把B-R0信号拨动一下,即实现“1-0-1”,产生一个正脉冲,实验数据由总 线送0号通用寄存器(R0)保存。 4)把输入数据开关上的实验数据拨回到全0,拨上I/O-R控制开关,切断输入 数据与总线的联系,这时总线显示灯为“11111111”,处于悬空状态。 3.数据从R0读出送移位寄存器操作过程 1)拨下KA控制开关,产生R0-B 信号,把实验数据从R0送总线,总线显示灯 为“00001001”,显示R0寄存器状态 2)把299-B ,S1,S0,M拨成1111,确保时钟单元(CLOCK UNIT)的STEP/RUN 开关处于“STEP”状态,按一下“START”键发T4脉冲,把R0中的数据通过总线送入74LS299移位寄存器中。 3)拨上KA控制开关,使R0-B 信号无效,切断R0输出数据与总线的联系,总 线显示灯为“11111111”,处于悬空状态。 4.数据经移位寄存器移位后送R1的操作过程 1)把299-B ,S!,S0,M拨成0101,按下“START”键发T4脉冲,对74LS299移位寄存器中的数据进行一次带进位的循环右移,这时从总线上可看到移位后的实验数据。 2)把B-R1信号拨动一下,即实现“0—1—0”,产生一个正脉冲,实验数据通过总线送1号通用寄存器(R1)保存。 3)拨上299-B 控制开关,切断74LS299移位寄存器与总线的联系。

接口实验报告

接口实验课程结课报告 学号、专业:控制工程 1508202024 姓名:** 报告题目:基于STM32的实时时钟设计 指导教师:潘明 所属学院:电子工程与自动化学院 成绩评定 教师签名 桂林电子科技大学研究生院 2016年6月4日

摘要 本设计以STM32F103芯片为控制核心,利用其内部的RTC设计了一个实时时钟。本系统主要由以下几个部分组成:微处理器,实时时钟模块,显示模块,调节模块。其中MCU 采用STM32F103芯片,实时时钟采用RTC实时时钟,显示模块为4.3寸的TFTLCD显示屏,采用独立按键调节。另外整个系统是在系统软件控制下工作的,能实现年、月、日、时、分、秒的实时显示及闹钟功能,并增加了温度显示。 关键字:STM32F103;实时时钟(RTC);TFTLCD显示屏

Abstract This design with STM32F103 chip as the control core, using its internal RTC design a real-time clock. The system is mainly composed of the following parts: microprocessor, real-time clock module, display module, control module. MCU using STM32F103 chip, real-time clock using RTC , display module use the 4.3 inch TFTLCD display screen, using independent buttons to adjust . In addition, the whole system is under the control of the system software,and accomplish the year, month, day, hour, minute, second real-time display and alarm clock function,and added to temperature display. Key words: STM32F103;real time clock(RTC); TFTLCD display screen

CAN 总线通信原理分析

CAN总线通信原理分析 CAN(Controller Area Network)总线,即控制器局域网总线,在工业控制、医疗电子、家用电器及传感器领域都得到了广泛的应用。目前国内外文献中针对CAN总线协议分析的文章主要是针对CAN协议的帧结构以或位时序特性进行分析,如文献鲜有从通信的角度对CAN总线协议进行分析,鲜有从工程应用的角度出发,对CAN总线的通信机制进行深入分 析的文章。 1 CAN应用特性及结构构成 CAN总线协议具有两个国际标准,分别是ISO11898和ISO11519。其中,IS011898是通信速率为125 kbps~1Mbps的高速CAN通信标准,属于闭环总线,总线最大长度为40 m/1Mbps。ISO11519定义了通信速率为10~125kbps的低速CAN通信标准,属于开环总线,最大长度为1 km/40kbps。由于电气特性限制,即总线分布电容和分布电阻对总线波形的影响,CAN总线上最大节点数目为110个。对于应用工程师,只需正确配置收发端 的波特率和位参数即可实现收发节点的数据同步。通过CAN控制器硬件对报文的标示符滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据。同时,由于CAN报文采用短帧结构,并且每帧均包含CRC校验部分,保证了数据出错率极低。CAN总线在工 程应用中结构构成如图1所示。 系统实现中的CAN应用层、操作系统(在无操作系统的应用中以后台程序实现)及驱动程序共同实现了ISO参考模型中的应用层功能。其中,CAN应用层定义ID分组、发送数据装包、接收数据处理以及应用层总线安全监测;操作系统/后台程序用于在CAN中断到达后调度CAN驱动程序对数据进行处理;驱动程序包括初始化(控制器工作状态设置、波特率设置、验收滤波器配置)、收发驱动及异常处理程序。 对于传输介质层,需要根据环境干扰噪声、总线长度等来确定。在强干扰噪声的情况下必须采用屏蔽线;由于分布电容造成的总线波形失真及分布电阻造成的总线电平的衰减,总线长度需要考虑采用的传输介质的分布电阻和分布电容特性;同时,若采用高速总线还需通过实验确定总线的匹配电阻值。 对于CAN驱动层和应用层,驱动程序包括CAN初始化(包括硬件使能、波特率设置、控制器工作模式设置及验收滤波器ID表配置)、收/发驱动并向上层提供接口函数,其中需要说明的是验收滤波器的ID表配置需要根据应用层对系统ID的分组来进行;CAN应用层 根据总线上各节点之间的数据收发关系进行数据包的ID分组、发送数据装包、接收数据处

实验4 数据通路 实验报告

班级:计算机科学与技术3班 学号:20090810310 姓名:康小雪 日期:2011-10-14 实验3 存储器实验 预习实验报告 疑问: 1、数据通路是干嘛的? 2、数据通路如何实现其功能? 3、实验书上的存储器部分总线开关接在高电平上,是不是错了? 实验报告 一、波形图: 参数设置: Endtime:2.0us Gridsize:100.0ns 信号设置: clk:时钟信号,设置周期为100ns占空比为50%。 bus_sel: sw|r4|r5|alu|pc_bus的组合,分别代表的是总线(sw_bus)开关,将 存储器r4的数据显示到总线上,将存储器r5的数据显示到总线上, 将alu的运算结果显示到总线上,将pc的数据打入AR中二进制 输入,低电平有效。 alu_sel:m|cn|s[3..0]的组合,代表运算器的运算符号选择,二进制输入,高 电平有效。 ld_reg:lddr1|lddr2|ldr4|ldr5|ld_ar的组合,分别表示将总线数据载入寄存器 r1,r2,r4, r5或AR中,二进制输入,高电平有效。 pc_sel: pc_clr|ld|en的组合,分别代表地址计数器PC的清零(pc_clr)、装 载(pc_ld)和计数使能信号(pc_en),二进制输入,低电平有效。we_rd:信号we和rd的组合,分别代表对ram的读(we)与写(rd)的操作, 二进制输入,高电平有效 k:k [7]~ k [0],数据输入端信号,十六进制输入。 d: d[7]~d[0],数据输出中间信号,十六进制双向信号。 d~result: d [7] result ~d[0] result,最终的数据输出信号,十六进制输出。ar: ar[7]~ ar[0],地址寄存器AR的输出结果,十六进制输出。 pc: pc [7]~ pc [0],地址计数器PC的输出结果,十六进制输出。 仿真波形

相关主题
文本预览
相关文档 最新文档