当前位置:首页 >> 机械/仪表 >>

基于CAN总线的信号采集与传输的研究


Classified Index: U.D.C:

Dissertation for the

Master

Degree

DESIGN OF DATA ACQUISITION AND

TRANSMIS SION BASED ON CAN BUS

Can

didate: Supervisor: Academic Degree Applied for: Speciality: Date of 0raI Examination:
University:

Han Dong Prof.Yang Fang Master of Engineering Agricultural Electrization and Automatization

May,2010
Northeast Agricultural University


_





//ll ’l l////ltl/ltl l/l l t,l l l\!l/l l///l/l//ll/ Y1787zu4





中文摘要……………………………………………………………………………………………I 英文摘要…………………………………………………………………………………………….III


j;I言………………………………………………………………………………………………………………………………1

1.1现场总线特点及发展趋势………………………………………………………………….1 1.2课题背景和意义…………………………………………………………………………….2 1.3本文研究的主要内容………………………………………………………………………。2 1.4本章小结…………………………………………………………………………………….3


CAN总线原理与技术规范………………………………………………………………………4
2.1

CAN总线简介……………………………………………………………………………….4 CAN总线工作原理………………………………………………………………………….5 CAN总线通信协议………………………………………………………………………5 CAN总线报文的帧类型…………………………………………………………………7 CAN总线的编码方式…………………………………………………………………10

2.2

2.2.1 2.2.2 2.2.3

2.3本章小结……………………………………………………………………………………ll


CAN总线系统的硬件设计……………………………………………………………………一12
3.1

CAN总线通信系统的结构…………………………………………………………………12

3.2下位机的CAN总线通信接口电路设计………………………………………………….14 3.2.1独立CAN控制器SJA 1 000…………………………………………………………一14
3.2.2

CAN总线收发器PCA82C250…………………………………………………………1 5

3.2.3下位机CAN总线通信系统接口电路…………………………………………………l 7 3.3主控制系统硬件电路设计…………………………………………………………………1 9 3.3.1微控制器1MS320LF2407介绍………………………………………………………1 9 3.3.2主控制系统CAN总线接口电路设计………………………………………………。2l 3.3.3显示模块的电路设计…………………………………………………………………23 3.3.4存储模块的电路的设计……………………………………………………………….25 3.4本章小结……………………………………………………………………………………26


CAN总线通信系统的软件设计………………………………………………………………一27 4.1下位机的CAN总线通信软件设计……………………………………………………….27 4.1.1初始化SJA 1 000控制器………………………………………………………………27
4.1.2 SJA 1 4.1.3

000报文发送子程序…………………………………………………………….32

SJAl000报文接收子程序……………………………………………………………。34

4.2上位机系统的软件设计……………………………………………………………………38
4.2.1

CCS集成开发环境介绍………………………………………………………………..38

4.2.2上位机CAN发送程序的设计………………………………………………………..39 4.2.3上位机CAN接收程序的设计………………………………………………………..42 4.2.4上位机显示模块程序的设计………………………………………………………….43

东北农业大学丁学硕十学位论文

4.2.5上位机存储模块程序的设计………………………………………………………….44 4.3本章小结……………………………………………………………………………………45 5系统PCB设计与性能调试……………………………………………………………………一46 5.1系统PCB设计……………………………………………………………………………..46 5.2系统调试……………………………………………………………………………………47 5.3系统的性能测试与分析……………………………………………………………………47 5.4本章小结……………………………………………………………………………………48 6课题总结与展望………………………………………………………………………………。49 6.1课题研究总结………………………………………………………………………………49 6.2课题工作展望………………………………………………………………………………49 致谢………………………………………………………………………………………………………………………………50 参考文献…………………………………………………………………………………………一5 1 附录……………………………………………………………………………………………….53 攻读硕士学位期间发表的论文…………………………………………………………………..56

CON丁ENTS

CoNTENTS
Chinese Abstract……………………………………………………………………………………………………………….I
English Abstract………………………………………………………………………………………………………………III 1 Introduction……………………………………………………………………………………………………………………l 1.1 Characteristics and development trend of fieldbus………………………………………………………….1 1.2 Background

and significance ofthe topic………………………………………………………………………2

1.3 The maain

content ofresearch……………………………………………………………………………………..2

1.4 Summary ofthis chapter……………………………………………………………………………………………..3 2.The principle and technical specifications of CAN bus…………………………………………………….4

2.1 CAN bus introduction…………………………………………………………………………………………………4 2.2 Wbrk principle of CAN bus…………………………………………………………………………………………5 2.2.1 Communication protocol ofCAN bus…………………………………………………………………….5 2.2.2 Message frame type ofCAN bus……………………………………………………………………………7 2.2.3 Encoded method ofCAN bus………………………………………………………………………………10 2.3

Summary ofthis chapter……………………………………………………………………………………………ll

3.The hardware design ofCAN bus system………………………………………………………………………12

3.1 Communication structure ofCAN bus system……………………………………………………………..12
3.2 CAN bus communication intefface circuit design ofslave node……………………………………..14 3.2.1 SJAl000 introduction…………………………………………………………………………………………14

3.2.2 PCA82C250 introducfion…………………………………………………………………………………….15 3.2.3 Communication intefface circuit ofslave node………………………………………………………17
3.3

The

hardware design ofhost node………………………………………………………………………………19

3.3.1 TM¥320LF2407 introduction………………………………………………………………………………19 3.3.2 The interface circuit 3.3.3 The 3.3.4 The

design

ofCAN in control system…………………………………………….21

design design

ofdisplay circuit………………………………………………………………………………。23 ofstorage circuit………………………………………………………………………………..25

3.4 Summary ofthis chapter……………………………………………………………………………………………26 4.The software design of CAN bus system………………………………………………………………………。27
4.1 The software design OfCAN bus communication in the slave system……………………………27 4.1.1 Initialization SJAl000………………………………………………………………………………………..27 4.1.2 4.1.3

The transmit program of The receive progra玎l
design

SJA 1 000………………………………………………………………………..32

0f SJA 1 000…………………………………………………………………………34

4.2 The SOftwale

ofhost system…………………………………………………………………………….38

4.2.1 CCS introduction……………………………………………………………………………………………….38
4.2.2 The transmit program design ofCAN in the host system…………………………………………39 4.2.3 The receive program design ofCAN in the host system…………………………………………..42 4.2.4 The display program

design

of host system……………………………………………………………43

东北农业大学丁学硕{:学位论文

4.2.5 The storage program design of host system……………………………………………………………44 4.3 Summary ofthis chapter……………………………………………………………………………………………45 5.PCB design and the system test…………………………………………………………………………………….46
5.1 PCB design……………………………………………………………………………………………………………..46 5.2 System test………………………………………………………………………………………………………………47 5.3 Performance testing and analyzing of the system………………………………………………………….47 5.4 Summary ofthis chapter……………………………………………………………………………………………48

6.Summary and outlook of the topic………………………………………………………………………………..49 6.1 Summary ofthe topic………………………………………………………………………………………………..49 6.2 Outlook ofthe topic………………………………………………………………………………………………….49 Acknowledgement……………………………………………………………………………………………………………50 References……………………………………………………………………………………………………………………….5 l Appendix…………………………………………………………………………………………………………………………53
Published Articles During Specializing the Degree of

Master…………………………………………….56

研究生学位论文独创声明和使用授权书









本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含未获得

!逵;麴遗查墓丝盏蔓挂别直明鳆!奎拦亘窒2或其他教育机构的学位或证书使
用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 学位论文作者签名:

醐:劫卉钥尸日

学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。 本人授权学校可以将学位论文的全部或部分内容编入有关数据库进行检索,可以 采用影印、缩印或扫描等复制手段保存、汇编学位论文。(保密的学位论文在解 密后适用本授权书)

学位论文作者签名:

日期:加蛑拥7日 日期:知旃么月尸日

导师



摘要





随着科学技术的快速发展,工业控制和生产自动化技术的不断进步以及微处理器的广泛 应用,用以实施信息采集、显示、处理、传输的智能设备也进入了“芯”时代。设备之间的 通信和控制,在精度、可操作性、可靠性、可维护性等方面都有了更高的要求,由此便产生 了现场总线技术。目前多主式通信的现场总线(Fieldbus)成为热门的研究课题,其中 CAN(ControllerAreaNetwork)即控制器局域网络,以其优越的性能、低廉的成本以及独特的 设计,已经成为国际上应用最为广泛的现场总线之一。目前,世界上许多的著名汽车制造厂 商都采用CAN总线来实现汽车内部控制系统与各检测机构和执行机构间的数据通信。由于 CAN总线本身的特点,其应用范围已经不再局限于汽车行业,而是向过程工业、机械工业、 纺织工业、农用机械、机器人、数控机床、医疗器械及传感器等领域纵横发展。 联合收割机的测产系统,作为农用机械上的车载系统,采用CAN总线作为数据采集和 传输的手段,顺应了控制领域发展的趋势,同时也满足了测产系统自动化、智能化、网络化、 精确化的要求,能够有效地保证数据的实时性和准确性。 本论文从现场总线的特点及发展趋势入手,对比分析了各种主流现场总线的技术特点, 深入研究了CAN的技术规范,描述了CAN总线传输报文的帧类型、帧结构以及发生传输冲 突时的仲裁技术。本论文以成熟的CAN总线技术为依托,设计了一种基于CAN总线技术的 农用测产车载通信系统,该系统的上位机以DSP为微处理器,负责对数据进行传输、显示和 存储。下位机是以单片机为核心的数据采集系统。在联合收割机收割粮食的行进过程中,该 通信系统负责对粮食产量及其对应的地理位置(经纬度)进行数据采集、传输和存储。本论文 详细阐述了测产车载CAN总线通信系统的硬件电路设计原则和软件编程的调试过程。

关键词CAN总线;DSP控制器;数据采集;实时性

Abstract

Design of Data Acquisition and Transmission Based CAN Bus

on

Abstract

With the rapid development of science and technology
industrial control and automated manufacturing

as

well

as constant progress of

technology

along with extensive application of

information collection,display, microprocessors,the intelligent devices that were used to implement processing and transmission have entered a“core”era.The requirement
on

accuracy,operability,

reliability,maintainability and other
have ascended
to


aspects of devices between telecommunication

and control

higher level,hence comes field bus technology.At


present,multi—primary-泐le
cost and unique design,

communication field bus has become has become
one

hot research topic,CAN bus namely Control Area Network

of widest used field bus for its superior
to

performance,low

Currently,CAN bus has been used

realize data communication between automobile internal
or

control system and the vehicle inspection agencies

the implementing agencies by



large number

of renowned automobile manufacturers.Result from antologous characteristics of CAN bus,the application range of CAN bus some other fields such
as no

longer been limited in automobile industry

and have expanded

to

process

manufacturing,textile

industry,mechanical
sensors.

industry,

farm-oriented machinery,robots,CNC machine tools,medical equipment and

As the vehicle system of farm machinery,the yields monitor system of combined harvester made use of CAN bus as the means of data collector and transmission and ke:pt up with the development trend of control field,meanwhile,smisfied the requirements of yields monitor system
on

of automation,intelligent,networked and precise,then guaranteed the real time and accuracy

data. This thesis’S expression start from the characteristics and development trends of field bus, compared and analyzed technical characteristics of various

major field bus,researched

the technical

specification of CAN deeply,also described CAN’S transmission message frame type,frame construction and arbitration of mature CAN bus
on

techniques

when transmission collision occurred.The thesis made use


technology and

designed

farm-oriented vehicle communication system based

CAN bus technology,the system utilized the DSP as the microprocessor of master machine to and SCM as the slave machine
to

transmit,display,store data

collect data.During the movement of

combined harvester,the vehicle communication takes responsible for data collection,transmission,
storage

of yield and corresponding geographic location(1atitude and

longitude),this paper
debugging process of

elaborates hardware circuit design principles and software

programming

III

东北农业人学T学硕{二学位论文

yield monitor vehicle CAN bus communication system.

Keywords CAN?bus;DSP controllers;Data acquisition;Real time
Candidate:Hart Dong

Major:Agricultural Electrizationand and Automatization
Supervisor:Prof.Yang Fang

IV





1引言

1.1现场总线特点及发展趋势
信息技术的飞速发展,引起了自动化系统结构的变革,逐步形成以网络集成自动化系统 为基础的企业信息系统。现场总线(Fieidbus)就是顺应这一形势发展起来的新技术。现场总线 是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现标志 着工业控制技术领域又一个新时代的开始,并将对该领域的发展产生重要的影响。 现场总线是一种开放的、数字的、可互操作的、现场节点智能化高和容错率强的工业底 层数据总线,是位于制造或过程区域的现场装置与控制室内的自动控制装置之间的数字式、 串行和多点通信的数据总线。现场总线技术的应用使得控制系统的结构简化,系统的准确性 与可靠性都得到提高。 目前,较为流行的现场总线有FF、LonWorks、Profibus、WorldFIP、CAN、DeviceNet、 HART(过渡协议)等。由于它们都具有不同的特点,采用不同的物理媒体和标准,并且在实 际应用中各有利弊,因此适应领域也有所不同(吕岗,2003)。 可寻址远程变送器数据通路协议HART(Hiighway
Addressable Remote Transducer)最早是

由Rosemount公司开发并得到80多家著名仪表公司的支持。这种被称为可寻址远程传感器 高速通道的开放通信协议,其特点是在现有模拟信号传输线上实现数字信号通信,主要以其 兼容模拟仪表使之用于集散控制系统(DCS)以及过程控制系统。 局域网操作网络LonWorks是由美国Echelon公司推出并由它与摩托罗拉、东芝公司共同 倡导,于1990年正式公布而形成的。LonWorks采用ISO/OSI模型的全部7层通信协议,通 过网络变量把网络通信设计简化为参数设置,其通信速率从300bps至1.5Mbps不等,更适用 于楼宁控制。 WorldFIP现场总线组织成立于1987年,目前已有~百多个成员,其中许多是工业控制 领域的世界著名公司,如Honeywell、西技来克(Cegelec)、阿尔斯通(Alaom)、施耐德 (Schneider)等。前期产品是Fip(Factory
Instrumentation

Protoc01),Fip是法国标准,后来采纳

了IEC国际标准(61 158.2)改名为WorldFip。WorldFip的特点是具有单一的总线结构来适用 不同应用领域的要求,而且没有任何网桥或网关。 基金会现场总线FF(Foundation Fieldbus)是由以美国Fisher-Rosemount公司为首的集团

和以Honeywell公司为首的集团合并而成立的现场总线基金会。基金会现场总线分为低速H1
和高速H2两种。H1的传输速率为31.25kbps,通信距离可达1900m,H2的传输速率为lMbps 和2.5Mbps两种,其通信距离分别为750m和500m。基金会现场总线主要用于描述设备特征、 参数、属性及操作接口的DDL设备描述语言,用于实现测量、控制、工程量转换等工作。 过程现场总线ProfiBus是集合德国国家标准DINl9245和欧洲标准EN50170的现场总线。 由Profibus.DP(主从)、Profibus.FMS(多主)和Profibus.PA(本质安全防爆)组成了ProfiBus系

东北农业大学工学硕上学位论文

列。DP型用于分散外设间的高速数据传输,适合于加工自动化领域的应用。FMS意为现场 信息规范,适用于防止、楼宇自动化、可编程控制器、低压开关等。PA型则适用于过程自动 化的总线类型,遵从IECll58-2标准。 DeviceNet是90年代中期发展起来的一种基于CAN(ControllerAreaNetwork)技术的开放 型、符合全球工业标准的低成本、高性能的通信网络,最初由美国Rockwell公司开发应用。 DeviceNet现已成为国际标准IEC62026.3《低压开关设备和控制设备控制器设备接口》,并已 被列为欧洲标准,也是亚洲和美洲的设备网标准,目前被政府定为低压电器的标准总线。 DeviceNet的主要特点是:短帧传输,每帧的最大数据为8个字节;无破坏性的逐位仲裁技 术;网络最多可连接64个节点;数据传输波特率为125kb/s、250kb,S、500kb/s;点对点、多 主或主/从通信方式;采用CAN的物理和数据链路层规约。 CAN(ControllerAreaNetwork)是1986年由Rober Bosch公司在SAE(汽车工程人员协会) 提出来的,用来实现汽车内部控制系统与各检测和执行机构间的数据通信。目前,CAN总线 已形成国际标准,并已经被公认为几种最有前途的现场总线之一。由于采用了许多新技术及 独特的设计,CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和 灵活性(饶运涛,2007)。 现场总线技术的发展和应用正呈现历史上最好的趋势,并且随着应用层次的不同,有可 能产生一些延伸类型。现场总线发展的明显趋势是开放现场总线,新一代开放的、高速的总 线正逐步取代传统封闭的、低速的总线技术。从这个意义上讲,这就使得我们能够以较小的 转移代价获得最新的技术。同时,主流协议的开放使得我们能够比较容易和世界领先水平保 持同步(蔡月明,2001)。

1.2课题背景和意义
本课题来源于国家科技支撑计划,项目名称:农业装备重大产品关键技术与装置研制。
项目编号:2006BADl
1A03。

本测产系统是以DSP2407为微控制器,CAN总线为传输方式,集电子秤、GPS卫星定 位为一体的测产农用机械车载系统,在理论上实现了交叉学科在精细农业上的应用。 联合收割机的测产系统,作为农用机械上的车载系统,采用CAN总线作为数据采集、 传输的手段顺应了控制领域发展的科技前沿,推动了以“数字农业”核心的精确农业向现代 化发展的步伐。

1.3本文研究的主要内容
本课题研究的重点是农用机械车载系统中CAN总线通信网络传输、显示、存储等模块
的设计。

论文研究的主要内容包括以下几点:







1.CAN总线的原理、应用及其技术特性; 2.在上位机与下位机间组建一个可靠性高、实时性强、低成本、功能先进的CAN总线 通信网络; 3.硬件电路的设计:包括微处理器选型、电源电路及外围接口电路的设计并绘制PCB
电路板;

4.进行硬件与软件调试。

1.4本章小结
本章主要论述了现场总线的特点及发展趋势,对比了各种现场总线的特点及应用范围。 同时介绍了课题的研究背景及意义,阐述了论文研究的主要内容。



东北农业大学工学硕1j学位论文



CAN总线原理与技术规范
CAN总线简介
CAN(Controller
Area

2.1

Network)即控制器局域网,属于现场总线的范畴,是为解决现代汽

车中各种测量控制部件之间的数据传输问题而开发的一种串行数据通信总线。为了避免CAN 总线在使用中的不兼容,CAN总线制定了ISO(International
Organization for Standardization)

国际标准,称为IS011898标准。IS011898.1描述了CAN数据链路层,IS011898.2定义了“无 错误.误差CAN物理层”,IS011898.3规定了“错误.误差物理层”。在现场总线中,它是唯一 被国际标准化组织批准的现场总线(邬宽明,2005)。 由于CAN总线采用了许多新技术和独特的设计,使得CAN总线的数据通信在可靠性、 实时性和灵活性方面具有突出的性能,其主要技术特点可以概括如下: 1.实时性强,CAN总线在报文的标识符上把节点分成不同的优先级,优先级高的数据

最多可在134筇内得到传输;
2.多主方式工作,CAN总线网络上任意节点均可在任意时刻主动地向网络上的其他节 点发送信息,不分主从,但是优先级高的报文单元可以优先获得总线的访问权; 3.CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低 的:常点会主动地退出发送,而最高优先级的节点可不受影响的继续传输数据,从而节省了总 线冲突仲裁时间,尤其是在网络负载很重的情况下也不会出现网络瘫痪的情况; 4.报文滤波技术,CAN只需通过报文滤波技术即可实现点对点、一点对多点及全局广 播等多种方式传送数据; 5.CAN总线通信网络的直接通信距离最远可达10km,通信速率最高可达1Mb/s。通信 介质可为双绞线、同轴电缆或光纤。通信网络的节点数主要取决于总线的驱动电路,目前可 达110个; 6.CAN总线通信格式采用短帧格式,传输时间短,受干扰率低,具有极好的检错效果。 总线中,每一帧信息都有CRC校验及其他校验措施,保证了数据通信的可靠性。同时,当 CAN节点存在严重错误的情况下,节点具有自动关闭输出功能,以保证总线上其他节点的操 作不受影响; 7.CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数 据的成帧处理工作(史久根,2004)。



CAN总线原理与技术规范

2.2

CAN总线工作原理

2.2.1

CAN总线通信协议

随着CAN在各种领域的应用和推广,对其通信格式标准化的要求日益增长,1991年9
月Philips Semiconductors制定并发布了CAN技术规范,为控制器局部网标准化、规范化

推广铺平了道路。该技术规范包括A和B两部分。CAN2.0A给出了CAN报文标准格式, 将数据链路层的逻辑链路控制子层LLC(Logical
Link

Contr01)和介质访问控制子层

MAC(Medium Access Contr01)的功能描述为目标层和传输层。CAN2.0B给出了标准和扩展的

两种格式,定义了数据链路层的MAC子层和LLC子层的一部分,并描述了与CAN有关的 外层接口。CAN总线的分层结构及功能描述如图2.1所示。 为了使任何两个CAN器件之间建立兼容性,根据国际标准化组织ISO提出的OSI(Open
System

Interconnection)模型体系,CAN被细分为两个不同的层次:

Layer):包括逻辑链路控制子层LLC和介质访问控制子层MAC。 其中MAC是CAN协议的核心,它描述由LLC子层接收到的报文和对LLC子层发送的认可
数据链路层(Data Link

报文。MAC子层可响应报文帧、仲裁、应答、错误检测和标定,由称为故障界定的一个管 理实体来监控。LLC子层的主要功能是报文滤波、超载通知和恢复管理,为远程数据请求以 及数据传输提供服务。 物理层(Physical Layer):作用是在不同的节点之间根据其电气属性进行位的实际传输, 物理层主要分为物理信令(PLS—Physical Signaling)、物理媒体附属装置(PMA)、媒体相关接 口(MDI)(饶运涛,2007)。
接收滤波 超载通知 恢复管理

目标层
LLC



监督器

数据封装/拆封 帧编码 传输层
MAC

媒体访问管理 错误监测 出错标定 应答、串行化/解除串行化

位编码/解码 物理层 位定时 同步
J●

\驯早““障界总线故障管理

图2.1 CAN总线的分层结构
Fig.2?1 Layered
structure

of CAN bus



东北农业大学T学硕士学位论文

CAN总线是一种有效支持分布式控制或实时控制的串行通信网络,它的通信协议遵循以
下基本原则:

1.总线访问。CAN总线是共享媒体的总线,通常用石英晶振作为时钟发生器,以便独 立进行位定时的参数设置。这样,即便网络中节点的时钟周期不一样,仍可获得相同的位速 率。CAN总线控制器只能在总线空闲时开始发送,并采片j硬同步方式即内部位时间在同步段 重新开始,所有的CAN控制器同步都位于帧起始的前沿。为避免异步时钟因累计误差而错 位,CAN总线在硬同步后满足一定条件的跳变进行重同步即根据重同步跳转宽度编程值来调 整相位缓冲段l和相位缓冲段2的位时间。 重同步的基本原则是:当相位误差大于重同步跳转宽度且相位误差为正时,相位缓冲段 1延长总数为重同步跳转宽度;当相位误差大于重同步跳转宽度且相位误差为负时,相位缓 冲段2缩短总数为重同步跳转宽度。 2.仲裁技术。CAN总线使用的是“载波监测,多主掌控/冲突避免”CSMA(Carrier
Sense

Multiple Access)/CA的通信方式。总线上的每个节点在发送信息报文前都必须检测总线是否

处于一段时间的空闲状态,一旦检测到空闲状态,每个节点都有均等的机会来发送报文,这 被称作多主掌控。如果有两个或两个以上的节点同时发送,就会产生竞争。此时,CAN总线 根据报文的优先级采取“非破坏性的位仲裁方式”来实现冲突检测。报文的优先级结合在1l 位标识符中(扩展帧是29位标识符),具有最低二进制的标识符具有最高的优先级,这种优先 级一旦在系统设计时被确立后就不能再更改。一个优先级较低的报文在某一时刻会发送一个 逻辑为1的“隐性位”,但是检测回来的却是一个逻辑为0的“显性位”,此时,这个节点被 仲裁为发送权取消,立刻停止发送报文的工作,优先级较高的报文继续发送直到完整的报文 发送完毕。在冲突仲裁中被取消发送权的节点将在总线的下一个空闲状态尝试再一次发送。 3.编码/解码。帧起始域、仲裁域、控制域、数据域和CRC序列均使用位填充技术进行 编码。在CAN总线中,每连续5个同状态的电平插入一位与它互补的电平,还原时每5个 同状态的电平后的相补电平被删除,从而保证了数据的透明,报文的位流根据“不归零”(NRZ) 方法来编码即在整个位时间里,位的电平或者为显性或者为隐性。 4.出错检测。当任何站检测到位错误、填充错误、形式错误或应答错误时,由该站的 下一位开始发送出错标志。CAN总线中节点的故障状态分为三种:错误激活状(ErrorActive)、 错误认可状态(ErrorPassive)和总线关闭状态。为了界定故障,在每个总线单元中都设有两种 计数:发送出错计数和接收出错计数。 发送出错的计数原则是:发送器在发送一个错误标志时,发送器错误计数器加8,但如 果发送器为错误认可或仲裁期间发生填充错误发送器错误计数不改变;发送器发送一个活动 错误标志或超载标志时,它检测到位错误,则发送器错误计数器加8;接收器送出一个活动 错误标志或超载标志时,它检测到位错误,发送器错误计数器加8;在送出活动错误标志、 认可错误标志或超载标志后,任何节点都最多允许7个连续的显位,在检测到第11个连续的 显位后,或紧随认可错误标志检测到第8个连续的显位后,每个发送器的发送错误计数都加 8:当报文成功发送后,发送错误计数减l。 接收出错的计数原则是:接收器检查出错误时,接收器出错计数器加l,但如果检测错 误是发送活动错误标志或超载标志期间的位错误,接收器出错计数不变;当接收器在送出错


CAN总线原理‘j技术规范

误标志后的第一位检测出一个显位时,接收器错误计数器加8;在送出活动错误标志、认可 错误标志或超载标志后,任何节点都最多允许7个连续的显位,在检测到第1 1个连续的显位 后,或紧随认可错误标志检测到第8个连续的显位后,每个接收器的接收错误计数都加8: 报文成功接收后,如果接收错误计数处于l和127之间,则它的值减l,如果接受错误计数 为0,则仍保持为0,如果大于127,则将其值记为119和127之间的某个数值。 依据以上原则计算,当发送错误计数器大于或等于128,节点进入错误认可状态;当发 送错误计数器大于或等于256时,节点进入总线关闭状态;当发送错误计数器和接受错误计 数均小于或等于127时,错误认可节点再次变为错误激活节点;在检测到总线上11个连续的 隐位发生128次以后,总线关闭节点将变为两个错误计数器均为0的错误激活节点;当错误 计数数值大于96时,说明总线被严重干扰(史久根,2004)。 5.超载标注。一些CAN控制器会发送一个或多个超载帧用以延迟下一个数据帧或远程 帧的发送。

2.2.2

CAN总线报文的帧类型

在CAN总线报文传输中共有2种不同的帧格式:含有11为标识符的帧称之为标准帧: 含有29位标识符的帧称之为扩展帧。 CAN总线的报文有4个不同的帧类型: 数据帧(Data Frame):数据帧将数据从发送器传输到接收器。 远程帧(Remote Frame):总线单元发出远程帧,请求发送具有同一标识符的数据帧。 错误帧(Error Frame):任何单元检测到总线错误就发送错误帧。 过载帧(Overload Frame):过载帧用在数据帧或远程帧之间提供附加的延时。

2.2.2.1数据帧
数据帧(Data Frame)由7个不同的位域(Bit Field)组成:帧起始(Start ofFrame,SOF)、 仲裁域(Arbitration Field)、控制域(Control Field)、数据域(Data Field)、循环冗余码(CRC) 域、应答域(ACK Field)和帧结尾(End ofFrame)。数据帧的帧结构如图2.2所示。

——————————一数据帧——————————一
l o ∽

仲裁域

控制域

数据域

CRC域

2 U 《

图2.2数据帧结构
Fig.2—2 Data

frame structure

帧起始(SOF)标志数据帧和远程帧的起始,仅由一个显性位组成,在CAN总线中用“显 性(Dominant)”和“隐性(Recessive)”两个互补的逻辑值表示“0”和“l”。只有在总线空闲



东北农业大学T学硕十学位论文

时才允许站点开始发送信号。这个状态将结束总线的空闲状态,表明有某个节点准备开始发 送消息,并且所有节点都必须同步于首先开始发送的那个节点的帧起始前沿。 仲裁域由标识符(Identifier)和远程发送请求位(RTR)组成。在CAN2.0B中规定了标准帧 和扩展帧两种帧类型,这两种帧的仲裁域格式不同。在标准格式中,仲裁域由11位标识符和 远程发送请求位组成,标识符为ID.28~ID.18,最低位是ID.18,7个最高位(ID.28~ID.22)必 须不能全为隐性。在扩展格式中,仲裁域由29位标识符、替代远程请求SRR位、标识位和 远程发送请求位组成,标识符位为ID.28~ID.0,基本ID.1l位定义了扩展帧的基本优先权, 按照ID.28~ID.18顺序发送,扩展ID.18位,按照ID.17~ID.0顺序发送。IDE位对于扩展格 式属于仲裁域以显性电平发送,对于标准格式属于控制域以隐性电平发送。标准帧和扩展帧 的仲裁域结构如图2.3和图2.4所示。

卜—一仲裁域—————._一控制域
图2.3数据帧标准格式中的仲裁域结构
Fig.2?3 Arbitration domain
structure

of data frame in the standard structure

k———————一

仲裁域——————————‘一控制域

图2-4数据帧扩展格式中的仲裁域结构
Fig.2-4 Arbitration domain structure of data frame in the expanded structure

RTR位为远程发送请求位,在数据帧里必须为显性,而在远程帧里必须为隐性。 SRR位为代替远程请求位,是一位隐性位。它是在扩展帧中标准帧的RTR位的位置, 所以被称作代替远程请求位。 IDE位为标识符扩展位,位于扩展格式中的仲裁域和标准格式中的控制域。在标准格式 里IDE为显性,在扩展格式里IDE为隐性。 标准格式的控制域结构和扩展格式的控制域结构不同,其结构图如图2.5所示。在标准 格式里,控制域包括数据长度代码、IDE位、及保留位‰。扩展格式的控制域包括数据长度 代码和两个保留位R1和凡组成。两个保留位必须发送显性位。数据长度码(DLC)由DLC3、 DLC2、DLCl、DLC0这4位组成,它指示了数据域里的字节数目。数据帧长度允许的字节 数是O~8之间,其他数值不允许使用,如果选择的值超过8,则按照DLC规定认为是8。 DLC3~DLC0位的逻辑值为显性或隐性,数据的字节数按如公式2.1计算: 数据字节数=8×DLC3+4×DLC2+2×DLCl+1×DLC0
(2.1)



CAN总线原理与技术规范

仲裁域—◆卜
IDE/Rl

控制域———卜~CRC域 凡
n U — o
C-q

U — Q

— o J o

o U J o

图2.5控制域结构图
Fig.2-5 Control domain
structure

数据域由数据帧里被发送的数据组成,它可以包括0—8个字节。 循环冗余码(CRC)包括CRC序列和CRC界定符。 应答域的长度为2个位,包括应答间隙和应答界定符。在应答场中,发送器发送两个隐 位,当接收器正确地接收有效地报文时,接收器就会在应答间隙期间向发送器发送一个显性 位以示应答。应答界定符是应答域里的第二个位,必须是一个隐陛位。 帧结尾的的帧结束标志由7个隐位构成的标志序列组成(李正军,2005)。

2.2.2.2远程帧
远程帧用来请求总线上某个远程节点发送自己想要接收的某种数据,具有发出这种远程 消息能力的节点在收到这个远程帧后,就应尽力响应这个远程传送请求。远程帧由6个不同 的位域组成:帧起始、仲裁域、控制域、CRC域、应答域和帧结尾。远程帧的结构如图2-6 所示,在远程帧中没有数据域而且RTR位被置l。

l?
‰ o ∽

一一
仲裁域

远程帧————◆{
CRC域
型 U 《

控制域

图2-6远程帧结构图
Fig.2-6 Remote frame structure

2.2.2.3错误帧
错误帧由两个域组成,第一个域是不同站提供的错误标志的叠加,第二个域是错误界定 符。 错误标志包括两种形式:“激活错误”标志和“认可错误”标志。激活错误标志由6个 显性位组成,认可错误标志由6个隐性位组成。CAN总线上的各个节点在检测到错误时开始 进行故障界定,然后开始发送错误标志。如果是激活错误,各个节点的错误标志叠加在一起 形成一个显性位的序列,这个序列总长度最小为6个位,最大为12个位,可以在总线上监测 到,如果是认可错误,则错误认可的节点从“认可错误”标志的开头起,等待6个连续的隐



东北农业大学]二学硕{:学位论文

性位,当6个隐性位被检测到时,“认可错误”标志就完成了。 错误界定符包括8个隐性位。传输了错误标志后,每个节点就发送一个隐性位,并一直 监视总线,直到检测出一个隐性位开始发送其余7个隐性位(饶运涛,2007)。

2.2.2.4过载帧
过载帧包括两个位域:过载标志和过载界定符。当某接收器因为内部原因要求缓发下一 个数据帧或远程帧时,它向总线发出过载帧,过载帧还可以引发下一个过载帧,但是以两次 为限。 过载标志由6个显性位组成。当接收器向总线发出过载帧时,由于过载帧的格式违背了 从帧的起始到CRC界定符的位填充规则,也破坏了ACK域或帧结尾的固定格式。这样一来 所有其他节点都会检测到过载条件,并与此同时发出过载标志。 过载界定符包括8个隐性位,当过载标志被传送后,节点就一直监视总线,直到检测到 一个从显性位到隐性位的跳变为止,这时总线上的每个节点完成了各自过载标志的发送,并 开始同时发送其余7个隐性位(路小俊,2002)。

2.2.3

CAN总线的编码方式
Stream

编码即位流编码(Bit

Coding),CAN总线报文的位流采用“不归零”(NRZ)的方

法米编码即在整个时间里,位的电平或者为显性,或者为隐性。当显性位流和隐性位流同时 发送时,最后总线数值将为“显性”,这也是CAN总线故障界定和错误检测的依据。 帧起始、仲裁域、控制域、数据域以及CRC序列,均通过填充的方法编码。发送器只 要检测到位流里有5个连续相同值的位,便自动在位流里插入一个反值的补充位。数据帧或 远程帧的其余位域格式固定,没有填充。错误帧和过载帧的格式也固定,它们不用位填充的 方法编码。 CAN总线的电气特性图如图2.7所示,CAN总线收发器与CAN总线之间的两个接口引 脚位VcAN.H和VcAN.L’信号是以两线之间的“差分”电压形式出现。在稳态情况下,当CAN 总线为隐性位时,VcAN.H和VcAN.L被固定在平均电压附近,大约2.5V,差分电平 Vdiff=VcAN.H-VcAN.L近似于0。在总线空闲或隐陛位期间,发送隐性位。显性位以大于最小阀 值的差分电压表示。当CAN总线为显性位时,vcAN.H被置于3.5V,VCAS-L被置于1.5V, vdi萨vcAN.H.VCAN.L近似于2V。在实际的位流传送过程中,为了保证差分电压形式的信号有 一定的抗干扰能力和容错能力,当接收器检测到Vdiff小于0.5 ̄0.4V时,即认为总线为隐性位; 当接收器检测到V硼大于0.9~lV时,即认为总线为显性位(史久根,2004)。

10

CAN总线原理与技术规范

U(V)

3.5V

平均电压水平2.5V

1.5V

T(s)

图2-7 CAN总线的电气特性图
Fig.2-7 Electrical characteristic diagram of CAN bus

2.3本章小结
本章研究了CAN总线的工作原理、技术规范、通信协议及编码方式等内容,为实现上 位机与下位机的CAN总线通讯进行了针对性的理论研究。

东北农业大学工学硕{j学位论文



CAN总线系统的硬件设计
CAN总线通信系统的结构
CAN系统由CAN网络节点、转发器节点和上位机构成。节点是网络上信息的接收站和

3.1

发送站,由于总线收发器物理信号驱动能力的限制,在一个CAN总线的网络上,最多可挂 接110个节点。所谓的智能节点是由微控制器与可编程的CAN控制器组成,其常用结构图 如图3.1所示。CAN总线把抟接在现场总线上的所有智能节点连接成一个网络体系,实现基 本的控制功能(刘光,2006)。
CAN Bus

图3.1 CAN总线智能节点结构图
Fig.3-1 Intelligent node structure ofCAN bus

CAN总线可以是任意的拓扑结构,但一般说来CAN总线有4中常用的拓扑结构:总线 拓扑、环形拓扑、星形网络拓扑、网状拓扑。它们各自特点不同,应用的场合也各有不同。 环形拓扑结构是每个节点与两个最近的节点相连接以使整个网络形成一个环,数据沿着 环向一个方向传送。环中的每个节点相当于一个能再生和发送信号的中断器,它们接收环中 的数据,然后再将数据发送到下一个节点,信息在网络中沿固定方向流动,两个结点间仅有 唯一的通路,大大简化了对路径选择的控制。某个结点发生故障时,可以自动旁路,可靠性 较高。但是,当环中的节点数增加时,响应时间也就变得越长,由于环路封闭故不方便扩充。 星形网络拓扑有一个中央设备,网络中的每个节点将数据发送到中央设备,再由中央设 备将数据转发到目标节点。星形网络中任何单根电线只连接两个设备,因此电缆问题最多影 响两个节点,不会导致整个网络的通信中断,但中央节点的负担过重,它的失败将会造成整 个星形网络的瘫痪。

12

CAN总线系统的硬件设计

网状拓扑结构中,每两个节点都是直接互联的。数据能够从发送地直接传输到目的地, 如果一个连接出了问题,将能够轻易并迅速地更改数据的传输路径,因此网状拓扑是最具有 容错性的网络拓扑结构,主要用于广域网领域。它的一个缺点是成本问题,将CAN网络中 的每个节点与其他节点连接需要大量的专用线路。 总线拓扑结构由单根电缆组成,该电缆连接网络中所有的节点。单根电缆称为总线,它 仅仅只能支持一种信道,因此,所有节点共享总线的全部带宽。在总线网络中,当一个节点 向另一个节点发送数据时,所有节点都将被动地侦听该数据。基于它结构简单灵活,非常便 于扩充,网络响应速度快的特点,总线型网络结构是目前使用最广泛的结构,也是最传统的 一种主流网络结构,适合于信息管理系统、办公自动化系统领域的应用(史久根,2004)。 从联合收割机车载测产系统的实际需要节点数量、传输距离及成本方面综合考虑,总线 型拓扑结构是本设计最理想的拓扑结构。车载系统CAN总线通信部分包括3个节点:上位 机控制节点、电子秤称重节点、GPS测量经纬度节点。整个测产车载系统的CAN总线通信 网络图如图3.2所示。

L……………一.....……….…;

?………….….……….

智能节点1

智能节点2

图3.2 CAN总线通信网络图
Fig.3—2 Communication network of CAN bus

13

东北农业大学T学硕士学位论文

3.2下位机的CAN总线通信接口电路设计
智能节点的CAN总线接13部分由Philips半导体公司生产地SJAl000独立CAN控制器 和CAN总线收发器82C250及光耦隔离器6N137组成。

3.2.1独立CAN控制器SJAl000
SJAl000具有完成CAN总线通信协议所需的全部特性,其内部结构图如图3.3所示。

ALE,AS、CS CLKOUT、WR

3~7、

ll、16控制 接口管理逻辑

:l‰

(RD)/t—
MODE、INT AD7~AD0 23~28 l~2 8位地址,

内部总线
13 14

数据总线

位时 位流 处理 缓冲器 器

19 20
_——

序逻 辑

_——

2l 18

砌伍IFO

_一 验收
滤波

:}‰珊嘲篇=l:l

厂援眨]

l堡壁墨I



管理f

XTALl XTAL2

而——————叫

9.....................——

振荡器

赢1卫

图3-3 SJAl000内部结构图
Fig.3-3 The internal
structure

of SJA 1 000

它的基本特性如下: 1.引脚与PCA82C200独立CAN控制器兼容; 2.电气参数与PCA82C200独立CAN控制器兼容; 3.具有两种工作模式:BasicCAN模式和PeliCAN模式; 4.有扩展的接收缓冲器64字节,先进先出(FIFO); 5.支持CAN2.0A和CAN2.0B协议; 6.支持11位和29位标识码; 7.通信速率可达1Mbps; 8.最大24MHz时钟频率; 9.可与不同的微处理器接口;

14

CAN总线系统的硬件设计

10.可编程的CAN输出驱动器配置; 11.温度适应范围大(一40~+125℃);

12.PeliCAN模式的拓展功能有:可读何访问的错误计数寄存器;可编程的错误报警限
额寄存器;最近一次错误代码寄存器;对每一个CAN总线错误的中断;有具体位表示的仲 裁丢失中断;单次发送(无重发):只听模式(无确认、无激活的错误标志)、支持热插拔(软件 进行位速率检测)、验收滤波器的拓展(4字节的验收代码,4字节的屏蔽);接收自身报文(自 接受请求)。 其各部分控制模块功能说明如下: 1.接口管理逻辑(IML):接口管理逻辑解释来自CPU的命令,控制CAN寄存器的寻址, 向主控制器提供中断信息和状态信息; 2.发送缓冲器(TXB):发送缓冲器是CPU和位流处理器(BSP)之间的接口,能够存储 发送到CAN网络上的完整信息,缓冲器长13个字节,由CPU写入、BSP读出; 3.接收缓冲器(RXB):接收缓冲器是验收滤波器和CPU之间的接口,用来储存从CAN 总线上接收的信息。接收缓冲器(13个字节)作为接收FIFO(长64字节)的一个窗口,可被 CPU访问。CPU在FIFO的支持下,可以在处理信息的时候接收其它信息; 4.验收滤波器(ACF):验收滤波器把它其中的数据和接收的识别码的内容相比较,以决 定是否接收信息,在纯粹的接收测试中所有的信息都保存在RXFIFO中; 5.位流处理器(BsP):位流处理器是一个在发送缓冲器、RXFIFO和CAN总线之间控制 数据流的程序装置。它还在CAN总线上执行错误检测仲裁填充和错误处理; 6.位时序逻辑(BTL):位时序逻辑监视串口的CAN总线和处理与总线有关的位时序。 它在信息开头“隐性.显性”的总线传输时同步CAN总线位流(硬同步),接收信息时再次同 步下一次传送(软同步)。BTL还提供了可编程的时间段来补偿传播延迟时间、相位转换、定 义采样点和一位时间内的采样次数; 7.错误管理逻辑(EML):EML负责传送层模块的错误管制。它接收BSP的出错报告, 通知BSP和IML进行错误统计。

3.2.2

CAN总线收发器PCA82C250

PCA82C250是CAN控制器与物理总线之间的接口,它最初是为在汽车中提供高速信号 通信而设计的,PCA82C250芯片的内部结构如图3-4所示,各管脚的功能如表3.1所示。它 具有以下特性: 1.完全符合ISOll898标准; 2.高速率(最高可达1Mb/s): 3.具有抗汽车环境中的瞬间干扰,保护总线的能力; 4.斜率控制,降低射频干扰(RFI): 5.差分接收器,抗宽范围的共模干扰,抗电磁干扰(EMI):
6.热保护;

15

东北农业大学工学硕上学位论文

7.防止电池和地之间发生短路; 8.低电流待机模式; 9.未上电的节点对总线无影响(饶运涛,2007)。

图3-4 PCA82C250内部结构图
Fig.3-4 The internal structure of PCA82C250

表3-1 PCA82C250管脚说明
Tab.3-1 Pins explanation ofPCA82C250

PCA82C250共有3种工作模式,模式选择通过Rs引脚来提供。 第一种工作模式是高速模式,它支持最大的总线传输速率和最大的总线长度。这种模式 通过VR5<0.3Vcc来选择将Rs的阻值。 第二种工作模式是斜率模式,这种模式的输出转换速度被有目的地降低以减少电磁辐

16

CAN总线系统的硬件设计

射。转换速度可以通过连接在控制引脚Rs上的串联阻抗值来调整。一般情况下,总线输出的 转换速度大致和流出引脚Rs的电流成比例,电流范围在10uA<-IRs<200uA。如果引脚Rs的 电流控制在这个范围内,则要求引脚Rs的电压为0.5Vcc左右。凭经验来说,此时串联阻抗

的阻值在16.5触一140/娩之间,才符合引脚RS的输出电流范围。
第三种工作模式是准备模式,这种模式是在需要将功耗减到最低时使用。当VR。>0.75Vcc 时,进入准备模式的工作状态。 82C250采用双线差分驱动,驱动电路内部具有限流电路,可以防止发送输出级对电源、 地及负载短路(徐文尚,2001)。

3.2.3下位机CAN总线通信系统接口电路
本系统中的CAN总线智能节点采用STC89C58RD+作为微处理器,SJAl000作为CAN 总线控制器,82C250作为CAN总线收发器。为了保护MCU不受CAN总线上的干扰信号影 响,在微处理器与SJAl000中引入高速光电耦合器6N137进行系统隔离,CAN控制器SJAl000 与微处理器的接口电路图如图3.5所示(佟为明,2004)。

图3.5 CAN控制器SJAl000与微处理器的接口电路
Fig.3—5 The interface circuit between microcontroller and SJA 1 000

智能节点的微控制器采用STC89C58RD+系列单片机,它是台湾宏晶公司推出的新一代 超强抗干扰、高速、低功耗的单片机。STC89C58RD+系列单片机的特点如下: 1.内部有32K的Flash存储器、1280字节的RAM、以及16K的EEPROM,它的指令 与标准的8051系列单片机完全兼容; 2.高抗静电性、强抗快速脉冲干扰特性以及宽电压和温度范围特性; 3.I/O口和其内部的电源供电系统、时钟电路、复位电路和看门狗电路等经过特殊处理,

17

东北农业大学工学硕上学位论文

所以它具有超强的抗干扰能力; 4.采用禁止ALE输出等措施保证了它的时钟对外部电路有较低的电磁辐射; 5.超低功耗、支持在线编程、加密性强。 微控制器中31脚引入5V电源为单片机供电,D2为通电指示灯,R2是二极管的分压电 阻。18、19引脚是单片机的晶振接口,单片机外接11.0592M晶振。lO、11脚是单片机与PC 机串口通信接口引脚,MX232是PC机与单片机之间的电压转换芯片(唐颖,2008)。 对于微处理器来说,SJAl000相当于外设I/O器件。因此将SJAl000的AD0~-AD7连接 到STC89C58RD+的P0口,CS连接到STC89C58RD+的P2.7,P2.7为0时,CPU片外存储 器地址可选中SJAl000,CPU通过这些地址可对SJAl000执行相应的读/写操作。SJAl000 的RD、WR、ALE、分别与STC89C58RD+的对应引脚相连,MODE引脚置为高电平,即 可选择适用于8051系列单片机的Inter模式,复位引脚与STC89C58fU卜卜的P2.2口相连,这 样做的好处是单片机可以完全控制SJA 1 000的复位过程。SJA 1 000的ⅢT接STC89C58RD+ 的INT0,微控制器通过中断方式访问SJAl000。V叻l、VDD2和VDD3是输入比较器5V电源 的输入端,Vssl、Vss2和Vss3是输入比较器的接地端。xl和X2两个引脚外接16M晶振(欧 阳斌林,2001)。 为了增强CAN总线节点的抗干扰能力,SJAl000并不是直接与82C250相连,而是通过 高速光耦6N137后与82C250相连,这样就很好的实现了总线上各CAN节点间的电气隔离, 更好的抑制误码率,减少出错重发的次数。CAN控制器SJAl000与CAN收发器的接口电路 如图3-6所示。CANH和CANL与地之间并联了2个30pF的电容,可以起到滤除总线上的 高频干扰和电磁辐射的作用(童诗白,2003)。另外在两根总线接入端与地之间分别反接了一 个保护二极管,当总线有较高的负电压时,通过二极管的短路可以起到一定的过压保护作用
(石磊,2005)。

图3-6 CAN控制器SJAl000与CAN收发器PCA82C250的接口电路
Fig.3-6 The interface circuit between SJA 1 000 and PCA82C250

6N137是一款高速光耦合器,是输入输出之间的转换装置。作为一款线性接收装置,它 突破了传统线性装置对环境的限制,更适应于噪声环境。6N137内部结构图如图3.7所示,
18

CAN总线系统的硬件设计

真值表如表3-2所示。

图3.7 6N137内部结构图
Fig.3?7 The internal structure of 6N 1 37

表3-26N137真值表
Tab.3.2 6N 1 37 True T'able

当输入端加电信号时发光器发出光线,受光器接受光线之后就产生光电流,从输出端流 出,从而实现了“电一光一电’’转换。6N137以光为媒介把输入端信号耦合到输出端的光电耦 合器,单向传输信号,实现了输出和输入之间隔离。 但是必须注意,光耦部分的电路电源端和使能电源端的两个电源必须隔离,否则采用光 耦也就失去了意义。同时在输出端与地之问要接入15pF的电容来滤波。82C250的CANH和 CANL引脚各自通过一个120Q的电阻与CAN总线相连,起到限流和保护82C250免受过流 冲击的作用,同时在CANH和CANL与地之间并联了两个30pF的小电容,起到滤除总线上 的高频干扰和防辐射的能力。另外在两根CAN总线输入端和地之间分别接了一个防雷击管, 当两输入端与地之间出现瞬变干扰时,通过防雷击管的放电可起到一定的保护作用(刘光,
2006)。

3.3主控制系统硬件电路设计

3.3.1微控制器TMS320LF2407介绍
微控制器(MCU)是控制器单元的核心,主要负责CAN总线数据的接收和发送,CAN协

19

东北农业大学工学硕十学位论文

议数据的解析。阀的驱动控制,检测电路控制以及信号的接收和解析等工作。因此微控制器 的选择是系统设计的重要环节,不仅要考虑满足系统功能的要求,还应该综合考虑开发周期、 可靠性、成本和实际推广应用等因素。本部分的主控制芯片采用TI公司的TMS320LF2407A, 是目前业内使用最为广泛的一款C2000DSP器件,属于定点DSP控制器。DSP2407芯片的运 行速度可达4000万条指令/S(40MIPS),使其速度远远超过任何传统的16位微处理器,TMS
320LF2407A芯片具有如下特点:

1.采用静态CMOS技术,3.3V电压供电,40MIPS:

2.片内含有32K字节的FLASH,1.5KB的数据/程序RAM,544B双口RAM(DARAM)
和2KB的单口RAM(SARAM); 3.两个事件管理器EVA和EVB,每个事件管理器又包含有两个16位的通用定时器,8 个16位的PWM死区控制,3个捕获单元,正交编码脉冲电路,16通道的ADC电路; 4.可扩展的192K字外部存储器;64K字的程序存储器、64K字的数据存储器、64K字
的I/o寻址空间;

5.看门狗定时器(WDT)模块; 6.I/o的ADC最小转换时间为500ns; 7.区域控制器(CAN)模块; 8.串行通信(SCI)模块; 9.串行外设接口(SPI)模块; 10.带有锁相功能的时钟电路; 11.40个可编程的输入/输出引脚; 12.5个外部中断源; 13.电源管理包括3种低功耗模式,并且能独立将外设器件转入低功耗模式(王茂飞,
2007)。

DSP2407的基本结构由中央处理器(CPU)、存储器、片内外设与专用硬件电路三个部分 组成。其中,CPU主要包括中央算术单元(CALU)、累加器(ACC)、乘法器(MUL)、移位寄

存器和寻址单元。存储器包括片内Flash、片内ROM、单存取RAM(SARAM)和双存取RA
M(DARAM)。片内外设与专用硬件电路包括数字输入输出模块(I/(3)、事件管理模块(EV)、 模数转换模块(ADC)、串行外设模块(SPI)、串行通信模块(SCI)、局域网控制模块(CAN)等。 功能框图如图3.8所示(何苏勤,2003)。

20

CAN总线系统的硬件设计

事件管珲器B 2个定时器

5个比较器
8个脉冲调制输出 死区逻辑 3个输入捕款器 2个正交编码脉冲通道

图3-8 TMS320LF2407A功能框图
Fig.3-8 The function block diagram of TMS320LF2407

3.3.2主控制系统CAN总线接口电路设计
TMS320LF2407的CAN控制模块是一个完全的CAN控制器,该控制器是TMS320LF24 07A的一个16位外设模块,它完全符合CAN总线的CAN2.0B技术规范,只需要一个CAN 驱动芯片PCA82C250就可以很容易地使DSP芯片接入CAN总线。CAN总线模块的结构图 如图3-9所示(张雄伟,2005)。

2l

东北农业人学T学硕十学位论文

控制/状态寄存器中断逻辑


传输缓冲


I,、DT



1 r

CAN核

._

乙ru



1一

CPU接121/存储控制单元
I—

叫j燮

‘弋孓F

▲ ,

J l


暂时接收缓冲

信箱0 信箱1 信箱2 信箱3 信箱4 信箱5
1 r

数据

ID


? 一


接收滤波器 一……一

控制逻辑

7』
一I

图3-9CAN模块结构图
Fig.3-9 The structure diagram of CAN module

此款CAN模块完全支持CAN2.0B协议,数据采用邮箱的方式进行发送和接收,在它的 6个邮箱中0和1是接收邮箱,4和5是发送邮箱,2和3两个邮箱可以配置为发送邮箱也可 以配置成接收邮箱。 TMS320LF2407的通信模块(CAN/SPI/SCI)引脚如表3.3所示。CAN模块接口电路图如 图3.10所示,系统采用6N137光耦隔离器来实现和外部的隔离。TMS320LF2407的通信模 块(CAN/SPI/SCI)引脚如表3.3所示。 表3.3通信模块引脚
Tab.3—3 Pins explanation ofcommunication module

引脚名
CANRX/IOPC7 CANTX/lOPC6 SCITXD/IOPAO SCIRXD/IOPA l SPICLl(/IOPC4

功能
CAN数据接收或GPIO

CAN数据发送或GPIO SCI异步串行口发送数据或GPIO SCI异步串行口接收数据或GPIO
SPI时钟或GPl0

SPlSIMO/IOPC2 SPISIMI/IOPC3
SPISTE/IOPC5

SPI被动输入、主动输出或GPIO SPI被动输出、主动输入或GPIO
SPI被动发送使能或GPIO

CAN总线模块的接口电路中,CANTX和CANRX并不是与总线收发器直接相连,而是 需要光耦隔离器6N137用来隔离总线外的干扰信号。电阻R9(120Q)和R10(120f2)是CAN

CAN总线系统的硬件设计

总线终端的匹配电阻。82C250作为总线收发器,它提供对总线的差动发送和接收功能。总线 接口电路图如图3.10所示。

jF

图3.10CAN模块接口电路
Fig.3—1 0 The interface circuit of CAN module

3.3.3显示模块的电路设计
本系统采用的是SEKIOEPSON公司出品的液品控制器SEDl335,它在同类产品中是功 能最强的。液晶显示控制器SEDl335具有功能较强的I/O缓冲器和丰富的指令系统,可以并 行传送四位数据,最大驱动能力达640×256点阵,而且能够实现图形和文本格式混合显示。 SEDl335硬件结构可分成接口部分、内部控制部和驱动液晶模块LCD的驱动部分。 接口部分由指令输入缓冲器、数据输入缓冲器、数据输出缓冲器和标志寄存器组成。这 些缓冲器通道的选择是由引脚A0和读、写操作信号联合控制。 控制部分以SEDl335为核心,它由振荡器、功能逻辑电路、显示RAM管理电路、字符 库、管理电路以及产生驱动时序的时序发生器组成,振荡器工作频率可在l~10MHz范围内 选择。SEDl335能在很高的工作频率下迅速解译MPU发来的指令代码,将参数置入相应的 寄存器内,并触发相应的逻辑功能电路运行。 驱动部分具有显示区的合成显示能力,传输数据的组织功能及产生液晶显示模块所需要 的时序脉冲信号(杨洋,2009),SEDl335接口引脚如表3.4所示。

詈喜曼鼍詈皇曼皇皇皇皇!曼寡皇皇掌li li,L!皇曼!皇鼍皇皇皇曼曼皇鼍皇曼皇詈皇置曼鼍
表3—4 SEDl335接口引脚
Tab.3?4 Pins explanation ofSEDl335

东北农业大学丁学硕}=学位论文

引脚名 DB0~DB7
CS I/O
RD

功能

三态,数据总线。可直接挂在MPU数据总线上 输入片选信号。低有效。当MPU访问SEDl330时,将其置低 输入I/O缓冲器选择信号,A0=I写指令代码和读数据,A0=0写数据和参数 读操作信号 写操作信号 输入,复位信号,低电平有效

缪冗
RES

液晶显示部分与DSP2407接口电路如图3.1l所示。

VDD

V!js

loPA7 10PA6 10PA5 I(PA4

55
57

陋Sr


75 79

RW
加 Ⅶ

ⅦE
10P臼D
10PE珏

10PE2 IaPEB 10PBl 10PB5 IoP日5 10Pl努

∞Ⅸ呓踢ⅨⅨ酯所

眦A
3加电da(D

图3.1l液晶显示部分接口电路
Fig.3—1l The interface circuit of LCD

在液晶显示接口电路中,DSP2407的引脚IOPB0~IOPB7作为GPIO(通用输入,输出) 接口与液晶屏的DB0-DB7相连接,用于与数据通信。显示屏中,负电源VEE和滑动变阻器 R9来为对比度调节引脚R9提供负电压,从而来控制LCD的显示效果。显示屏采用 320×240LCD液晶显示屏,其引脚功能如表3.5所示。

CAN总线系统的硬件设计

表3-5液晶显示屏引脚功能图
Tab.3—5 Pins explanation of LCD

3.3.4存储模块的电路的设计
本系统的存储器采用的是12C总线芯片AT24C1024,它是Atmel公司生产的大容量串行 E2PROM,其容量为128KB,其引脚说明如表3.6所示。 表3-6 AT24C1024引脚功能图
Tab.3-6 AT24C 1024 pins explanation

引脚名
VCC
SDA

功能

外接5V电源 数据端 时钟输入端
写保护

SCL

WP
NC
GND

地址输入端 接地端

12C总线芯片AT24C1024的特点是: 1.结构紧凑、接口简单、读写方便;

25

东北农业人学工学硕十学位论文

2.宽电压工作范围(+2.5---+5.5V); 3.低功耗设计,其在5.5V工作电压条件下的静态电流为100nA,最大写操作电流为3mA, 最大操作电流为4001xA; 4.I/o噪声抑制。 在本系统中,存储系统用于存放联合收割机在田间作业时所采集到得经度、维度、产量 等数据。由于存储容量的需要,设计两片AT24C1024同时连接在12C总线上,存储容量可达 到256KB。CAN总线的接口电路图如图3.12所示。 12C总线是一种串行数据总线,只有两根信号线,一根是双向的数据线SDA,另一根是 时钟线SCL。由于AT24C是漏极开路,所以采用R9和R10做为上拉电阻,阻值为4.7K。

图3.12存储电路接口电路图
Fig.3-1 2 The interface circuit of storage circuit

本系统的12C总线上连接了两片ATCl024,两芯片的片选段片选脚2不能连成同一电平 编码(陈红仙,1999)。

3.4本章小结
本章主要完成了下位机CAN总线接口电路的设计,以及主控制节点的CAN总线接口电 路、显示和存储模块硬件电路的设计。

26

CAN总线通信系统的软件设计



CAN总线通信系统的软件设计

4.1下位机的CAN总线通信软件设计

4.1.1初始化SJAl000控制器
SJAl000上电复位后,必须对相关的寄存器进行设置。在设置寄存器的状态之前,必须 首先通过控制寄存器设置SJAl000工作在复位模式,因为只有工作在复位模式下,寄存器才 可以被写入设置信息。需要写入的寄存器主要包括时钟分频寄存器、命令寄存器、验收码寄 存器、验收滤波寄存器、总线定时器0、总线定时器l和输出控制寄存器。其流程图如图4.1 所示(路小俊,2002)。

图4-l初始化SJAl000流程图
Fig.4?1 Initialization SJA 1 000 sequence

本系统中CAN控制器采用BasicCAN工作模式,此工作模式下个寄存器的地址表如表
27

东北农业大学工学硕十学位论文

4.1所示(周立功,2007)。 表4.1 BasicCAN分配地址表
Tab.4—1 Assigned address table of BasicCAN

微控制器和SJAl000之间状态、控制和命令信号的交换都是在控制端中完成的。初始化 写入后,验收代码、验收屏蔽、总线时序0和l以及输出控制等寄存器的内容就不能改变了(饶 运涛,2007)。 各寄存器的初始化程序如下:
void initialCAN0


SJA

rest=0;H*SJA复位信号低电平有效+// //*检查是否清楚复位标志位并判断是否离开复位模式+// rest=l:H*SJA复位结束}//

delay(100);
SJA

CAN总线通信系统的软件设计

SJA BCANAdr=REG CONTROL; *SJA BCANAdr=0x02;

//*设置控制寄存器木∥ //*接收中断使能宰∥ 胪进入寄存器复位模式*// //*进入测试寄存器?//

do{;}while(BCAN_ENTER_RETMODEL0); do{;}while(BCAN_CREAT_COMMUNATION0); do{;}while(BCAN_SET_BANDRATE0);

do{;}while(BCAN_SEl9BJECT(0x00,OxfO);
do{;}while(BCAN_SET_OUTCLK(0xda,0x08)); do{;}while(BCAN_.QUIT_RETMODEL0);


”设置ACR和AMR4i{ //*设置输出控制寄存器+// 胪退出复位模式幸//

控制寄存器(CR)的作用是改变CAN控制器的行为,控制寄存器各位的功能如表4.2所 不o 表4.2控制寄存器各位的功能说明
Tab.4-2 Bits explanation ofcontrol register

东北农业大学T学硕上学位论文

进入寄存器复位模式时的程序如下(谭浩强,2004):
bit BCAN_ENTER_RETMODEL(void)


uchar TempData;

SJA_BCANAdr=REG_CONTROL; TempData=埠SJA BCANAdr;

∥访问指针指向控制寄存器的位置奉//

宰SJA_BCANAdF-(TempData[0x01);
//P1^0=O:

胪置位复位请求宰//
//测试指示

if((串SJA_BCANAdr)&0x01一I)

return
O;


else


return

1;?



) 总线时序寄存器0(BTRO)定义了波特率预置器(BRP)和同步跳转宽度(SJW)的值,在复 位模式有效时,这个寄存器是可以被访问的。总线时序寄存器1(BTRl)定义了一个位周期的 长度、采样点的位置和在每个采样点的采样数目(刘松,2003)。表4-3给出了在SJAl000的 晶振采用16MHZ时CiA协会推荐的BTR0和BTRI的标准值。 表4.3波特率设置表
Tab.4?3 Baud
rate

setting table

30

CAN总线通信系统的软件设计

初始化时钟分频寄存器时的程序如下:
bit BCAN_SET_BANDRATE(void)


uchar BTR0_num=0x00;
uchar BTRl_num=0xIe;

//*波特率设置为500K查表得BTR0值奉// //*波特率设置为500K查表得BTRl值+∥ //*指针指向总线定时寄存器0"// //*将定时器0的数值写入指针奉//

SJA_B-CANAdFREG_BTR0;
*SJA BCANAdFBTR0 nurn;

if(木SJA_BCANAdr!=BTRO_num) {
return l:

胪如果数值写入失败重新进入函数赋值}//


SJA_BCANAdr=REG_BTRI; *SJA_BCANAdr=BTRI_num;

//*指针指向总线定时器1奎∥ //幸向指针中写入数值奉// //*检验写入的数值木//

if(*SJA_BCANAdr!=BTRI_num) {
returrl

1;


return

O;



初始化输出控制寄存器的程序:
bit

BCAN-sET_OUTCLK(uchar Out_Control,uchar Clock_Ou0 //*指针指向输出控制寄存器?//


SJA_BICANAdr=REG_OCR;

宰SJA—.BCANAdr--Out_Control;

if(*SJ√邶CANAdrl=Out_Contr01)

return 1;

//*校验写入值木∥

} SJA_BCANAdFREG_CDR;
宰SJA_BCANAdr--Clock_Out;

//*指针指向时钟分频寄存器+∥ 胪向寄存器写入数值,BCAN模式下,二分频牛// //*校验写入值幸∥

if(木SJA_BCANAdr!=Clock_Out) {
return 1;


return O:



3l

东北农业大学T学硕.I二学位论文

4.1.2 SJAl 000报文发送子程序

报文的发送可以采用中断方式,也可以采用查询方式。在本系统中,关闭SJAl000的发 送中断源,采用查询方式完成报文的发送(马忠梅,2000)。SJAl000的报文发送是通过CAN 控制器自动完成的,发送时只需把报文发送到SJAl000的发送缓冲器,然后通过命令寄存器 启动发送命令即可完成,其流程图如图4.2所示。

图4.2发送子程序流程图
Fig.4-2 Transmit program sequence

发送缓冲器分为描述符区和数据区,只有在操作模式下,微控制器才能对发送缓冲区进 行读或写操作。在复位模式下读出的值总是“FFH”。描述符区存放的内容是标志码(ID)、发 送数据的长度、发送数据的类型。标识符由1l位ID号组成(ID.0~ID.10),它相当于报文的 名字,标识码的值越低,其优先级越高。数据类型分为远程帧和标准帧,由RTR位决定,当 RTR为l时,发送的数据位远程帧,当RTR为0时,发送的数据位标准帧。数据区存放8 组数据,具体传送时候需要用到几组由数据长度码(DLC.0~DLC.3)决定,为了保持兼容性, 数据长度码不超过8,如果定义的值超过了8,按照DLC规则认为是8(甘永梅,2004)。 命令寄存器控制的是SJAl000的传输层,命令寄存器各位的功能和置位值如表4-4所示。

32

CAN总线通信系统的软件设计

如表中给出的置位值,当报文填写成功后,将命令寄存器中的TR位置l,报文即可发送(马
昕,2006)。

表4-4 SJAl000命令寄存器功能表
Tab.4-4 Command register explanation of SJA 1 000

发送的程序:
void requst_data(uchar}tt)



intj=0,b=l,c,s,y;
c=strlen(buff_GPS 1);
s=c/8; y--e%8;

SendButf【0]=0x0 1;

for0=oij<c0++) { ifO<s?8)

M斗;

SendBulf【b]=tt[j];
iffb------9) { SendBuf[1】=0x08; BCAN—DATA—WRITE(SendBuf); BCAN_CMD_PRG(TR_CMD);
b=l;

//*发送数据到发送缓冲区¥/,

33

东北农业大学工学硕十学位论文

delay(1 000);


else



卅:
SendBuf[1]=y+l; SendButIb]--tt[j];

if【b—(1+y))
{ BCAN_DATA—WRlTE(SendBuf); BCAN_CMD PRG(TR_CMD);
b=l;

//*发送数据到发送缓冲区宰//

//delay(1 500);



4.1.3

SJAl000报文接收子程序

SJAl000接收报文采用接收中断方式接收。首先开启单片机的外部中断O,设置单片机 外部中断的中断优先级和中断触发方式。在SJAl000中,当一个报文被无误地接收后, SJAl000便会向单片机发送一个低电平中断信号,单片机则会在该中断信号下产生一个INTo 中断(张毅刚,2003)。在该中断函数中,单片机首先判断其中断类型是接收中断还是发送中 断,如果是接收中断,系统将检测该报文是否有效,同时检测信息帧类型是远程帧还是标准 帧。检测完之后,系统将接收的报文暂时存储在单片机的存储单元中。接收报文的流程图如 图4.3所示。 中断寄存器(IR)的作用是中断源的识别。当该寄存器的一位或多位被置l时,INT引脚 就被激活(张立科,2006)。中断寄存器各位的功能如表4.5所示。

34

CAN总线通信系统的软件设计

表4.5中断寄存器功能表
Tab.4?5 Interrupt register explanation

图4.3接收子程序流程图
Fig.4-3 Receive program sequence

35

东北农业大学T学硕十学位论文

CAN总线控制器只允许接收标识码位和验收滤波器中预设值一致的报文进入接收缓冲 器中。验收滤波器通过验收代码寄存器(ACR)和验收屏蔽寄存器(AMR)来定义。 复位请求位置1时,验收代码寄存器和验收屏蔽寄存器可以进行读/写访问。验收代码 (AC.7~AC.0)和报文标识码的高8位(ID.10一ID.3)必须相等,而这些位是被验收屏蔽位 (AM.7 ̄AM.0)的相应位屏蔽的。验收寄存器中AM.X=0表示“有关的”,AM.X=l表示“无 关的”。在满足下列两等式之一时,报文被接收:
(ID.I O~ID.3)三(AC.7.AC.0) (AM.7 ̄AM.0)三111111ll

初始化接收寄存器的程序如下:
bit

BCAMSET_OBJECT(uchar BCAMACR,uchar BCAM石MR)
SJA_BCANAdr=REG_ACR;

{ //*指针指向验收代码寄存器ACR*// //*写入参数木//

奉SJA_BCANAdr=BCAN--ACR;
if(宰SJA_BCANAdr!=BCAN_ACR) {
return 1;

} SJA_BCANAdr=REG_AMR; 事SJA—BCANAdr=BCAN_AMR;

//*指针指向验收屏蔽寄存器AMR*//

if(。SJA_BCANAdr!=BCAN』MR)

return l;


return O:

) 满足条件的报文被接收,进入接收缓冲器。接收缓冲器位于CAN地址的20。29,它的标 识码、远程发送请求和数据长度码等与发送缓冲器的相同。接收缓冲器共有“个字节的报文 空间,当接收缓冲器中没有足够的空间来存储新的报文,则CAN控制器会产生数据溢出。 当数据溢出发生时,已写入接收缓冲器的当前报文将被删除,即便整个数据都被无误的接收, 一旦溢出发生整个数据将无效(饶运涛,2007)。 数据接收程序如下:
void DataReceiveO interrupt 0


EX0=0; SJA BCANAdr=REG n、JTERRUPT. interrupt_flag=‘SJA_BCANAdr;

//指针指向中断寄存器,判断中断类型,/

if((interrupt_flag&OxO 1)=1) {

}嫉收中断}{

CAN总线通信系统的软件设计

BCAN DATA_RECEIVE(SystemBuf); BCAN CMD_.PRG(RRB

∥读取缓冲区数据//

CMD);力释放接收缓冲区//
//产生错误中断//

) if((interrupt_flag&0x04)==1) {
SJA rest=0;

///控制器复位∥


EX0=1;

{研乡I部中断}}


bit BCAN_DATA_RECEIVE(uchar幸RvcDataBuf)


uchar TempCount,i; SJA BCANAdFREG STATUS;

//指针指向状态寄存器∥ //判断报文是否有效//

if((*SJA

BCANAdr&0x01网)



SJA_BCANAdr=REG_RxBuffer2;

//报文有效,指针指向接收缓冲区2// ∥判断数据帧类型//

if【(奉SJA_BCANAdr&0xl 0)==o)


TempCount=(+SJA_BCANAdr&0xof); )
else


TempCount=2;


SJA BCANAdr=REG

;lreffuBxR.∥l区冲缓收接向指针指//

SystemBuf[0]=幸SJA BCANAdr;
SJA BCANAdr=REG_RxBuffer2;

SystemBuf[1]=宰SJA_BCANAdr;
SJA BCANAdr=REG RxBuffer3;

SystemBulf【2]=*SJA_BCANAdr;
SJA_BCANAdr=REG_RxBuffer4;

SystemBuf[3]=宰SJA_BCANAdr;
SJA_BCANAdr=REG_RxBuffer5;

SystemBuf[4]一SJA—BCANAdr;
SJA_BCANAdr=REG_RxBuffer6;

SystemBulf【5]=*SJA_BCANAdr;
37

东北农业人学T学硕上学位论文

SJA_BCANAdr=REG——RxBuffer7;

SystemBuf[6]2+SJA_BCANAdr;

SJJ邶CANAdr=REG_RxBuffer8;
SystemBuf[7]2木SJA_BCANAdr;
SJA——BCANAdr=REG_RxBuffer9;

SystemBuf[8]2木SJA_BCANAdr;
SJA BCANAdr=REG RxBufferl 0;

SystemBuf[9]2难SJA BCANAdr; delay(1 000);
retumO:


bit BCAN_CMD_PRG(uchar cmd)



SJA_BCANAdr=REG_COMMAND;||抬钛招试命令寄存器¨ _SJA_BCANAdr---cmd;||语动命令字“
switch(cmd) {
case

TR—CMD:
retum 0;break;

//发送命令请求//

case

RRB—CMD:
return

懈放接收缓冲区//

0;break;

default:return l;break;

) )

4.2上位机系统的软件设计
CCS集成开发环境介绍

4.2.1

CCS(Code Compose Studio Version)代码调试器是TI公司推出的一种针对标准TMS320

调试接口的集成开发环境。CCS包含源代码编辑工具、代码调试工具、可执行代码生成工具 和实时分析工具,并支持设计和开发整个流程,CCS的开发流程如图4.4所示。 CCS2.0的特性包括以下几个方面: 1.安全集成的开发环境。CCS2将TI公司的汇编辑器、编译器、链接器和调试器等都 集成到它的开发环境中,用户可以从菜单栏中选择Tl公司的各种工具,并且可以直接观察到 流水线输出到窗口的编译结果。同时,出错信息加亮显示,只要双击就可以打开源文件,光

38

CAN总线通信系统的软件设计

标停留在出错的地方: 2.高度集成的源代码编辑器。能动态提示c语言和DSP汇编语言源代码,很容易地阅 读和理解源代码并及时发现和定位语法错误; 3.对C语言源文件和DSP汇编语言文件的目标管理。编辑器能跟踪所有文件及其相关 内容; 4.文件探针在算法中通过文件提取或加入信号和数据。CCS2允许用户从PC机中的文 件直接读取或写入信号流(尹勇,2003)。
编辑、编译和链接I 生成代码 、i调试、语法检查和
断点设置

设计方案



实时观察、分析、统 计和跟踪

图4_4 CCS开发流程
Fig.4-4 Development process flow chart of CCS

4.2.2上位机CAN发送程序的设计
DSP2407的CAN通信程序也主要由三部分构成:初始化、报文发送和报文接收。但由 于DSP2407的CAN模块是内嵌的,因此硬件和软件的设计都更为简单一些。CAN控制寄存 器地址列表如表4-6所示。 表4-6 CAN控制器地址列表
Tab.4.6 Address list of CAN controller

39

东北农业大学工学硕十学位论文

在使用CAN控制器前必须对它的一些内部寄存器进行初始化,比如定时器配置寄存器、 主控制寄存器、配置邮箱寄存器等等,初始化的流程图如图4.5所示。

图4-5 DSP2407的CAN初始化流程图
Fig.4—5 CAN initialization flow chart of DSP2407

在初始化时,首先要将邮箱使能位禁止,然后进入复位模式,因为一些寄存器只有在复 位模式下才能进行配置。首先配置位定时器配置寄存器(BCRl和BCR2),它的作用是正确 配置波特率、同步跳转宽度、采样次数和重同步方式。然后将主控制寄存器的改变数据域请 求位CDR置l,进入配置邮箱寄存器来配置数据的标识符、帧类型及数据结构。最后返回工 作模式,将需要用到的邮箱使能,相应的邮箱就能进行正常的发送和接收操作了。 数据从CAN控制器发送到CAN总线是由控制器自动完成的,所以DSP在写数据到发 送邮箱后,如果相应邮箱的发送请求为使能,则信息帧就会被发送到CAN总线上。本系统 将邮箱2作为发送邮箱。则在总线初始化时,需要在使能控制寄存器中将邮箱2配置成发送 邮箱即MD2置0,然后将要发送的数据写入发送邮箱中,使能TRS2发送请求,在每次报文 成功发送后,系统那个都会收到发送应答,将发送请求复位,开始下一帧数据的传送。报文 的发送流程图如图4.6所示(刘和平,2006)。

一— — — — — — — — — — — — — — 1
CAN总线通信系统的软件设计

图4-6 DSP2407CAN发送流程图
Fig.4-6 DSP2407CAN sending flow chart

发送部分的程序如下:
void can_send(void)

//发送子程序



i坟(宰TCR&Oxl0)-一-OxlO)
{ 宰MBX2A2 send_bufiIO];

//邮箱2请求发送

//数组send—buff

发送信息

}MBX2B=send_bu研1】; 奎MBX2C=send_bu所2】;
+MBX2D=send ) ) while((木TCR&0x0 1 000)==0)
contimue;
术TCR--0x1 000;

bu研3】;

//等待发送应答



41

!鼍I,——


I!曼皇詈皇詈鼍詈皇皇曼皇!皇!曼!!曼!曼鼍詈!曼詈詈皇詈詈!!!!詈鼍暑寡曼!!詈曼!皇!!!皇!皇!!苎

东北农业大学工学硕上学位论文

2.3上位机CAN接收程序的设计
本系统采用中断方式接收,设置邮箱l为接收邮箱。CAN控制器在接收信息时,先将要

接收的信息的标识符与相应的接收邮箱的标识符进行比较,只有标识符相同的信息才能被接 收。CAN控制器的接收滤波器使接收邮箱可以忽略更多的位来接收信息,如果只有被屏蔽的 那几位标识符不相符,则接收邮箱仍可接收此信息。当接收屏蔽使能位为0时,则局部接收 屏蔽寄存器不起作用(刘和平,2003)。接收流程如图4.7所示。

@文接收开矽

设置局部接收寄存器
LAM


使能接收邮箱l
(MEl=1)

一一
复位接收中断



@文接收结秒
图4.7 DSP2407CAN接收流程图
Fig.4-7 DSP2407CAN receiving flow chart

接收子程序如下:
void can_receive(void)


receive_buff[0】=事MBX
1A: B:

//将接收信息存入数组receive)uff

receive_buff【1】_+MBX I

receive_buff[2】=木MBX 1 C: receive_buff【3】-+MBX 1 D;
+RCRjox0020:

//复位接收悬挂位和接收中断标志位

42

CAN总线通信系统的软件设计

receive_n妒1:

void interrupt GRIS5(void)

//置位用户接收标志位 //中断程序


switch(宰PVIR)


case

64:can—receive():

//CAN邮箱中断的中断向量为64

break:




4.2.4上位机显示模块程序的设计
LCD控制器SEDl335内部有13条指令,多数指令带有参数,参数值根据所控制的液晶 显示模块的特征和显示的需要来设置。SEDl335的指令如表4.7所示(杨洋,2009)。 表4.7 SEDl335的指令表
Tab.4—7 SEDl 335 instruction table

本系统的液晶显示主要内容中包括:字母、数字、汉字及个别字符等,由于LCD控制 器SEDl335内部没有汉字库,并且字符样式也有限,冈此本系统中所有的显示内容均采用作 图的方法来显示,将要显示的汉字、字符等编成字库存入微处理器的FLASH程序存储器中。 液晶屏驱动程序主要函数如下:

43

东北农业大学T学硕十学位论文

void instruct(uchar data) void write void clear void Dis


//写指令

rdata)ba.据数// ahcu(ti 写 )diov(neercs_化始// 初屏
X uchar Y,uchar num)//0 在X,Y放置数字 rahcu(ward_到 9

void dis_string(uchar x,uchar

y,uchar?str)//可以显示数字和字母(16进制数) distype)//显示汉字 disptype)//-q以显示汉字串

void hzchout(char x,char y,const char pch[2],bit

void dis hz string(char x,char y’const char幸hzstr,bit

4.2.5上位机存储模块程序的设计
存储器采用的是12C总线芯片AT24C1024,它的读和写是也是通过12C总线来实现的。 AT24C系列的芯片,型号不同时,它们不仅是存储容量不同,一次最大的读写数据量和页码 数都不同,软件编程也有所不同。另外需要注意的就是挂接在同一个12C总线上相同的芯片, 在进行读写操作时它们的读写指令也是不同的(陈红仙,1999)。 12C总线数据传输过程中,将两种特定的情况定义为开始和停止条件: 1.起始信号(S):当SCL保持“高”,SDA由“高”变为“低”时,为开始条件; 2.终止信号(P):当SCL保持“高”,SDA由“低”变为“高”时,为停止条件。 输出到SDA线上的数据以字节(8位)为单位,每次传输的字节数不受限制,每个字节 必须有一个应答ACK(第9位)。第一个字节为地址,以后的字节可以是数据、地址等以停 止信号结束(欧阳斌林,2001)。 12C总线可挂接多个串行接口器件,在12C总线中每个器件应有唯一的器件地址,器件地 址在出厂时就由厂家给定,此款AT24C1024芯片的型号地址为1010。 AT24C系列的E2PROM的读写完全遵守12C总线的主收从发和主发从收的规则。SDA 连续写操作数据结构如图4.7所示,连续读操作如图4.8所示。

图4.7 SDA线连续写数据结构图
Fig.4-7 Continous read
structure

of SDA

S 1010A2AIA00 A addr A S

1。1。A:At‰0fA datal… A
structure



图4.8 SDA线连续读数据结构图
Fig.4-8 Continous write
of SDA

AT24C系列片内地址在接收到每个数据字节地址后自动加l,所以当装在的数据数在规 定字节数范围内的时候,只须输入首地址。如果装载的数据字节数多于规定的最多字节数的 时候,数据地址将“上卷”,前面的数据将被覆盖(戴佳,2006)。系统中读操作程序如下:
void
save

24

buff(char*buff,uint n 1)

CAN总线通信系统的软件设计

datachar丰P:


data uint base,11, p=buff;
n---nl:

base=Ox40+((n—1)<.,6): if(n<=1024)

//一次最多读出64个字节 read__nbyte24(base,P,OxaO)://读第一片前64K

if((1024<n)&&(n<=2048))read_nbyte24(base,P,Oxa2)://读第一片后64K if((2048<n)&&(n<=3072))read_nbyte24(base,P,0xa4);//读第二片前64K if((3072<n)&&(n<=4096))read_nbyte24(base,P,Oxa6);//读第二片后64K

4.3本章小结
本章主要介绍了下位机与上位机CAN总线通信模块的软件设计思路,详细地阐述了软 件的编写流程。

45

皇曼!詈量皇量詈皇暑鲁詈曼詈詈鼍皇曼毫曼皇曼曼皇皇n——i
5系统PCB设计与性能调试
5.1系统PCB设计

东北农业大学T学硕_f:学位论文
il

m。Im

o鼍!!詈曼鼍曼!皇皇鼍!曼皇詈皇

随着PCB工艺的发展,超大规模集成电路的功能和性能不断增强,应用系统的设计越来 越复杂。PCB制作的两个重要冈素:一是合理的硬件设计,解决高速电路设计问题;二是电 路信号匹配的完整性(清源计算机工作室,2004)。 信号的完整性指的是在信号线上的信号质量。信号的破损往往不是某一个因素导致的, 而是电路板设计中多种因素引起的。信号的完整性问题主要包括反射、振铃、地弹和串扰等。 实际上,处理高速数字系统的振铃和串扰问题一直是PCB设计的一个难点问题。信号在PCB 上传输,当信号走线大于信号波长的时候,那么该走线就应该看成是传输线,需要考虑PCB 的线际互联对电气性能的影响。这些影响主要包括传输线之间的互感对信号的影响、信号互 联传输延迟以及传输线噪声等问题。解决这些问题,需要考虑的方面包括:板层布线、底层 分割、器件分布、端接匹配、电源去噪和去耦电容(郭银景,2004)。 本论文针对上述问题,提出如下解决方案: 1.板层排布和内电层分割:本系统硬件系统的板层把电源层和底层直接安排在一起, 这样使得电源和地之间的耦合最大,从而减小了电源噪声。在模拟地和数字地采用单点连接 的方式,保持电平的稳定性,以免底层信号干扰; 2.元件分布:系统板上的器件种类很多,分布密集,所以PCB上器件的合理分布对系 统的设计质量有着重要的影响。本系统的元件分布主要遵循数字器件和模拟器件分开的原则, 这样使得同一组信号传输时间一致,减小不同器件的相互影响; 3.匹配电阻:本系统在靠近信号发射串联端接电阻,一方面为了实现系统特征阻抗的 匹配,另一方面抑制了数组信号的边缘过冲(王幸之,2001)。 在布线过程中,主要遵循以下原则: 1.布线间距应该至少为线宽的2倍,而且尽量避免长距离的平行走线: 2.信号线转折处应该有较大的转折角,一般为135。夹角,避免使用直角或者锐角转折; 3.保持信号线的连续性。尽量少使用过孔; 4.印制板导线的最小宽度主要由导线与绝缘基板间的粘附强度和流过它们的电流值决 定,同时要充分考虑PCB加工工艺和传输线阻抗; 5.尽量减少传输线环路; 6.根据印制线路板电流的大小,尽量加粗电源线和地线宽度。同时,使电源线、地线 的走向和数据传输的方向一致,这样有助于增强抗噪声能力。

系统PCB设计与性能调试

5.2系统调试
系统设计完成并PCB板制作后,就要进行电路调试。电路调试是一个耗时较长的过程, 由于系统复杂,因此调试过程中会遇到很多问题,有一些是系统硬件设计时考虑不周产生的 问题,也有一些是软件设计与硬件芯片性能冲突产生的问题。针对本文调试中遇到的一些问 题及解决方案做说明如下: 1.DSP与电脑的通讯问题。在调试过程中,DSP通过JTAG口与仿真器连接,再通过 USB2.0接口与PC机相连。在实际运行中,经常会出现系统连接错误,DSP没有反应,或者 RAM数据读入错误等问题。这样的问题主要是由于仿真器工作不稳定引起的,通过系统断

电重启,复位仿真器,即可解决。RAM数据读入错误问题可以通过数据读入DSP内部RAM,
通过CCS软件的变量观察窗口验证数据的正确性: 2.CAN总线上的匹配电阻。CAN总线上如果不加匹配电阻,会导致随着通讯节点的增 加,CAN总线可能瘫痪。这样的问题可以通过匹配120Q的电阻便可以解决; 3.CAN总线软件调试的问题。在CAN总线节点发送数据的时候,发现通讯连接无法进 行。这样的问题一般是邮箱匹配与帧结构设置不一致导致的。其次由于CAN总线接收数据 采用中断方式,如果接收完毕不开中断会导致显示屏无法显示数据。所以程序返回主程序时 候要打开其它中断,才不影响与其他外设的通讯进程。

5.3系统的性-n-…匕.-m、1.1试与分析
在完成硬件调试和软件编程后,对所设计的车载CAN总线通信系统进行模拟试验。现场 试验完成的主要任务是数据的采集、传输、显示及存储。粮食的产量由动态电子称来完成称 重,经纬度及海拔高度的测量由Trimble公司的GPS设备实时测量,实验采集到的部分数据如 表5.1所示。 表5.1实验采集数据
Tab.5-1 Experiments gathering data table

47

东北农业大学丁学硕{j学位论文

实验中将采集的数据存储到E2PROM中,表5.1所显示的数据就是从系统存储模块中提取 出来的部分实时数据。实时数据表明,使用CAN总线作为传输手段可以使数据在1s钟内完成 传输及存储,满足测产系统对传输实时性的要求。 在CAN总线网络通信中网络负载是影响总线通信性能的重要指标之一,网络负载较大 时,CAN通信网络的实时性就无法保证,甚至会导致通信中断。网络负载率是指在网络上单 位时间内实际传送的位数和可以传送的位数之比。它可以用下式5.1表示:

M删:孚:型掣型
.)2 02

(5-1)

公式5-1中:S1和S2分别表示网络上实际传送的位数和可以传送的位数,Nl和N2分别 表示单位时间内周期型和事件型传送的个数,S3为标准信息帧一帧的位数。如果单位时间为 1s,则S2就是网络的波特率。波特率反应了系统中数据的传输速度,不同的波特率必然会产 生不同的网络负载。 在实际通信中,网络负载越小,通信网络的实时性越好,性能越优,但同时对节点硬件 性能要求越高,所以在保证性能的基础上,又考虑剑充分利用信道,避免浪费,波特率设置 在150kbps到600kbps为宜。本文设计的系统工作在500kbps,总线负载约为6.47%左右,从结 果分析,这样的设置是符合系统性能要求的。

5.4本章小结
本章提出了系统PCB的设计方案,同时归纳总结了系统调试过程中遇到的软硬件问题及 相关的解决方案。同时对通信系统的性能做了实际测验,验证了总线传输的实时性及波特率 设置的合理性。

48

课题总结与展肇

6课题总结与展望
本文主要介绍了CAN总线系统信号采集与传输的研究,理论上对CAN总线的特点、技术 规范、及其工作方式进行了详细的分析,并在此基础上完成]'CAN总线通信网络节点的软硬 件设计。在实验室模拟联合收割机工作的CAN总线网络模型,用于联合收割机现场的分布式 监控网络。经过测试,各项性能指标稳定,满足联合测产收割机的通信要求。

6.1课题研究总结
本文经过一年的理论研究和实际探索,设计了适用于车载系统的CAN通信系统。对本课 题的研究做如下总结: 1.下位机数据传输系统采用单片机STC89C58RD+作为微控制器,配合SJAl000独立 CAN控制器组成下位机实时通信的智能节点,保证了CAN总线网络工作稳定性和实时性; 2.上位机数据处理采用DSP2407作为微控制器,保证了对CAN总线数据处理的速度, 系统主机ls内可完成对各从机数据的采集、存储、显示及相关处理工作; 3.CAN节点组成的网络通过采用总线式拓扑结构,所有节点共享总线的全部带宽,结 构简单灵活,非常便于扩充,网络响应速度快,满足联合收割机测产通信的要求: 4.由于联合收割机工作现场环境恶劣,电磁干扰与瞬时干扰比较严重,为了保证系统 的可靠性,节点的控制器和接收器之间用6N137进行光电隔离,避免总线上的瞬时干扰。 由于作者水平有限,又缺乏实际经验,加之时间仓促,文中的错误和设计中的不足之处 在所难免,恳请批评指正。

6.2课题工作展望
由于课题涉及面广,本课题设计中还有许多需要进一步补充和完善的地方,下面就下一 步要展开的工作进行展望: 1.硬件电路的设计虽然实现了功能,但是DSP2407强大的数据处理功能还没有完全发 挥出来,在后续的开发还应进行功能分析上的拓展; 2.系统存储技术需要进一步提高,两片AT24C1024的存储容量是256KB,虽然能满足 采集数据的存储要求,但是有容量上的局限。在后续开发中可考虑采用大容量SD作为数据 存储的介质,这样会使系统可以长时间工作,不受容量限制,进一步提高系统的性能。 总而言之,我们对CAN总线信号采集与传输的研究还有待于进一步加强,但是它对将 来CAN总线技术在农用机械车载通信中的应用提供了一些经验。

49

东北农业大学T学硕七学位论文





首先感谢我的导师杨方教授,感谢他三年来对我无微不至的关怀和孜孜不倦的教诲。杨 老师严谨求实的治学态度和踏踏实实的工作作风不仅教会了我如何求知,更教会了我如何做 人。我的论文从开始选题到全文完成的整个过程中,杨老师富有创造性的想法给予我很多的 启发和帮助,正是由于他的热情鼓励和支持,我才能克服一个又一个难题,圆满地完成了课 题设计及论文的撰写工作,也顺利地完成了研究生阶段的学业。在此,我要向杨老师表示衷 心的感谢。 衷心感谢欧阳斌林教授在课题完成过程中给予我的关心和指导,欧阳老师精深的专业知 识、丰富的工程经验、乐观豁达的生活态度、高度的敬业精神是我学习的榜样。 感谢电气工程系全体老师孜孜不倦的教诲和热情的帮助。 感谢研究室所有的同学,我们在这个大家庭里面感受到了温馨,在这里共同学习、生活, 度过了愉快而充实的研究生生涯! 感谢我的室友窦博如、谭玉芳、朱慧、程雪,感谢你们在生活中给予我的无私帮助。 最后,深深地感谢我的父母,正是他们一直来对我的鼓励和培养才使我顺利完成了硕士 研究生学业,父母的支持是我前进的坚强后盾。

参考文献

参考文献
蔡月明,刘浩.2001.基于CAN总线的工业控制系统[J].中国仪器仪表.5(6):l缸18 陈红仙.1999.单片机模拟12C总线实现串行E2PROM的读写[J].计算机自动测量与 控制.4(2):50 ̄53 戴佳,戴卫恒.2006.51单片机c语言应用程序设计实例精讲[M].电子工业出版
社.399~407

甘永梅,李庆丰,刘晓娟等.2004.现场总线技术及其应用[M].机械工业出版社.171~207 郭银景,吕文红等.2004.电磁兼容原理及应用[M].清华大学出版社.167~190 何苏勤,王忠勇.2003.TM320C2000DSP原理与实用技术[M].电子工业出版社.26--50 李正军.2005.现场总线及其应用技术[M].机械工业出版社.88~192 刘光,梁涛,牛春刚.2006.CAN总线智能节点的设计和实现[J].嵌入式网络技术应
用.22(6.2):102~103

刘和平,邓力,江渝等.2006.DSP原理及电机控制应用[M].北京航空航天大学出版 社.302~325 刘和平,王维俊,江渝等.2003.TMs320LF240xDSP C语言开发应用[M].北京航空 航天大学出版社.239-258 刘松,朱志芹,王渝.2003.CAN总线智能测控节点的设计与实现[J].现代电子技 术.2(20):52---62 路小俊,曹海鸥.2002.基于CAN总线的通信研究[J].低压电器.6(12):36--39 吕岗,谭得健,马方清.2003.现场总线的特点与发展[J].工矿自动化.2(4):12 ̄13 马昕,路亚娟.2006.鱼雷制导系统CAN应用层协议的制定方法[J].武器装备自动 化.25(11):1~5 马忠梅,籍顺心,张凯等.2000.单片机的C语言应用程序设计[M].北京航空航天大 学出版社.74~145 欧阳斌林,刘立山.2001.单片机原理及应用[M].中国水利水电出版社.22-24,102~104 清源计算机工作室.2004.Protel99se原理图与PCB及仿真[M].机械工业出版社,135~150 饶运涛,邹继军,王进宏等.2007.现场总线CAN原理与应用技术[M].北京航空航 天大学出版社.12~129,224-226 史久根,刘蓬,张培仁.2004.CAN数据传输的实时性研究及其应用[J].信息与控 制.33(3):342-346 史久根,张培仁,陈真勇.2004.CAN现场总线系统设计技术[M].国防工业出版设.20---40 石磊,秦建春,张华东等.2005.CAN总线在智能仪表中的应用[J].自动化博览.S2(6):
18 ̄20

深圳计算机行业协会.2005.2005年全国单片机与嵌入式系统学术交流会[M].北京航
空航天大学出版社.58~132

5l

暑皇詈量詈皇!!!!!!!!!!!詈皇曼鼍曼



东北农业大学工学硕上学位论文 il皇曼皇量曼曼暑曼詈皇曼皇曩
Il n

谭浩强.2004.C程序设计[M].清华大学出版社.190~240 唐颖,程菊花,任条娟.2008.单片机原理与应用及C5l程序设计[M].北京大学出版
社.184 ̄186

佟为明,李凤阁,林景波.2004.基于CAN总线的电力监控器的研究[J].电工技术杂
志.8(20):68~73

童诗白,华成英.2003.模拟电子技术基础[M].高等教育出版社.1“1 汪安民,程昱.2005.DSP应用开发实用子程序[M].人民邮电出版社.40—55 王茂飞,程昱.2007.TM320C2000DSP技术与应用开发[M].清华大学出版社.80,,-99 汪懋华.1999.“精细农业”发展研究与农业工程科技创新[J].中国软科学.(4):18—25 汪瞳,刘玉明,杨楚平等.2007.CAN总线物理层研究与建模[J].应用科技.34(6):
35 ̄38

王幸之,王雷等.2001.单片机应用系统抗干扰技术[M].北京航空航天出版社.1~26 邬宽明.2005.现场总线技术应用选编[M].北京航空航天大学出版社.50--60 徐文尚,姜梅香,王晓明等.2001.CAN总线点对点通信应用研究[J].电测与仪表.1(8):
33~35

肖波.2009.基于DSP和CAN总线的工业生产中数据通信节点设计[J].计算机工程应 用技术.5(24):28—29 杨洋.2009.SEDl 335在单片机系统中的设计与应用[J].单片机开发与应用.25(1):
109-1ll

尹勇,欧光军,关荣锋.2003.DSP集成开发环境CCS开发指南[M].北京航空航天大 学出版社.18~76 张立科.2006.8051系列单片机C程序设计完全手册[M].人民邮电出版社.350-420 张雄伟,邹霞,贾冲.2005.DSP芯片原理与应用[M].机械工业出版社.60 ̄71,169-177 张毅刚.2003.新编MCS--51单片机应用设计[M].哈尔滨工业大学.183~188 周立功.2007.iCAN现场总原理与应用[M].北京航空航天大学出版社.30-,50
Philips Semieonductors.1999.SJA 1 000 stand?alone CAN Controller DATA SHEET Philips Semieonductors.1997.PCA82C250.CAN controller interface DATA SHEET Philips Semieonductors.1996.C250/25 1 CAN Transceiver application note
Texas Instrument.1 Texas Instruments

995.TMS320LF240xA Data Sheet. Incorporated.2003.TMS320F/24x DSP Controllers CPU and Instruction

Set Reference Guide,14-1 8

Marco Di Natale.2000.Scheduling the CAN
Symposium.

Bus with Earliest Deadline.Real-Time Systems

Ian Broster.Alan Bums.200 1.Timely use of the CAN Protocol in Critical Hard Real-time Systems with Faults.1 3血Euromicro Conference
Juanying
on

Real.Time Systems.
power supplies based on DSP and

Qin,Xuhua.2004.Intelligent control of double

CAN bus.2004IEEE Intenational Conference on Systems.

52

附录





附录A:原理图

53

东北农业大学工学硕士学位论文

附录

B:

系统PCB原理图

附录

附录

C:

实物图



55

东北农业人学工学硕十学位论文

攻读硕士学位期间发表的论文
韩冬,杨方,魏卓.2010.基于DSP的CAN总线智能节点的设计[J].农业科技与装备.


相关文章:
基于CAN总线的数据采集系统
基于CAN 总线的数据采集系统前言(一)背景 随着汽车...传输距离远等特点,这些都决定了 CAN 总线必定是一...现场总线的研究与应用已成为工业数据总线领域的 热点...
基于CAN总线的温度采集传送系统的设计
2.课题主要研究或设计的内容 本课题要求在熟练掌握 CAN 总线的协议规范用的基础上,设计一个基于 CAN 总线的温度 采集传送系统。采用 MSC-51 系列单片机为核心主...
基于CAN总线的JPEG图像远程传输(论文)
信号处理基于CAN总线的JPEG图像远程传输系统及软件设计...在设计中主要开发了数据 采集模块,CAN 总线通讯模块...(论文) 第一章 1.1 本课题研究背景和意义 绪论 ...
基于CAN总线的语音通信探索研究
基于CAN总线的语音通信探索研究_信息与通信_工程科技...2.3 语音编码和解码 该编解码器采样频率为 8000 ...通过编 码解码后传输的语音信号为数字信号。 三、...
基于CAN总线的多路温度采集系统的设计--主机硬件
基于CAN总线的多路温度采集系统的设计--主机硬件_信息与通信_工程科技_专业资料。基于CAN总线的多路温度采集系统的设计基于CAN 总线的多路温度采集系统的设计学生姓名:...
基于CAN总线数据采集设计分析
基于CAN总线数据采集设计分析_能源/化工_工程科技_...科技学院 分散控制系统与现场总线技术研究报告 分散...我们将这些传感器检测到的现场信号尽快的传送到控制器...
基于CAN总线的车载故障采集系统的研究和实现
基于CAN总线的车载故障采集系统的研究和实现 本文首先...顺利实现OBD-II故障诊断系统的代码传输及代码类型的...报文发送、 总线仲裁以及错误信号发生等操作过程。 FSM...
基于CAN总线的16路高精度数据采集节点的设计
路模拟量数据采集,并将 结果通过 CAN 总线传送出去...被测 信号 传感 器 信号 调理 A/D转换模 块 微...CAN 总线在智能仪表系统中的研究与应用[J],贵州...
毕业设计(论文)-基于CAN总线的数据采集器的开发
基于 CAN 总线的现场数据采集控制器的开发摘要现场...传输速度快、距离远、自动解决总线竞争、纠错能力强 ...1.2 CAN 总线的研究及应用现状 随着计算机网络技术...
基于CAN总线的电能采集分析仪-代腾飞-201604281536
-1- 代腾飞:基于 CAN 总线的电能采集分析仪 第 1 章绪论 1.1 课题的研究...电能质量的检测节点、和电能信号可以实时的利用 无线网络的路由节点实时的传输。 ...
更多相关标签:
can总线传输距离 | can总线传输速率 | can总线的传输方式 | can总线传输照片 | can总线数据采集 | can总线传输速度 | can总线信号 | 一个总线传输周期包括 |