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 节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不 受影响。

(完整版)工业控制网络实验指导书

(完整版)工业控制网络实验指导书
2.1
(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总线)

实验指导书(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总线实验报告

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-Bus接口控制实验

综合实验十二  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总线控制器实验装置说明书一、工作原理图为了让大家能更好地熟悉和掌握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最近一次微调(精品)

测控总线技术实验指导书最新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 目录下,单击<确定> ,再单击<完成>,即可完成驱动的安装。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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时,测量值是负值。

相关文档
最新文档