《现场总线的设计与应用.docx》由会员分享,可在线阅读,更多相关《现场总线的设计与应用.docx(52页珍藏版)》请在课桌文档上搜索。
1、班级070XX学号070XXXXX本科毕业设计论文题目现场总线适配器的设计学院XXXXX专业XXXXX学生姓名XXXXX导师姓名XXXXX毕业设计(论文)诚信声明书本人声明:本人所提交的毕业论文现场总线适配器的设计是本人在指导教师指导下独立研究、写作的成果,论文中所引用他人的无论以何种方式发布的文字、研究成果,均在论文中加以说明;有关教师、同学和其他人员对本文的写作、修订提出过并为我在论文中加以采纳的意见、建议,均已在我的致谢辞中加以说明并深致谢意。本论文和资料假设有不实之处,本人承当一切相关责任。论文XXXX(签字)时间:2012年05月18H指导教师已阅:XXXXX(签字)时间:2012年
2、05月18日西安电子科技大学长安学院毕业设计(论文)任务书学生姓名XXXX学号070XXXXX指导教师XXXXXX职称XXXX学院XXXXXX专业XXXXXXXXXX题目名称现场总线适配器的设计任务与要求本课题主要现场总线适配器的设计,完成RS232到RS485、RS232到CAN、RS485到CAN等之间的通信适配。要求:1、 了解各种通信协议,设计现场总线适配器方案;2、 根据系统方案,设计电路原理图和pcb;3、 调试电路,确定电路参数;4、 设计相应软件,并进行调试。开始日期20XX年1月15日完成日期2012年5月20日院长(签字)2012年月日注:本任务书一式两份,一份交学院,一份
3、学生自己保存。毕业设计(论文)工作方案学生姓名XXX学号070XXXXX指导教师XXXX职称xx学院XXX专业XXXXXX题目名称现场总线适配器的设计一、毕业设计(论文)进度起止时间工作内容1.153.5检索、阅读相关技术资料3.53.18检索、阅读相关技术资料,方案研究3.18-4.1方案研究、熟悉开发系统硬件电路4.1-4.15设计电路图和PCB设计,软件设计4.154.25电路调试,硬件调试,软件调式4.255.20撰写论文、论文辩论二、主要参考书目(资料)1、蒋建文等,CAN总线通信协议分开和实现,计算机工程,2002年02期2、阳宪惠,现场总线技术及其应用(第2版),清华大学出版社,
4、2008.103、马忠梅等,单片机的C语言应并程序设计,北京航空航天大学出版社,2004年3月4、杨文龙,单片机技术及应用,电子工业出版社,2008年2月5、孙肖子,电子设计指南,高等教育出版社,2006年1月6、郭宽明,CAN总线原理和应用系统设计.北京舫空航天大学出版社,1996三、主要仪器设备及材料硬件电路实验板、集成电路、万用表、示波器、计算机四、教师的指导安排情况(场地安排、指导方式等)检索、阅读资料期间,可以在图书馆、自习教室进行;设计、实验阶段场地在实验室每周老师和每个毕业设计同学至少讨论一次五、对方案的说明注:本方案一式两份,一份交学院,一份学生自己保存(方案书双面打印)毕业设
5、计(论文)中期检查表学院XXXX专业XXXXX学生姓名XXXX学号070XXXXX班级070XXX导师姓名XXXXX职称XXXX单位XXXXX题目名称现场总线适配器的设计检查内容检查结果题目是否更换及更换原因否学生出勤情况出勤正常进度评价(完成总工作量的百分比)60%质量评价、进度描述初步完成硬件及软件调试总体评价(按优、良、中、及格、不及格五挡评价)良存在的问题与建议抓紧时间完成后续问题,写好毕业论文学院审核(盖章)注:此表由指导教师填写,中期检查成绩将作为毕业设计总成绩的一局部;此表装订入毕业设计(论文)中。毕业设计(论文)成绩登记表学院XXXX专业XXXXX姓名XXX学号XXXXXX成绩
6、题目名称现场总线适配器的设计指导教师XXXX职称XXXX指导教师评语及对成绩的评定意见签名年月日评阅人评语及成绩评定意见签名年月日辩论小组意见签名年月日学院辩论委员会意见辩论委员会主任签名(学院盖章)年月日注:学院、专业名均写全称;成绩登记表双面打印摘要现场总线技术以其开放性、互操作性、彻底分散的分布式控制等独有的技术优势和特点,在现代分布式测量和控制技术领域中应用已愈来愈广泛。但目前,在许多现场已投入使用的测量和控制系统中,各仪器设备或装置之间通讯所使用的仍然是传统的RS-232、RS-485等总线。这就需要现场总线与RS232、RS-485等总线通信协议之间的转换。本文提出了一种基于ARM
7、CorteX-M3内核的32位微处理STM32F103,实现最常用的现场总线CAN总线和RS-232、RS-485总线进行协议转换的方案。文中,首先,分析了CAN总线协议技术标准。其次,介绍了微处理器STM32F103,并深入研究了其内置的外设控制器局域网bxCAN和通用同步异步收发器USART的结构和使用。再次,设计了系统的硬件电路,并说明了硬件电路的工作原理。最后,介绍了在RvMDK开发环境下开发系统软件的设计思路。经过最终的测试,整个系统可以很好的实现CAN总线和RS-232、RS485总线之间的协议转换。关键词:现场总线CAN微处理器ARMCortex-M3RS-232RS-485AB
8、STRACTWithitsuniquetechnicaladvantagesandcharacteristicslikeopenness,interoperability,completedecentralizeddistributedcontrol,theapplicationoffieldbustechnologyhasbecomemorewidelyinthefieldofdistributedmeasurementandcontroltechnology.Atpresent,however,inmanysystemswhatisusedamongvariousequipmentsord
9、evicesinmeasurementandcontrolsceneisstillthetraditionalRS-232busorRS-485bus.ThisrequiresbuscommunicationbetweenprotocolconversionssuchasbetweenfieldbusandRS-232busorRS-485.Inthisarticle,IfirstintroducedthefieldbusCANanditstechnologystandardbasedonthemicroprocessorsSTM32F103,whichismostwidespread.Sec
10、ondly,IintroducedmicroprocessorsSTM32F103,andfurtherstudiedthestructureanduseofitsperipheralcontrollerareanetworkbxCANanduniversalsynchronousandasynchronousreceivertransmitterUSART.ThenbasedonthemicroprocessorsSTM32F103,thecorrespondinghardwareconnectioncircuitofCANbusandRS-232busisdesigned.Finally,
11、thesoftwarecodeundertheRVMDKdevelopmentenvironmentisdiscussed.Afterthefinaldebugging,thewholesystemachievesgoodconversionbetweenCANbusandRS-232bus.Keywords:thefieldbusCANbusMicroprocessorARMCortex-M3RS-232RS-485第一章绪论11.1 现场总线技术概述11.2 CAN现场总线1CAN总线的特点1CAN总线的应用及前景21.3 本文的主要研究成果3第二章CAN总线技术标准42.1 简介42.2
12、 特性及根本概念42.3 报文传输62.4 报文滤涉及报文校验8报文滤波8报文校验92.5 编码92.6 错误处理及错误界定9第三章系统主控芯片介绍103.IARM简介10常用的ARM处理器系列10ARMCortex系列简介113.2ARMCortex-M3处理器内核概述12ARMCortex-M3结构12Cortex-M3特点123.3STM32F103微处理器概述133.4通用同步异步收发器(USART)15USART特性15波特率的产生15USART中断请求163.5控制器局域网(bxCAN)16bxCAN主要特点16bxCAN工作模式16bxCAN功能描述17标识符过滤18bxCAN中
13、断18第四章系统硬件设计194.1 系统总体结构194.25 TM32F103核心模块194.26 AN总线接口20CAN总线收发器TJA105020接口电路图214.27 S-232接口21RS232C标准21RS-232接口电路224.28 S-485总线接口22RS-485标准22RS-485接口22第五章系统软件设计235.1 软件系统结构235.2 系统初始化程序235.3 报文转换及发送24USART通信协议24报文的发送255.4 报文接收26第六章总结与展望27致谢28参考文献29附录A程序代码30第一章绪论1.1 现场总线技术概述现场总线是应用在生产现场,在微机化测量控制设备
14、之间实现双向、串行、多节点通讯的数字通信的系统,是一种开放式、数字式、多点通信的底层控制网络。聚集了计算机技术、网络通信技术和自动控制技术的现场总线技术,从20世纪80年代中期开始开展起来。它作为过程自动化、制造自动化、楼宇自动化、交通等领域现场智能设备之间的互联通信网络,沟通了生产过程现场控制设备之间及其与更高控制管理层网络之间的联系,为彻底打破自动化系统的信息孤岛创造了条件。由于现场总线适应了工业控制系统向分散化、网络化、智能化开展的方向,它的出现使传统的模拟仪表逐步向智能化数字仪表方向开展,并具有数字通信功能。现场总线作为全球自动化技术的热点,已经受到全世界的普遍关注。现场总线主要有以下
15、几种类型:基金会现场总线(FF)1.onWorksProfBusCAN、HART,而其中CAN(ControllerAreaNetwork)即控制器局域网因为具有高性能、高可靠性以及独特的设计而越来越受到关注,现已形成国际标准,被公认为几种最有前途的现场总线之一。1.2 CAN现场总线CAN是控制器局域网ControlAreaNetwork的简称,最初是由德国BOSCH公司为解决汽车监控系统中的诸多复杂技术和难题而设计的数字信号通信协议,它属于总线式串行通信网络。由于采用了许多新技术和独特的设计思想,己同类产品相比,CAN总线在数据通信方面具有可靠、实时和灵活的优点。1.2.1 CAN总线的特
16、点由于采用了许多新技术及独特的设计,CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实用性和灵活性。其特点可概括如下:(1) CAN为多主工作方式,网络上的任意节点在任意时刻都可以主动地向其它节点发送信息,不分主从,方式灵活。(2) CAN网络节点可以安排优先级顺序,以满足和协调各自不同的实时性要求。(3) 采用非破坏性的总线仲裁技术,多点同时发送信息时,按优先级顺序痛信,节省总线冲突仲裁时间,防止网络瘫痪。(4) 可以进行点对点、一点对多点和全域播送方式传递信息。(5) 通信速率最高可达IMbPS(40m以内),最长传递距离达IOkm(速率为5kbps以下)。(6) 网络节点目
17、前可达110个,报文标志符2032种(CAN20A),扩展标准(CAN20B)中报文标志符几乎不受限制。(7)短帧数据结构,传输时间短,抗干扰能力强,检错效果好。(8) 通信介质可以用双绞线、同轴电缆或光纤。(9)网络节点在错误严重的情况下可以自动关闭输出功能,脱离网络。(10)实现了标准化、标准化(国际标准ISoII898)。1.2.2 CAN总线的应用及前景20世纪80年代,德国的BOSCH公司首先应用CAN总线于汽车内部的测控通信。CAN国际标准化的制定,更加推动了它的开展应用,已有INTE1.sMOTORO1.A.PH1.IPS.SlEMENS等百余家国际大公司支持CAN总线协议。现在
18、,在欧美国家CAN总线己被广泛应用于汽车、火车、轮船、机器人、智能楼宇、机械制造、数控机床、各种机械设备、交通管理、传感器、自动化仪表等领域。从“九五”开始,我国政府就投资支持现场总线的开发,其中CAN等总线在国内己经得到较广泛的应用,被大量地应用于工农监控、电厂测控、火灾报警、变电站控制、煤炭综合监控等。很多大专院校及科研单位也投入了大量的人力和资金加强现场总线,尤其是CAN总线技术的研究和开发。随着企业管理水平和信息化水平的提高、集成电路技术和计算机技术的开展,CAN总线网络将进一步开展,通过网关或网桥向上与企业管理系统以太网联接构成管控一体化网络。而且由于企业规模的不断扩大和生产过程控制
19、系统越来越第杂,使CAN总线与模糊控制技术和智能技术的结合成为以后工程控制中的主要研究和应用的方向。1.3 本文的主要研究成果本课题的意义在于:使得大量使用RS-232、RS-485通讯方式的传统设备,可以通过协议转换应用的CAN总线通信网络中,利用CAN总线的诸多优点。本文的硬件电路设计中,采用基于ARMCortex-M3核的32位微处理器STM32F103作为控制核心,CAN总线接口电路中采用高性能的CAN总线收发器TJA1050作为CAN控制器与物理总线之间的接口,实现对CAN总线的差动发送和接收功能。采用MAX3232实现RS-232的电平转换,采用MAX3485实现RS-485差分信
20、号的转换。软件的设计那么主要是对STM32F103编程控制,实现bxCAN控制器局域网和USART同步异步收发器的初始化、接收数据,协议格式的转换,数据的发送等功能。经过最终的调试,本系统可支持CAN2.0A(标准帧格式),CAN2.0B1扩展帧格式),同时CAN通道波特率5K-1000Kbps任意设定。RS-232、RS-485总线,可实现通信波特率在30ObPS-Il520ObPS范围内可选。第二章CAN总线技术标准2.1简介控制器局域网CAN为串行通讯协议,能有效地支持具有很高平安等级的分布实时控制。本技术标准的目的是为了在任何两个CAN仪器之间建立兼容性。可是,兼容性有不同的方面,比方
21、电气特性和数据转换的解释。为了到达设计透明度以及实现灵活性,根据ISO/OSI参考模型,CAN被细分为以下不同的层次:1 .数据链路层1)逻辑链路控制子层(1.1.C)2)媒体访问控制子层(MAC)2 .物理层物理层的作用是在不同节点之间根据所有的电气属性进行位的实际传输。同一网络的物理层对于所有的节点当然是相同的。本技术标准的目的是定义数据链路层中MAC子层和一小局部1.1.C子层,以及定义CAN协议于周围各层当中所发挥的作用。2.2特性及根本概念一、CAN总线具有以下特性:1) 报文的优先权,即每个报文都有自身的优先级;2) 保证延时时间,最高优先级的延时时间是确定的;3) 设置灵活;4)
22、 时间同步的多点接收;5) 多主机,可以设置为主从结构;6) 系统内数据的一致性7) 错误检测和标定8) 只要总线处于空闲,就自动将破坏的报文自动传输;9) 将节点的暂时性错误和永久性错误区分开来,并且可以自动关闭错误的节点。二、依据ISO/OSI参考模型的层结构:1)物理层定义信号是如何实际地传输的,因此涉及到位时间、位编码、同步的解释。2)MAC子层是CAN协议的核心。它把接收到的报文提供应1.1.C子层,并接收来自1.1.C子层的报文。MAC子层负责报文分帧、仲裁、应答、错误检测和标定。1.1.C子层涉及报文滤波、过载通知、以及恢复管理。三、根本概念1报文(Messages)总线上的报文
23、以不同的固定报文格式发送,但长度受限(见2.3节的报文传输)。当总线空闲时任何连接的单元都可以开始发送新的报文。2、远程数据请求(RemoteDataRequest)通过发送远程帧,需要数据的节点可以请求另一节点发送相应的数据帧。数据帧和相应的远程帧是由相同的识别符命名的。3、仲裁(Arbitration)只要总线空闲,任何单元都可以开始发送报文。如果2个或2个以上的单元同时开始传送报文,那么就会有总线访问冲突。通过使用了识别符的逐位仲裁可以解决这个冲突。仲裁的机制确保了报文和时间均不损失。仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比拟。如果电平相同,那么这个单元可以继续发送
24、。4、平安性(Safety)为了获得最平安的数据发送,CAN的每一个节点均采取了强有力的措施以便于错误检测、错误标定及错误自检。5、总线值(Busvalues)总线有一个补充的逻辑值:“显性”或“隐性”。“显性”位和“隐性”位同时传送时,总线的结果值为“显性”。6、应答(Acknowledgment)所有的接收器检查报文的连贯性。对于连贯的报文,接收器应答,对于不连贯的报文,接收器作出标志。2.3报文传输一、帧格式有两种不同的帧格式,不同之处为识别符场的长度不同:具有11位识别符的帧称之为标准帧。而含有29位识别符的帧为扩展帧。二、帧类型报文传输由以下4个不同的帧类型所表示和控制:数据帧:数据
25、帧将数据从发送器传输到接收器。远程帧:总线单元发出远程帧,请求发送具有同一识别符的数据帧。错误帧:任何单元检测到总线错误就发出错误帧。过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。数据帧和远程帧可以使用标准帧及扩展帧两种格式。它们用一个帧间空间与前面的帧分隔。1)数据帧DataFrame数据帧由7个不同的位场组成:帧起始(StsrtofFrame)仲裁场(ArbitrationFrame)控制场(ControlFrame)数据场(DataFrame)、CRC场(CRCFrame)应答场(ACKFrame)、帧结尾(EndofFrame)数据场的长度可以为0。图2.1
26、数据帧结构(1)帧起始(标准格式和扩展格式)帧起始(SOF)标志数据帧和远程帧的起始,仅由一个“显性”位组成。只在总线空闲时才允许站开始发送(信号)。所有的站必须同步于首先开始发送报文的站的帧起始前沿。仲裁场标准格式帧与扩展格式帧的仲裁场格式不同。a)标准格式里,仲裁场由11位识别符和RTR位组成。识别符位由ID.28JD.18。b)扩展格式里,仲裁场包括29位识别符、SRR位、IDE位、RTR位。其识别符由1D.28-ID.0。图2.2标准格式帧和扩展帧格式识别符:a)识别符一标准格式:识别符的长度为Il位,相当于扩展格式的根本ID。这些位按1D.28到ID.18的顺序发送。最低位是ID.1
27、8。7个最高位(ID.28-ID.22)必须不能全是“隐性”。b)识别符扩展格式:和标准格式形成比照,扩展格式由29位组成。其格式包含两个局部:11位根本ID、18位扩展ID。根本ID:根本ID包括11位。它按2.28到2.18的顺序发送。它相当于标准识别符的格式。根本ID定义扩展帧的根本优先权。扩展1D:扩展ID包括18位。它按ID.17到ID.0顺序发送。标准帧里,识别符其后是RTR位。RTR的全称为“远程发送请求位(RemOteTranSmiSSionRequestBIT),RTR位在数据帧里必须为“显性”,而在远程帧里必须为“隐性”。扩展格式里,根本ID首先发送,其次是IDE位和SRR
28、位。扩展ID的发送位于SRR位之后,SRR的全称是“替代远程请求位(SubstituteRemoteRequestBIT),0SRR是一隐性位,它在扩展格式的标准帧RTR位位置,因此代替标准帧的RTR位。因此,标准帧与扩展帧的冲突是通过标准帧优先于扩展帧这一途径得以解决的,扩展帧的根本ID如同标准帧的识别符。IDE的全称是“识别符扩展位(IdentifierExtensionBit),IDE位属于扩展格式的仲裁场和标准格式的控制场,标准格式里的IDE位为“显性”,而扩展格式里的IDE位为“隐性”。(3)控制场(标准格式以及扩展格式)控制场由6个位组成。标准格式里的帧包括数据长度代码、IDE位(
29、为显性位,见上文)、及保存位10。扩展格式里的帧包括数据长度代码和两个保存位:rl和rO。其保存位必须发送为显性,但是接收器认可“显性”和“隐性”位的组合。图2.3控制场数据长度代码指示了数据场里的字节数量。数据长度代码为4个位,它在控制场里发送。(4)数据场(标准格式以及扩展格式)数据场由数据帧里的发送数据组成。它可以为0-8个字节,每字节包含了8个位,首先发送MSB。(5)应答场(标准格式以及扩展格式)应答场长度为2个位,包含应答间隙(ACKS1.OT)和应答界定符(ackdelimiter),在ACK场(应答场)里,发送站发送两个“隐性”位。当接收器正确地接收到有效的报文,接收器就会在应
30、答间隙(ACKS1.OT)期间(发送ACK信号)向发送器发送一“显性”位以示应答。(6)帧结尾(标准格式以及扩展格式)每一个数据帧和远程帧均由一标志序列定界。这个标志序列由7个“隐性”的位组成。2)远程帧通过发送远程帧,作为某数据接收器的站可以初始化通过其资源节点传送不同的数据。远程帧也有标准格式和扩展格式,而且都由6个不同的位场组成:帧起始、仲裁场、控制场、CRC场、应答场、帧结尾。与数据帧相反,远程帧的RTR位是“隐性”的。它没有数据场,数据长度代码的数值是不受制约的(可以标注为容许范围里0-8的任何数值)。此数值是相应于数据帧的数据长度代码。RTR位的极性表示了所发送的帧是一个数据帧IR
31、TR位“显性”)还是一个远程帧(RTR“隐性”)O3)错误帧错误帧由两个不同的场组成。第一个场用是不同站提供的错误标志(ERRORF1.AG)的叠加。第二个场是错误界定符。4)过载帧过载帧包括两个位场:过载标志和过载界定符。5)帧间空间数据帧(或远程帧)与先行帧的隔离是通过帧间空间实现的,无论此先行帧类型如何数据帧、远程帧、错误帧、过载帧)。所不同的是,过载帧与错误帧之前没有帧间空间,多个过载帧之间也不是由帧间空间隔离的。帧间空间包括间歇、总线空闲的位场。如果“错误被动的站已作为前一报文的发送器时,那么其帧空间除了间歇、总线空闲外,还包括称作挂起传送(SUSPENDTRANSMISSION)的
32、位场。2.4 报文滤涉及报文校验2.4.1 报文滤波报文滤波取决于整个识别符。允许在报文滤波中将任何的识别符位设置为“不考虑”的可选屏蔽存放器,可以选择多组的识别符,使之被映射到隶属的接收缓冲器里。如果使用屏蔽存放器,它的每一个位必须是可编程的,即他们能够被允许或禁止报文滤波。屏蔽存放器的长度可以包含整个识别符,也可以包含局部的识别符。2.4.2 报文校验校验报文有效的时间点,发送器与接收器各不相同。发送器(Transmitter):如果直到帧的末尾位均没有错误,那么此报文对于发送器有效。如果报文破损,那么报文会根据优先权自动重发。为了能够和其它报文竞争总线,重新传输必须在总线空闲时启动。接收
33、器(Receiver):如果直到一最后的位(除了帧末尾位)均没有错误,那么报文对于接收器有效。帧末尾最后的位被置于“不重要”状态,如果是一个“显性”电平也不会引起格式错误。2.5 编码编码即位流编码(BitStreamCoding)o帧的局部,诸如帧起始、仲裁场、控制场、数据场以及CRC序列,均通过位填充的方法编码。无论何时,发送器只要检测到位流里有5个连续相同值的位,便自动在位流里插入一补充位。数据帧或远程帧(CRC界定符、应答场和帧结尾)的剩余位场形式固定,不填充。错误帧和过载帧的形式也固定,但并不通过位填充的方法进行编码。其报文里的位流根据“不返回到零(NRZ)之方法来编码。这就是说,在
34、整个位时间里,位的电平要么“显性”,要么为“隐性”。2.6 错误处理及错误界定错误处理包括错误检测和错误标定。故障界定采用两种计数:发送错误计数、接收错误计数。第三章系统主控芯片介绍本系统中采用基于ARMCortex-M3内核的32位微处理器STM32F103系列芯片作为主控芯片。STM32F103系列微处理器具有高性能、低功耗、实时应用、低本钱、易于开发等特性,其最高工作频率可达72MHZ,内置高速存储器、丰富的I/O端口和外设。其内置的通用同步异步收发器(USART)和控制器局域网(bxCAN),使得系统开发起来更为方便。3.1 ARM简介ARM(AdvancedRISCMachines)
35、是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、本钱低和能耗省的特点。适用于多种领域,比方嵌入控制、消费/教育类多媒体、DSP和移动式应用等。3.1.1 常用的ARM处理器系列ARM公司开发了很多系列的ARM处理器核,目前应用比拟多的ARM处理器系列有:1) ARM7系列ARM7TDMI是ARM公司1995年推出的第一个处理器,也是目前用量最多的一个内核。该系列包括ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了JazelleARMVEJ-So该系列处理器提供Thumb16位压缩指令集和Emb
36、eddedICE软件调试方式,适用于更大规模的SoC设计中。ARM7系列广泛应用于多媒体和嵌入式设备,包括Intemet设备、网络和调制解调器设备,以及移动、PDA等无线设备。2) ARM9系列ARM9系列于1997年问世,该系列包括ARM9TDMI、ARM920T和带有高速缓存处理器宏单元的ARM940T。除了兼容ARM7系列,而且能够更加灵活的设计。ARM9系列主要应用于引擎管理、仪器仪表、平安系统和机顶盒等领域。3) ARM9E系列该系列为含有DSP指令集的综合处理器,包括ARM926EJ-S、带有高速缓存处理器宏单元的ARM966E-S/ARM946E-S,其内核在ARM7处理器内核的
37、根底上使用了JaZelIe增强技术,该技术支持一种新的JaVa操作状态,允许在硬件中执行Java字节码。ARM9E系列主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。4) Xscale简介XSCale微控制器那么提供全性能、高性价比、低功耗的解决方案,支持16位ThUmb指令并集成数字信号处理(DSP)指令。主要应用于手提式通讯和消费电子类设备。3.1.2 ARMCortex系列简介基于ARMV7版本的ARMCOrteX系列产品由A、R、M三个系列组成,具体分类延续了一直以来ARM面向具体应用设计CPU的思路。其中,A为应用处理器系列(Application
38、Processor),R为实时控制处理器系列(RealTimeControl),M为微控制器系列(MicroController)。1) Cortex-A8处理器简介该处理器是ARM公司所开发的基于ARMv7架构的首款应用级处理器,其特色是运用了可增加代码密度和加强性能的技术、可支持多媒体以及信号处理能力的NEoNTM技术、以及能够支持Java和其他文字代码语言的提前和即时编译的JaZelIeRTC技术。众多先进的技术使其适用于家电以及电子行业等各种高端的应用领域。2) COrteX-R4处理器简介该处理器是首款基于ARMv7架构的高级嵌入式处理器,其主要目标为产量巨大的高级嵌入式应用系统,如
39、硬盘,喷墨式打印机,以及汽车平安系统等等。3) COrteX-M3处理器简介该处理器是首款基于ARMv7-M架构的处理器,采用了纯Thumb2指令的执行方式,具有极高的运算能力和中断响应能力。Cortex-M3主要应用于汽车车身系统,工业控制系统和无线网络等对功耗和本钱敏感的嵌入式应用领域。3.2 ARMCortex-M3处理器内核概述3.2.1 ARMCorteX-M3结构Cortex-M3由以下组件组合3.2.2 内核2)嵌套向量中断控制器(NVIC)3)存储器保护单元(MPU)4)总线接口5)低本钱调试解决方案3.2.3 CorteX-M3特点1)功耗低:运行时功耗为0.19mW/MHz
40、,而ARM7为0.28mWMHz,并且内置眠模式,可以极低的功耗。2)采用先进的ARMV7-M架构:采用ThUmb-2指令集,复杂性大幅下降,代码密度和性能均得到提高。同时采用哈佛结构和三级流水线结构也使得运行效率得到大幅度的提高。3)嵌套向量中断控制器(NVIC):它与处理器内核紧密结合实现低延迟中断处理,能够处理多达43个可屏蔽中断通道(不包括16个Cortex-M3的中断线)和16个优先级。4)内置存储器保护单元(MPU):MPU功能可选,用于对存储器进行保护,包括8个存储器区。5)内部总线接口:包括AHB1.ite、ICOde、DCOde和系统总线接口和APB专用外设总线(PPB)6)
41、与ARM7TDMI相比运行速度最多可快35%且代码最多可节省45%。3.3 STM32F103微处理器概述一、系统构架主系统由以下局部构成:1)四个驱动单元:COrteXtm-M3内核DCOde总线(D-bus),和系统总线(S-bus)通用DMAl和通用DMA22)四个被动单元内部SRAM内部闪存存储器FSMCAHB到APB的桥(AHB2APBx),它连接所有的APB设备这些都是通过一个多级的AHB总线构架相互连接的图3.1系统构架二、存储器组织程序存储器、数据存储器、存放器和输入输出端口被组织在同一个4GB的线性地址空间内。数据字节以小端格式存放在存储器中。一个字里的最低地址字节被认为是该
42、字的最低有效字节,而最高地址字节是最高有效字节。三、启动配置在STM32F103里,可以通过Boc)Tn:0引脚选择三种不同启动模式。启动模式选择管脚启动模式说明BOOTlBOOTOX0用户闪存存储器用户闪存存储器被选为启动区域01系统存储器系统存储器被选为启动区域11内嵌SRAM内嵌SRAM被选为启动区域表3.1启动模式四、时钟系统时钟的选择是在启动时进行,复位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的416MHz时钟;当外部时钟失效时,它将被隔离,同时会产生相应的中断。同样,在需要时可以采取对P1.1.时钟完全的中断管理(如当一个外接的振荡器失效时)
43、。具有多个预分频器用于配置AHB的频率、高速APB(APB2)和低速APB(APBI)区域。AHB和高速APB的最高频率是72MHz,低速APB的最高频率为36MHz。五、根本外设1、DMA灵活的7路通用DMA可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输;DMA控制器支持环形缓冲区的管理,防止了控制器传输到达缓冲区结尾时所产生的中断。DMA可以用于主要的外设:SPI、I2C、USART通用和高级定时器TIMX和ADCo2、通用定时器(TIMX)和高级控制定时器(TIMI)STM32F103中内置了多达3个同步的标准定时器。每个定时器都有一个16位的自动加载递加/递减计数器、一个
44、16位的预分频器和4个独立的通道,每个通道都可用于输入捕获、输出比拟、PWM和单脉冲模式输出。高级控制定时器(TlMI)可以被看成是一个分配到6个通道的三相PWM发生器,它还可以被当成一个完整的通用定时器。3、FC总线多达2个Pc总线接口,能够工作于多主和从模式,支持标准和快速模式。4、通用同步/异步收发器(USART)其中一个USART接口通信速率可达4.5兆位/秒,其他USART接口通信速率可达2.25兆位/秒。接口具有硬件的CTS和RTS信号管理、支持IrDA的SIRENDEC、与ISO7816兼容并具有1.IN主/从功能。5、控制器局域网(bxCAN)CAN接口兼容标准2.0A和2.0
45、B(主动),位速率达1兆位/秒。它可以接收和发送11位标识符的标准帧,也接收和发送29位标识符的扩展帧。具有2个接收FIFO,3级14个可调节的滤波器。6、通用输入输出接口(GPIo)每个GPIO管脚都可以由软件配置成输出(推拉或开路)、输入(带或不带上拉或下拉)或其它的外设功能口。多数GPlo管脚都与数字或模拟的外设共用。所有的GPIO管脚都有大电流通过能力。7、ADC(模拟/数字转换器)STM32F103内嵌2个12位的模拟/数字转换器(ADC),每个ADC有多达16个外部通道,可以实现单次或扫描转换。在扫描模式下,转换在选定的一组模拟输入上自动进行。3.4 通用同步异步收发器(USART
46、)通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。3.4.1 USART特性1)全双工的,异步通信2) NRZ标准格式3)发送和接收共用的可编程波特率,最高达4.5MbitS/s4)可编程数据字长度(8位或9位)5)可配置的停止位-支持1或2个停止位6)单独的发送器和接收器使能位7)多处理器通信,如果地址不匹配,那么进入静默模式3.4.2 波特率的产生接收器和发送器的波特率在sartdiv的整数和小数存放器中的值应设置成相同。fPC1.KTx/RX波特率=*USARTDIV)这里的C1.KX(X=1、2)是给外设的时钟(PC1.Kl用于USART2、3、4、5,PC1.K2用于USARTI)Usartdiv是一个无符号的定点数。这12位的值设置在usart_brr存放器。3.4.3 USART中断请求中断事件事件标志使能位发送数据存放器空TXETXEIECTS标志CTSCTSIE发送完成TCTCIE接收数据就绪可读TXNETXNEIE检测到数据溢出ORE检测到空闲线路ID1.EID1.EIE奇偶检验错PEPElE断开标志1.BD1.BDIE噪声标志,多缓冲通信中的溢出错误和帧错误