《毕业设计(论文)CAN总线智能无线接口设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)CAN总线智能无线接口设计.doc(66页珍藏版)》请在三一办公上搜索。
1、 学 院毕 业 设 计(论 文)说 明 书题 目:CAN总线智能无线接口设计系 别:电子与信息工程系专业班级:电子信息工程级班学生姓名:指导教师:教 研 室:自动化教研室提交时间:2011年月日摘 要现场CAN(Controller Area Network)总线即控制器局域网总线,属于总线式串行通信网络,与一般的通信总线相比,CAN 的数据通信具有突出的可靠性、实时性和灵活性。蓝牙(Bluetooth)技术是一种成本低廉的短距离无线网络连接技术,蓝牙在各种电子产品之间建立一种无线连接标准,以取代有线电缆的连接。本文简要的介绍了蓝牙概念、蓝牙技术的工作原理和CAN总线的原理,重点分析了CAN通
2、信控制器SJA1000的内部结构及工作原理,提出了一种用蓝牙芯片BC219159、单片机AT89C52及SJA1O00总线控制器组成CAN总线智能节点的设计方案,设计出了节点的硬件电路和节点收发程序。关键词:CAN总线;总线控制器;单片机;蓝牙技术ABSTRACTThe field CAN (Controller Area Network) bus is the controller local area network bus, belongs to the main line type serial communication network, compares with the gene
3、ral correspondence bus, the CAN data communication has the prominent reliability, timeliness and the flexibility. The blue tooth (Bluetooth) technology is one kind of cost inexpensive short distance wireless network connection technology, the blue tooth establishes one kind of wireless connection st
4、andard between each kind of electronic products, substitutes for the wired electric cable the connection. This article brief introduction blue tooth concept, the blue tooth technology principle of work and the CAN bus principle, has analyzed CAN with emphasis the correspondence controller SJA1000 in
5、ternal structure and the principle of work, proposed one kind with blue tooth chip BC219159, monolithic integrated circuit AT89C52 and the SJA1000 bus control unit composes the CAN bus intelligence node the design proposal, designed the node hardware electric circuit and the node receiving and dispa
6、tching procedure. Keywords: CAN bus; Bus controller; MCU; Bluetooth technology目录摘 要IABSTRACTII第一章 引 言11.1 蓝牙的应用11.2 CAN总线的应用1第二章 总体概述32.1 蓝牙技术简介32.2 蓝牙系统的构成42.21 蓝牙芯片42.2.2 蓝牙的无线通信技术42.3 蓝牙技术的工作原理52.4 蓝牙协议72.5 几种现场总线的介绍82.6 CAN总线中的一些基本概念92.7 CAN总线的特点92.8 CAN的分层协议和CAN的通信协议102.9 CAN报文的帧结构12第三章 系统硬件设计1
7、53.1设计方案153.2 蓝牙芯片BC219159163.3 单片机模块AT89C52163.4 CAN模块203.4.1 CAN模块结构203.4.2 CAN控制器SJA1000213.4.3 CAN总线驱动器PCA82C25O243.5电源模块26第四单 系统软件设计274.1 系统整体流程图274.2 蓝牙的软件设计284.3串口接收中断程序314.4 SJA1000的工作模式设置324.5 网络通信规则334.6 CAN总线的软件设计33第五章 结束语41致谢42参考文献43附录44附录1. CAN网络控制器SJA1000的内部结构及对外接口原理图44附录2. 毕业设计(CAN总线智
8、能无线接口设计)元器件清单45附录3. CAN总线智能无线接口设计原理图46附录4. CAN总线智能无线接口设计PCB图47附录5. 程序48第一章 引 言1.1 蓝牙的应用随着21世纪社会经济的迅速发展,人们对能够随时随地提供信息服务的移动计算与宽带无线通信的需求越来越迫切。无处不在的网络终端,以人为本、个性化、智能化的移动计算,以及方便、快捷的无线接人、无线互联等新概念和新产品,已经逐渐地融入人们的工作领域和日常生活中。随之而来的便携式终端以及无线通信相关的新技术层出不穷。其中短距离无线通信技术的发展更是百花齐放、令人目不暇接。正是由于无线频率资源的日渐珍贵,为短距离宽带无线通信技术的应用
9、提供了广阔的市场前景,因而短距离宽带无线通信技术受到了世界各国工业界与研究机构的广泛关注,近来人们常见的热门话题中就包括无线局域网(WLAN1)、无线个域网(WPAN) 相关有代表性的短距离无线通信技术标准有IrDA、IEEE802.11b、802.11a、80211g、Bluetooth (蓝牙)、HomeRF、ZigBee、UWB超宽带等。近年来,蓝牙、无线局域网802.11b、802.11a、802.l1g以及超宽带无线通信(UWB)等新技术不断涌现,并已有大量产品迅速占领市场,受到普遍欢迎。蓝牙技术是一种短距离无线通信技术.蓝牙技术在电信业、计算机业、家电业有极其广阔和诱人的应用前景,
10、它也将对未来无线移动数据通信业务产生巨大的推动作用。1.2 CAN总线的应用随着计算机网络技术和芯片技术的发展,控制芯片的性能大幅度提高,成本不断减低,网络几乎深入到我们生活的每一个角落,以现场总线为代表的控制网络也在工业以及其他控制系统中扮演不可缺少的角色.在21世纪,现在总线控制系统将会成为控制领域的主流. 在各类现场总线中,CAN(Control Area Network)总线于1993年成为国际标准ISOl1898(道路车辆的高速控制局域网数字信息交换标准),是最早具有国际标准的现场总线,它有效支持分布式控制及实时控制,并采用了带优先级的CSMA/CD协议对总线进行仲裁CAN总线允许多
11、站点同时发送,在保证信息处理的实时性同时,又使得CAN总线网络可以构成多主从结构的系统,从而有效地保障了系统的可靠性.CAN总线由于具有可靠性、高成本、低容易实现等优点,在现场总线的实际工程应用中占据了较大份额,并且CAN在工业控制、小区智能监控等热点领域有着广泛的应用前景;由于CAN总线协议的完全透明性、可扩展以及组建系统的灵活性,使得CAN总线成为教学和科研方面极好的范例和基础课题。所以本次设计以单片机为核心,将蓝牙与CAN两种先进技术相结合,对蓝牙技术在工业现场网络的应用进行有益的探索和研究。第二章 总体概述2.1 蓝牙技术简介蓝牙技术(Bluetooth)是一种短距离的无线通信技术。它
12、工作在免费的ISM频段(24Ghz),采用跳频时分复用技术,传输速率可高达1Mb/s,能实现点对点和点对多点的通信。通过蓝牙技术无线传输的方式可以将一定范围内的数据设备或语音设备连接起来组成微微网,使嵌有蓝牙模块的电子设备之间能实现方便快捷的通信。蓝牙技术是一种无线数据与语音通信的开放性全球规范,它以低成本的近距离无线连接为基础,为固定与移动设备通信环境建立一个特别连接的短程无线电技术。其实质是要建立通用的无线电空中接口及其控制软件的公开标准,使通信和机进一步结合,使不同厂家生产的便携式设备在没有电线或电缆相互连接的情况下,能在近距离范围内具有互用、互操作的性能,代替固定与移动通汛设备之间的电
13、缆,实现相互之间的连接例如,利用蓝牙技术,可以把任何一种原来需要通过信号传输线连接的数字设备,改为无线方式连接,并形成围绕个人的网络。无论在何处,无论是那种数字设备在手,利用蓝牙技术都可以使其与周围的数字设备建立联系,共享这些设备中的数据库、电子邮件等。比如,可以用移动电话接收PC中的电子邮件,可以用电冰箱来告诉微波炉里面有什么原料,让微波炉提出菜单选项等。篮牙工作在全球通用的24 GHz ISM (即工业、科学、医学)频段。蓝牙的数据速率为1 Mb/s。跳频技术是把频带分成若干个跳频信道,在一次连接中,无线电收发器按一定的码序列(伪随机码)不断地从一个信道到另一个通信信道;蓝牙系统内的收发双
14、方是按这个进行通信,而其他无线电设备不可能按同样的规律进行工作,所以从很大程度上抑止了无线电电磁干扰。同时蓝牙采用了扩频技术,使整个蓝牙频段内噪声变得最低。与其他工作在相同频段的系统相比,蓝牙调频更快。蓝牙设备与其他无线通信设备相比是低功耗的,蓝牙技术的无线电收发器的链接距离可达10米,使用高增益天线可以将有效通信范围扩展到100米。不限制在直线范围内,甚至设备不在同一个房间内也能相互链接,并且可以链接多个设备,活动多可达7个,在线没备可达200个,这样就可以把用户身边的设备都链接起来,形成一个“个人微型网”。作为“电缆替代” 技术提出来的蓝牙技术,发展到今天已经演变成了一种个人信息网络技术。
15、它将内嵌蓝牙芯片的没备互联起来,提供话音和数据的接人服务,实现信息的自动交换和处理。2.2 蓝牙系统的构成2.21 蓝牙芯片蓝牙技术的核心是一个8mm x 8mm的蓝牙芯片,由一细微晶片构成,晶片内嵌入无线通讯协定,可进行简单的数码信息处理,让不同的蓝牙产品交换资料。整个蓝牙系统分为无线射频单元、链路控制单元、链路管理单元和软件协议单元4个功能组块(1)无线射频单元 蓝牙的天线部分体积十分小巧、重量轻,属于微带天线。蓝牙空中接口建立在0dbm(1mW)地基础上,最大可达20dbm(100mW),遵循FCC (美囤联邦通信委员会)有关电平为0dbm地ISM频段地标准。(2)链路控制单元 蓝牙产品
16、的链路控制硬件单元包括3个集成芯片:连接控制器、基带处理器以及射频传输/接收器,此外,还使用了35个单独调谐元件。基带链路控制器负责处理基带协议和其它一些低层常规协议。蓝牙基带协议是电路交换与分组交换地结合,采用时分双工,实现全双工传输。(3)链路管理单元 链路管理(LM)软件模块携带了链路的数据设置、鉴权、链路硬件配置和其它一些协议。LM能够发现其他远端LM,并通过LMP(链路管理协议)与之通信。(4)软件协议单元 蓝牙的软件协议采用分层结构,其核心协议包括物理层协议、链路接入协议、链路管理协议和服务发现协议,主要功能是完成对物理传输媒介的监测与控制、蓝牙设备搜寻、可靠数据链路的建立与维持、
17、高层数据包的适配以及不同协议数据的复用与流量控制等。2.2.2 蓝牙的无线通信技术在具体的理论和技术应用方面,蓝牙技术使用了多项关键的无线通讯技术。(1)跳频扩谱技术 跳频扩谱技术是蓝牙使用的关键技术之一,其目的是为了避免使用同一频段的其它通讯没备的干扰,它将2.4GHz ISM频段划分为79个子频段。在通讯时,接收双方按一定的码序列不断地从一个信道跳到另一个信道,其他的干扰源由于不知道这种跳频规律,从而不可能按同样的规律进行干扰。蓝牙的跳频速度很快,对于单时隙分组,跳频速率为1600跳/秒,对于时隙包,跳频速率会有所降低;但在建立链路时跳频速率可达3200跳/秒。这样高的跳频速率,使得蓝牙系
18、统具有足够高的抗干扰能力。在跳频的瞬时,虽然带宽很窄,但通过频谱扩展技术可以成百倍地扩展带宽,这样就使干扰可能产生的影响变得更小。(2)实现多点连接 蓝牙系统既可以实现点对点连接也可以实现一点对多点连接。在一点对多点连接的情况下,信道由几个蓝牙设备分享2个或者多个分享同一信道的单元构成微微网 ,一个微微网中存在1个主单元和最多可达7个活动的从单元。网内的信道由主单元标识(提供跳频序列)和同步(提供系统时钟和跳频相位) 其它从单元可以处在以下几种状态下:active(活动)、park(暂停)、hold(保持)和sniff(呼吸)。多个相互覆盖的微微网形成了所谓的分布网。(3)时分多址的调制技术
19、蓝牙技术结合了电路交换与分组交换的特点,使用时分多址(TDMA)的调制技术。支持实时的同步定向连接(SCO),提供多达3个同步语音信道,每个语音信道的传输速率为64kb/s;支持非实时的异步不定向连接(ACL),在进行异步数据通信时,可进行一端最大速率为721kb/s、另一端速率为57.6kb/s的不对称连接,也可以进行432.6kb/s的对称连接;还支持通过一个信道同时进行同步语音和异步数据的传输。SCO链路是微微网中单一主单元和单一从单元之间的一种点对点对称的链路。ACL链路是微微网内主单元和全部从单元之间点对多点链路。2.3 蓝牙技术的工作原理Bluetooth无线技术是一种短距离通信系
20、统。旨在取代连接便携设备和固定电子设备的缆线。Bluetooth无线技术的主要特点在于功能强大、耗电量低、成本低廉。核心规格的许多功能均为可选功能,以实现产品多样性。Bluetooth核心系统包括射频收发器、基带及协议堆栈。该系统可以提供设备连接服务并支持在这些设备之间交换各种类别的数据。Bluetooth射频(物理层)在无需申请许可证的2.4GHz ISM波段运行。系统采用了跳频收发器来防止干扰和衰落并提供多个FHSS(跳频扩频)载波。射频操作采用了成形的二进制频率调制,降低了收发器复杂性。符率为每秒1兆符(Msps),支持每秒1兆位(Mbps)的比特率:对于增强的数据率可支持2或3Mb/s
21、的总空气比特率。这些模式分别称为“基本速率”和“增强数据率”。在一般操作情况下,同步至共用时钟及跳频图的一组设备将共享一个物理无线电信道。提供同步基准的设备称为主设备,所有其它设备称为从设备。以此方式同步的一组设备形成了一个微微网。这就是Bluetooth无线技术通信的基本形式。微微网中的设备使用特定跳频图该图由Bluetooth规格地址中的特定字段和主设备时钟依据特定算法来确定。基本跳频图是对ISM 波段中的79个频率进行伪随机排序。跳频图可以调整以排除干扰设备使用的一部分频率.自适应跳频技术改善Bluetooth技术与静态(非跳频)ISM 系统的共存状态(当两者共存时)。物理信道被复分为称
22、作时隙的时问单位。数据以时隙中数据包的形式在启用Bluetooth的设备之间传送。如果条件允许,可以将多个连续时隙分配给一个数据包,跳频发生在传输或接收数据包时。Bluetooth技术通过使用时分双工(TDD)方案提供全双工传输效果。物理信道上方有一个链路、信道及相关控制协议层,物理信道以上的信道及链路层级为物理信道、物理链路、逻辑传输、逻辑链路及L2CAP信道。在物理信道内,任意两个传输设备之间可以形成物理链路并且可双向传输数据包。在微微网物理信道中对哪些设备可以形成物理链路有一些限制。每个从设备和主设备间有一个物理链路。微微网中的从设备之间不会直接形成物理链路,物理链路可作为一个或多个逻辑
23、链路的传输层。支持单播同步、异步和等时通信量及广播通信量。逻辑链路上的通信量可通过占有资源管理器中的调度功能分配的时隙分化到物理链路上。除用户数据外,逻辑链路还负载了基带和物理层的控制协议。(即链路管理协议LMP)。微微网中的活动设备具有默认的面向异步连接的逻辑传输。用于传输LMP协议信令。由于历史原因,这被称作为ACL逻辑传输。每次有设备加入微微网时都会创建默认的ACL逻辑传输。可在需要时创建附加逻辑传输以传输同步数据流。链路管理功能采用LMP控制微微网中的设备的操作,并提供服务来管理架构中的较低层(无线电层和基带层)。LMP协议只可以负载在默认的ACL逻辑传输及默认的广播逻辑传输上。在基带
24、层以上,L2CAP层为应用和服务提供了基于信道的提取。它可以执行应用数据的分割和重组并通过一个共享逻辑链路执行多个信道的复用或解复用。L2CAP有一个协议控制信道,负载于默认的ACL逻辑传输中。提交至L2CAP协议的应用数据可以负载于支持L2CAP协议的任意逻辑链路上。2.4 蓝牙协议蓝牙协议规范遵循开放系统互联OSI(Open System Interconnection)模型,从低到高的定义了蓝牙协议栈的各个层次,如图2.1所示 应用协议音频IrOBEXTCSRFCOMMSDP 逻辑链路控制适配(L2CAP)主机控制器接口(HCL)链路管理层(LM)基带层(BB)射频层(RF)图2.1 蓝
25、牙协议栈蓝牙节点发送数据时,基带(BB)部分将来自高层协议的数据进行信道编码,向下传给射频(RF)进行发送;接收数据时,射频将解调恢复空中数据并上传至基带,基带再对数据进行解码,向高层传输。基带与链路控制器(LC)一起确保微微网内各蓝牙节点之间由射频构成的物理连接;链路管理层(LM)控制链路的建立、加密、控制及功率管理等,用户可通过链路管理器对本地或远端蓝牙设备的链路情况进行设置和控制;主机控制器接口(HCI)为蓝牙芯片与设备控制计算机进行数据交换的接口;由于基带数据分组长度较短,而高层协议为了提高频带的使用效率通常使用较大的分组,二者很难匹配,因此逻辑链路控制和适配协议(L2CAP)作为低层
26、协议和高层协议之间不同长度的协议数据单元的桥梁;音频是通过在基带上直接传输同步面向连接数据来实现的;服务发现协议(SDP)是一个服务数据库;RFCOMM是串口仿真协议,为建立在串口之上的传统应用而提供的接口环境;IrOBEX是红外对象交换协议,它使高层应用可以同时运行在蓝牙和红外的无线链路上;TCS是蓝牙电话控制协议规范用户可以根据不同的需求来选择应用协议在工业控制领域中,由于数据的传输量不大但安全性要求比较高,一般可以直接对HCI层进行操作2.5 几种现场总线的介绍基金会现场总线(Foundation Fieldbus,FF)是在过程自动化领域得到广泛支持和具有良好发展前景的技术。它分为低速
27、和高速两种传输速率。低速的传输速率为31.25Kb/s,传输距离可以达到1900m。高速的传输速率可为100 Mb/s和2.5 Mb/s,它们的通信距离分别为750m和500m.。基金会总线物理媒介的传输信号采用曼彻斯特编码,每段最多允许240个节点,段数目最多可达65000个,最大允许报文可达128个比特组。Profibus总线是集合德国国家标准DIN19245和欧洲标准EN50170的现场总线标准,多用于过程控制、大型装配和物料输送机械。DeviceNet是由Allen-Bradley 公司开发的一种基于CAN的开放的现场总线标准。它用于汽车,半导体制造,电子产品制造,食品和饮料,批量生产
28、化学处理,装配,包装和物料转移。InterBus总线包括远程总线网络和本地总线网络,两种传送相同的信号但电平不同,远程总线网络用于远距离传送数据,采用RS-485传输,网络本身不供电,远程网络采用全双工方式进行通信,传输速率为500 Kb/s。本地总线网络连接到远程网络上,网络上的总线终端(BUSTerminal,BT)上的BK模块负责将远程网络数据转换为本地网络数据。ControlNet基于改型CANBUS 技术,用于PLC与计算机之间的通信网络它可与连动装置、串并行调设备、PC、人机界面等。它可以沟通逻辑控制和过程控制系统,传输速率为5Kb/s。CANopen是基于CAN中行总线系统的网络
29、系统。CANopen 可应用于多种领域。信号传输采用短帧格式,每一帧的有效字节数为8个,因而传输时间短,受干扰的概率低。当节点严重错误时,具有自动关闭的功能,以切断该节点与总线的联系,使总线上的其它节点和通信不受影响,具有较强的抗干扰能力。2.6 CAN总线中的一些基本概念.报文总线上的信息以不同格式的报文发送,但长度有限。不总线开放时,何连接的单元均可开始发送一个新报文。.优先权在总线访问期间,标识符定义了一个报文静态的优先权。.远程数据请求通过发送一个远程帧,需要数据的节点可以请求另一个节点发送一个相应的数据帧,该数据帧与对应和远程帧以相同标识符ID命名。.仲裁当总线开放时,任何单元均可开
30、始发送报文,若同时有两个或更多的单元开始发送,总线访问冲突运用逐位仲裁规则,借助标识符ID解决。.安全性为了获得尽可能高的数据传输安全性,在每个CAN节点中均设有错误检测、标定和自检的强有力措施。检测错误的措施包括:发送自检、循环冗余校验、位填充和报文格式检查。.出错标注和恢复时间已损报文由校验出错误的节点进行村注。这样的报文将失效,并自动进行重发送。如果不存在新的错误,从检出错误到下一个报文开始发送的恢复时间最多为29个位时间。2.7 CAN总线的特点CAN属于总线式串行通信网络,由于其采用了许多新技术和独特的设计,与一般的通信总线相比,CAN 的数据通信具有突出的性能、可靠性、实时性和灵活
31、性。其特点可以概括如下:通信方式灵活,可以多种方式工作,网络上任意一个节点均可以在任意时刻主动向网络上的其他节点发送信息。不分主从。CAN节点只需对报文的标识符滤波即可实现点对点、点对多点及全局广播方式发送和接收数据,其节点可分成不同的优先级,节点的优先级可通过报文标识符进行设置,优先级高的数据最多可在134毫秒内传输,可以满足不同的实时要求。CAN总线通信格式采用短帧格式,每一帧字节数最多为8个字节,可满足一般工业领域中控制命令、工作状态及测试数据的要求,同时,8个字节不会占用总线时间过长,受干扰的概率低,保证了通信的实时性,且具有极好的检错效果。采用非破坏性总线仲裁技术,当多个节点同时向总
32、线发送信息出现冲突时,优先级低的节点会主动退出数据发送,而优先级高的节点可不受影响地继续传输数据,大大节省了总线冲突仲裁时间,在网络重载的情况下也不会出现网络瘫痪。直接通信距离最大可达10km (速率在5 kb/s以下),最高通信速率可达1 Mb/s(此时距离最长为40m);节点数可达110个,通信介质可以是双绞线、同轴电缆或光导纤维。CAN总线采用CRC检验并可提供相应的错误处理功能,保证数据通信的可靠性,其节点在错误严重的情况下具有自动关闭输出功能,使总线上其他节点的操作不受影响。 2.8 CAN的分层协议和CAN的通信协议为使设计透明和执行灵活,遵循ISO/OSI标准模型,CAN分为数据
33、链路层和物理层,其中数据链路层又包括逻辑链路控制子层LLC和媒体访问子层MAC。而在CAN技术规范2.0A中,数据链据层的LLC和MAC子层的服务和功能被描述为目标层和传输层。图2.2解释了CAN的分层结构和功能。位编码/解码 位定时 同步(驱动器/接收器特性)故障界定总线故障管理 监控器数据链路层逻辑链路子层 接收滤波 超载通知 恢复管理媒体访问控制层 数据封装/拆装 帧编码(填充/解除填充) 媒体访问管理 错误监测 出错标定 应答、串行化/解除串行化物 理 层图2.2 CAN的分层结构CAN总线总是基于下列5基本规则进行通信协调的。 总线访问:CAN是共享媒体的总线,它对媒体的访问机制类似
34、于与以太网的媒体机制,即采用载波监听多路访问(Carrier Sense Multiple Acces,CSMA)的方式。CAN控制器只能在总线空闲时开始发送,并采用硬同步,所有CAN控制器同步都位于帧起始的前沿。为避免因累计误差而错位,CAN总线中硬同步后满足一定的条件进行重同步。所谓总线空闲,就是网络上至少存在3个空闲位(隐性位)时网络的状态,也就是CAN节点在侦听到网络上出现至少3个隐性位时,才开始发送。 仲裁:当总线空闲时呈隐性电平,此时任何一个节点都可以向总线发送一个显性电平作为一个帧的开始。如果有两个或两个以上的节点开始发送,就会产生总线冲突。CAN总线解决总线冲突的方法是按位对标
35、识符进行仲裁:各发送节点在向总线发送电平的同时,也对总线上的电平进行读取,并与自身发送的电平进行比较,如果电平相同则继续发送下一位,不同则说明网络上有更高优先级的信息帧正在发送,即停止发送,退出总线竞争。剩余的节点则继续上述过程,直到总线上只剩下一个节点发送的电平,总线竞争结束,优先级最高的节点获得了总线的使用权,继续发送信息帧的剩余部分直至全部发送完毕。 编码/解码: 帧起始域、仲裁域、控制域、数据域和CRC序列均使用位填充技术进行编码。在CAN总线中,每连续5个同状态的电平插入一位与它相补的电平,还原时每5个同状态的电平后的相补电平被删除,从而保证了数据的透明。 出错标注:当检测到位错误、
36、填充错误、形式错误或应答错误时,检测出错条件的CAN控制器将发送一个出错标志。 超载标注:一些CAN控制会发送一个或多个超载帧以延迟下一个数据帧或远程帧的发送。2.9 CAN报文的帧结构CAN通信协议2.0A规定了4种不同的帧格式:数据帧、远程帧、错误帧和超载帧。其中数据帧用于传输数据,远程帧用于请求数据,超载帧用于扩展序列的延迟时间,而当局部检测出错条件后产生一个全局信号出错帧。 1. 数据帧数据帧由7个不同的位场组成,即帧起始标志位、仲裁场、控制场、数据场、CRC检场、ACK应答场和帧结束标志位。数据场长度可为零。CAN2.0A数据帧的组成如图2.3所示。帧间空间起始帧帧间空间或超载帧AC
37、K场仲裁场控制场仲裁场数据场CRC场帧结束 数据帧 图2.3 数据帧结构2. 远程帧远程帧被用来请求总线上某个远程节点发送自己想要接收的某种数据,具有发出这种远地消息能力的节点收到这个远程帧后,就应尽力响应这个远地这个传送要求。所以对远程帧本身来说,是没有数据域的。在远程帧中,除了RTR位被设置成1,表示被动状态外,其余部分与数据帧完全相同。远程帧的组成如图2.4所示。仲裁场控制场仲裁场CRC场帧结束帧间空间起始帧帧间空间或超载帧 远程帧ACK场图2.4 远程帧组成3. 错误帧错误帧由两个场组成,如图2.5所示,第一个场由来自各站的错误标志叠加得到,随后的第二个场是出错界定符。报文传输过程中,
38、检测到任何一个节点出错,即于下一位开始发送错误帧,通知发送端停止发送。数据帧 帧间空间 错误标志 或超载帧错误标志叠加 错误界定符 出错帧图2.5 出错帧组成4. 超载帧数据帧和错误帧一样由两个场组成:超载标志和超载界定符,如图2.6所示。当某接收因内部原因要求缓发下一个数据帧或远程帧时,它向总线发出超载帧。超载帧还可以引发另一次超载帧。但以两次为限。帧结束或 帧间空间 超载标志 或超载帧超载标志叠加超载界定符 超载帧超载界定符图2.6 超载帧组成5. 帧间空间数据帧和远程帧同前面的帧相同,不管是何种帧,均以称之为帧间空间的场位分开。相反,在超载帧和出错帧前面没有帧间空间,并且多个超载前面也不
39、被帧间空间分隔。第三章 系统硬件设计3.1设计方案本次设计的目的是将蓝牙芯片BC219159采集到的信号通过单片机AT89C52发送到CAN总线单元。设计中采用单片机AT89C52作为蓝牙芯片BC219159与CAN模块SJA1O00的接口,完成数据格式的转换和SJAl000复位信号的产生。单片机向SJA1O00写入相应的控制字,完成SJA1000的初始化及波特率设定,同时蓝牙芯片BC219159发送的数据经单片机AT89C52送CAN模块并经CAN总线驱动器送CAN总线输出。SJA1000初始化后,即可独立工作,通过检测总线上的电压信号及内部特殊的寄存器内容,控制器完成数据的打包,解包,错误
40、的鉴定等一系列功能实际中为了更好的抑制误码率,减少出错重发的次数,在电路里加入高速隔离器件6N137构成隔离电路,用于屏蔽干扰。整个设计的原理框图如下图3.1所示。.智能节点3智能节点2智能节点1CAN总线CAN驱动器CAN驱动器CAN驱动器CAN控制器CAN控制器CAN控制器AT89C52AT89C52AT89C52BC219159BC219159BC219159图3.1 CAN总线智能无线接口原理框图该系统最大的特点是所有的节点都能以平等的地位挂接在总线上。1个总线节点通常至少包括4部分:控制节点任务的单片机、总线控制器及总线驱动器和蓝牙芯片。本文主要介绍CAN总线智能节点的简单设计,智能
41、节点由AT89C52型单片机、SJA1000型总线控制器、PCA82C250型总线驱动器及蓝牙芯片BC219159构成。3.2 蓝牙芯片BC219159本次设计所采用的蓝牙芯片是CSR公司生产的2.4GHz的蓝牙芯片BC219159,该蓝牙芯片具有多种控制接口,因为本次的设计只要求传输数据,而且对数据的传输速度并没有太高的要求,因此放弃了速度快但设计较为复杂的USB接口控制,而采用简单而稳定的异步串口通信。波特率则选择为较低的19200kbps,以提高整机的抗干扰性能,而且便于和单片机进行匹配。蓝牙模块的引脚定义及外围电路如图3.2所示:图3.2 蓝牙芯片BC219159及外围电路3.3 单片
42、机模块AT89C52由于本次设计需要程序控制蓝牙模块的初始化,数据及指令的发送,需要处理大量的数据,因此采用具有256字节内部存储器的AT89C52,AT89C52属标准型,芯片价格低廉, 片上外围资源丰富,片内具有4Kb的Flash ROM程序存储空间,这不仅给程序修改带来极大方便,而且避免了外部ROM扩展,降低了节点成本和线路复杂性,提高了电路可靠性。AT89C52通用性强、适合于许多较为复杂控制场合、价位低、支持在线编程,使用方便,开发技术较为成熟简单、功能强大、能够满足本次设计控制要求。该单片机只要求能完成控制蓝牙的初使化与连接和数据的发送功能。因此,对单片机的要求并不太高。单片机AT
43、89C52具有128字节的数据存储器和2K的程序存储器。其性能稳定,开发技术成熟,可采用5V供电,功耗极低,还能直接与蓝牙芯片进行数据传输。而且DIP-20的封装体积小,功耗低,价格便宜。单片机与蓝牙模块的通信依然采用异步串口的方式,波特率取19200兼顾通信速度和抗干扰。电路图如图3.3所示:图3.3 单片机AT89C52AT89C52的引脚如图3.4所示图3.4 52系列单片机引脚图上图是AT89C52的引脚图,引脚说明如下VCCAT89C52电源正极输入,接+5V 电压。GND电源接地端。XTAL1接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它
44、采用外部振荡器时,此引脚应接地。XTAL2接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。RSTAT89C52的复位信号输入引脚,高电位工作,当要对芯片复位时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间,AT89C52便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。ALE/PROGALE 是英文ADDRESS LATCH ENABLE的缩写,表示允许地址锁存允许信号。当访问外部存储器时,ALE 信号负跳变来触发外部的8位锁存器(如74LS373),将端口P0的地址总线(A
45、0-A7)锁存进入锁存器中。在非访问外部存储器期间,ALE引脚的输出频率是系统工作频率的1/16,因此可以用来驱动其他外围芯片的时钟输入。当问外部存储器期间,将以1/12振荡频率输出。EA/VPP该引脚为低电平时,则读取外部的程序代码(存于外部EPROM中)来执行程序。因此在8031中,EA 引脚必须接低电位,因为其内部无程序存储器空间。如果是使用AT89C52或其它内部有程序空间的单片机时,此引脚接成高电平使程序运行时访问内部程序存储器,当程序指针PC 值超过片内程序存储器地址(8051/8751/89C52 的PC 超过0FFFH)时,将自动转向外部程序存储器继续运行。此外,在将程序代码烧
46、录至8751内部EPROM、89C52内部FALSH 时,可以利用此引脚来输入提供编程电压(8751为2lV、AT89C52为12V、8051是由生产厂方一次性加工好)。PSEN此为Program Store Enable的缩写。访问外部程序存储器选通信号,低电平有效。在访问外部程序存储器读取指令码时,每个机器周期产生二次PSEN 信号。在执行片内程序存储器指令时,不产生PSEN 信号,在访问外部数据时,亦不产生PSEN 信号。P0P0 口(P0.0P0.7)是一个8 位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8 位)和数据总线复用。外部不扩展而单片应用时,则作一般双向I/O口用。P0 口每一个引脚可以推动8个LSTTL 负载。P2P2 口(P2.0P2.7)口是具有内部提升电路的双向I/0 端口 (准双向并行I/O 口),当访问外部程序存储器时,它是高8 位地址。外部不扩展而单片应用时,则作一般双向I/O口用。每一个引脚可以推动4 个LSTL 负载。P1P1 口(P1.0P1.7)