《基于单片机技术的远程抄表系统设计(共45页).doc》由会员分享,可在线阅读,更多相关《基于单片机技术的远程抄表系统设计(共45页).doc(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上基于单片机技术的远程抄表系统设计摘 要远程抄表是指应用计算机和通信等技术,自动读取和处理现场数据的一种现场总线技术,具有抄表准确性,实时性,高效性等优点。远程自动抄表技术的发展是计算机和网络技术迅速发展的必然结果。它的应用大大降低了抄表人员的工作强度,节约了人力成本,降低了人为因素造成的抄表数据错误,而且对于入户抄表存在的治安隐患也得到了有效的解决。本设计是以小区电表数据的远程读取为研究对象,选择了目前技术成熟且简单稳定的CAN总线作为远程数据传输的方案,采用总线式和星型的拓扑结构,以单片机为核心的现场终端,该终端下与智能电表相连,上通过CAN总线与上位机进行数据通信
2、。论文重点介绍了远程抄表系统数据采集终端的软硬件结构,并且以他们为基础建立整个系统,实现远程抄表的功能。关键词:远程抄表 单片机 CAN总线 智能电表The Design of Remote Meter Reading System Based on SCM TechnologyAbstract:Remote meter reading is a fieldbus technology which use the computer and communications technology to automatically read and process the field data.It
3、has a accuracy, timeliness, efficiency etc.Remote automatic meter reading technology is the inevitable result of computer and network technologys rapid development.The application greatly reduced working strength of workers and saving labor costs.Its reduce data errors by human causes.And it has bee
4、n effectively resolved the security risks of Existing-home meter reading.The Study object of this design is based on the remote meter reading data in area,select the CAN bus for data transmission scheme which mature、stable and simple.The designs topological structure is star or bus,Its use SCM for t
5、he core of the field terminal.The terminal is connected with smart meters,communications with host computer by CAN bus.The paper focuses on the hardware and software of the remote meter reading data collection terminal.And bulid the whole system based on this,to realize the function of remote meter
6、reading.Keywords: remote meter reading SCM CAN BUS smart meters目 录专心-专注-专业第1章 前 言1.1 研究远程抄表系统的意义远程抄表是指应用计算机和通信等技术,自动读取和处理现场数据的一种现场总线技术,具有抄表准确性,实时性,高效性等优点。发展远程抄表技术是提高能源系统管理水平的需要,也是计算机和网络技术迅速发展的必然结果。随着科学技术水平的不断提高,住宅商品化的发展,住宅单元个性化和独立性的增强,我国目前广泛采用的逐月入户验表收费方式已经显得和社会发展不相适应,入户抄表不仅耗费大量人力资源,而且对居民生活也是一种干扰,有时还
7、会给不法分子入室犯罪以可乘之机。采用远程自动抄表技术,不仅能节约人力资源,更重要的是可提高抄表的准确性和时效性,减少人为因素造成的誊写错误,使供用能源管理部门能及时准确获得数据信息。而且用户还可以通过互联网查询数据库的相关费用信息,做到明白消费。故这种技术越来越受到用户欢迎。1.2 远程抄表系统的解决方案远程抄表系统的工作原理:远程抄表系统是采用计算机和网络技术,通过专用现场设备进行远距离的表头数据自动抄录。一般通过数据采集器对表头输出的数字信号进行采集,经过数据转换后传输给单片机对数据进行处理,并监控表头是否正常工作,单片机将处理好的信号通过网络传输到远程终端,由计算机对数据进行处理、显示、
8、存储、打印,再通过与银行网络互连,实现自动付费。控制中心可显示小区内主要设备的运行状况,并可远程控制这些设备,使设备运行于最佳模式。当设备发生故障时,控制中心发出警报并通知运行人员处理事故。而整个远程抄表系统的关键在于采取哪种方式进行数据传输,目前国内外主要流行以下三种传输方式。1.2.1 通过电信运营商的无线网络进行数据传输现场设备把数据通过电信运营商的GSM或者GPRS网络进行远程传输,这种技术优点是无需敷设线路,信号覆盖面广,通讯可靠性高、可对电表设备进行远程控制。缺点是建筑部分区域(如地下室等)信号不能覆盖,而且网络通讯时需要按流量或者次数支付给电信运营商一定的费用,长期使用成本高。1
9、.2.2 通过电力载波技术进行数据传输电力载波通讯是指利用现有电力线缆,通过载波方式将信号进行高速传输的技术。最大特点是不需要重新架设网络,节省通信线路架设费用,只要有电缆,就能进行数据通信。但是缺点也较明显,对系统的可靠性要求比较高,线路噪声大,传输容量相对比较小,传输频带受限,技术门槛较高。1.2.3 通过有线局域网进行数据传输数据通过敷设的有线通信电缆进行通信,这种通信方式数据延迟低,传输速率快,前期投入比电力载波低,后期运行只需要少量的资金进行设备维护,传输信号质量比电力载波和GPRS网络好,没有信号盲点。缺点就是需要重新敷设通信线路,可能会损坏原有的装修,不过对于新建筑来说可以预留线
10、孔,影响相对较小。所以本设计采用通信成本低廉,通信速率最快,稳定性好,技术门槛低的有线局域网进行数据的远程传输。而有线传输方案中CAN总线有明显的技术优势,所以系统总线协议采用CAN总线, CAN总线的直接通信距离能达到10km,而且CAN总线对通信介质无特殊要求,可以采用价格低廉的双绞线进行通信,完全可以满足小区内远程抄表的需求。1.3 远程抄表系统的发展趋势和展望能源供给部门最重要的营销举措是能源直供到户,采用远程抄表技术以改善能源营销和管理的水平,是供给部门目前最紧迫的需求。本设计是基于AT89C51的远程抄表系统,通过CAN总线进行数据传输与远程控制,以实现远程抄表功能。这对提高能源部
11、门的管理水平无疑是有积极意义的。在国家相关政策的推动下,民用计量表智能化和抄表远程化、智能化已是大势所趋。随着行业技术水平的不断发展、管理水平的步步提高,国家对远程抄表市场的引导等不断加强,将远程抄表系统及相关配套设备纳入重点计量器具范围,加大对远程抄表行业的关注与支持,相信远程抄表系统将会得到不断的发展与完善,远程抄表行业的春天也将会来临。第2章 CAN总线介绍2.1 CAN总线的产生历程CAN是控制器局域网络(Controller Area Network, CAN)的简称,德国电气商博世公司于1986年开发,并最终成为ISO11898国际标准,是目前世界上应用最多的现场总线之一。在美洲和
12、北欧,CAN总线已经成为嵌入式工业控制局域网和汽车计算机控制系统的标准总线,近年来,CAN总线所具有的良好的错误检测能力和高可靠性越来越受到重视,从而在电磁辐射强环境、温度恶劣和振动大的工业环境得到广泛应用。1991年9月飞利普半导体公司制订并发布了CAN技术规范。该技术规范包括A和B两部分。2.0A给出了曾在CAN技术规范版本1.2中定义的CAN报文格式,而2.0B给出了标准的和扩展的两种报文格式。此后,1993年11月ISO正式颁布了道路交通运载工具-数字信息交换-高速通信控制器局部网(CAN)国际标准(ISO11898),为控制器局部网标准化、规范化推广铺平了道路。2.2 CAN总线特点
13、CAN总线是一种多主总线,通信介质可以是同轴电缆、双绞线或光纤。通信速率可达1Mbps。CAN总线通信接口中集成了CAN的数据链路层和物理层功能,可完成对通信数据的成帧处理,包括数据块编码、位填充、判别优先级、循环冗余检验等项。CAN总线采用了多主竞争式总线结构,具有分散仲裁和多主站运行的串行总线。CAN总线上任何节点可在任何时刻向网络上其它节点不分主次地发送信息,实现一对一、一对多及全网广播几种方式发送接收数据,因此可实现在各节点之间自由通信。CAN采用非破坏性总线仲裁技术,当两个节点同时向总线上发送数据时,优先级高的节点可不受影响地继续传输数据,而优先级低的节点主动停止数据发送。CAN协议
14、的一个最大特点是对通信数据块进行编码。采用这种编码方法可使网络内的节点个数在理论无限,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,还可使不同的节点同时接收到相同的数据,这一点对于分布式控制系统来说是非常有用的。CAN总线数据段长度最多为8个字节,可满足通常工业领域中工作状态、控制命令字以及测试数据的要求。CAN总线提供高速数据传送,具有1Mbit/s(距离40m)到5kbits/s(10000m)之间的数据传输能力,不管是高数控制还是远距离控制都能很好适应。CAN总线协议采用CRC检验并有相应的错误处理能力,保证了数据通信的可靠性。CAN总线优良的性
15、能、极高的可靠性和低要求的传输介质,特别适合环境恶劣的工业现场和要求较高的数据通信控制场合。CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化。公认为最有前途的现场总线之一。2.3 CAN总线概念报文网络中交换与传输的数据单元。报文包含了完整的数据信息,其长短并不一致。当总线开放时,任何总线上的单元均可向总线发送一个新报文。报文通信一个报文的内容由其标识符ID命名。ID并不指出报文的目的,但描述数据的含义,以便网络中的所有节点借助报文滤波决定该数据是否使它们激活。应答所有接收器均对接收报文的相容性进行检查,回答一个相容报文,并标注一个不相容的报文。位速率CAN的数据传输率
16、根据传输距离和系统拓扑结构不同而不同,但在一个给定的系统中,此速度是唯一固定的。出错标注和恢复时间已损报文由检出错误的任何节点进行标注。标注后报文将失效,并自动重发。如果不存在新的错误,自检出的错误至下一个报文开始发送的恢复时间最长为29个位时间。优先权在总线访问期间,标识符定义了一个报文静态的优先权。仲裁当总线开放时,任何的节点均可开始发送报文,若同时有两个或者两个以上的节点开始发送,总线仲裁运用逐位仲裁规则,借助标识符ID解决。这种仲裁可以使信息和时间均无损。若具有相同标识符的一个远程帧和一个数据帧同时发送,数据帧优先于远程帧。仲裁期间,每一个发送器都对发送位电平与总线上检测到的电平进行比
17、较,若相同则该单元可继续发送,若不同则该单元退出仲裁并不再传送后续位。睡眠方式及唤醒为降低系统能耗,CAN设备可被置于睡眠方式,相当于未连接总线的驱动器。借助系统的内部条件或任何总线激活可唤醒睡眠。2.4 CAN总线位显性与隐性CAN中的总线数值为两种互补逻辑值之一:隐性和显性。隐性表示逻辑1,而显性表示逻辑0。如图2-1,显性和隐性位同时发送时,最后总线数值将是显性。在隐性状态下,VCAN_L和VCAN_H被固定于平均电压电平,Vdiff近似等于零;在总线空闲或隐性位期间,发送隐性状态。在显性位期间,显性状态改写隐性状态并发送。图2-1 CAN总线位数值表示2.5 CAN总线传输距离CAN系
18、统内两个任意节点之间的最大传输距离与其位速率有关,见表2-1,这里的最大的通信距离是指在同一条总线上两个节点之间的距离。而每个表头数据采集点每次数据传输量在10kbps之内,CAN总线的传输距离可达到6.7km,完全能满足小区的抄表需求。表2-1 CAN系统任意两个节点之间的最大传输距离位速率最大总线长度总线定时BTROBTR11Mbps40m00H14H500kbps130m00H1CH250kbps270m0lH1CH125kbps530m03H1CH100kbps620m43H2FH50kbps1.3km47H2FH20kbps3.3km53H2Fh10kbps6.7km67H2FH5k
19、bps10km7FH7FH2.6 CAN总线协议2.6.1 位仲裁CAN总线以报文为数据传送单位,报文的优先级在报文的11位标识符中,最高的优先级是具有最低二进制数的标识符,系统被设计出来后这种优先级关系就不能改变了。当几个站同时发送报文时,1号站的报文标识符为;2号站的报文标识符为;3号站的报文标识符为。所有标识符前四位都是0000,直到第5位进行比较时,1号站的报文被丢掉,因为它的第5位为高,而其它两个站的报文第5位为低。2号站和3号站报文的5、6位相同,直到第7位时站3的报文才被丢失。在此例中,2号站的报文被跟踪。这种非破坏性位仲裁方法的优点在于,在网络最终确定哪一个站的报文被传送以前,
20、报文的起始部分已经在网络上传送了。所有没得到总线读取权的节点都成为最高优先权报文的接收站,并且在总线再次空闲前不会发送报文。2.6.2 CAN的报文格式CAN协议支持两种报文格式,标准格式为11位和扩展格式为29位。其唯一的不同是标识符(ID)长度不同。报文的起始位称为帧起始(SOF),接着是标识符和远程发送请求位(RTR)构成的仲裁场。数据帧和远程帧由RTR位标明,在远程帧中没有数据字节。控制场包括标识符扩展位(IDE),指出是扩展格式或者是标准格式。它还有一个为将来扩展使用的保留位(ro)。控制场的最后四个字节用来指明数据场中数据的长度(DLC)。数据场范围为08个字节,数据帧的最后有一个
21、检测数据错误的循环冗余检查(CRC)。应答场(ACK)包括应答位和应答分隔符。节点发送的两位均为逻辑1,这时接收报文的接收节点发送逻辑0覆盖它,这样发送节点可以保证总线上至少有一个站能正确接收到报文。帧结束标出报文的尾部。在连续的两条报文间存在一个间隔位,如果这时没有节点进行总线操作,总线就处于空闲状态。报文中数据帧包含数据信息;远程帧请求发送具有相同标识符的数据帧,这是通过通过总线单元发送的;出错帧由发现出错误的任何节点发送;超载帧用于前一个数据帧和后一个数据帧的附加延迟。1、 数据帧数据帧由帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧结束组成。而其中数据场的长度可为0。CAN2.O
22、A数据帧的组成如图2-2所示。图2-2 数据帧组成在CAN协议中存在两种不同的帧格式,其主要区别在于标识符的长度,具有11位标识符的帧称为标准帧,如图2-3所示;而包含29位标识符的帧称为扩展帧,如图2-4所示。图2-3 标准格式数据帧图2-4 扩展格式数据帧2、 远程帧远程帧的RTR位是隐位,且不存在数据场。DLC的数据是独立的,它可以是0-8中的任何数值,这一数值为对应的数据帧的DLC。3、 出错帧出错帧由两个不同场组成,前一个场由各站的错误标志叠加得到,后一个场是出错界定符。出错帧的组成如图2-5所示。图2-5 出错帧组成错误标志具有两种形式,第一种是认可错误标志;第二种是活动错误标志。
23、认可错误标志由6个连续的隐位组成,除非被来自其他节点的显位冲掉重写。而活动错误标志由6个连续的显位组成。出错界定符包括8个隐位,出错标志发送后,每个站都发送一个隐位,并监视总线,直到检测到隐位,此后开始发送剩余的7个隐位。第3章 系统硬件设计3.1 系统整体方案设计图3.1是基于单片机技术和CAN总线技术的远程自动抄表系统的结构示意图,系统以物管的控制机房为主站,以每个小区为相对独立的子系统。这些子系统由每一个独立的节点构成,每个节点由智能表头,CAN控制器,CAN收发器等设备组成。上位机会在一个特定的时间向智能节点发送抄表信号,用户的用电数据通过智能电表的RS485接口发送到单片机,单片机把
24、处理后的数据发送到CAN控制器,经过CAN收发器发送到CAN总线上,数据经由CAN集中器传送至控制中心,以实现远程抄表的功能,并能和银行系统互联实现自动收费,用户也可远程访问上位机查看用电信息。图3-1 远程智能抄表系统拓扑结构图3.2 系统节点设计CAN是一种串行通信协议,它有高度的数据完整性和可靠性。特别适合于分布式实时控制系统,其波特率可高达1 Mb/s。CAN总线分为三层:物理层、传输层和目标层。其中物理层是根据CAN总线的电气特性在所有不同收发点之间传输数据,而目标层和传输层包含了ISO/ OSI模型中数据链路层的功能。这三层是通过CAN收发器和CAN控制器实现的,而CAN总线的应用
25、层就可以用主控芯片(如单片机)来实现。远程抄表系统的网络拓扑结构采用总线式结构,可以分为过程控制和现场监控两层。过程控制层主要由两部分构成:CAN-RS232转换器和PC机。其中CAN-RS232转换器一端和PC机连接,完成和PC机的通信;另一端和CAN总线相连,完成和CAN总线的通信。它的主要功能是将PC机的控制参数和操作信号传送给指定的CAN节点,同时将节点的数据传输给PC机做进一步处理。它和PC机之间是通过RS232串行口进行数据交换的。现场控制层为系统的底层,由带有RS485接口的单相电子式电能表,用CAN收发器采集电能数据,把采集到的电能数据送到总线上,传送给PC机。过程控制层是现场
26、控制层的上层,接收由现场控制层传输上来的数据,以及向该层发送相应的操作命令,以便运行人员对整个抄表过程进行监控。这种方法价格低廉、结构简单、易于操作,因此,本系统采用这种方法设计。总线由双绞线和终端电阻构成,标定值如表3-1所示。表3-1 双绞线(屏蔽或不屏蔽)电器参数参数符号单位数值最小值典型值最大值特征阻抗Z108120132单位长度电阻rm/m70传输时延ns/m5终端电阻RL118120130节点硬件的整体设计框图如图3-2所示。传输指令的过程为:上位机的命令经PC机RS232串口,信号电平经过MAX232转换为TTL电平后接到89C51的串行口,89C51接收的串行数据,通过数据/地
27、址总线转为并行数据发给CAN控制器SJA1000,再通过82C250芯片发送到CAN总线上。数据通过CAN总线传到其它的CAN总线驱动器,进而传到其它的CAN控制器,其它CAN控制器将接收的数据中的标识码位和自身的验收滤波器中预设值比较,若相一致,继续接收后面的报文,否则不予接收其报文。图3-2 智能节点的整体设计框图远程抄表的节点硬件电路主要有下列几部分构成:串口接口电路、CPU电路、CAN总线接口电路、信号采集电路,抗干扰电路。3.3 串口接口电路CAN总线上位机节点和PC机的通信采用的是串口RS232。由于节点的CPU单元AT89C51可进行全双工串行通信,可以很方便的通过RS232串口
28、和PC机进行数据交换。而PC机RS232口的电平是ELA-RS-232C,AT89C51的电平是TTL/CMOS电平,要想实现它们之间的数据通信,可以通过MAX232芯片进行电平转换。MAX232芯片的特点:1) 该芯片完全满足所有的技术标准。2) 电源电压只需要一个+5V。3) 芯片内部可产生+10V和-10V电压。4) 低功耗,供电电流为5mA。5) 芯片分别集成2个RS232C驱动器和接收器。MAX232芯片是美信公司专门为电脑的RS232标准串口设计的单电源电平转换芯片,使用+5V单电源供电。它的内部有一个电源电压变换器,可以把输入的+5V电源变换为成RS-232所需要的士10V电压。
29、MAX232接口电路如图3-3所示,其中电容C1、C2、C3、C4及V+、V-是电源变换部分。在实际电路中,对电源的要求很高,对电源噪声很敏感。因此,VCC对地需要加1.0uF/25V的去耦电容C5。电容C1、C2、C3、C4用容抗相同的电解电以提高抗干扰能力。MAX232的引脚T10UT和RIIN分别连接PC机串口的RXD和TXD端,T1IN和R10UT分别与AT89C51的TXD和RXD相连,T2IN和R20UT悬空。而MAX232自身自带驱动电路,可以提供足够的电压电流,不需要外加驱动电路。至此RS232的电平转换工作完成。图3-3 MAX232引脚图和电容典型参数3.4 数据采集电路本
30、设计采用DDS362-G1(Ob型)单相电子式电能表,该电表采集通过电压、电流信息并转化为电能计量脉冲,通过微处理器对采集到的信号进行计量、存储、显示、通讯,该电表还具有RS485通信接口,可以与远程抄表节点进行数据通信。为了使智能电表和远程抄表节点的连接,本设计使用TL公司生产的一种RS485接口芯片75LBC184,它使用单一电源VCC,电压在35.5范围内都能正常工作,能够使TTL电平和RS485电平相互转换,其引脚如图3-4所示。该芯片内A、B引脚接有高能量顺变干扰保护装置,可以承受峰值为400V的过电压,可以应用在一些条件比较恶劣的场合,可直接与传输线相连而不需要其他的保护电路,当输
31、入端有开路故障时,其输出为高电平,这样可以使节点开路故障不影响系统的正常工作。其工作原理如图3-5所示。当C=0时,发送使能端DE为低电平,接收使能端RE为高电平,芯片作为接收器。当C=1时,发送使能端DE为高电平,接收使能端RE为低电平,芯片作为发送器。图3-4 75LBC184引脚图图3-5 75LBC184工作原理图3.5 CPU控制电路CPU控制电路是指CAN节点的微处理器及其外围电路,它控制节点并进行相关运算功能。CPU控制电路由单片机、译码电路和节点参数输入、看门狗电路组成。CPU控制电路框图如图3-6所示。图3-6 CPU控制电路框图3.5.1 单片机AT89C51AT89C51
32、是一种带4K字节的FPEROM低电压,高性能CMOS8位单片机。它可擦除只读存储器可以反复擦除100次。这款单片机应用ATMEL公司高密度非易失存储器制造技术制造,与工业标准的MCS-51输出管脚和指令集都能很好兼容。其具有5个中断源、可编程串行通道、低功耗的闲置等功能,芯片内部有振荡器和时钟电路,而且将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL公司的AT89C51单片机是一种高效微控制器。很多灵活性高且价廉的嵌入式控制系统都采用该公司的AT89C51单片机作为其解决方案。其引脚如图3-7所示。本设计的单片机引脚分配:1.PO口作为数据、地址复用总线使用2.P1口作为一般I/O接
33、口使用,Pl.0用于复位电路, Pl. 1用来控制LED指示灯3.P2口的口线作为片选信号,参与地址译码电路。4.振荡电路采用外接晶振,工作频率是12MHZ。图3-7 AT89C51引脚图3.5.2 地址译码与选择电路节点中有多个芯片需要使用数据总线,故需要设计地址译码电路。译码电路采用线选法,具体对应关系为:P2.5接75LBC184的DE和RE引脚,当P2.5为1时75LBC184为发送器,当P2.5为0时75LBC184为接收器,P2.6为SJA10OO片选信号,P2.7为74HC245片选信号。3.5.3 节点参数输入电路为了简化系统,本次设计采用DIP设定开关输入数据。DIP拨码回路
34、开关(DUAL IN LINE PACKAGE SWITCH)与其他的开关不同,多数用于直接安装在线路板上的开关,极少有将其装在机身表面。目的是用于电子回路的切换、电气信号的控制程序的设定和查验等用途。本设计选用8位DIP开关,开关高两位用于设置通信波特率,低六位用于设置节点号。DIP设定开关参数通过74HC245三态双向总线驱动器向单片机传送并口数据,74HC245片选信号经过或门与单片机的P2.7和P3.7读信号引脚相连,选通74HC245的条件是P27和P3.7读信号引脚全都为0,方向控制位DIR为0(接地)时,数据从B端口向A端口传送,此时单片机可以通过读取74HC245数据端口即可得
35、到并口数据,完成数据的输入。其电路图如图3-8所示。图3-8 参数输入电路3.5.4 看门狗电路由单片机构成的控制系统系统中,单片机常常会受到来自外界电磁干扰,使程序跑飞,进而陷入死循环,打断程序的正常运行,而这种故障会使由单片机控制的系统无法继续正常工作,使系统的陷入瘫痪状态,导致一系列不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称看门狗。在实际应用中,由于AT89C51并无看门狗功能,为了防止系统死机,需要添加看门狗电路。另外,系统上电或掉电时还需给单片机和SJA1000提供可靠的复位信号,这些均由看门狗来完成。看门狗电路
36、选用美国IMP公司生产的系统IMP706监控芯片,该芯片功能多、功耗低,可为系统提供上电、掉电复位功能,也可提供其它如存储器保护、后备电池管理、看门狗或低电压告警等功能。芯片工作温度范围宽(-40+80),使用简单、价格低廉,并可与MAXIM、AD等公司的监控产品完全兼容。IMP706的内部结构框图如图3-9所示,它能在上电、掉电期间或手动情况下产生复位信号,它内含一个1.25V门限的电源故障报警电路,可用于检测电池电压和非5V的电源。另外,还有一个1.6s的看门狗定时器的4.40V的电源电压监视器。图3-10为IMP706的引脚图,各引脚功能如下:MR(1):手动复位输入;VCC(2):+5
37、V电源输入;GND(3):所有信号的基准地;PFI(4):电源故障电压监控输入,当PFI小于1.25V时,PFO变为低电平;PFO(5):电源故障输出;WDI(6):看门狗输入,当WDI保持高电平或低电平达1.6s时可使内部定时器完成计数,并置WDO为低;RESET(7):低电平有效的复位输出;WDO(8):看门狗输出,如果连接到MR将会触发复位信号图3-9 IMP706结构框图图3-10 IMP706的引脚图节点的设计中,当电源电压低于门限值1.25V时,IMP706也产生复位输出,使CPU处于复位状态,不执行任何指令,直至电源电压恢复正常,可有效防止电源电压较低时单片机产生错误的动作。另外
38、,单片机的Pl.0不断输出脉冲信号,如果单片机进入死循环,则PI . 0无脉冲输出,1.6s后在IMP706的第8脚输出低电平,该电平加到第1脚,IMP706产生复位输出,使单片机有效复位,摆脱死循环的困境。看门狗的硬件电路如图3-11所示。图3-11 节点看门狗硬件电路3.6 CAN接口电路CAN接口电路可分为三部分:CAN总线控制器,CAN总线收发器和抗干扰电路。3.6.1 CAN总线控制器SJA10001. 3.6.1.1SJA1000主要特性CAN控制器是CAN总线通信的关键芯片,它包含了主要的CAN总线通信协议。它主要实现微处理器的接口和CAN总线协议部分。本设计采用的是SJAlOO
39、芯片。SJA1000是一种独立的CAN控制器,主要用于汽车和一般工业环境中的区域网络控制。它是Philips半导体公司PCA82C200 独立CAN 控制器(BasicCAN)的替代产品,其在引脚及电气上完全兼容,而且它增加了一种新的操作模式PeliCAN,这种模式支持具有很多新特性的CAN 2.0B协议。SJA1000独立的CAN控制器有2个不同的操作模式:PeliCAN模式和BasicCAN模式。PeliCAN模式是该芯片新增加的操作模式,它能够处理所有CAN2.0B规范的帧类型。而且它还提供一些增强功能使SJA1000能应用于更宽的领域。BasicCAN模式是上电后默认的操作模式。与PC
40、A82C200兼容,基于PCA82C200开发硬件和软件可以直接在SJA1000上使用,而不用作任何修改。2. SJA1000的硬件结构和功能SJA1000的工作原理框图如图3-12(a)所,其引脚形式如图3-12(b),管脚功能如表3-2。图3-12 SJAl000的内部结构及引脚图控制器由下述几部分组成:发送缓存器:是CPU和位流处理器之间的接口,存储发送到CAN总线上的数据信息,缓冲器有13个字节,由CPU写入,位流处理器读取;接收缓存器0和1:RBF0和RBF1均由l0个字节组成,交替存储由总线收到的报文数据,当一个缓存器被分配给CPU,位流处理器可以对另外一个进行写操作;接口管理逻辑
41、:负责连接外部主控制器,该控制器可以是微型控制器,也可以是其他任何器件。控制CAN寄存器的寻址,并向微控制器提供中断和状态信息。经过SJA1000地址/数据分时复用总线访问寄存器、控制读/写片选信号都由接口管理逻辑单元处理。控制器接口逻辑:它是与外部微控制器的接口。位定时逻辑:它监视串口的CAN总线和处理与总线有关的位时序。将SJA1000同步于CAN总线上的位流。位定时逻辑还提供了可编程的时间段来补偿传播延迟时间、相位转换、定义每一位的采样次数和采样点;位流处理器:它是一个控制发送和接受缓存起并行数据,并与CAN串行总线之间控制数据流的程序装置。它还具有总线填充、错误检测、错误处理和仲裁等功
42、能;收发逻辑:输出驱动器由它控制;错误管理逻辑:它接收位流处理器的出错报告并按照CAN协议完成错误界定;表3-2 SJA1000引脚功能符号引脚说明AD7-AD01,2,23-28地址数据复用总线ALE/AS3ALE输入信号(INTEL),AS输入信号(MOTOR0LA)/CS4片选输入,低电平允许访问SJA1000/RD5微控制器的RD信号(INTEL)或E使能信号(MOTOROLA)/WR6微控制器的写信号(INTEL)方式或读写信号(MOTOROLA)CLKOUT7SJA1OOO产生的提供给微控制器的时钟输出信号,此信号由内部振荡器经可编程分频器得到,可编程禁止该引脚VSSI8逻辑电路接
43、地XTAL19振荡放大器输入,外部振荡放大器信号经此引脚输入XTAL210振荡放大器输出,使用外部振荡信号时此引脚必须开路MODE11方式选择输入端:1-INTEL方式,0-MOTOROLA方式VDD312输出驱动器5V电源TXO13由输出驱动器0至物理总线的输出端TX114由输出驱动器1至物理总线的输出端VSS315输出驱动器接地/INT16中断输出端用于向微控制器提供中断信号/RST17复位输入端用于重新启动CAN接口(低电平有效)VDD218输入比较器5V电源RXO19由物理总线至SJA1OOO输入比较器的输入端。显性电平将唤醒处于睡眠方式的RX120SJA1OOO。当RXO高于R X1
44、时,读出为隐性电平,否则为显性电平VSS221输入比较器的接地端VDD122逻辑电路的5V电源2. SJA1000的通信控制a) SJA1000的基本功能和存储器SJA1000 的功能配置由主控制器的程序执行。SJA1000和主控制器通过RAM和寄存器进行数据交换的。RAM的部分寄存器和地址窗口组成了发送和接收缓冲器,对于主控制器来说就像是外部存储器。SJA1000的内部共有128B的存储单元,对于单片机来说是这相当于外部存储器,SJA1000的初始化、报文数据的发送和接收,故障报警和定位等功能是通过单片机对它的读写来实现。根据它们在系统的作用分组列出了一些寄存器,见表3-3。b) 发送/接受
45、缓冲器SJA1000 的存储区里存储了要在CAN总线上发送的数据,这个区域叫发送缓冲器。从CAN上收到的报文数据也存储在控制器的存储区中,叫做接收缓冲器。这些缓冲器包括2,3或5个字节的标识符和帧信息(标识符的长短取决于模式和帧类型),而最多可以包含8 个数据字节。表3-3 SJA1000内部寄存器的分类使用类型寄存器名称(符号)寄存器地址功能PeliCANBasicCAN选择不同的操作模式的要素模式(MOD)0-选择睡眠模式、验收滤波器模式、自测试模式、只听模式和复位模式控制(CR)-0在BasicCAN模式里选择复位模式命令(CMR)-1BasicCAN模式的睡眠模式命令时钟分频器(CDR
46、)3131在CLKOUT设置时钟信号(引脚7)选择PeliCAN模式、比较器旁路模式、TX1(管脚14)输出模式设定CAN的通讯的要素验收码(ACR)验收屏蔽(AMR)16-2920-2345验收滤波器位的模式选择总线定时器0(BTR0)总线定时器1(BTR1)6767位定时参数的设置输出控制(OCR)88输出驱动器属性的选择命令(CMR)11自接收、清除数据超载、释放接收缓冲器、中止传输和传输请求的命令状态(SR)22报文缓冲器的状态、CAN核心模块的状态中断(IR)33CAN中断标志中断使能(IER)4-在PeliCAN模式使能和禁能中断控制(CR)-0在BasicCAN模式使能和禁能中断事件复杂的错误检测和分析的要素仲裁丢失捕捉(ALC)11-显示仲裁丢失位的位置错误代码捕捉(ECC)12-显示最近一次的错误类型和位置出错警告界限(EWLR)13-产生出错警告中断的阀值选择RX错误计数(RXERR)14-反映接收错误计数器的当前值TX错误计数(TXERR)14,15-反映发送错误计数器的当前值RX报文计数器(RMC)