CAN总线实验报告

合集下载

实验十三 CAN总线实验

实验十三 CAN总线实验
1
1.2 CAN 总线技术的优点 使用 CAN 总线后,对其优点进行了总结,得出以下结论: 1) 如果数据扩展以增加新的信息,只需升级软件即可。 2) 控制单元对所传输的信息进行实时检测,检测到故障后存储故障码。 3) 使用小型控制单元及小型控制单元插孔可节省空间。 4) 使传感器信号线减至最少,控制单元可做到高速数据传输。 5) CAN 总线符合国际标准,因此可应用不同型号控制单元间的数据传输。
datanum = 8; loopnum = str.GetLength() / 8; if((str.GetLength() % 8) == 0) loopnum -= 1; temp = loopnum; while(loopnum >= 0){
for(int i = 0; i < datanum; i++) {
信息,而不分主从,通信方式灵活,且无需站地址等节点信息。利用这一点可方便地构 成多机备份系统。 CAN 网络上的节点信息分成不同的优先级,可满足不同的实时要求,高优先级的数据 最多可在 134us 内得到传输。 CAN 采用非破坏性总线性仲裁技术,当多个节点同时向总线发送信息时,优先级较低 的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大 节省了总线冲突仲裁时间。尤其是在网络负载很重的情况下也不会出现网络瘫痪情况 (以太网则可能)。 CAN 只需通过帧滤波即可实现点对点、一点对多点及全局广播等几种方式传送接受数 据,无需专门的“调度”。 CAN 采用 NRZ 编码,直接通信距离最远可达 10km(速率 5kbps);通信速率最高可达 1Mbps(此时通信距离最长为 40m)。 CAN 上的节点数主要取决于总线驱动电路,目前可达 110 个;标示符可达 2032 种 (CAN2.0A),而扩展标准(CAN2.0B)的标示符几乎不受限制。 CAN 采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果,每帧信息都 有 CRC 效验及其他检错措施,保证数据出错率极低。 CAN 的通信介质可为双铰线、同轴电缆或光纤,选择灵活。 CAN 节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不 受影响。

CAN总线网络组建实训报告

CAN总线网络组建实训报告

CAN总线网络组建实训报告CAN总线是一种串行数据通信协议,被广泛应用于网络化测量技术中,本文正是利用将RS232通讯转换成CAN通讯网络,实现了建立远程通讯网络。

整个通讯网络实时性好、可靠性高、传输距离远(长达10km),应用灵活。

利用RS232和CAN总线协议转换组建CAN 控制网络。

1、CAN总线概述CAN总线即控制器局域网,是目前应用最广的现场总线国际标准之一。

CAN总线是一种多主方式的串行通讯总线,可以实现较高通讯速率、高抗电磁干扰性,而且能够检测出产生的任何错误,以保证实时通讯的可靠性。

此外,CAN总线具有很远的数据传输距离(长达10k。

)和高速的数据传输速率(高达IMbps),当信号传输距离达到skm时,CAN 总线仍可提供高达roKbPs的数据传输速率。

CAN总线通讯速率与传输距离的关系同时内嵌了CAN和SCI模块,为实现把RS232通讯网络转换成CAN通讯网络提供了极大的方便。

CAN模块是一个16位的外设模块。

它完全支持CANZ.OB协议;可工作在标准模式和扩展模式。

2、RS232与CAN转换原理及硬件设计RS232总线与CAN总线通信协议转换单元的原理框图如图1所示。

RS电平转换采用TI公司的RS232电平转换芯片,它可以把输入的+3.3V电源电压变换成RS232输出电平所需要的电压。

该电路采用了符合RS232标准的驱动芯片MAX3232进行串行通信。

MAX3232芯片功耗低,集成度高,+3.3V供电,具有两个接收和发送通信,由于TMS32LF2407采用+3.3V供电,所以在MAX3232与TMS32LF2407之间不需要加电平转换电路。

CAN收发器也直接采用了+3.3V供电的CAN收发器SN65HVD230,它是驱动CAN控制器和物理总线间的接口,提供对总线的差动发送和接收功能,硬件原理图如下图2所示。

由于TI公司的SN65HVD230是提供+3.3V供电,同时由于LF2407也是使用3.3V供电,因此也不需要做电平转换。

汽车CAN总线通讯的运用以及汽车仪表功能设计+实验报告----

汽车CAN总线通讯的运用以及汽车仪表功能设计+实验报告----

《汽车电控技术》课程设计与实践报告《汽车电控技术》课程设计与实践报告实验说明:本次试验,我们小组五人分为两个部分,一部分负责CAN总线的编程调试,另一部分负责汽车仪表功能的设计,最后将仪表与2个三位旋钮开关之间进行联调,通力合作完成本次实验,实验步骤基本同步进行。

为了展开叙述,在实验步骤环节以CAN总线的编程调试为先。

设计题目:汽车CAN总线通讯的运用以及汽车仪表功能的设计实验目的:1、初步学习CAN总线应用协议的制定。

学习汽车CAN总线控制系统的工作原理以及过程,熟悉控制器的工作原理,学习usb—can的应用。

2、学习传统指针仪表与液晶仪表的工作过程,理解掌握仪表的电气连接,学习Murphy PV750调试程序的使用。

设计内容:本次实验使用intercontrol FI控制器、Murphy仪表公司的PV750和PVA指针仪表为硬件基础,配合配套软件prosyd1131、Murphy Configuration Tool 2.1完成。

设计中根据操控设计实验的需求,通过FI控制器程序,将开关量以及模拟量的输入转换成CAN总线信号发送至总线上,并将CAN总线信号利用CANtools 采集。

选择使用不同指针仪表,并利用Murphy Configuration Tool 2.1编写所需PV750界面。

实验器材:硬件:intercontrol_FI控制器,Murphy PV750仪表1块,PVA仪表1块,usb—can, 24V、5V开关电源各一块,三位旋钮开关2个,端子排若干,电气连线若干。

软件:prosyd1131编程工具,Murphy仪表PV750调试软件Murphy Configuration Tool 2.1,cantools。

实验步骤:1.初步了解CAN总线以及工作方式现代汽车的电子结构是用几种通信系统将微控制器、传感器和执行器连接起来的方式,这种结构是当前汽车高速网络系统的主要应用标准。

CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。

can总线接收实验报告

can总线接收实验报告

DSP实验报告实验名称:CAN总线数据采集和远程传输实验实验日期:2013-6-17——2013-7-05姓名:*****学号:*******指导教师:*****哈尔滨工业大学(威海)目录................................................................................................................ - 0 -DSP实验报告 .................................................................................. - 0 -1.理论准备.......................................................................................... - 2 -1.1 DSP应用的概述 ...................................................................... - 2 -1.2 CAN的简介............................................................................. - 3 -1.3 F2812简介 ............................................................................... - 3 -2.实验原理.......................................................................................... - 4 -2.1 软件流程图 .............................................................................. - 4 -2.2 can总线收发器通信的硬件原理............................................ - 5 -3.设计阶段.......................................................................................... - 5 -3.1接收过程: ................................................................................. - 5 -3.2 配置就收邮箱 .......................................................................... - 7 -3.3 接收消息 .................................................................................. - 7 -四.实验总结........................................................................................ - 7 -五.参考文献........................................................................................ - 8 -附录:.................................................................................................... - 8 -1.理论准备1.1 DSP应用的概述数字信号处理器(DSP)是一种适合完成数字信号处理运算的处理器。

can总线实验报告

can总线实验报告

can总线实验报告
《CAN总线实验报告》
一、实验目的
本实验旨在通过对CAN总线的实验研究,掌握CAN总线的基本原理、工作方式和应用领域,提高学生对CAN总线技术的理解和应用能力。

二、实验内容
1. CAN总线基本原理的学习和理解
2. CAN总线的工作方式和通信协议的研究
3. CAN总线在汽车电子控制系统中的应用实例分析
4. CAN总线通信协议的实验验证
三、实验步骤
1. 通过文献资料和教材学习CAN总线的基本原理和工作方式
2. 使用CAN总线开发板进行实验,验证CAN总线的通信协议
3. 分析汽车电子控制系统中CAN总线的应用实例
4. 结合实际案例,对CAN总线通信协议进行实验验证
四、实验结果
通过本次实验,我们深入了解了CAN总线的基本原理和工作方式,掌握了CAN总线通信协议的实验验证方法,并对CAN总线在汽车电子控制系统中的应用有了更深入的了解。

实验结果表明,CAN总线作为一种高可靠性、高性能的通信协议,在汽车电子控制系统中具有广泛的应用前景。

五、实验结论
通过本次实验,我们对CAN总线的基本原理、工作方式和应用领域有了更深入
的了解,提高了对CAN总线技术的理解和应用能力。

同时,我们也认识到了CAN总线在汽车电子控制系统中的重要作用,为今后的学习和研究打下了坚实的基础。

综上所述,本次实验取得了良好的实验效果,为我们进一步深入研究CAN总线技术奠定了坚实的基础。

希望通过今后的学习和实践,能够更好地应用CAN总线技术,为汽车电子控制系统的发展做出更大的贡献。

CAN总线实验报告

CAN总线实验报告

实验三:双节点通信1、实验要求CAN节点A(ID:0x00)、B(ID:0x01),要求A节点进行数据发送(标准数据帧),B节点可以进行数据接收并显示接收到数据,同时反馈信息给A节点。

2、实验目的(1)熟悉双CAN通信原理;(2)掌握双节点通信的设计。

3、所需设备(1)CPU挂箱2(2)接口挂箱2(3)CPU模块(80C31)2(4)CAN总线模块2块4、实验内容两个实验台运行程序CAN.ASM,发送实验台全速运行程序,接收实验台要在程序中设置断点,查看30H~37H中的数与程序中发送的数据是否一致。

5、实验原理两个CAN节点通信,验收滤波设置正确后,可实现双节点通信。

硬件原理图与图2.4类似,只不过将1个节点改为2个节点。

图略。

附图2.4见下(2)模块跳线接LCS0(CAN基址为0xDE00);(3)模块上的A接CANL,B接CANH;(4)在各自试验台上,将CPU挂箱右侧的“DATA PORT”和“ADDRESS PORT”分别用5P、14P、20P连线与接口挂箱的相应插座连接.(5)将两个CAN节点的CANL、CANH直连。

2、运行程序CAN.ASM,在初始化结束、发送接收结束处各设置断点,查看两个模块的30H~37H中的数据是否一致。

7、实验结果两个模块的30H~37H中的数据一致。

8、1)程序流程图2)实验程序: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 ;验收代码寄存器0ACR1 EQU 0DE11H ; 1ACR2 EQU 0DE12H ; 2ACR3 EQU 0DE13H ; 3AMR0 EQU 0DE14H ;验收屏蔽寄存器0AMR1 EQU 0DE15H ; 1AMR2 EQU 0DE16H ; 2AMR3 EQU 0DE17H ; 3FIN EQU 0DE10H ;发送/接收帧信息ID1 EQU 0DE11H ;发送/接收缓冲区之标示符一ID2 EQU 0DE12H ;发送/接收缓冲区之标示符二DATA1 EQU 0DE13H ;发送/接收数据首址RBSA EQU 0DE1EH ;接收缓冲器起始地址寄存器CDR EQU 0DE1FH ;时钟分频寄存器ORG 4000HJMP STARTORG 4080HSTART: MOV R1,#8MOV R0,#27HFILL: MOV B,#10HMOV A,R1MUL ABMOV @R0,ADEC R0DJNZ R1,FILLMOV R0,#0AAHLCALL INITCAN ;CAN初始化(CAN片选为CS0:0DE00H) ;-------------------------发送------------------RETRAN: MOV DPH, #0DEHMOV R0, #20HLCALL SEND ;发送20H为首址的1桢数据(前三字节为:08H、BBH、FFH,后8字节任意)LCALL DELAY;-----------------------接收数据--------------------------MOV DPH, #0DEHMOV R0, #30HLCALL RECVNOP ;在此处设置断点,以观察结果JMP $INITCAN:MOV DPTR,#MODE ;初始化子程序,DPH、R0为入口参数MOV A,#01HMOVX @DPTR,A ;模式寄存器,单验收滤波器,进入复位模式MOV DPTR,#CDRMOV A,#88HMOVX @DPTR, A ;时钟分频R,选择增强CAN模式,关闭CLKOUT输出MOV DPTR,#IERMOV A,#0DHMOVX @DPTR,A ;中断使能寄存器,开溢出、错误、接收中断MOV DPTR,#BTR0MOV A,#03HMOVX @DPTR,A ;总线定时寄存器一MOV DPTR,#BTR1MOV A,#0FFHMOVX @DPTR,A ;总线定时寄存器二,6MHz晶振,波特率30Kbps MOVX A, @DPTRMOV DPTR,#OCRMOV A,#0AAHMOVX @DPTR,A ;输出控制寄存器MOV DPTR,#ACR0MOV A, 00HMOVX @DPTR,A ;验收代码ACR0MOV DPTR,#ACR1MOV A,#2FHMOVX @DPTR,A ;无关MOV A,#0FFHINC DPTRMOVX @DPTR,A ;无关INC DPTRMOVX @DPTR,A ;无关MOV DPTR,#AMR0MOV A,#0FFH ;modify #00 to #0FFMOVX @DPTR,A ;验收屏蔽寄存器AMR0=00HINC DPTRMOV A,#0FFHMOVX @DPTR,A ;AMR1INC DPTRMOVX @DPTR,A ;AMR2INC DPTRMOVX @DPTR,A ;AMR3验收屏蔽:只有ACR0是相关项MOV DPTR, #RBSAMOV A, #00HMOVX @DPTR, A ;接收缓冲器FIFO起始地址为0MOV DPTR, #TXERRMOVX @DPTR, A ;清除发送错误计数器MOV DPTR, #ECCMOVX @DPTR, A ;清除错误代码捕捉寄存器MOV DPTR,#MODEMOV A,#08HMOVX @DPTR,A ;单滤波方式,返回工作方式RETSEND:MOV DPTR,#SR ;状态寄存器MOVX A,@DPTR ;从SJA1000 读入状态寄存器值JB ACC.4,SEND ;判断是否正在接收正在接收则等待SEND0:MOVX A,@DPTRJNB ACC.3,SEND0 ;判断上次发送是否完成未完成则等待发送完成SEND1:MOVX A,@DPTRJNB ACC.2,SEND1 ;判断发送缓冲区是否锁定锁定则等待SEND2:MOV DPTR,#FIN ;SJA1000 发送缓存区首址MOV A, #08HMOVX @DPTR, AINC DPLMOV A, #00HMOVX @DPTR, AINC DPLMOV A, #4FHMOVX @DPTR, AINC DPLMOV R2, #08HSEND3:MOV A, @R0 ;R0为发送数据首址MOVX @DPTR, AINC R0INC DPLDJNZ R2, SEND3MOV DPTR,#CMR ;命令寄存器地址MOV A,#10H ;发送请求MOVX @DPTR,A ;启动SJA1000 发送RETRECV: MOV DPTR,#SR ;状态寄存器地址MOVX A,@DPTRANL A, #0C3H ;读取总线脱离、错误状态、接收溢出、有数据等位JNZ PROCRET ;无上述状态,结束PROC: JNB ACC.7, PROC1BUSERR: MOV DPTR, #IR ;IR中断寄存器,出现总线脱离MOVX A, @DPTR ;读中断寄存器,清除中断位MOV DPTR, #MODEMOV A, #08HMOVX @DPTR, A ;将方式寄存器复位请求位清0RETNOPPROC1: MOV DPTR, #IR ;总线正常MOVX A, @DPTR ;读取中断位JNB ACC.3, OTHEROVER: MOV DPTR, #CMR ;数据溢出处理MOV A, #0CHMOVX @DPTR, A ;清除数据溢出位,释放接收缓冲区RETNOPOTHER: JB ACC.0, RECELJMP RECOUT ;接收缓冲区无数据NOPRECE: CLR P1.0SETB P1.7MOV DPTR, #FIN ;接收缓冲区有数据MOVX A,@DPTRJNB ACC.6, RDATAMOV DPTR, #CMR ;远程桢处理MOV A, #04HMOVX @DPTR, ALJMP RECOUTNOPRDATA: MOV DPTR, #DA TA1 ;将接收数据传至R0为首址的内存中MOV R2, #08HRDATA1: MOVX A, @DPTRMOV @R0, AINC DPLINC R0DJNZ R2, RDATA1MOV DPTR, #CMRMOV A, #04HMOVX @DPTR, ARECOUT: MOV DPTR, #ALC ;释放仲裁丢失捕捉寄存器和错误捕捉寄存器MOVX A, @DPTRNOPRETDELAY: MOV R2, #40DELAY1: MOV R4, #255DELAY2: NOPDJNZ R4, DELAY2DJNZ R2, DELAY1RETEND1。

CAN总线实验报告

CAN总线实验报告

CAN总线数据通讯[实验项目]CAN总线数据通讯[实验目的]基于SJA1000 CAN总线控制器和单片机系统完成CAN总线数据收发实验、掌握CAN总线波特率设置、消息ID和接收滤波器配置,完成两个以上节点的数据通讯。

[实验仪器设备]SJA1000 CAN接口模块单片机最小系统板串行下载线(USB转TTL电平串口线)USB转DC5.5mm供电线杜邦线[实验原理]1、CAN通信板原理图复位电路TJA1050T外围电路振荡电路2、单片机板原理图单片机最小系统主要包括3部分:电源,晶振和复位电路。

晶振采用11.0592MHz,复位采用RC电路。

由于单片机P0口开漏输出,需要外接10K的上拉电阻。

3、原理简述SJA1000通过并行总线与MCU连接,包括地址/数据线、读/写控制信号、片选、中断等十多根信号线。

通过对单片机进行编程,来控制CAN节点的初始化、帧的发送和接受等。

初始化流程:数据发送流程:中断接收流程:查询接收流程:[实验内容](1)硬件连接1、单片机和SJA1000的连接使用杜邦把CAN模块的P0口连接到单片机开发板的P0扩展口上;把ALE,WR,RD,INT0,CS,KEY分别对应连接到单片机的ALE,P3.6,P3.7,P3.2,P2.0和P2.5上;把5V和GND分别对应接到单片机的电源接口上。

2、SJA1000节点间的连接将两个SJA1000节点的CAN_H,CAN_L对应连接,即高接高,低接低,即可完成通信线路的连接。

3、单片机与下载器的连接按如下图所示的接线方式连接下载器(即USB转TTL电平串口)和51单片机系统板。

其中5V、3.3V电源线不接,只连接GND并交叉连接RX和TX,即TX接单片机的P3.0,RX接单片机的P3.1。

可三根采用杜邦线将下载器的三个引脚接至51系统板的排插相应引脚上。

(2)软件编程1、在KeilC开发环境下编写STC89C52程序,测试程序的下载和运行。

2、编写STC89C52串行通讯程序,能够通过串口向PC机发送字符,显示程序运行状态。

can总线报告资料

can总线报告资料

can总线报告资料一、概述CAN(Controller Area Network)总线是一种广泛应用于汽车和工业领域的串行通信协议。

它具有高可靠性、高实时性和高带宽的特点,被广泛应用于车辆电子控制系统、工业自动化控制系统等领域。

本报告旨在介绍CAN总线的基本原理、应用领域和技术特点。

二、CAN总线的基本原理1. 物理层CAN总线采用双绞线进行数据传输,通信速率可达到1Mbps。

它采用差分信号传输,具有抗干扰能力强的特点。

CAN总线的物理层标准有CAN 2.0A和CAN 2.0B两种,分别适用于不同的应用场景。

2. 数据链路层CAN总线采用CSMA/CD(Carrier Sense Multiple Access with Collision Detection)的数据链路层协议。

它通过监听总线上的数据活动来实现多节点之间的数据传输。

当多个节点同时发送数据时,会发生冲突,此时通过冲突检测和重新发送机制来解决冲突问题。

3. 帧格式CAN总线的数据传输以帧为单位进行。

CAN帧由起始位、标识符、控制位、数据域和校验位组成。

其中,标识符用于区分不同的数据帧,数据域用于传输实际数据,校验位用于检测数据的正确性。

三、CAN总线的应用领域1. 汽车电子控制系统CAN总线被广泛应用于汽车电子控制系统,如发动机控制单元(ECU)、制动系统、空调系统等。

它可以实现多个控制单元之间的高速数据传输和实时协同工作,提高整车的性能和安全性。

2. 工业自动化控制系统CAN总线在工业自动化领域的应用也非常广泛。

它可以连接各种传感器、执行器和控制器,实现工业设备之间的数据交换和控制。

通过CAN总线,工业自动化系统可以实现高效、可靠的数据传输和实时控制。

3. 其他领域除了汽车和工业领域,CAN总线还被应用于其他领域,如航空航天、医疗设备、军事装备等。

它的高可靠性和实时性使得CAN总线成为这些领域中的首选通信协议。

四、CAN总线的技术特点1. 高可靠性CAN总线采用差分信号传输和冲突检测机制,具有抗干扰能力强的特点。

CAN总线实验报告 北航

CAN总线实验报告 北航

学期 2013-2014(1)研究生实验课程CAN总线实验院(系)名称自动化科学与电气工程学院专业名称0学生姓名0学号02013年12月CAN总线实验报告第 1 页实验一CAN数据信息的发送与接收1.实验内容(1)将USB-CAN模块连接到计算机的USB口,启动试验程序,通过实验平台软件,完成帧信息传送,帧信息传送模拟;(2)完成并观察CAN数据信息的发送与接收。

认真阅读并思考示例程序,分析程序动态连接库中收发函数的调用及接收处理方法。

(3)在示例程序的基础上进行修改,实现两个CAN口的通信连接发送和接受实验。

实验过程与结果:(1)调试过程为:第一要初始化CAN设备的参数,如设备类型号、索引号等;第二是连接与启动设备;最后是帧的发送与接收,发送帧时要配置发送格式、帧ID、帧类型、帧格式和发送的数据,接收数据时,只需要从缓冲区中读出数据。

主要了解到了VCI_transmit和VCI_receive两个函数的使用和波特率等参数的设置以及对编程软件的熟悉。

实验界面:CAN总线实验报告第 2 页实验二CAN总线实验数据采集与输入输出控制1.实验内容(1)利用实验平台软件,完成实验箱AD采集对象的过程数据,在计算机上显示出来,完成相应的CAN总线应用编程。

(2)研究高速AD的指令,编程实现AD数据的采集,以及数据转换实验过程与结果:第二个实验是在第一次实验的基础上编程实现对电压的AD采集,根据第一次实验,需要更改对CAN总线进行一系列的初始化。

这里要计算控制指令的选取和电压值的换算。

在发送帧的时候,帧ID为80,读取下拉列表的通道号1,配置数据帧的格式:00 80 01 01,这样就能控制高速AD转换1通道的电压值。

在电压值的换算时,需要将第七个字节的第四位和第六个字节组合成12位AD值,再判断第五个字节确定电压的正负号,再通过相应的换算关系得到实际电压值。

知道了CAN总线ID号的应用,了解了实验中AD模块转换位长的认识,知道了定时器的应用;实验界面为:CAN总线实验报告第 3 页实验三基于CAN总线的位移伺服控制1.实验内容(1)利用实验平台软件,完成伺服机构的控制(2)分析伺服控制指令格式,编程实现伺服机构的开环控制,及发送前进命令,伺服器就保持前进,发送后退命令,伺服器就保持后退。

CAN 总线实验

CAN 总线实验

西安邮电大学CAN总线实验报告(一)专业:测控技术与仪器班级:测控100206102043学号:姓名:刘宇实验一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;然后配置验收滤波;最后再次设置模式寄存器推出复位状态并且设置单验收滤波,然后以状态寄存器自测模式退出复位模式。

图1系统软件设计框图进入复位模式(MODE )设置时钟分频寄存器(CDR)设置位定时器(BIT0/BIT1)设置验收滤波(ACR/AMR )设置输出控制寄存器(OCR )状态寄存器是否为0CH 初始化结束初始化开始Y N 程序如下:MODE EQU 0DE00HCMR EQU0DE01H ;命令寄存器 SR EQU0DE02H ;状态寄存器 IR EQU0DE03H ;中断寄存器 IER EQU0DE04H ;中断使能寄存器 BTR0EQU 0DE06H ;总线定时寄存器一 BTR1EQU 0DE07H ;总线定时寄存器二 OCR EQU0DE08H ;输出控制寄存器ALC EQU 0DE0BH ;仲裁丢失捕捉寄存器 ECC EQU 0DE0CH ;错误代码捕捉寄存器TXERR EQU 0DE0FH ;发送错误计数器ACR0EQU 0DE10H ;验收代码寄存器0 ACR1EQU 0DE11H ; 1 ACR2EQU 0DE12H ; 2 ACR3 EQU 0DE13H ; 3AMR0 EQU 0DE14H ;验收屏蔽寄存器0AMR1 EQU 0DE15H ; 1AMR2 EQU 0DE16H ; 2AMR3 EQU 0DE17H ; 3FIN EQU 0DE10H ;发送/接收帧信息ID1 EQU 0DE11H ;发送/接收缓冲区之标示符一ID2 EQU 0DE12H ;发送/接收缓冲区之标示符二DATA1 EQU 0DE13H ;发送/接收数据首址RBSA EQU 0DE1EH ;接收缓冲器起始地址寄存器CDR EQU 0DE1FH ;时钟分频寄存器ORG 4000HJMP STARTORG 4080H;---------------------------------------------------------------- START:MOV DPTR,#MODE ;复位模式MOV A,#09HMOVX @DPTR,AMOV DPTR,#CDR ;时钟分频R,选择增强CAN模式,关闭CLKOUT输出MOV A,#88HMOVX @DPTR,AMOV DPTR,#IER ;中断使能寄存器,开溢出、错误、接收中断MOV A,#0DHMOVX @DPTR,AMOV DPTR,#AMR0 ;验收屏蔽MOV A,#00HMOVX @DPTR,AINC DPTRMOV A,#0FHMOVX @DPTR,AINC DPTRMOV A,#0FFHMOVX @DPTR,AINC DPTRMOVX @DPTR,AMOV DPTR,#ACR0 ;验收滤波MOVX @DPTR,AINC DPTRMOV A,#20HMOVX @DPTR,AINC DPTRMOV A,#00HMOVX @DPTR,AINC DPTRMOV A,#00HMOVX @DPTR,AMOV DPTR,#BTR0 ;总线定时寄存器一MOV A,#03HMOVX @DPTR,AMOV DPTR,#BTR1 ;总线定时寄存器二,6MHz晶振,波特率30Kbps MOV A,#0FFH ;设置波特率MOVX @DPTR,AMOV DPTR,#OCR ;输出控制寄存器MOV A,#0AAHMOVX @DPTR,AMOV DPTR,#RBSA ;接收缓冲器起始地址为0MOV A,#0MOVX @DPTR,AMOV DPTR,#TXERR ;清除发送错误计数器MOV A,#0MOVX @DPTR,AMOV DPTR,#ECC ;清除错误代码捕捉寄存器MOVX @DPTR,AMOV DPTR,#MODE ;返回工作方式MOV A,#0CHMOVX @DPTR,ACJNE A,#0CH,STARTCLR P1.2END实验截图:六.实验心得本次实验是第一次现场总线实验,我们对于仪器的操作很不熟悉。

汽车总线实验报告

汽车总线实验报告

一、实验目的1. 了解汽车总线的概念、作用和分类;2. 掌握汽车总线系统的基本组成和工作原理;3. 通过实验,验证汽车总线在实际应用中的可靠性和效率;4. 培养学生的动手能力和实际操作技能。

二、实验原理汽车总线是一种用于汽车内部电子设备之间进行数据传输和控制的通信网络。

汽车总线系统由通信线路、控制单元、执行单元和传感器等组成。

汽车总线可以降低布线成本,提高数据传输速度和可靠性,是实现汽车智能化和网络化的基础。

目前,常见的汽车总线有CAN(控制器局域网络)、LIN(局部互连网络)、FlexRay和MOST(媒体导向系统传输)等。

三、实验内容1. CAN总线实验(1)实验设备:CAN总线实验板、示波器、PC机等;(2)实验步骤:① 将实验板与PC机连接,运行CAN总线实验软件;② 配置CAN总线参数,如波特率、节点地址等;③ 发送和接收数据,观察示波器波形;④ 分析数据传输过程,验证CAN总线系统的可靠性和效率。

2. LIN总线实验(1)实验设备:LIN总线实验板、示波器、PC机等;(2)实验步骤:① 将实验板与PC机连接,运行LIN总线实验软件;② 配置LIN总线参数,如波特率、节点地址等;③ 发送和接收数据,观察示波器波形;④ 分析数据传输过程,验证LIN总线系统的可靠性和效率。

3. FlexRay总线实验(1)实验设备:FlexRay总线实验板、示波器、PC机等;(2)实验步骤:① 将实验板与PC机连接,运行FlexRay总线实验软件;② 配置FlexRay总线参数,如波特率、节点地址等;③ 发送和接收数据,观察示波器波形;④ 分析数据传输过程,验证FlexRay总线系统的可靠性和效率。

4. MOST总线实验(1)实验设备:MOST总线实验板、示波器、PC机等;(2)实验步骤:① 将实验板与PC机连接,运行MOST总线实验软件;② 配置MOST总线参数,如波特率、节点地址等;③ 发送和接收数据,观察示波器波形;④ 分析数据传输过程,验证MOST总线系统的可靠性和效率。

现场总线实验报告

现场总线实验报告

一、实验目的1. 理解现场总线的基本概念和原理。

2. 掌握现场总线的硬件连接和软件配置方法。

3. 学习使用现场总线进行数据传输和设备控制。

4. 分析现场总线在实际应用中的优缺点。

二、实验原理现场总线(Field Bus)是一种用于工业自动化领域的通信网络,主要用于连接现场设备和控制系统。

它具有以下特点:1. 串行通信:现场总线采用串行通信方式,可以实现多节点之间的数据传输。

2. 多点通信:现场总线支持多点通信,可以实现多个设备之间的数据交换。

3. 抗干扰能力强:现场总线具有较好的抗干扰能力,可以在恶劣的工业环境中稳定运行。

本实验采用CAN总线(Controller Area Network)作为现场总线的通信协议,其基本原理如下:1. CAN总线采用双绞线作为传输介质,具有较高的抗干扰能力。

2. CAN总线采用多主从通信方式,任何一个节点都可以主动发送数据。

3. CAN总线采用帧结构进行数据传输,包括标识符、数据、校验和等字段。

三、实验内容1. 硬件连接(1)连接CAN总线模块和单片机开发板。

(2)连接电源线和地线。

(3)连接杜邦线,将CAN模块的TXD、RXD、GND等引脚与单片机开发板的相应引脚连接。

2. 软件配置(1)编写单片机程序,初始化CAN控制器,配置波特率、消息ID、接收滤波器等参数。

(2)编写数据发送和接收程序,实现节点之间的数据传输。

3. 实验步骤(1)启动单片机程序,初始化CAN控制器。

(2)发送数据:在主节点上编写发送程序,发送一个数据帧。

(3)接收数据:在从节点上编写接收程序,接收主节点发送的数据帧。

(4)分析接收到的数据,验证数据传输的正确性。

四、实验结果与分析1. 数据传输成功通过实验,成功实现了主从节点之间的数据传输。

发送的数据帧被从节点正确接收,验证了现场总线通信的正确性。

2. 波特率设置实验中,根据实际需求设置了不同的波特率。

结果表明,在不同波特率下,数据传输仍然稳定可靠。

工业总线测量实验报告(3篇)

工业总线测量实验报告(3篇)

第1篇一、实验目的1. 了解工业总线的原理和特点。

2. 掌握工业总线信号的测量方法。

3. 熟悉常用工业总线(如RS-485、CAN等)的测试工具和设备。

4. 通过实验验证工业总线的通信性能和可靠性。

二、实验原理工业总线是一种用于工业现场控制、数据传输和设备互联的通信网络。

它具有高速、可靠、抗干扰能力强等特点。

本实验主要针对RS-485和CAN两种工业总线进行测量。

三、实验器材1. 工业总线测试仪2. 万用表3. 示波器4. 工业总线模块(如RS-485模块、CAN模块等)5. 通信线缆6. 计算机及测试软件四、实验步骤1. 连接测试仪和模块(1)将工业总线测试仪的通信接口与工业总线模块的通信接口连接。

(2)将测试仪的电源线连接至模块的电源接口。

2. 配置测试仪(1)打开测试仪,进入配置界面。

(2)根据实验需求,设置测试仪的通信参数,如波特率、数据位、停止位等。

3. 发送和接收测试(1)使用测试仪发送一组测试数据。

(2)观察模块是否成功接收数据。

4. 测量信号质量(1)使用示波器测量总线信号的波形。

(2)分析信号波形,评估信号质量。

5. 测量通信速率(1)使用测试仪测量总线的通信速率。

(2)分析通信速率是否符合预期。

6. 抗干扰能力测试(1)在总线上添加干扰信号。

(2)观察模块在干扰信号下的通信性能。

五、实验结果与分析1. 信号质量实验结果显示,RS-485和CAN总线的信号质量较好,波形稳定,符合预期。

2. 通信速率实验结果显示,RS-485总线的通信速率为9600bps,CAN总线的通信速率为1Mbps,均符合预期。

3. 抗干扰能力实验结果显示,在添加干扰信号的情况下,RS-485和CAN总线的通信性能仍较好,说明这两种总线的抗干扰能力较强。

六、实验结论1. 本实验成功实现了工业总线的测量,验证了RS-485和CAN总线的通信性能和可靠性。

2. 通过实验,掌握了工业总线信号的测量方法,熟悉了常用工业总线的测试工具和设备。

总线技术实验报告

总线技术实验报告

总线技术与应用》实验报告学院:专业:班级:姓名:学号:电气与控制工程学院实验报告 课程名称: 总线技术与应用 实验题目:RS485总线扩展实验 指导教师:班级: 学号: 学生姓名: 、实验目的和任务1) 学习 RS485总线系统的连接方法2) 掌握 RS485总线系统应用层协议的设计方法3) 任务:① 进行各节点 ADC 的数据周期读取;②进行 LED 灯闪烁同步控制:在主机上通过按键(按向右键)切换LED 等显示, 底层同步进行 LED 灯显示切换;③ 进行数字温度模块的数据周期读取,通过主机上通过按键(按向上键)切换温 度在数码管显示;④主机通过向上键进行模式切换(共三种功能,顺序分别为LED 显示功能、 ADC功能、温度功能);⑤ 主机通过左、下、右按键选择从节点选择( A (2)、B ( 3)、C (4)),返回 ADC 值或温度值;⑥ 主机数码管第一个显示节点号( A ( 2)、B (3)、C (4)),后面显示电压值或温 度值;⑦ 主机通过左、下、右按键选择从节点选择( A (2)、B ( 3)、C (4)),使 LED 闪 烁,数码显示第一个数字显示节点号( A (2)、B (3)、 C (4)),其他三个数字显示LED。

、实验内容及原理1、实验前准备(1)安装好Keil 工程软件;(2)安装好USB/RS485转换器驱动;(3)安装好串口调试助手;2、RS485概述RS485采用差分信号幅逻辑,+2V~+6V表示“ 0”,-6V~-2V表示“1”。

RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓扑结构在同一总线上最多可以挂接32个结点。

在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。

起始位:为信号0,占 1 位;数据位:可以使5、6、7、8 位,传输室低位在先,高位在后;校验位: 1 位奇偶校验码(可不选);停止位:用信号1表示字节结束,可以是 1 位、 1.5位或2位;空闲位:为信号1;由于RS485总线只定义了物理层与数据链路层的一部分,因此一般需要自定义应用层协议。

CAN总线通讯实验

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、用EWARM集成开发环境,编写和调试程序的基本过程。

2、ARM应用程序的框架结构。

3、会使用Source Insight 3 编辑C语言源程序。

4、了解CAN总线。

四、实验设备及工具硬件:ARM嵌入式开发平台、用于ARM920T的JTAG仿真器、PC机Pentium100以上,CAN通讯电缆。

软件:PC机操作系统Win2000或WinXP、EWARM集成开发环境、仿真器驱动程序、超级终端通讯程序五、实验原理及说明1.CAN总线概述CAN全称为Controller Area Network,即控制器局域网,是国际上应用最广泛的现场总线之一。

最初,CAN总线被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。

比如,发动机管理系统、变速箱控制器、仪表装备、电子主干系统中均嵌入CAN控制装置。

一个由CAN总线构成的单一网络中,理论上可以挂接无数个节点。

但是,实际应用中节点数目受网络硬件的电气特性所限制。

例如,当使用Philips P82C250 作为CAN 收发器时,同一网络中允许挂接110个节点。

CAN总线实验

CAN总线实验

while(p--); } void CAN_SEND() /*发送数据部分*/ { uchar i,p; p=CAN[CAN_SR]; if (p&0x04) { p=CAN_TXB; /*p指向发送缓存首址*/ for(i=0;i<10;i++) CAN[p++]=TXB[i]; CAN[CAN_CMR]=0x01; /*请求发送*/ } } void CAN_INT() interrupt 0 using 1/*接收中断*/ { uchar i,p; p=CAN[CAN_IR]; if(p&0x01) { p=CAN_RXB; for(i=0;i<10;i++) { RXB[i]=CAN[p++]; } CAN[CAN_CMR]=0x04; /*释放接收缓存*/ CANBUS=1; } } void CAN_INI() /*初始化部分*/ { CAN[CAN_CR]=0x01; CAN[CAN_ACR]=Raddr; CAN[CAN_AMR]=Raddr;
//CAN通信参考程序 #include <STC_NEW_8051.H> #define uchar unsigned char #define uint unsigned int #define time0 -10000 sfr WDT = 0xE1; sfr AUX = 0x8E; #define Raddr 1 //本机地址ID高8位 #define Taddr 2 //目标地址ID高8位 #define CAN_PORT P0 //CAN数据口 //CAN2.0B的BasicCAN模式 (标准帧模式) #define CAN_CR 0 //控制 #define CAN_CMR 1 //命令 #define CAN_SR 2 //状态 #define CAN_IR 3 //中断 #define CAN_ACR 4 //验收 #define CAN_AMR 5 //屏蔽 #define CAN_BTR0 6 //时序0 #define CAN_BTR1 7 //时序1 #define CAN_OCR 8 //输出 #define CAN_TXB 10 //发送缓冲 #define CAN_RXB 20 //接收缓冲 #define CAN_CDR 31 //分频 uchar pdata CAN[32] _at_(0); //定位CAN寄存器地址 sbit LED2 = P2^5; sbit LED1 = P2^6; sbit KEY = P2^0; bit CANBUS,sta,LED,RUN; uchar tim; uchar idata TXB[10],RXB[10]; void delay(uint p) {

汽车can总线实验报告

汽车can总线实验报告

汽车can总线实验报告汽车CAN总线实验报告一、实验目的1. 了解汽车CAN总线的基本原理和工作方式;2. 学会使用CAN总线进行数据通信;3. 掌握CAN总线的调试方法。

二、实验器材1. CAN总线模块;2. CAN总线调试软件;3. CAN总线通信设备。

三、实验步骤1. 连接CAN总线模块和计算机:将CAN总线模块的CAN_H和CAN_L线分别连接到CAN总线通讯设备的CAN_H和CAN_L端口。

然后将CAN总线通讯设备的USB端口连接到计算机上。

2. 打开CAN总线调试软件:启动CAN总线调试软件,并选择正确的通讯设备。

3. 设置CAN总线模块的参数:在CAN总线调试软件中设置CAN总线的参数,包括波特率、滤波模式等。

4. 开始通信:在CAN总线调试软件中点击“开始”按钮,开始进行CAN总线通信。

5. 发送数据:在CAN总线调试软件中选择要发送的CAN帧的ID和数据,并点击“发送”按钮。

6. 监测数据:在CAN总线调试软件中监测接收到的CAN总线数据帧,包括ID 和数据。

7. 分析数据:通过分析接收到的数据帧,判断CAN总线的数据传输是否成功。

8. 模拟故障:可以在CAN总线调试软件中模拟故障,比如断开CAN总线的连接,观察CAN总线的通信情况。

9. 结束实验:实验完成后,关闭CAN总线调试软件和计算机。

四、实验结果1. 成功建立CAN总线通信:在实验过程中,通过设置正确的CAN总线参数,成功建立CAN总线通信。

2. 数据传输成功:经过多次实验,发现发送的CAN帧的数据能够成功传输到接收端,并且数据的准确性也得到了验证。

3. 故障模拟结果:在模拟故障的情况下,可以观察到CAN总线的通信中断,并且可以通过CAN总线调试软件得到相应的报错信息。

五、实验总结通过本次实验,我们对汽车CAN总线的基本原理和工作方式有了更深入的了解,并且掌握了使用CAN总线进行数据通信的方法。

我们学会了通过CAN总线调试软件进行CAN总线的参数设置、数据发送和数据接收,并且可以通过模拟故障的方式来验证CAN总线的稳定性和可靠性。

现场总线实验报告

现场总线实验报告

实验报告学院:电气工程学院专业:测控技术与仪器班级:测仪101实验内容利用实验平台上的USBCAN 及CANalyst分析仪构成两个CAN 节点,实现单节点自发自收,双方数据的收发。

实验数据1、CAN节点的连接图2、CAN节点初始化:(1)打开ZLGCANTest 软件,并在设备类型中选择USBCAN-Ⅱ接口卡如下图(2)打开ZLGCANTest 测试软件,设置定时器0:0x00,定时器1:0x1C,其余项为默认值。

此时USBCAN-Ⅱ接口卡的波特率即为500kbps,点击如下图(3)启动CAN 才可以进行CAN报文的收发测试,如下图为启动CAN 示意图。

点击“启动CAN”按钮即可以启动CAN通道。

3、单节点收发:在完成以上步骤后,就可以对一个节点进行自发自收了。

按图2.4 点击发送,将看到如下图所示的自发自收示意图。

4、双节点收发:(1)在设置好USBCAN-Ⅱ接口卡接口卡和CANalyst-Ⅱ分析仪分析仪后(此步骤略),即可进行双方的对发实验。

请确保双方的波特率一致。

在CANalyst 分析仪的发送窗口中,选择设定的报文数据,并双击报文数据。

发送窗口如下(2)接受窗口如下如上图所示,可以观察到CANalyst 软件接收窗口中接收到了10 帧报文,报文ID 为0x00,报文数据为:00 01 02 03 04 05 06 07,如USBCAN-Ⅱ接口卡发送的数据是一致的。

实验总结本实验让我了解到ICAN教学实验开发平台的广泛性和优越性,通过对这个平台的了解使我了解现场总线技术,进一步使学生理论与实践相联合,是我更深刻的了解所学知识。

指导教师意见签名:年月日实验报告学院:电气工程学院专业:测控技术与仪器班级:测仪101实验步骤1、系统接线连接。

2、上电运行。

3、开关量输出控制。

4、开关量输入检测。

5、模拟输入、输出信号检测。

6、热电阻输入配置。

7、热电阻输入测试。

8、热电偶中iCAN通信协议测试9、实验总结。

CAN总线实验报告

CAN总线实验报告

实验三:双节点通信1、实验要求can节点a(id:0x00)、b(id:0x01),要求a节点进行数据发送(标准数据帧),b节点可以进行数据接收并显示接收到数据,同时反馈信息给a节点。

2、实验目的(1)熟悉双can通信原理;(2)掌握双节点通信的设计。

3、所需设备(1)cpu挂箱2 (2)接口挂箱2 (3)cpu模块(80c31)2 (4)can总线模块2块 4、实验内容两个实验台运行程序can.asm,发送实验台全速运行程序,接收实验台要在程序中设置断点,查看30h~37h中的数与程序中发送的数据是否一致。

5、实验原理两个can节点通信,验收滤波设置正确后,可实现双节点通信。

硬件原理图与图2.4类似,只不过将1个节点改为2个节点。

图略。

附图2.4见下(2)模块跳线接lcs0(can基址为0xde00);(3)模块上的a接canl,b接canh;(4)在各自试验台上,将cpu挂箱右侧的“data port”和“address port”分别用 5p、14p、20p连线与接口挂箱的相应插座连接. (5)将两个can节点的canl、canh直连。

2、运行程序can.asm,在初始化结束、发送接收结束处各设置断点,查看两个模块的30h~37h中的数据是否一致。

7、实验结果两个模块的30h~37h中的数据一致。

8、1)程序流程图2)实验程序:mode equ 0de00h ;模式寄存器 cmr equ 0de01h ;命令寄存器 sr equ0de02h ;状态寄存器 ir equ 0de03h ;中断寄存器 ier equ 0de04h ;中断使能寄存器 btr0 equ 0de06h ;总线定时寄存器一 btr1 equ 0de07h ;总线定时寄存器二ocr equ 0de08h ;输出控制寄存器alc equ 0de0bh ;仲裁丢失捕捉寄存器ecc equ0de0ch ;错误代码捕捉寄存器 txerr equ 0de0fh ;发送错误计数器 acr0 equ 0de10h ;验收代码寄存器0 acr1 equ 0de11h ; 1 acr2equ 0de12h ; 2 acr3 equ 0de13h ; 3 amr0 equ 0de14h ;验收屏蔽寄存器0 amr1 equ 0de15h ; 1 amr2 equ0de16h ; 2 amr3 equ 0de17h ; 3 fin equ0de10h ;发送/接收帧信息 id1 equ 0de11h ;发送/接收缓冲区之标示符一id2 equ 0de12h ;发送/接收缓冲区之标示符二 data1 equ 0de13h ;发送/接收数据首址 rbsa equ 0de1eh ;接收缓冲器起始地址寄存器 cdr equ0de1fh ;时钟分频寄存器 org 4000h jmp start org 4080h start: mov r1,#8 mov r0,#27h fill: mov b,#10hmov a,r1 mul ab mov @r0,a dec r0 djnz r1,fill mov r0,#0aah lcall initcan ;can初始化(can片选为cs0:0de00h) ;-------------------------发送------------------ retran: mov dph,#0deh mov r0, #20h lcall send ;发送20h为首址的1桢数据(前三字节为:08h、bbh、ffh,后8字节任意)lcall delay;-----------------------接收数据-------------------------- movdph, #0deh mov r0, #30h lcall recv nop ;在此处设置断点,以观察结果 jmp$ initcan:mov dptr,#mode ;初始化子程序,dph、r0为入口参数 mov a,#01h movx @dptr,a ;模式寄存器,单验收滤波器,进入复位模式 mov dptr,#cdrmov a,#88hmovx @dptr, a ;时钟分频r,选择增强can模式,关闭clkout输出 mov dptr,#iermov a,#0dh movx @dptr,a ;中断使能寄存器,开溢出、错误、接收中断 mov dptr,#btr0mov a,#03hmovx @dptr,a ;总线定时寄存器一 mov dptr,#btr1 mov a,#0ffh movx @dptr,a ;总线定时寄存器二,6mhz晶振,波特率30kbps movx a, @dptrmov mov movx mov mov movx mov mov movx mov inc movx inc movxmov mov movx inc mov movx inc movx inc movx mov mov movxmov movx mov movx mov mov movx ret send: dptr,#ocr a,#0aah @dptr,a dptr,#acr0 a, 00h @dptr,a dptr,#acr1 a,#2fh @dptr,a a,#0ffh dptr@dptr,a dptr@dptr,a dptr,#amr0a,#0ffh @dptr,a dptr a,#0ffh @dptr,a dptr@dptr,a dptr@dptr,a dptr, #rbsa a, #00h @dptr, a dptr, #txerr @dptr, a dptr, #ecc@dptr, a dptr,#modea,#08h @dptr,a ;输出控制寄存器 ;验收代码acr0 ;无关 ;无关;无关;modify #00 to #0ff ;验收屏蔽寄存器amr0=00h ;amr1 ;amr2 ;amr3验收屏蔽:只有acr0是相关项 ;接收缓冲器fifo起始地址为0 ;清除发送错误计数器 ;清除错误代码捕捉寄存器 ;单滤波方式,返回工作方式篇二:can总线接收实验报告dsp实验报告哈尔滨工业大学(威海)目录............................................................................ .................................... - 0 - dsp实验报告 .................................................................................. - 0 -1.理论准备.............................................................................. ............ - 2 -1.1 dsp应用的概述 ...................................................................... - 2 -1.2 can的简介 .............................................................................- 3 -1.3 f2812简介 ............................................................................... - 3 -2.实验原理.............................................................................. ............ - 4 -2.1 软件流程图 ..............................................................................- 4 -2.2 can总线收发器通信的硬件原理 ............................................ - 5 - 3.设计阶段.............................................................................. ............ - 5 -3.1接收过程: ................................................................................. - 5 -3.2 配置就收邮箱 .......................................................................... - 7-3.3 接收消息 .................................................................................. - 7 -四.实验总结.............................................................................. .......... - 7 - 五.参考文献.............................................................................. .......... - 8 - 附录: ........................................................................... ......................... - 8 - 1.理论准备1.1 dsp应用的概述数字信号处理器(dsp)是一种适合完成数字信号处理运算的处理器。

推荐-CAN总线技术与iCAN模块实验报告 精品

推荐-CAN总线技术与iCAN模块实验报告 精品

实验一CAN总线技术与iCAN模块实验实验报告学院:自动化学院专业:自动化专业班级:20XX211410姓名:高娃姚雷阳学号:20XX211975 20XX211977指导老师:杨军一.实验名称:实验一CAN总线技术与iCAN模块实验二.实验设备:计算机、CAN总线系列实验箱、测控设备箱、万用表。

三.实验过程、实验内容、实验记录:(1)驱动程序安装USBCAN-2A接口卡的驱动程序需要自己手动进行安装,驱动程序已经存放于实验准备内容中。

找到驱动程序,直接点击进行安装即可。

安装完成后,在“管理->设备管理器->通用串行总线控制器”中查看驱动是否安装成功。

注意:安装驱动程序过程中PC机不能连接USB电缆。

(2)iCANTEST安装与运行iCANTEST安装与运行后,利用iCANTest软件对iCAN系列各模块进行验证性测试,可以测试各模块是否可以通过USBCAN-2A接口卡与PC机正常连接与通信以及进行简单的测控操作。

(3)各种iCAN模块的测试1. 打开iCANTest软件(老师,我们当时觉得安装这些过程太简单了,没意识到截图,所以引用了一些PPT上的图像,但后面测试部分的都是自己的截图,希望老师谅解。

)在工具栏中点击“系统配置”,在弹出的对话框中设置通信信息。

如下图:图12. 点击“搜索”,则CAN总线中连接的所有模块应该被搜索出来,列表显示。

包括模块设置的MACID。

图 23.图示为搜索完成后的显示状态,在从站列表中将所有模块予以显示。

点击某个模块,则弹出该模块的操作窗口。

图 34. 点击“启动”,再点击“全部上线”。

在从站列表中所有上线的模块标志变成绿色的三角,表示该模块上线成功。

图 45.试验各个模块的基本输入输出功能。

※点击继电器模块2404的4个输出,听到继电器动作声音。

图 5※连接4210D/A模块的通道0到4017A/D模块的通道5,输入0x8000对应得到5V的电压输出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CAN总线数据通讯[实验项目]CAN总线数据通讯[实验目的]基于SJA1000 CAN总线控制器和单片机系统完成CAN总线数据收发实验、掌握CAN总线波特率设置、消息ID和接收滤波器配置,完成两个以上节点的数据通讯。

[实验仪器设备]SJA1000 CAN接口模块单片机最小系统板串行下载线(USB转TTL电平串口线)USB转DC5.5mm供电线杜邦线[实验原理]1、CAN通信板原理图复位电路TJA1050T外围电路振荡电路2、单片机板原理图单片机最小系统主要包括3部分:电源,晶振和复位电路。

晶振采用11.0592MHz,复位采用RC电路。

由于单片机P0口开漏输出,需要外接10K的上拉电阻。

3、原理简述SJA1000通过并行总线与MCU连接,包括地址/数据线、读/写控制信号、片选、中断等十多根信号线。

通过对单片机进行编程,来控制CAN节点的初始化、帧的发送和接受等。

初始化流程:数据发送流程:中断接收流程:查询接收流程:[实验内容](1)硬件连接1、单片机和SJA1000的连接使用杜邦把CAN模块的P0口连接到单片机开发板的P0扩展口上;把ALE,WR,RD,INT0,CS,KEY分别对应连接到单片机的ALE,P3.6,P3.7,P3.2,P2.0和P2.5上;把5V和GND分别对应接到单片机的电源接口上。

2、SJA1000节点间的连接将两个SJA1000节点的CAN_H,CAN_L对应连接,即高接高,低接低,即可完成通信线路的连接。

3、单片机与下载器的连接按如下图所示的接线方式连接下载器(即USB转TTL电平串口)和51单片机系统板。

其中5V、3.3V电源线不接,只连接GND并交叉连接RX和TX,即TX接单片机的P3.0,RX接单片机的P3.1。

可三根采用杜邦线将下载器的三个引脚接至51系统板的排插相应引脚上。

(2)软件编程1、在KeilC开发环境下编写STC89C52程序,测试程序的下载和运行。

2、编写STC89C52串行通讯程序,能够通过串口向PC机发送字符,显示程序运行状态。

3、编写SJA1000芯片CAN数据发送程序和查询方式的数据接收程序,完成CAN 数据帧的发送和接收。

4、编写SJA1000芯片CAN数据发送程序和中断方式的数据接收程序。

[实验数据记录及处理]1、查询收发数据每次按下CAN实验板上的按键KEY,则该CAN节点发送数据帧,单片机通过串口与PC通讯,显示"SEND MSG n,(0xc) ",其中n表示第n次发送。

一个CAN节点发送数据帧后,另一个CAN节点通过查询方式接收数据,同样利用串口显示"RECV MSG n:data",其中n表示第n次接收,data表示接收的数据。

实验结果如下图所示:2、中断收发数据发送数据同上,一个CAN节点发送数据帧后,另一个CAN节点进入中断,接收数据帧,利用串口显示"RECV MSG by INT0 n:data",其中n表示第n次接收,data表示接收的数据。

实验结果如下图所示:[实验出现的问题及解决办法]问题1:程序无法下载到单片机解决办法:更新下载软件STC_ISP,成功下载程序。

问题2:CAN节点只能发送一次分析原因:由于发送后没有节点接受应答,故不能进行下一次发送。

解决办法:通过把两个CAN节点相连,成功实现了数据的收发。

问题3:利用中断接收数据解决办法:编写中断服务程序,进入中断后,调用CAN_RecvMsg()函数,进行数据的接收。

[实验结论]通过对单片机进行编程,利用SJA1000 CAN总线控制器构成CAN总线数据收发系统,通过修改寄存器的值可以进行CAN总线初始化,可以进行CAN总线波特率设置、消息ID和接收滤波器配置等操作。

CAN总线控制器的基地址与连接方式有关,本次实验用线选法,把CS与单片机的P2.0相连,故基地址为0XFE00。

接收方式可以分为查询法和中断法。

通过这次实验,实现了两个节点的数据通讯,每个节点都可以发送和接收数据,顺利地完成了本次实验。

[回答思考题]1、若已知CAN接口板的基地址=7F00H,请问PeliCAN模式下,SJA1000的控制寄存器的物理地址=?答:7F00H2、请将BasicCAN下地址分配表中的32个单元地址,用C语言宏常量定义方法,定义成SJA1000.h文本文件,并在Keil工程文件中调用。

#define CAN_ADDR 0XFE00 //P2.0为初始地址#define REG_CONTROL CAN_ADDR+0x00 //内部控制寄存器#define REG_COMMAND CAN_ADDR+0x01 //命令寄存器#define REG_STATUS CAN_ADDR+0x02 //状态寄存器#define REG_INTERRUPT CAN_ADDR+0x03 //中断寄存器#define REG_INTENABLE CAN_ADDR+0x04 //中断使能寄存器#define REG_BTR0 CAN_ADDR+0x06 //总线定时寄存器0#define REG_BTR1 CAN_ADDR+0x07 //总线定时寄存器1#define REG_OCR CAN_ADDR+0x08 //输出控制寄存器#define REG_TEST CAN_ADDR+0x09 //测试寄存器#define REG_RESVER1 CAN_ADDR+0x0A //保留1#define REG_ARBITRATE CAN_ADDR+0x0B //仲裁丢失捕捉#define REG_ERRCATCH CAN_ADDR+0x0C //错误代码捕捉#define REG_ERRLIMIT CAN_ADDR+0x0D //错误报警限额#define REG_RXERR CAN_ADDR+0x0E //接收错误计数器#define REG_TXERR CAN_ADDR+0x0F //发送错误计数器#define REG_ACR1 CAN_ADDR+0x10 //验收代码寄存器#define REG_ACR2 CAN_ADDR+0x11 //验收代码寄存器#define REG_ACR3 CAN_ADDR+0x12 //验收代码寄存器#define REG_ACR4 CAN_ADDR+0x13 //验收代码寄存器#define REG_AMR1 CAN_ADDR+0x14 //验收屏蔽寄存器#define REG_AMR2 CAN_ADDR+0x15 //验收屏蔽寄存器#define REG_AMR3 CAN_ADDR+0x16 //验收屏蔽寄存器#define REG_AMR4 CAN_ADDR+0x17 //验收屏蔽寄存器#define REG_TXBuffer1 CAN_ADDR+0x10 //发送缓冲区1#define REG_TXBuffer2 CAN_ADDR+0x11 //发送缓冲区2#define REG_TXBuffer3 CAN_ADDR+0x12 //发送缓冲区3 #define REG_TXBuffer4 CAN_ADDR+0x13 //发送缓冲区4 #define REG_TXBuffer5 CAN_ADDR+0x14 //发送缓冲区5 #define REG_TXBuffer6 CAN_ADDR+0x15 //发送缓冲区6 #define REG_TXBuffer7 CAN_ADDR+0x16 //发送缓冲区7 #define REG_TXBuffer8 CAN_ADDR+0x17 //发送缓冲区8 #define REG_TXBuffer9 CAN_ADDR+0x18 //发送缓冲区9 #define REG_TXBuffer10 CAN_ADDR+0x19 //发送缓冲区10 #define REG_TXBuffer11 CAN_ADDR+0x1A //发送缓冲区11 #define REG_TXBuffer12 CAN_ADDR+0x1B //发送缓冲区12 #define REG_TXBuffer13 CAN_ADDR+0x1C //发送缓冲区13 #define REG_RXBuffer1 CAN_ADDR+0x10 //接收缓冲区1 #define REG_RXBuffer2 CAN_ADDR+0x11 //接收缓冲区2#define REG_RXBuffer3 CAN_ADDR+0x12 //接收缓冲区3#define REG_RXBuffer4 CAN_ADDR+0x13 //接收缓冲区4#define REG_RXBuffer5 CAN_ADDR+0x14 //接收缓冲区5#define REG_RXBuffer6 CAN_ADDR+0x15 //接收缓冲区6#define REG_RXBuffer7 CAN_ADDR+0x16 //接收缓冲区7#define REG_RXBuffer8 CAN_ADDR+0x17 //接收缓冲区8#define REG_RXBuffer9 CAN_ADDR+0x18 //接收缓冲区9#define REG_RXBuffer10 CAN_ADDR+0x19 //接收缓冲区10#define REG_RXBuffer11 CAN_ADDR+0x1A //接收缓冲区11#define REG_RXBuffer12 CAN_ADDR+0x1B //接收缓冲区12#define REG_RXBuffer13 CAN_ADDR+0x1C //接收缓冲区13#define REG_RXCOUNT CAN_ADDR+0x1D //RX报文计数器#define REG_RBSA CAN_ADDR+0x1E //接收缓冲区起始地址#define REG_CDR CAN_ADDR+0x1F //时钟分频寄存器[心得体会]在这次实验中,遇到了一些问题,比如开始软件不对导致程序不能正确下载,以及后面用中断实现所遇到的困难,我们组通过仔细考虑,检查,以及求助学长,最终顺利完成了实验,通过这次的实验,将课本理论与实际相结合,进一步加深了对理论知识的理解,同时,增强了动手操作,加强了团队协作。

相关文档
最新文档