CAN总线实验指导书
实验十三 CAN总线实验
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 节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不 受影响。
(完整版)工业控制网络实验指导书
(1)进一步了解DeviceNet网络结构。
(2)学习DeviceNet网络的组建及配置方法。
(3)学习使用Controllogix编程软件RSLogix 5000编制控制程序。
2.2
(1)了解DeviceNet网络的接线方式及系统所需的软件和硬件。
(2)使用RSNetWorxFor DeviceNet软件配置DeviceNet网络。
1.3.3
计数器板共有两路计数器输入,通过按钮控制。同时有两路继电器输出,是两组常开常闭的转换触点,通过显示灯显示继电器状态(计数器接口板上的显示灯,红灯代表常开触点,绿灯代表常闭触点)。单片机扫描按钮状态,记录按钮的动作次数,达到预定值时启动SJA1000发送当前计数值。同时也可以由上位机发送请求报文,计数器板接收报文后将相应计数器的当前值发送给上位机。接收报文通信指示灯(绿灯)闪烁一次,发送报文通信指示灯(红灯)闪烁一次。两路继电器可由上位机发送相应报文进行控制,试验结束后将测试结果填入实验报告中。
2.3.1
(1)计算机——配置DeviceNet网络,编制控制程序;
(2)ControlLogix控制系统-—在本实验中用到的模块如图2-1所示,包括:
①1756-PA2电源模块——电源模块将外部的的交流或直流电源转换成控制器内部可用的电源,并防止电压脉冲对可编程序控制器内部部件的干扰。
②1756-L1 ControlLogix处理器(对应Slot 0)——控制DeviceNet网络演示系统的运行。
③1756-ENBT以太网通信模块(对应Slot 1)——与计算机或其它控制系统通信,本实验中计算机对DeviceNet网络的配置及控制程序的下载都是通过该模块实现的。
④1756-DNB DeviceNet网络模块(对应Slot3)——设备网扫描器作为设备网上的主设备与控制器及设备网络上的设备通讯,完成下列功能:
实验指导书(CAN总线)
《汽车总线及嵌入式系统》实验指导书适用专业:车辆工程(汽车电子方向)课程代码:8244860总学时: 4编写单位:交通与汽车工程学院编写人:彭忆强审批人:批准时间:年月日一、实验教学目标与要求:目标:通过本课程的学习使学生掌握CAN的基本知识,运用codewarrior软件,编辑、编译、上机调试等基本操作操作,来解决某些实际问题,并养成严谨的科学态度和科学的思维方法,从而提高分析和解决实际问题的能力。
为后续课程的学习和在毕业设计时使用CAN总线及16位单片机系统解决实际问题打下良好的基础。
要求:注意自始至终贯彻课程中所介绍的程序设计风格,养成良好的编程习惯。
应独立完成所布置的上机作业,为保证尽量在统一安排的上机时间内编译运行通过程序,应事先预习设计好程序。
课后撰写实验报告。
二、实验环境程序设计语言的实验环境如下:1.硬件环境微型计算机(Intel x86系列CPU)一台2.软件环境Windows98/2000/XP操作系统Codewarrior 4.6三、实验课程具体内容:附录1:Codewarrior使用方法简介1、在程序中找到freescale ,选择codecarrior IDE,打开Codewarrior软件后出现画面如图:2、选择“Create New Project”后点击“下一步”后出现以下界面:在给出的芯片名称中选怎所要用的芯片名称后点击“下一步”。
3、在出现如下画面后选择编程使用的语言,汇编,C或是C++,也可同时选择多个语言。
之后点击“下一步”。
4、之后的选择如下4、找打名称为“sources”的文件夹,可在main里输入程序。
5、当程序输入好后,点击按钮进行编译,如果有错误会出现错误提示。
6、当编译没错误后可以按进行调试,其中“Full chip simulation”选项是在电脑上面调试,而“TBDML”选项是在目标板和电脑连接了的情况下的调试。
按后的界面例:跑马灯按照如上说的介绍,新建一个工程,输入例子跑马灯里的代码,界面如下:编译无误后仿真调试,界面如下:点击componet选择OPEN找到LED 右键设置输出口位PORTB DDRB设置为1则可进行软件仿真调试,:可按快捷键F11进行单步调试,看到效果。
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总线数据通讯[实验目的]基于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-Bus接口控制实验
实验三十四CAN-bus接口控制实验一.实验目的通过调用CAN程序库SJA1000_PELI.LIB的基本函数,实现实验板上CAN节点的初始化以及CAN 节点的自发自收测试。
二.实验设备及器件IBM PC 机一台单片机仿真器、编程器、实验仪三合一开发平台一台三.实验内容编写一段程序,调用SJA1000_PELI.LIB中的函数,实现CAN节点的初始化,能够进行数据的自发自收,并能在LED上显示相关的信息。
四.实验要求学会对CAN节点的基本操作,理解实现CAN通信的基本流程。
五.实验步骤1.将CAN-bus PARK的CSCAN与P2.7相连接。
2.将CAN-bus PARK的RSTCAN与P1.0脚相连接。
3.如果用户采用中断方式,将4.利用SJA1000_PELI库编写CAN节点的初始化和自发自收程序。
5.利用ZLG7290,将CAN节点自发自收数据的成功与否显示出来。
六.实验预习要求1.阅读关于CAN和CAN相关器件的基本介绍,具备CAN和CAN相关器件的基本知识。
2.阅读《SJA1000_PELI库说明及其使用》,了解在如何在程序中应用SJA1000_PELI库。
七.实验参考程序#include <REG52.H>#include "VIIC_C51.h" //I2C程序库头文件#include "Sja1000_peli.h" //CAN程序库头文件#define uchar unsigned char#define ZLG7290 0x70sbit RESET_PIN=P1^0;uchar Display_Buffer[5]={0x0d,0x15,0x15,0x10}; //显示GOODuchar CAN_Baudrate_Filter_Buffer[9]={14,0,0,0,0,0xff,0xff,0xff,0xff};//存放设置波特率和滤波器的数据uchar Send_CAN_Info_ID[5]={0x88,0x00,0x00,0x00,0x00};//存放信息帧的数据,符合CAN2.0Buchar Send_Data_For_Self[8]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08};//存放数据帧的数据uchar ScanNum[1];/*--------------------------------------------------------------------------------------------------- ** 函数原型: void Delay_ms(uchar j)** 功能描述: 该函数用于不精确的延时。
CAN总线控制器实验装置说明书
CAN总线控制器实验装置说明书一、工作原理图为了让大家能更好地熟悉和掌握CAN总线的相关知识,我们设计开发了本套实验装置。
其结构图如下所示:图1 装置结构图实验时要两套装置配套使用,其中一套用来发送数据,另一套用来接收数据。
二、实验方案本装置可提供两种实验方案:方案一:图2 方案连接图在本方案中,计算机串口发送数据给装置甲,甲将接收到的数据通过单片机处理后写入CAN总线控制器的发送缓冲区中并将数据通过CAN总线发送给装置乙,乙装置将数据从CAN总线控制器的接收缓冲区中提取出来并发送至计算机串口显示出来。
方案二:键盘输入数据数码管显示图3 方案连接图在本方案中,由装置甲的键盘来发送数据,装置乙的数码管来显示接收到的数据,具体通信过程如下:甲的单片机将接收到的键盘数据处理后发送到CAN 总线控制器的发送缓冲区中并将数据通过CAN总线发送给装置乙,乙装置将数据从CAN总线控制器的接收缓冲区中提取出来并通过数码管显示出来。
在这两个实验方案中,我们都设计了发送和接收数据的显示,目的就是让大家通过发送、接收的数据比较来判断数据传输有没有误码存在。
三、程序设计在该实验中,涉及到的程序主要有SJA1000初始化、CAN报文发送和CAN 报文接收,其中关键是SJA1000初始化,下面我们详细介绍SJA1000初始化程序。
1、SJA1000初始化程序设计SJA1000在上电或硬复位后,必须对其初始化以便进行通信。
而且在运行过程中还可以通过主控制器对其进行重新组态,在重新组态时,首先要进入复位模式,因为SJA1000 的初始化只有在复位模式下才可以进行。
下图是SJA1000初图4 初始化流程图上电复位后,主控制器要运行其复位子程序。
在上电过程中,CAN控制器SJA1000在管脚17(Pin17)得到一个有效的复位脉冲,使其进入复位状态(Reset Mode)。
在设置SJA1000寄存器前,主控制器应该通过读R/R(Reset mode/Request)标志来确认SJA1000确在复位方式,因为要组态的寄存器只有在复位模式(Reset Mode)下,才能被写入。
测控总线技术实验指导书最新F最近一次微调(精品)
测控总线技术实验指导书朱欣华编写南京理工大学2007年4月实验一 SC2102 CAN 总线PCI 插卡应用一、实验目的在了解SC2102 CAN 总线PCI 接口卡原理的基础上,掌握其与PC 电脑的连接方法与具体应用;学会CAN 节点的波特率设置和ID 设置等;通过实验加深对CAN 总线的工作原理的理解与认识。
二、实验内容1.参考附录中的SC2102数据手册,了解SC2102 的硬件组成和使用方法; 2.学会将SC2102总线接口卡的两个CAN 端口的总线接线; 3.学会接口卡PC 端控件和驱动的安装; 4.学会使用SC2102 PC 端软件;5.学会正确设置CAN 总线的波特率和ID 号等; 6.对自建系统进行测试。
三、实验原理及方法1.按图1连接好CAN 两个端口的通信线。
162738495J1DB9162738495J2DB9CANLCANH图1 CAN 总线PCI 插卡端口接线图2.接口卡PC 端控件和驱动的安装因为要用到SC2102接口卡的ActiveX 控件,所以使用前要先注册。
注册方法如下:(1)先在桌面“CAN ”文件夹中找到“实验一”,再在其中找到“PC 端驱动”,然后找到“SC2102C.OCX ”控件文件,把它复制到C:\windows 下;(2)点“开始”-> “运行”,然后在“运行”中输入: Regsvr32 SC2102C.ocx 。
如果能看到如下提示,说明注册成功;若出错请仔细检查已执行的注册方法和步骤是否正确。
图2 注册成功提示(3)当把CAN总线PCI插卡插到PC机的PCI插槽上时,开机有提示“找到新的硬件”,选择<下一步>,系统询问“是否选择搜索新硬件”选择<否>,在硬件列表中选择“其它设备”,单击<下一步>,选“从列表或指它驱动器按装”,单击<浏览…>,选择SC2102 驱动程序目录,在桌面\CAN\实验一\驱动\Windows98_2000 目录下,单击<确定> ,再单击<完成>,即可完成驱动的安装。
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)实验1.实验目的(1)熟悉CAN 的功能和应用(2)熟悉CAN 数据帧/远程帧的结构(3)掌握CAN 控制器发送/接收数据的配置 (4)掌握CAN 控制器的通讯功能2.实验内容(1)CAN 节点的初始化(2)LM3S2110 CAN 器件板中CAN 控制器收发数据的配置 (3)LM3S8962 评估板中CAN 控制器收发数据的配置(4)演示利用Cortex-M3内部集成的CAN 控制器进行双机数据通信的实验3.Stellaris 内部集成的CAN 控制器总线空闲S O F 报文标识符符RT R 控制域数据CRC序列A C K EOP IFS 总线空闲CRC 域1111111或2960 (64)1573仲裁域分隔符位应答域帧结束域帧间域位填充CAN 数据帧帧开头远程传输要求位编号图1 CAN 数据/远程帧的结构图CAN 总线以帧为单位进行数据传送,在CAN 总线上发送的有4类信息帧:数据帧、远程帧、错误指示帧和超载帧,图1所示是CAN 数据/远程帧的结构图。
数据帧用于发送数据,远程帧用于请求数据。
CAN 协议控制器和报文处理器接口寄存器组1接口寄存器组2报文RAMCAN 收发器CAN 总线主节点从CAN 节点图2 CAN 双机通信框图CAN 总线节点的软件设计主要包括CAN 节点初始化、报文发送和报文接收。
使用控制器之前,必须使能外设时钟,配置用于传输CAN 信息的GPIO 管脚。
CAN 的软件初始化有两种方法:一是将CANCTL 中的INIT 位置位,二是在脱离总线时—一般在发送器错误计数器的值超过255时,会发送脱离总线的现象。
在初始化CAN 控制器时,应该设置CANBIT ,用来编程配置CAN 的位速率。
CAN 控制器的双机通信框图如图2所示。
协议控制器从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总线实验
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网络实验平台介绍一、系统概述本实验平台使用了一块51内核的MCU作为控制器,采用模块化分离式结构,板上拥有CAN控制器SJA1000,CAN收发器82C250,可以完整支持CAN2.0B协议。
同时还集成了LCD显示模块,H桥模块,温度传感模块,支持iCAN协议的4017模拟量输入模块以及4050数字量输入输出模块,方便用户二次开发。
二、硬件组成该实验系统可以完成BasicCAN通讯实验、PeliCAN通讯实验、iCAN通讯实验、电机控实验、温度检测实验。
其硬件资源主要包括:●数字量输入输出单元●模拟量输入单元●液晶显示单元●直流电机单元●温度传感单元●8bit的数字量输入(8位拨码开关)和8bit的数字量输出(8个LED灯显示)。
2、模拟量输入单元在该实验板上,使用了一个滑动变阻器调整电压大小,可进行AD实验。
3、液晶显示单元●标准1602LCD接口。
4、直流电机单元在该实验板上,使用了6个三极管组成H桥驱动电路,控制直流电机的正反转。
5、温度传感单元在该实验板上,使用的是一线制的串行DS18B20温度传感器。
它具有以下特点:●独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;●在使用中不需要任何外围元件;●工作电压广;实验板程序下载说明实验板使用了STC公司的STC89C52单片机,支持ISP下载,实验板上预留了串口ISP 下载接口。
通过USB下载器对芯片编程。
USB下载器实质上是一个USB转TTL串口的单元,它实现电脑USB直接与单片机串口进行通讯,可以对支持串口程序烧些的单片机进行程序下载,如STC系列51单片机。
USB下载器如图所示:一、驱动安装1. 解压USB-TTL客户包,首先安装驱动程序,XP 用户安装“PL-2303 WinXP DriverInstaller”,Vista或Win7 用户安装“PL-2303 Vista&Win7 Driver Installer”;双击相应的驱动程序进入安装过程,所有选项全部默认直接下一步直到安装完成;2. 安装完驱动程序后,将USB-TTL插入电脑,电脑会提示发现新硬件,此时别动电脑,电脑会自动安装完驱动程序并提示安装完成;3. 此时电脑设备管理器中会出现相应的串口设备,注意记住COM号,下图例为COM4;如果电脑自动分配超过COM9,应手动将其改回COM9 以下,手动更改右击这个串口设备在属性里面可以找到更改串口号的地方;4. 至此驱动程序安装完成。
现场总线实验指导书..
现场总线实验指导书实验一SJA100实现双机通讯一、实验目的1.了解CAN总线的基本知识2.掌握CAN控制器SJA1000的使用方法3.掌握硬件及软件的设计方法二、实验设备PC机一台,TD-ACC+试验系统两套 +i386EX系统版两块三、实验原理及内容1.CAN总线单元中,SJA1000与控制计算机的接口2.实验原理将两台实验设备构成的CAN节点连到同一根CAN总线上,总线上的任意节点均可向其它节点发送报文,当某一节点收到另一节点的报文后,可将该报文在屏幕上显示。
发送报文采用按键启动方式,每按动一次按键,发送一帧报文。
报文结构采用扩展帧的格式共13个字节,位于CAN地址的16-28。
该实验采用固定通信速率50kbps,接收报文采用单滤波方式,为了试验程序的统一,将验收屏蔽寄存器AMR0-AMR3全部设定为FF(无关,不过滤)。
3.实验接线图如图1-1。
其中IRQ7表示内部主片8259的7号中断,用作接受报文中断。
图1-1 4.参考程序流程图如图1-2,1-3,1-4图1-2图1-3图1-4四、实验步骤1.参考流程图阅读程序,然后编译,链接,装在程序。
参考程序在CAN86目录下的FuncMain.C2.按照实验线路图1-1接线,将单次阶跃单元中的电位器旋至最大,检查无误后开启设备电源。
3.分别运行节点1和节点2的程序,两个节点可随时发送报文,每按动一次按键就启动报文发送,可在另一节点观测接受到的报文,检查接收的报文和发送的报文是否一致.五、思考题1.解释TxDataBuf缓冲区中数据的含义,特别是描述符区。
2.解释验收屏蔽寄存器代码和验收代码寄存器代码。
3.写出设置波特率为100k的语句。
4.写出设置验收滤波为双滤波模式的语句。
5.改变发送报文数据,观察接收方。
五、选做1、如何将双机通讯改为多机通讯,并增加广播功能(学生的AMR=FFFFFFFF)。
2、当TxDataBuf缓冲区中最后2个数据为‘OK’,在接收方的屏幕上显示出来。
eCAN总线通信实验指导书
实验八CAN总线通信一、实验目的1、熟悉实验系统中实现CAN总线通信的硬件电路;2、掌握通过eCAN模块实现DSP间用CAN总线接口通信的方法。
二、实验背景知识1 eCAN接口电路DSP2812内置eCAN控制器。
在实验板上CAN总线收发器采用SN65HVD230。
它将CANTX、CANRX信号转化成CANH、CANL信号在CAN总线上传输。
在实验板上的接口电路原理如下:+3.32 eCAN的初始化初始化过程首先配置F2812的引脚GPIOF6(CANTXA)和GPIOF7(CANRXA)为外设模式,并需要配置eCAN的下列寄存器:◆CANTIOC和CANRIOC 配置eCAN的RX和TX分别为接收和发送引脚◆CANMC 配置eCAN工作在增强功能和自测试模式下◆MBOXn.MCF. 在初始化邮箱前,必先将其初始化为0◆CANTA 清除所有TAn位◆CANRMP. 清除所有RMPn位◆CANGIF0 清除除邮箱中断外的中断标志◆CANBTC 配置时序参数初始化方法可参见推荐教材中的函数InitECan ()三、实验要求1、熟悉实验系统中的CAN通信电路;2、掌握eCAN的功能设置和初始化、CAN通信的编程方法和发送、接收中断的处理;3、编写程序实现通过DSP的eCAN邮箱0向邮箱1发8个字节的数据。
4、在Watch window中观察邮箱1是否收到邮箱0发的数据。
四、实验步骤●在CCS中GEL files上单击右键,选择Load GEL中的F2812.gel项,然后选择菜单栏GEL/F2812/CAN regs,即可看到CAN寄存器的变量被显示到Watch window中。
●执行程序,观察CANBOX1中是否已收到发送的数据。
●改变通信波特率,考察保证正常通信所允许的最高波特率。
五、实验思考1、与串行通信接口(SCI)相比,采用eCAN通信接口有何特点?2、试比较并简述eCAN和SCI分别是如何实现多机通信的。
《汽车总线系统实验》实验指导书
《汽车总线系统实验》实验指导书黄志文王思山编蒋伟荣审湖北汽车工业学院电子信息科学系二零零八年七月概述汽车总线概念及CAN舒适系统实验台的基本组成 (1)一、汽车CAN总线概念 (1)1.1、汽车CAN总线简介 (1)1.2、汽车CAN总线特点 (1)二、汽车LIN总线概念 (2)2.1、汽车LIN总线简介 (2)2.2、汽车LIN总线特点 (2)三、CAN舒适系统实验台的基本组成 (3)3.1、系统全图 (3)3.3、门控单元 (4)3.4、CAN数据总线 (4)3.5、中控门锁 (5)3.6、电动车窗 (5)3.7、无线遥控装置 (6)3.8、防盗报警系统 (6)3.9、车内灯 (6)3.10、后视镜调节及加热器 (6)3.11、车顶窗(天窗) (7)3.12、座椅和后视镜记忆位置系统 (7)实验一CAN舒适系统实验台基本操作 (8)实验二CAN舒适系统信息查看及诊断基本操作 (11)实验三汽车CAN总线编程实验 (16)实验四汽车LIN总线编程实验 (22)概述汽车总线概念及CAN舒适系统实验台的基本组成一、汽车CAN总线概念1.1、汽车CAN总线简介控制器局部网(CAN-CONTROLLER AREA NETWORK)是BOSCH公司为现代汽车应用领先推出的一种多主机局部网,由于其卓越性能现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。
控制器局部网将在我国迅速普及推广。
随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。
由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:控制面向多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。
分散式工业控制系统就是为适应这种需要而发展起来的。
这类系统是以微型机为核心,将5C技术--COMPUTER(计算机技术)、CONTROL(自动控制技术)、COMMUNICATION (通信技术)、CRT(显示技术)和CHANGE(转换技术)紧密结合的产物。
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 0DE00HCMR 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 4080H;----------------------------------------------------------------START:MOV DPTR,#MODEMOV A,#01HMOVX @DPTR,AMOV DPTR,#IERMOV A,#0DHMOVX @DPTR,AMOV DPTR,#ACR0MOV A,#00HMOVX @DPTR,AMOV DPTR,#ACR1MOV A,#10HMOVX @DPTR,AMOV DPTR,#ACR2MOV A,#00HMOVX @DPTR,AMOV DPTR,#ACR3MOV A,#00HMOVX @DPTR,AMOV DPTR,#AMR0 MOV A,#00H MOVX @DPTR,AMOV DPTR,#AMR1 MOV A,#0FH MOVX @DPTR,AMOV DPTR,#AMR2 MOV A,#0FFH MOVX @DPTR,AMOV DPTR,#AMR3 MOV A,#0FFH MOVX @DPTR,AMOV DPTR,#BTR0 MOV A,#6DH MOVX @DPTR,AMOV DPTR,#BTR1 MOV A,#2AH MOVX @DPTR,AMOV DPTR,#OCR MOV A,#01CH MOVX @DPTR,AMOV DPTR,#TXERR MOV A,#00H MOVX @DPTR,AMOV DPTR,#MODE MOV A,#00H MOVX @DPTR,AMOV DPTR,#SR MOVX A,@DPTRCJNE A,#0CH,START CLR P1.2END五.频率计算:晶振6MHz,由实验运行截图可得BTR0=6DH, BTR1=2AH=2 46=2 46/ 6=46/3us设同步段为1个系统时钟周期,=1= (8 +2×1+1)=112=2= + + =14 =644/3usf=1/ =46.6kbps六.实验心得这次实验是第一次在试验台上做实验,刚去对操作台的布局及功能都不太熟悉,经过老师的讲解、演示,我们开始在操作台上操作练习,通过实践操作,对SJA1000模块以及模块的初始化有了详细的认识并且在以后的应用中会更熟练。
实验18CAN总线传输-Read
实验18 CAN总线传输【实验目的】1、了解CAN总线工作原理;2、学习LPC系列处理器CAN总线模块的使用方法;【实验要求】1、正确配置LPC处理器IO端口并正确初始化CAN总线模块;2、编写程序实现CAN总线数据传输。
【实验原理】一、LPC系列处理器CAN总线模块及CAN总线的原理参见《ARM与嵌入式系统——基于LPC2470和IAR开发环境》中有关CAN总线的章节,重点掌握CAN总线工作原理及CAN总线模块的寄存器使用、数据传输操作方法等内容。
本实验提供程序实现LPC处理器两个CAN总线模块之间的数据传输。
程序通过串口把CAN 发送数据读入LPC处理器,处理器把数据从CAN模块1发出,数据通过对连线发到CAN 模块2;程序把数据从CAN模块2读出进行比较,验证数据传输正确后从串口回显传输数据。
本程序使用了两种中断源:串口接收数据中断和CAN模块接收中断。
二、CAN总线收发器TJA1040简介LPC处理器拥有两个CAN总线通道控制器,所以实验板只要增加CAN总线收发器就可以方便实现CAN总线。
LPC处理器两个CAN总线通道各使用一片TJA1040。
TJA1040是一款符合CAN 2.0规范,数据率可高达1Mbps的CAN总线收发器。
TJA1040器件主要引脚功能说明如表18-1所示。
表16-1三、实验板CAN总线电路1.原理图图16-22.说明TJA1040的STB接地,使器件工作在正常模式下,RXD和TXD分别接CAN总线模块的RD和TD引脚。
所以程序在初始化CAN模块时要先初始化I/O模块,正确配置引脚P0.0~1和P0.4~5。
四、程序工程模板说明实验提供的程序工程模板中,主要有以下几个目录:1.Common:共有四个源程序文件:cstartup.s79芯片的初始化汇编代码、target.c目标板的初始化C语言代码、irq.c中断实现程序、timer.c定时器程序。
2.Target:存放CAN模块的源程序CAN.c和串口模块源程序UART0.c。
STIA-CAN实验指导书
实验一KingView(组态王)软件编程环境的熟悉一、实验目的1、熟悉组态王软件的组成2、掌握组态王工程的建立二、实验内容1.认识组态王程序组成员安装完“组态王”之后,在系统“开始”菜单“程序”中生成名称为“组态王6.52”的程序组。
该程序组中包括三个文件夹和四个文件的快捷方式,内容如下:组态王6.52:组态王工程管理器程序(ProjManager)的快捷方式,用于新建工程、工程管理等;工程浏览器:组态王单个工程管理程序的快捷方式,内嵌组态王画面开发系统(TouchExplorer),即组态王开发系统;运行系统:组态王运行系统程序(TouchVew)的快捷方式。
工程浏览器(TouchExplorer)和运行系统(TouchVew)是各自独立的Windows应用程序,均可单独使用;两者又相互依存,在工程浏览器的画面开发系统中设计开发的画面应用程序必须在画面运行系统(TouchVew)运行环境中才能运行;信息窗口:组态王信息窗口程序(KingMess)的快捷方式;帮助:组态王帮助文档的快捷方式;电子手册:组态王用户手册电子文档的快捷方式;安装工具\安装新驱动:安装新驱动工具文件的快捷方式;组态王文档\组态王帮助:组态王帮助文件快捷方式;组态王文档\组态王IO驱动帮助:组态王IO驱动程序帮助文件快捷方式;组态王文档\使用手册电子版:组态王使用手册电子版文件快捷方式;组态王文档\ 函数手册电子版:组态王函数手册电子版文件快捷方式;组态王在线\在线会员注册:亚控网站在线会员注册页面;组态王在线\技术BBS:亚控网站技术BBS页面;组态王在线\IO驱动在线:亚控网站IO驱动下载页面。
除了从程序组中可以打开组态王程序,安装完组态王中后,在系统桌面上也会生成组态王工程管理器的快捷方式,名称为“组态王6.52”。
2.制作一个工程的一般过程建立新组态王工程的一般过程是:1.设计图形界面(定义画面)2.定义设备3.构造数据库(定义变量)4.建立动画连接2.1 建立组态王新工程创建工程路径启动“组态王”工程管理器(ProjManager),选择菜单“文件\新建工程”或单击“新建”按钮,弹出如图2.1所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
车载CAN网络实验平台介绍
一、系统概述
本实验平台使用了一块51内核的MCU作为控制器,采用模块化分离式结构,板上拥有CAN控制器SJA1000,CAN收发器82C250,可以完整支持CAN2.0B协议。
同时还集成了LCD显示模块,H桥模块,温度传感模块,支持iCAN协议的4017模拟量输入模块以及4050数字量输入输出模块,方便用户二次开发。
二、硬件组成
该实验系统可以完成BasicCAN通讯实验、PeliCAN通讯实验、iCAN通讯实验、电机控实验、温度检测实验。
其硬件资源主要包括:
●数字量输入输出单元
●模拟量输入单元
●液晶显示单元
●直流电机单元
●温度传感单元
●8bit的数字量输入(8位拨码开关)和8bit的数字量输出(8个LED灯显示)。
2、模拟量输入单元
在该实验板上,使用了一个滑动变阻器调整电压大小,可进行AD实验。
3、液晶显示单元
●标准1602LCD接口。
4、直流电机单元
在该实验板上,使用了6个三极管组成H桥驱动电路,控制直流电机的正反转。
5、温度传感单元
在该实验板上,使用的是一线制的串行DS18B20温度传感器。
它具有以下特点:
●独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现
微处理器与DS18B20的双向通讯;
●在使用中不需要任何外围元件;
●工作电压广;
实验板程序下载说明
实验板使用了STC公司的STC89C52单片机,支持ISP下载,实验板上预留了串口ISP 下载接口。
通过USB下载器对芯片编程。
USB下载器实质上是一个USB转TTL串口的单元,它实现电脑USB直接与单片机串口进行通讯,可以对支持串口程序烧些的单片机进行程序下载,如STC系列51单片机。
USB下载器如图所示:
一、驱动安装
1. 解压USB-TTL客户包,首先安装驱动程序,XP 用户安装“PL-2303 WinXP Driver
Installer”,Vista或Win7 用户安装“PL-2303 Vista&Win7 Driver Installer”;
双击相应的驱动程序进入安装过程,所有选项全部默认直接下一步直到安装完成;
2. 安装完驱动程序后,将USB-TTL插入电脑,电脑会提示发现新硬件,此时别动电脑,电
脑会自动安装完驱动程序并提示安装完成;
3. 此时电脑设备管理器中会出现相应的串口设备,注意记住COM号,下图例为COM4;
如果电脑自动分配超过COM9,应手动将其改回COM9 以下,手动更改右击这个串口设备在属性里面可以找到更改串口号的地方;
4. 至此驱动程序安装完成。
二、程序下载
1.打开“STC_ISP_V488”软件,运行界面如下:
2.选择单片机型号,本实验板上使用的是STC89C52单片机:
3.加载需要烧录的文件,应为Hex或者Bin格式:
4.设置串口号和波特率:
注意:出现连接失败或者下载异常时,若无硬件错误,可将最高波特率与最低波特率调整至9600。
5. 软件设置完后,需要将编程器与实验板相连接,STC 系列单片机都是通过串口烧录程序,即是串口TXD及RXD两条数据线,另加上GND及VCC 即可。
6.将实验板电源关闭,点击Download,根据提示打开电源:
实验一iCAN通讯
一、实验目的
1、熟悉CAN总线实验板的结构与功能;
2、使用USBCAN、iCAN模块和实验板组成总线系统,使用电脑的CAN测试软件收
发数据;
二、实验主要仪器设备和材料
计算机,CAN实验板,iCAN-4050,USBCAN-2A,稳压电源。
三、实验内容
组建CAN网络,使用USBCAN控制iCAN-4050以及iCAN-4017。
四、实验原理
USBCAN-2是ZLG公司生产的一款USB转CAN的接口卡,可以在PC上完成CAN报文的监控与检测。
i CAN-4050是一个数字量输入输出模块,用来检测外界状态,采集数字量输入信号,并可以输出数字量信号,控制开关。
iCAN-4050模块具有8路开关量输入通道,8路开关量输出通道。
iCAN-4017是一个模拟量采集模块,具有8路模拟量输入通道,内部具有信号调理电路,模拟量信号的分辨率为16位,其中AIN0~AIN5为6路差分输入,AIN6、AIN7为单端输入。
本次实验使用USBCAN、iCAN-4050、iCAN-4017与CAN实验板组成总线系统,通过PC机上的软件使USBCAN往总线发送数据,控制iCAN-4050的输入输出的状态,同时接收iCAN-4017采集的信息。
iCAN-4050的接口说明如下图所示:
iCAN-4017的接口说明如下图所示:
CAN实验板板上预留了三个CAN接口,可以与USBCAN组成最多4个节点的CAN 总线网络。
实验板的接口如下图所示:
五、实验步骤
1、系统连接
将设备按下图连接。
CAN实验板P2端(左为“+”右为“-”)接12V稳压电源,iCAN-4050和iCAN-4017的Vs+端接实验板P22的12V电源引脚,GND端接实验板P21的GND引脚;实验板P8端VCC接下载器5V端,GND接下载器GND端;USBCAN-2A由USB线供电。
iCAN-4050的8个数字量输入通道(DIN0~DIN7)依次与CAN实验板4017输入模块P4.0~P4.7连接,8个数字量输出通道(DO0~DO7)依次与CAN实验板4050输出模块P5.0~P5.7(从上往下)连接。
iCAN-4017的AIN7与AGND接实验板P9(上为AGND,下为AIN)端。
CAN实验板P12与USBCAN-2A连接,P14与iCAN-4050连接,P16与iCAN-4017连接,接线端子左边为CAN_H,右边为CAN_L。
2、运行PC上的iCAN测试软件。
3、打开系统配置,设备类型选“USBCAN2”,设备索引号设置为“0”,CAN通道设置为
“0”,CAN波特率设置为“500K”。
4、打开电源,点击“搜索”按钮,软件会自动检测挂接在CAN总线上的iCAN设备。
可以搜索到两个iCAN设备:iCAN-4050、iCAN-4017。
如图所示:
5、点击“启动”按钮,PC机将以系统配置参数来初始化上位机CAN节点,使USBCAN
工作。
此时“上线”按钮会被激活。
6、点击“上线”按钮,将会看到iCAN-4050与iCAN-4017的指示灯在闪烁。
在
iCAN-4050-1的面板上可以观察模块的输入端口状态,同时点击代表输出端口的按
钮可以控制模块的输出状态。
CAN实验板上LED灯的变化。
ZLGCANTest通信实例
CANTest是ZLG公司专门为USBCAN设计的一款上位机软件,它能观察总线上的数据流,并且可以往总线上发送数据。
本次实验将通过CANTest软件手动控制iCAN-4050、iCAN-4017工作。
1、打开CANTest软件。
2、点击“选择设备”,选择“USBCAN2”。
3、设置系统参数,设备索引号为0;通道号为0;波特率为500K;点击“确定并启动
CAN”
iCAN-4050通信
1、建立连接:点击主界面的“启动”按钮,选择发送方式为“正常发送”,帧类型为“扩
展帧”。
根据iCAN协议帧规定建立连接时的帧ID为:24F7,数据为3个字节:
00 00 00。
第一个字节表示分段码,第二个字节为主站ID,第三个字节为设置的
定时参数,当第三个字节为00时,从站的状态一直处于连接状态。
点击“发送”按钮,会返回一组帧数据。
(图)
2、读输入端口:根据读命令操作时候的iCAN协议格式,设置帧ID为“2200”,数据
为“00 01”。
点击“发送”按钮,会返回一组帧数据,第一个字节为分段码,第二个字节为iCAN-4050输入端口的状态,每个Bit对应输入端口的状态。
3、写输出端口:根据写命令操作时候的iCAN协议格式,设置帧ID为“2120”,数据
为“00 FF”。
第一个字节为分段码,第二个字节为输出端口控制值。
点击“发送”按钮,观察CAN实验板上LED的状态。
iCAN-4017通信
1、建立连接:点击主界面的“启动”按钮,选择发送方式为“正常发送”,帧类型为“扩展
帧”。
帧ID为:64F7,数据为3个字节:00 00 00。
第一个字节表示分段码,第二个字节为主站ID,第三个字节为设置的定时参数,当第三个字节为00时,从站的状态一直处于连接状态。
点击“发送”按钮,会返回一组帧数据。
(图)
2、读模拟量输入:根据读命令操作时候的iCAN协议格式,设置帧ID为“6240”,数据
为“00 10”。
第一个字节为分段码,第二个字节为读数据长度,此处为0x10,即读出8个模拟量输入端口的值。
点击“发送”按钮,会返回三组帧数据,数据长度共16个字节,数据含义如下表所示:
注意:其中符号位为1时,测量值是正值,符号位为0时,测量值是负值。