PROFIBUS总线在无轴传动系统中的应用

PROFIBUS总线在无轴传动系统中的应用

ID:36469589

大小:1.98 MB

页数:71页

时间:2019-05-11

上传者:U-145848
PROFIBUS总线在无轴传动系统中的应用_第1页
PROFIBUS总线在无轴传动系统中的应用_第2页
PROFIBUS总线在无轴传动系统中的应用_第3页
PROFIBUS总线在无轴传动系统中的应用_第4页
PROFIBUS总线在无轴传动系统中的应用_第5页
资源描述:

《PROFIBUS总线在无轴传动系统中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

摘要现场总线是当今自动化领域技术发展的热点之一,被称为自动化领域的计算机局域网。它的出现,标志着工控领域又一个新时代的开始。目前,世晃范围内已经形成了很多具有一定影响力的现场总线标准,其中,PROFIBUS总线无论在性能上还是在市场份额上,都有突出的优势。PROFIBUS—DP、PROFIBUS.FMS、PROFIBUS.PA组成了PROFIBUS系列,其中PROFIBUS.DP适用于分散外设间的高速通讯,在过程自动化领域有着广泛的运用。该项目主要就PROFIBUS总线在无轴印刷机自动控制系统的运用做了比较系统的研究,并设计了智能从站和基于PROFIBUS主站的IPC控制器。论文的主要内容分为三大部分,即PRoFIBuS.DP协议的介绍、智能从站的设计、IPC控制器的前瞻性探索。论文就各种常用的现场总线进行了分析,着重阐述了PROFIBUS总线的性能特点,详细描述了该总线的各层协议。论文重点讨论了PROFIBUS.DP智能从站的设计,在这一部分中阐述了以下内容:(1)根据系统的功能要求,分析了当前常用的各种设计智能从站的方法,最终确定了“C805IF020+SPC3”的系统作为智能从站的设计方案。(2)完成了从站的硬件开发与测试,完成了从站的软件代码的编程工作。(3)然后利用Simence公司的STEP7组态软件,针对S7.300系列的PLC主站进行了组态试验,监听并分析了报文数据,并对系统的可靠性也进行了试验。(4)此外,在硬件、软件设计中,充分考虑了系统的运行的可靠性问题。试验表明,可靠性满足了工业现场的要求,取得了较好的效果。论文还对基于PROFIBUS主站的IPC控制器的设计进行了探讨。在这一部分中,论文阐述了以下内容:(1)充分论证了实现IPC中PROFIBUS主站的各种可行性方案。最后确定采用瑞典HMS公司的嵌入式主站模块+FPGA+ARM9的方案来设计IPC控制器。(2)完成了IPC硬件设计及调试工作,主要分别说明了ARM9和FPGA两部分的硬件设计。(3)进行了IPC系统的部分的软件设计。关键词现场总线:PROFIBUS—DP;智能从站;IPC;PROFIBUS主站 北京工业大学工学硕士学位论文AbstractFieldbus,calledcomputerlocoalnetwork,isthemostattractedtechnologyintheautomaticfields.TherearemanytypesofFieldbusintheworld.ButtheyhavenotunifiedyetSOfar.Amongthese,PROFIBUSisoutstandingwhetheratthemarketorattheaspectoftheperformance.PROFIBUSisservedasGermanstandardD1N19245andEuropestandardEN50170.Now,ithasgonetotheworld.Manycountries’Sfactories.buildingswillorbeingusePROFIBUS.So,itWasnotstrangerthatChinaaccepteditasitsfirststateFilebusstandard-GB/T20540—2006inthe2006.PROFIBUSconsistsofPROFIBUS—DP,PROFIBUS.FMSandPROFIBUS一队.supportedmaster-slavesystem,master-mastersystem.PROFIBUS—DPisreseaechedandappliedwidely.Anditissuitablefordiscretemanufacturingandprocesscontr01.TllisprojectmainlyresearchesPROFIBUS—DPprotocolanddevelopPROFIBUS—DPdevicefortheshaftlessprintingmachine.Thispaperincludesthreebigpieces:introducingPROFIBUS—DPprotocol,designingPROFIBUS—DPslave,researchingPROFIBUS—DPmaster.Firstly,inthefirstpieceofpapermanytypesofpopularFieldbusareintroducedandcompared.ThenthecharactorsofPROFIBUSisintroducedandtheprotocolofeachlayeranalysed.Atthesecondpiece,thispaperdecribesthedesignofintelligentI/Oslave.Hereisworkdoneaboutintelligentslave:(1)Accordingtothefunctiondemandofthissystemmanyavailablewaystoconstructslavecomesup.Aftercomparingthesewaysthispaperobtainsthesolutionfortheintelligentslave.thatiS“C8051F020+SPC3“.(2)Completedthedevelopmentoftheslavesystemhardware,fulfilledcodetestingandsystemdebugging.(3)ConfiguredthesystemhardwarebyStep7.(4)Consideredthesystemreliablilityfromhardwaretosoftware.Atlastexperimentsarecardedon.ThcintelligentI/Oslaveisprovedtohavetheabilityofmeetingthebasicfunctionsthatthesystemrequests,andhaveastrongstabilityandanti-jammingability.Atthelastpiece.theIPCcontrollerbasedonPROFIBUSmasterdesignisillustrated.Herearethecontents:(11Consideredmanyavailablewaystoconstructmaster.Thesolutionof“ARM9+FPGA+Anybus.M“iSadoptedbecauseofthefactorsofcostandtime.(2)Completedthedevelopmentofthemastersystemhardware,fulfilledsystemdebugging.(3)Completedpartofsoftwarework.KeywordsFieldbus;PROFIBUS—DP;intelligentslave.IPC;master·II— 独创性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。繇潍帆生兰关于论文使用授权的说明本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。(保密的论文在解密后应遵守此规定)签名:池导师签名:旌日期:皇z:兰 第1章绪论1.1课题的来源、目的、要求及主要工作1.1.1课题来源本课题得到北京市先进制造技术重点实验室开放基金(kp0100200201)和北京市科委2005年度科技重大项目印刷设备的无轴传动与系统研究项目(D0305001040621)的资助。课题成果将用于目前以齿轮传动为主流的印刷设备的升级,传统的依靠齿轮同步的印刷设备精度差、噪音高、污染严重,而且体积庞大,效率很低,目前发达国家已经广泛采用无轴印刷机技术,在各个方面都已经超越了传统的印刷机设备。无轴印刷机的研制在我国起步较晚,是一项庞大的工程。本课题主要利用现场总线技术一PROFIBUS总线,为印刷机上繁多的FO节点、各个传感器的数据采集提供可靠的数据传递。此外,尝试采用基于ARM9的嵌入式操作系统作为系统控制器,即采用基于PROFIBUS主站的IPC控制器替代造价昂贵的传统工业PC机。1.1.2课题的目的和要求该课题将PROFIBUS现场总线技术运用到无轴印刷设备的控制系统中。通过PROFIBUS--DP智能从站节点,替代传统的继电器控制和造价昂贵的PLC的I/O接口,降低系统成本,提高设备运行的可靠性。PROFIBUS是作为德国国家标准DINl9245和欧洲标准EN50170的现场总线,目前已成为唯一中国批准的现场总线标准GB/T20540.2006。PROFIBUS—DP、PROFIBUS.FMS、PROFIBUS.PA组成了PROFIBUS系列,支持主.从系统、纯主站系统、多主多从混合系统。此外,尝试采用基于ARM9的嵌入式系统作为无轴印刷机的控制系统中心,可替代通用的、昂贵的工业PC机,是具有自己特色和产权的控制系统。中国机电设备目前的主流控制器是PLC,随着计算机技术的发展,嵌入式产品在这一领域迅速增长,并在一些特殊运用中取得优势地位,对小型PLC形成强大的竞争压力,在一些领域甚至出现取代PLC的趋势。例如在塑料机械行业,基于嵌入式产品的塑料机械专用电脑已经占据了主导地位;而在电梯上,基于嵌入式产品的控制器已经占据了半壁江山,在客梯和高速电梯上更是占据了绝对优势,PLC仅仅在货梯和低速电梯上存有一席之地;在高端Ep届EJ机械上,基于嵌入式产品的印刷机械电脑系统是运用最多的控制方案。 北京工业大学工学硕士学位论文基于以下原因,嵌入式控制器或称工业IPC的前景光明:>>>相对小型PLC,嵌入式控制器具有更好的性能和更多的功能;>>>嵌入式控制器系统成本具有优势;>>>由于上述嵌入式控制器的诸多优点,将出现更多的运用开发商开发嵌入式控制器产品:>>>大的机电设备制造商也开始开发用于自己设备的嵌入式控制器;>>>用户基础和技术基础逐步提升。>>>厂商将拥有自主知识产权的控制器。将PROFIBUS现场总线技术运用到无轴印刷设备的控制系统中,课题要求完成以下要求:①熟悉PROFIBUS.DP协议,充分考虑该总线的可靠性,是否满足现场的实时性;②设计16DIO(数字式的I/O节点,16位输入16输出)智能从站节点,并具有可扩展性:③熟悉各常用组态软件,编写GSD文件,并进行组态试验:④充分考虑16DIO智能从站节点的可靠性及安装要求;以上是智能从站节点的要求,对于基于PROFIBUS主站的IPC控制器的要求如下:①选择论证PROFIBUS主站的实现形式;②设计基于ARM9的嵌入式主站系统;③硬件平台的调试成功;④为下一步计划提出要求;1.1.3论文主要完成的工作本论文主要完成基于C8051F020和SPC3的智能I,o从站的设计、调试、组态,完成基于PROFIBUS主站的IPC控制器的硬件平台的搭建工作,主要工作如下:①完成智能I/O从站的系统设计,方案的选择比较,确定C8051F020+SPC3的方案;②完成芯片选型,包括CPU芯片、I/O接口、PROFIBUS通讯接口等外围芯片:③完成系统原理图设计和PCB(4层板)的制作,完成系统各部分电路调试;④完成软件调试;⑤完成智能从站的GSD文件编写,及其与PLC主站、CP5613主站卡的组态;⑥完成基于PROFIBUS主站的IPC控制器的实现方式的选择,确定Anybus.M主站模块+ARM9的方式;⑦完成基于PROFlBUS主站的IPC控制器的嵌入式系统的原理图scH设计、 第l章绪论PCB(4层板)的制作,完成系统各部分电路的制作:⑧完成ARM9系统的调试,包括Linux2.4内核移植,NFS调试方式的搭建等工作;⑨完成FPGA系统的硬件调试。基:J=LINUX2.4操作系统平台的软件编写以及第三方软件集成将由项目组其他成员完成。1.2本章小节在这一章里,我们首先说明了课题的来源,简要介绍了无轴印刷机课题的背景,及PROFIBUS总线在无轴印刷机控制系统中的运用,然后介绍了本论文的要求和主要完成的工作。 北京工业大学1二学硕士学位论文第2章PROFIBUS现场总线的技术研究2.1现场总线综述2.1.1总线的发展随着控制、计算机、通讯、网络等技术的发展,信息交换沟通的领域正在迅速覆盖从工厂的现场设备层到控制、管理的各个层次,覆盖从工段、车间、工厂、企业乃至世界各地的市场。信息技术的飞速发展,引起了自动化系统结构的变革,逐步形成以网络集成自动化系统为基础的企业信息系统。现场总线(Fieldbus)就是顺应这一形势发展起来的新技术【2】。2.1.2总线的特点及优越性现场总线具有以下特点:系统的开放性总线的通讯协议的标准是公开的,对外是一致的。互可操作性与互用性【2l这是指互连设备间、系统间的信息传送与沟通;而互用性是指不同厂家的功能相似设备可以互换。现场设备的智能化与功能自治性即将诸如数据采集、补偿计算、故障自我诊断等功能分散到现场设备中完成,仅仅靠现场设备就可以完成基本功能。系统结构的高度分散性这种总线式结构已经改变了传统DCS集中与分散相结合的集散控制系统,使得系统的结构更加简单、明了。对现场环境的适应性要求适应工业现场的高干扰情况,有时要满足现场的防爆要求。现场总线具有以下优点:节省硬件数量与投资由于现场总线设备一般都具有相当的智能,可以独立完成一些基本操作,如信号分析、计算、报警等,所以减少了变送器、调节器的数量,也不再需要DCS月g样的信号隔离、调理、转换等模块单元及复杂的接线,从而节约了大量的硬件投资。节省安装费用现场总线接线简单,一对双绞线或者一条电缆通常可以挂接多个设备,因而电缆、端子、走线的槽盒等用量大大减少,从而安装过程交得很简单,人工费用也相应降低了。节省维护开销由于现场总线设备很多都具有自诊断功能及处理简单故障的能力,并将自身信息发送到主设备或者主站,为设备维护提供全方位的服务。此外,由于现场总线设备的可互用性,使得设备的备件库存可以大大减少。 第2章PROFIBUS现场总线的研究具有高度的系统集成的主动权由于总线设备具有的可互用性和可互操作性,使得集成厂家可以选择各种品牌的产品,牢牢控制了设备集成过程中的主动权。提高了系统的准确性和可靠性由于是数字信号,所以,大大改善了信号传递过程中的准确性,这是传统的模拟表无法比拟的。此外简单的设备连线,降低了出错的概率,提高了系统的可靠性。2.1.3几种常用的现场总线80年代末,几种有影响的现场总线逐步形成。它们各有优点,也显示了较强的生命力!其中有基金会现场总线(FF,FoundationFieldbus)、LonWorks、PROFIBUS、CAN、HART等。下表2.1是6种常用总线的传输机制的比较【181表2-1传输机制Table2-1Tansportmechanism总线名称通讯方式传输特性传输数据长仲裁方式错误校验度ProfibusDP/PA主从、对等DP:9.6kb/s’12Mb/sOB’2448令牌传递HD4CRCPA:31.25kb/sInterbus--S主从500kb/s,全双上1B。64B无16bCRcDeviceNet主从、多主、500kb/s8B变量报文CSMA非破cRC校验对等方式250kb/s125kb/s坏性仲裁FF客户端/服务32.25kb/s128个比特调度程序16bCRC器f署笔甩户组多备份ControlNet生产者/消费5Mb/s0B~5lOB变CTDMACITT者,目标对象量时间片Canopca主从、多主、10kb/s~1Mb/s8B变量报文CSMA非破15bCRC对等网络坏性仲裁2.2PROFIBUS总线简介PROFIBUS是ProcessFieldbus的缩写,是一种国际开放式的现场总线标准。目前世界上许多自动化技术生产厂家都为它们的设备提供PROFIBUS接口。PROFIBUS已经广泛运用于加工制造、过程和楼宇自动化,是成熟的技术。PRoFIBUS开始是作为德国国家标准DINl9245,后成为欧洲标准EN50170的现场总线标准【2】,在我国,现已成为唯一中国批准的现场总线标准GB厂r20540.2006。PROFIBUS—DP、PROFIBUS—FMS、PROFIBUS.PA组成了 北京工业大学工学硕士学位论文PROFIBUS系列,支持主一从系统、纯主站系统、多主多从川【2】f31混合系统。其中PROFIBUS—DP适用于分散外设间的高速通讯,在过程自动化领域有着广泛的运用。图2一l是PROFIBuS在过程自动化领域运用的典型运用。图2-IPROFIBUS在工业过程自动化中的运用Figure2-1PROFIBUSApplicationintheProcessControl2。3PROFlBUS总线各层协议的分析2.3.1PROFIBUS总线的协议结构参照ISO/OSI参考模型,PROFIBUS.DP只是包含了第1,2和用户接口,第三层到第七层没有使用,如图2.2所示这种为高速传输用户数据而经过优化的PROFIBUS—DP协议特别适合于可编程控制器和现场分散的I/O设备之间的通讯。图2-2PROFIBUS体系结构图Figure2-2PROFIBUSConstructionDiagramPROFIBUS—FMS定义了l、2、7层,运用层(第7层)包括FMS(FiledbusMessage 第2章PROFIBUS现场总线的研究SpecificatiOil,现场总线报文规范)和LLI(LowerLayerInterface,低层接口)。功能强大的FMS服务可在广泛的运用领域内使用,并为解决复杂通信任务提供了很大的灵活性。DP和FMS使用相同的传输技术和总线存取协议,因此,它们可以在同一根总线电缆上运行。2.3.2物理层第一层一PHY:第一层规定了线路介质、物理连接的类型和电气特性。本文涉及的是PROFIBUS.DP协议,是通过差分电压输出的RS485实现电流连接。在线性拓扑结构下采用双绞线电缆。电缆的最大传输距离和数据传输的速率及电缆型号有关。每一段电缆所连接的站点的数量不能超过32个(包括主站、从站和中继器)121。此外,总线长度和站点的数量可以通过增加中继器来增加。~条总线运行的中继器不能超过3个,这样,在总线拓扑结构中,站点的数量最大为122个。①总线连接器【2】PROFIBUS总线上,每一个站点都是通过9针插座的D型连接器将它们连接在介质上。如表2.2所示,是9针插座的各针的定义表2-2PROFIBUSD型插座的定义Table2-2DefinethetypeDSocketforPROFIBUSinterfce针脚号信号规定lShield屏蔽保护地2M2424V输出电压的地3RxD厂rxD.P接受数据/传输数据一阳极4CNTR.P中继器控制信号(方向控制)5DGND数据传输势位(对地5V)6VIa终端电阻的供给屯压(P5V)7P24输出电压+24V8RxD,rxD.N接受数据/传输数据一阴极9CNTR—N中继器控制信号(方向控制)②总线电缆PROFIBUS采用的通讯介质是屏蔽双绞线,它可以提高电磁兼容(EMC)能力。下表2—3是常用的A型电缆的参数。 北京工业大学工学硕士学位论文表2-3PROFIBUSA型电缆参数Table2-3TypeACABLEPARAMETERS传输速率(kbit/s)每个总线段的范围(m)9.6:19.2:45.45:93.751200187.5100050040015002003000;6000:12000100阻抗135f2-165Q电容90pF/m回路电阻(110n/km线径之0.64ram导线截面积≥O,34mm2③现场接线接线如图2—3所示,终端电阻器具有稳定传输线的电平,减少信号反射的作用。一般情况下,一条总线上最多挂载32个设备,当设备较多,彼此分布较远对,可以考虑加中继器,一条总线可以最多加3个中继器。苇个r.最后个,^2.3.3数据链路层图2.3PROFlBUS总线的安装Figure2-3PROFIBUSAssemblePROFIBus按照IEc870.5.1制定帧字符和帧格式川f2】’一帧由若干个帧字符(UART字符)构成。每个UART字符由11位组成:一个开始位,逻辑“0”电平;st信息位,高位在前传输:一个奇偶校验位(P):一个停止位,总是逻辑“l”。UART字符格式如表2.4所示: 第2章PROFIBUS现场总线的研究表24UART字符各位的定义T曲le2-4DefineforUART一0IB1B2IB3[B4IB5————[—B6—IB7—I—B—8————tP——————I—1————传输规则是这样的:空闲时间相当于信号电平二进制“1”:在每个帧传输前必须有33个空闲位时间(同步时间);在帧的uART字符之间不允许有空闲状态:接受器会检查UART字符的停止位、起始位、奇偶校验位以及每个帧的起始定界符、结束定界符、DA、SA、FCS。PROFIBUS主要有以下几种报文结构l、无数据信息的固定长度帧请求帧(Request)的格式应答帧(Acknowledge)的格式短应答帧(Shortacknowledge)的格式SDl=10H,开始分界符;ED=16H,帧结束符:SC=E5HS、rN为同步时间,至少33个空闲位:DA、SA分别为目的地址和源地址;FC:帧功能码;FCS:帧校验码2、有数据信息的固定长度帧发送/请求帧(Send/Request)的格式SYN)b同步时间,至少33个空闲位;DA、SA分别为目的地址和源地址;FC:帧功能码:FCS:帧校验码。DATAUNIT位8个字节固定长度的数据。3、具有数据信息的变化长度帧发送/请求帧(Sedd/Request)的格式响应帧(Respone)的格式 北京工业大学工学硕士学位论文其中,SD2=68H,开始分界符;ED=16H,帧结束符;SYN为同步时间,至少33个空闲位;DA、SA分别为目的地址和源地址;FC:帧功能码;FCS:帧校验码。DATAUNIT是数据,长度不是固定的,最大长度246个字节。LE:帧长度(4~246);LEt:帧长度的重复;4、令牌帧(Token)令牌帧的格式SYN为同步时间,至少33个空闲位;DA、SA分别为目的地址和源地址;SD4=DCH,开始分界符。最后,以Siemense公司的主站--CP5613(地址02H)和鼎实公司一个从站(地址13H)连接为例,通过ADAM4520监听报文,分析一下从上电开始到主从站进行数据交换的报文:测试时间:2006年03月31日1l时00分18秒监听报文并作分析:£些8056893826D3C3EFCl6这是第二种帧格式,主站请求诊断从站(其中SSAP源服务存取点是0x3E,而DSAP目标服务存取点是0x3C,表示对从站的诊断服务)开始分界符号SD2:68;LE、LEr:0505表示数据净长度=DA+SA+DATAUNIT+SSAP+DSAP,在这里是93826D3C3E功能码:6DFCS:帧校验码FC婴05A0249A516这是主站对从站的询检,目前是对地址为5A的从站询问鱼:9C02令牌帧,即使总线上只有一个主站,也要进行令牌的交换,当然,此处是自己和自己交换癌与8056893826D3C3EFC16上面已经提到过,是主站请求诊断(5)680B688293083E3C020500FF06FA9D16这是地址为13H的从站对主站的诊断信息的回应其中0205ooFF06FA是从站的上传的诊断信息:其中第一个字节是诊断信息,表示从站还没有参数化;第二个字节需要参数化及看门狗的一些信息;第三个字节为保留字节;第四个字节为主站地址,在从站没有被参数化以前是FF;第 第2章PROFIBU'S现场总线的研究五、六字节是从站识别号。幽05B0249A616卫pC02‘Z后80C6893825D3D3EB81A1B0B06FA00E516这是主站在对从站参数化,(DSAP=3D)其中B81A1B0B06FA00这是参数,而且,这7个字节的信息是强制性的,必须有的信息,包含了从站识别号等信息。限E5短应答,从站对主站的参数请求必须这样应答。幽05C0249A716笪』:DC02(12)680B6893827D3ElF2F1F2F1F2FF816这是主站在对从站组态,(DSAP=3E)其中lF2FlF2FlF2F表示从站具有48个输入,48个输出I/O量旺施5短应答,从站对主站的组态请求必须这样应答。凹05D0249A816望少C02堑竖8056893825D3C3EEC16以稻8OB0B688293083E3C000C000206FAA516可以看出,当主站再次对从站进行诊断询问后,从站已经记录了主站的地址02,表示从站已经参数化完毕,可以进入数据交换状态了!(18)105E0249A916(JY.,DC02dr)68336813027DOFF0000000009l16主站给从站的传输数据1683368021308OO5A5A5A5A5A4916从站给主站的传输数据l105F0249AAl6DC02 北京工业大学工学硕士学位论文2.34应用层PROFIBUS标准的应用层包括两个实体,及FMS(现场总线报文规范)和LLI(低层接口)111121131。应用层通过不同的应用领域定义专门的行规文件(面向运用的功能标准),如楼宇自动化、离散部件制造、过程控制等等,使得在不同的应用领域可以实现不同的系统组成和功能结构。2.4本章小节在这一章里,我们首先介绍了各种总线的特点,然后引入PROFIBUS概念,进而详细介绍了PROFIBus总线的各协议层。 第3章PROFIBUS智能从站方案发计第3章PROFIBUS智能从站方案设计3.1功能要求PROFIBUS智能I/O从站(Slave)作为无轴印刷机各个I/O节点的控制设备,需要造价低、可靠性高、安装方便,需要完成以下功能:①采集现场开关量的输入状态,发送到主站(Master)并保证数据的可靠性②对采集到的信号具备初步处理的能力;③正确执行主站的命令,驱动各个输出口,驱动方式是三极管开集电极方式④具备指示功能,采用LED发光管显示各个I/O口的状态;⑤具备故障诊断功能,当系统出现故障后可以通过总线发送数据到主站:⑥模块化设计,具备扩展I/O口的能力。3.2系统主要技术参数指标确定本系统的性能参数主要包括电源及功耗、I/O通道数量及其电气性能参数、扩展通道数量等。(1)电源本系统采用现场常用的24V直流电源,功耗2W,系统电源有5V和3.3V两种,和系统电源和现场供电电源是隔离地的,这有助于提高系统的抗干扰能力。此外,现场电源可能会存在波动,所以,系统应该选择具有稳压功能的DC/DC电源变换器。(2)I/O通道考虑到无轴印刷机设备的节点数量和设备的体积因素,和I/O的扩展能力,参考WAGO、Siemense等著名公司的I/O模块节点数量,决定采用16位数字量输入(Input)、16位数字量输出(Output)的设计;为了提高系统的抗干扰能力,输入输出均采取光电隔离措施。系统的输出口和系统地之间的隔离电压Viso=7500(PK);(3)扩展通道系统可以扩展4路输入4路输出的I/O模块、2路模拟输入2路模拟输出的信号采集模块:(4)通讯速率系统需要灵活的通讯速率,具有识别PROFIBUS总线上的通讯速率,并相应调整自己通讯速率的能力。工业现场一股速率范围在500kbps以下就可以满足实时性和可靠性的要求;(5)工作温度范围一20℃~70℃; 北京工业大学工学硕士学位论文3.3系统方案的选择及各模块方案选择按上节的讨论,从功能上分,PROFIBUS智能I,O从站主要应包括I/O模块、通讯模块、CPU模块几大部分。智能从站的核心问题是如何实现PROFIBUS通讯协议,通常有以下几种方案:①单片机+软件的解决方案该方案的缺点是:开发周期长,难度大。要求详细了解PROFIBUS.DP协议。波特率自适应功能没有了,IjFmax=500kbps优点:成本最低!②单片机+asic芯片解决方案难度比较适中!选用SPC3芯片,完全支持PROFIBUS—DP协议。③单片机+嵌入式从站最简单,成本较高。经过综合比较,在以上3种方案中,第二种方案是最适合的。采用一款51系列的单片机与SPC3一专用内置PROFIBUS通讯芯片组合实现PROFIBUS.DP通讯协议。试验平台选用Siemense公司的CP5613,或者试验室已经有的S7—300系列的PLC作为主站,并购买了鼎实公司的从站进行初步的试验,熟悉和掌握PROFIBUS通讯协议之后,然后就可以着手进行智能I/0从站的设计工作。3,3.151系列CPU芯片的选择根据系统的规模,数据处理速度的要求以及SPC3通讯芯片的驱动接口的情况,选择8位的MCS--51系列单片机就完全可以满足系统的要求。5l系列8位处理单片机是目前品种比较全面的CPU。按照产品设计要求:满足工业现场使用、可靠性高、IIC接121、I/O接12]较多等要求。我们选择TCygnal公司的C8051F020产品。C8051F020T业级(-40"C~85"C)单片机是美国Cygnal公司【161[17]推出的完全集成的混合信号系统级芯片,其突出的优点是具有很高的运算速度、多达64位可编程I/O口线、片内集成看门狗定时器、64KFLASH程序存储器、256B+4KB的RAM、128B的非易失性存储器、支持JTAG调试等等。C8051F020的片上资源很丰富,采用这种系统级SOC芯片,在很大程度上减少了外围元器件的数量,从而减少了元器件间的走线,有利于系统的可靠性和稳定性的提高,有利于系统的升级。由此可见,这是一款性价比极高的产品。 第3章PROFIBUS智能从站方案设计3.3.2I/0等隔离芯片的选择由于I/O智能从站将运用在工业现场,必须保证系统的抗干扰能力和可靠性。所以,系统和外界的输入输出必须要采取隔离的措施。目前常用的隔离措施主要有:变压器隔离、光隔离等措施。常用的光隔离芯片为TLP521、6N137等,本方案采用性价比较高的TLP521作为I/O口的输入输出隔离。5.3kVrms,7.5kVpk的隔离电压完全满足了现场的电气隔离要求。此外,一般的,为提高PROFIBUS总线可靠性,也是需要隔离的。通常的方案是采用价格便宜的6N137光电隔离作为总线的隔离芯片。但是由于在总线需要较高的传输速率(>250kbps)时,光电开关的速度就无法满足要求,而且,光电祸合器需要很多的外围器件。AD公司最新的基于iCoupler隔离技术的ADUMl301芯片,与传统的光耦器件相比优势非常明显:完全满足工业现场宽范围的温度要求,达到(.40℃~105℃):低功耗:最高可达90Mbps的传输速率;所需的外围元件少。3.4系统构架经以上分析,得出PROFIBUS智n’tI/O从站的总体框架图如图3.1所示。PROFIBUS智能I/0从站采用功能模块设计,系统主要由C8051F020单片机和封装了PROFIBUS.DP协议的芯片SPC3构成其核心部分,其它还有16路的数字量输入输出口、基于SPC3的PROFIBUS总线驱动、扩展模块接口、及电源模块等部分组成。JTAG接口是C8051F020编程下载口,有了这个下载口,系统可以非常方便的进行软件升级。JTAG接口:==厂磊■罱{竺竺!竺:一兰摹.一j∑r暑·sPc3:2,絮嚣.=号_RS232L........................一L一.I扩展I,o模块一7—1’接口图3.1系统总体框架Figure3-1Thewholeframeofthesystem 北京工业大学工学硕士学位论文3.5本章小节本章详细讨论了PROFIBuS智能I/O从站应满足的功能要求和性能指标,根据这些要求,在大量调查和反复论证的基础上,确定了PROFIBUS智能I/O从站的C8051F020+SPC3总体方案,介绍了各部分功能模块的方案设计及芯片选型,最后提出了系统的硬件构架。 第4章智能从站的硬件电路设计根据图4.I可以看出本系统包括CPU模块、电源模块、I/O模块、PROFIBuS接口模块等部分,下面就详细介绍各部分硬件电路的设计。4.1CPU模块设计4.1.1C8051F020结构、引脚和主要特点C8051F020_T_业级(.40"C-85。C)单片机是美国CygIlal公司推出的完全集成的混合信号系统级芯片,图4.1是其内部主要的模块。由图4.1可以看出C8051F020,具有两种封装模式,64脚和100脚,本智能从站选取100脚,可以有多达64个I/O,这样,大大方便了系统设计,满足系统需要32个输入输出I/O的需要,减少了外围的电路。图4-lC8051F020的结构框图Figure4-IC8051F020blockdiagram 北京工业大学工学硕士学位论文C8051F020的主要特点罗列如下120J:①高速、流水线结构的8051兼容的cIP一51内核(可达25MIPS);②全速、非侵入式的在系统调试接口(在片内);③12位8通道的,高达100ksps转换速率的ADC;④2个12位的DAC。⑤64K字节的在线可编程的FLASH存储器;短)4352字节(4096+256)的片内删:⑦可寻址64K地址空间的外部数据存储器接口;⑨硬件实现的IIC接口和两个UART接口;⑨内置看门狗定时器,VDD监视器,温度传感器;4.1.2时钟电路设计c805lF020的时钟电路主要有两种模式:采用外部振荡器和内部振荡器【171120](最大是16MHz)。外部振荡器可以是外部提供的时钟信号,如有源晶振。也可接晶体、RC电阻网络作为CPU的外部谐振源。但是采用RC网络容易造成频率不稳定,不准确,很少采用,适用于系统性能要求不高,成本控制严格的场合。图4—2C8051F020时钟电路Figure4-2TheclockcircuitofC8051F020该系统中C8051F020使用有源晶振,电路如图4.2所示。C8051F020最高工作时钟频率为25MHz,选取22.1184MHz有源晶振为系统提供时钟。图4.29可看出有源晶振1脚悬空,2脚接地,4脚接3.3V电源,3脚为晶振信号输出脚,接CPU的时钟输入引脚XTALl。4.1.3复位电路的设计CPU系统上电复位的时间应该超过lOOms,上电期间,CPU保持复位状态。这lOOms的时间,是电源恢复到正常值的稳定时间。系统的RC电路构成了系统上电的恢复时间t----R10*C2=100+100041.0"0.000001=100ms。 第4苹智能从站的硬件电路设计P1元件实际上是两个焊盘孑L,其中一个焊盘为地,当用导电的工具短接这两个焊盘时,CPU的RESERT管脚获得一个低电平信号,CPU将复位。之所以采用这种方式而不是通常的按钮开关,主要是为了防止现场人员的误操作,提高系统的可靠性。图4-3C8051F020复位电路Figure4-3TheResetcircuitofC8051F0204.2电源模块设计电源模块设计如图4-4。从站系统和外部供电“+24V—EX”要求隔离,因此采用U5--DCDC变换隔离模块,将外部电源“+24V”转换成“+5VDG”,“+5VDG”是系统工作电源。图4·4电源电路Figure4-4ThePowerSupplycircuitTl是共扼线圈,降低外部电源的波动,提高系统的共模抑制能力。C33、C32是滤波电容,C33采用钽电容,C32为陶瓷电容,他们的特点是对高频干扰有很好的抑制作用。F17是自复式保险丝,当系统内部出现短路故障时,保险丝可以迅速切断外部供电,一旦系统电流低于设定的危险电流,F17有可以自动恢复连接。D28可以防止电源反接损坏系统。U11是线性调压器,将5V电压降低到C8051F020的电源电压3.3V。为了减少CPU的外围电路对芯片的核电源的影响,R60、R62有香了‰勤],一哥~哥~簪警蓐 北京工业大学工学硕士学位论文隔离两部分供电的作用。4.3I/0接口设计如图4·5所示,这是智能从站的输出接13部分。采用TLP512—4光电隔离芯片作为系统和外部驱动的电气隔离。例如DOT0为高电平,表示逻辑“1”,相应的LED点亮,外部继电器(继电器通过JP5端子接线)动作。图4-5FO电路Figure4-5TheI/Ocircuit4.4PROFIBUS接口电路设计如图4.6是PROFIBUS接口部分的设计。SPC3是西门子公司的PROFIBUS通讯专用芯片。该芯片可以很方便的与8位单片机接口,内部具有地址译码功能。ADUMl30l为PROFIBUS外部电气隔离接口,接总线驱动器SN75174。SPC3是封装了PROFIBUS.DP协议的专用芯片【8J,最大传输速率可达12Mbps,可以自动检测总线上传输速率,内部具有1.5K字节的双13RAM,此外,SPC3从初始化到正常工作,都由芯片内部集成的状态机来控制,不需要人为的过多干预。只要按正确方法对SPC3中的寄存器和数据区进行初始化后,对其双121RAM进行数据的读写操作即可完成从站与主站间的通讯。为了提高系统的抗干扰性,SPC3内部线路必须与物理接口在电气上隔离,输入输出通道上的电气隔离采用ADUMl301芯片。该芯片采用TAD公司最新的iCoupler隔离技术,与传统的光耦器件相比优势非常明显: 第4章智能从站的硬件电路设计①完全满足工业现场宽范围的温度要求,达到(.40℃~105℃):②低功耗;③最高可达90Mbps的传输速率;④所需的外围元件少:图4-6SPC3接口图Figure4-6SPC3interfacewithC8051F0204.5硬件部分可靠性的考虑由于PROFIBUS智能I,O从站将直接安装在工业现场,其性能将直接影响到设备及生产线的正常运彳亍,所以,可靠性是产品应该满足的第一要素。在硬件设计方面,保证系统的可靠性措施涉及以下几个方面:元器件选型:选用质量可靠的元器件是提高系统可靠性的根本保证。如微处理器的选型,采用C8051F020,它是工业级的SOC芯片,外围不需要增加存储器就可以满足系统的使用,减少了外围器件,有剩于可靠性的提高。此外,该处理器内置看门狗和可以在线读写的128B的FLASH存储器,为下一步软件编程提高可靠性提供了基本保证。各集成电路的旁路电容选用质量较好的瓷片电容,电源滤波电容采用钽电容。PCB板设计:各个功能模块合理布局,将电源模块及大功率电路、强电电路安排到电路板的一角,减少它们对其它电路的干扰:电路板采用四层板,中间安排电源层和系统地,顶层和底层是信号层,这样提高了信号抗干扰的能力;此外,走线时应保证最短原则,走线拐弯是钝角,电源线加粗,数据、地址、控制总线分开走线。电源:为提高系统抗干扰性能,采用DC/DC隔离开关电源。开关电源的功率 北京工业大学工学硕士学位论文要合理,功率如果选小了,一旦电路耗电上升,则电源的纹波将显著增加。所以按照电路总功率的2倍来选取开关电源;在电源的输出端上加上扼流线圈,这样既降低共模干扰又有效抑制了电源的波动。输入输出过流保护:为保证系统出现短路故障时,能够防止电路受到损坏,提高系统的容错能力,提高系统的安全运行性能,要采取过电流保护措施。传统的保险丝安装很不方便,过流时动作慢,且精度低,所以该项目选用PPTC器件,即自复式保险丝。它具有可自恢复、精度高、可靠性高、热容高、体积小等优点。相同额定电压和耐电流的PPTC器件过流保护元件与保险丝相比较具有动作时间快、动作后表面温度更低、功率损耗更小等优点。在智能I/O从站的电源输入端加上系统额定电流1.5倍的自复式保险丝;在驱动继电器的输出端,可能出现输出短路,所以在输出端口也安装了自复式保险丝。容错能力:电源端入口串接二极管,具有防错线保护功能:在需要外接线的端子处,均设置明显的标识,防止操作失误;输出端除安装自复式保险丝外,还设计了过压保护稳压管:将系统的复位电路放置在操作者不易接触到位置,防止作者的误动作。4.6本章小节本章结合第三章提出的PROFIBUS智f12I/O从站的系统总体框图,分模块介绍了系统主要硬件部分的电路设计。首先详细介绍TCPU模块、电源模块、I/O接口模块、PROFIBUS接口模块等主要部分的硬件电路设计,介绍了各部分电路系统的具体构成及实现。然后介绍了硬件部分提高可靠性的具体措施。 第5章智能从站的软件设计5.1Ke;IC简介目前开发单片机主要有两种语言:C语言、汇编语言。掌握C语言,可以大大提高程序开发的速度和效率,所以,目前单纯使用汇编语言开发单片机的人已经很少了。如果使用C语言开发程序,那么Keil软件开发界面将是很好的选择。KeilC51软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计,界面友好,易学易用。下面是KeilC5I软件的界面。图5,1KeilC软件界面Figure5-1KeilCInterfaceKeilC软件使用方便,但需要注意以下的一些环节:在Project->Targetoptionfortarget‘targetI’工程设置对话框中,要注意到其设置应和实际的硬件电路要结合起来。本系统采用的C8051F020芯片,具有4K的片上外部RAM和片上64K的flashrom空间,所以,在MemoryModel中应该选取Large模式;CodeRomSize是Large模式。在CodeOptimization的代码优化等级中,选取Level8级,Emphasis:Favorspeed。此外,要实现C8051F020的在线仿真,还需要安装新华龙公司的驱动软件。在Project.>Targetoptionfortarget‘targetl’工程设置对话框中,将Debug选项中找到相应的驱动,Utilities选项中选择合适的接口,对于USB接口,应该选择“COM3”接口。 北京工业大学工学硕士学位论文5.2C8051F020开发环境的建立图5-2C8051F020调试环境示意图Figure5-2TestkitsforC8051F020C8051F020具有内部JTAG边界扫描和调试电路,通过4脚JTAG接口就可进行非侵入式、全速的在线系统调试。Cygal的调试系统支持观察和修改存储器,支持断点、观察点、堆栈指示器和单步执行。不需要额外的目标RAM、程序存储器、定时器、通讯信道。下表5.1是J.rAG连接器的各个管脚的定义:表5-1JTAG连接器定义T曲Ie5-lDefinefor,I'AGconnector引线说明l2.7~3.6VDC输入2,3,9接地4TCK带内部上拉的测试时钟5TMS带内部上拉的测试模式选择6TDO带内部上拉的测试数据输出7TDI带内部上拉的测试数据输入8.10没有连接5.3软件设计5.3.1软件设计框图软件设计的难点在于正确的对SPC3芯片进行初始化操作!一旦初始化操作完成,系统就进入数据交换状态,当然,主站也可以用请求诊断的方式响应从站 第5章智能从站的软件设计的紧急事件!下图5.3是系统的软件流程图。Yes初始化SPC3卜.I_一』L读入从站地址读入从站ID士>,,彳F+成韧始。~、——图5-3系统软件流程图Figure5-3Softwareflowchartofsystem5.3.2开发套件中的软件修改NoNoSiemense公司对PROFIBUS智能从站的开发有较好的技术支持,其中针对SPC3和51系列单片机软件包节省了用户大量的研究SPC3芯片和协议的时间。该软件包主要有下列内容:关于智能从站的软件、主站和从站的说明书、芯片资料。从站软件有:DPS2SPC3.c、INTSPC3.c、SPC3DPS3.h、USERSPC3.c,用户只需要根据自己的需要,修改USERSPC3.c其中为数不多的几处就可以了!主要的修改之处如下:①增添了智能从站初始化时对地址的读入功能,使得智能从站可以在现场改变其地址,为组态提高了方便;//FetchslaveaddressOWN_ADDRESS=P1;this—station2OWN_ADDRESS;#ifdefDEBI7G 北京工业大学工学硕士学位论文j--this_station;printf(”this_station=”);printf(”%d,“J);#endif②修改程序的输出数据的处理;一Example:Copytheoutputdatatothe10’|for(i-o;ioutp_data_len;i++){tmp_byte_ptr[i】=(+(((UBYTESPC3PTRATTR+)user_outputbuffer__ptr)+i));撑1tdefDEBUGj=tmp_byte_ptr[i];pfintff”tmp_byte_ptr[]=”);printf(”%d,”J);撑endif}OUTPUT=tmp_byte_ptr【0】;P3=OUTPUT;}③修改程序的输入数据的处理;卜WritetheinputdatafromtheperipherytOtheASIC’|for(i=0;iinp_data_len;i++){INPUT=P2:INPUT_~INPUT.input_byte_ptr[i]=INPUT;//p22stateofinput.+(((UBYTESPC3一PTR—ATTR4)user_inputbuffer—ptr)+i)2input_byte__ptr[i];撑ifdefDEBUGj=input_byte_ptr[i];printf(”inputbyte_ptr[]。’);printf(”%d,”j);#endif)此外,要保证系统可靠的运行,软件也需要考虑可靠性设计。软件方面采取了以下措施:/为防止系统软件的死锁,启动C8051F020微处理器内部的看门狗。/在不用的程序存储区内填写0x00,或设置软件陷阱,防止程序跑飞。 第5章智能从站的软件设计/设计软件时,该项目采用了模块化的设计,各个模块具有唯一对应的状态。程序运行相当于状态机的运行。运行到各个程序模块时,首先把现阶段关键的状态机信息(如目前的软件模块编号、继电器的输出状态)存储在C8051F020的可读写128B的FLASH中,这样一旦系统出现故障,如软件死锁造成看门狗复位、系统电源电压降低、外部干扰等造成系统重新启动时,系统首先从FLASH中读取复位前的运行信息,并跳转到相应的模块中运行,这样在数ms内系统就能完全恢复正常运行,从而不会造成输出继电器的动作,将可能由此带来的损失降低到最小。5.4本章小节本章首先介绍了关于KeilC的基本知识,介绍TC8051F020开发环境的建立,然后详细阐述智能从站的系统软件和应该修改内容,并就软件的可靠性设计进行了论证。 北京工业大学工学硕士学位论文第6章基于PROFIBUS主站的IPC6.1IPC控制器实现的方案工业现场的网络,趋向于分散控制。如果网络最后都连接到一台控制总线的工业PC机上,这样做一方面是方便了管理,但是另外一方面,主机的任务过于繁重,对主机的要求,如运算速度、可靠性等等,也就越来越高。随着人们需要的网络越来越大,速度和可靠性又越来越高,这就形成了现场设备网络化的新的发展瓶颈。于是,迫切需要造价低廉,性能可靠的控制器来分担主机的任务。具有可以订制和裁减的嵌入式系统自然就运用到了现场控制总线中去。以ARM架构为代表的32位嵌入式微处理器,几乎具备了工业PC机的所有性能,而且价格低廉,可以可靠的运行Linux、Vxworks等操作系统,人们可以方便的安照自己的需要来设计“计算机”,人们称之为“后PC时代”【24】。采用嵌入式IPC之后,网络中的主机任务量就大为减轻。一般实时性要求较高的任务交给1PC来做,主机和嵌入式IPC可以通过以太网口,甚至Intemet来交换不要求实时性的数据,例如远程诊断、监控服务等。这样一来,系统的控制变得更加便捷、可靠。在高端印刷机械上,基于嵌入式产品的印刷机械电脑系统是运用最多的控制方案。下图6.1中,左侧是Rexroth公司的PPC,右侧是Wago公司的758-870,基于x86架构,运行RT-linux操作系统。嵌入式IPC控制器的特点是小体积、专用性、且能满足工业现场网络通讯的需要,如各种常用的Fielbus以及以太网等。图6.1中的两款控制器都有PROFIBUS主站功能接口、以太网通讯功能等网络功能。所以,在无轴印刷机的主控系统,完全可以采用嵌入式系统取代传统的工业PC机来管理印刷机的各种动作和控制。按照这样的思路,只需要在嵌入式系统上增加网路协议和现场总线协议功能就可以构成现对独立的具有IPC功能的控制器。控制器可以通过现场总线如PROFIBUS总线来管理现场的从站设备,通过网络接口和PC机或者主机相连,实现车间级的控制功能。一般的嵌入式系统,都集成有以太网接1:3及具有相应的驱动程序,如X86系统、ARM系统等嵌入式系统。而现场总线接口就需要用户去扩展和选用。IPC控制器采用PROFIBUS总线来作为现场管理的总线。如果将PROFIBUS主站功能移植到IPC系统上就可以实现上述功能,但是国内在PROFIBUS主站的开发方面相对滞后,主要是由于主站开发的难度较大,主站的任务远远比从站要复杂得多。此外,主站开发方面的资料目前很缺乏。 第6章基于PROFIBUS主站的IPC图6-1国外的嵌入式控制器Figure6-1Advancedembeddedcontroldevicesintheworld目前,该项目准备分为两步来实现PROFIBUS主站的开发,第一步,可以借助嵌入式主站来较快的实现主站的功能,采用这种嵌入式模块,只需要通过DRAMl3对该模块进行相应的读写操作,就可以实现主站功能,而不必过多关注微处理器与ASPC2(主站协议芯片)之间的接口。第二步,当产品形成批量时就可以考虑在FPGA中固化PROFIBUS协议来实现主站的功能或者利用如ASPC2/”】这样的主站协议芯片开发主站。国外,尤其是在欧洲,PROFIBUS主站的开发已经比较普遍了,是一项成熟的技术。如Siemense、Wago、HMS、Rexroth等等公司都有自己的PROFIBUS主站。但采用嵌入式主站模块的公司也很多,如三菱公司的PLC,采用的是瑞典HMS公司的主站模块。国内的工控方面的公司,如和利时公司,2年前就采用了HMS公司的主站模块。总而言之,在主站产品没有形成大批量的时候,或者现场总线的需求种类较多时,采用嵌入式主站模块不失是一种很好的解决方案!按照这个思路,设计基于嵌入式主站模块的IPC系统功能框图如6—2所示。对于系统硬件及接口的说明如下:l、采用基于ARM9架构的AT91RM9200,考虑到这一款是工业级32位芯片,现场运行非常可靠。可以运行实时操作系统RTlinux,Vxworks等等。2、加上FPGA芯片的目的是增加系统的灵活性和减少零散的数字电路,增加系统的可靠性。3、PROFIBUS主站采用HMS公司的嵌入式主站Anybus.Mt3911401,能单独组态,并留有34针的接口,对主站的操作将转换成对双口RAM的操作,非常简单14、系统留有调试串口和组态下载口;5、系统留以太网口,已备将来IPC的功能扩展,如通过以太网下载组态软件。 北京工业大学工学硕士学位论文6、系统应该有4路I/O口,用来做必要的I/O输入输出7、应该具有基本的人机交互系统,LED数码管可以显示必要的信息,如系统诊断信息。LED状态指示灯。8、扩展主从USB接IXl,使得系统配置更加灵活。匡图6-2IPC控制器的功能模块图Figure6-2FunctionblockoflPCcontrollersystem6.2Anybus—M主站模块介绍嵌入式IPC是基于PROFIBUS主站模块的系统,主站模块采用Anybus.M产品。它是由瑞典的HMS公司开发、生产和推广,用于自动化设备的通讯技术领域,其主要产品Anybus系列产品是目前世界上运用较为广泛的第三方网络连接产品。HMS发布的新一代的嵌入式主站模块,同时支持PROFIBUSDPV0和DPVl。Anybus.M主站接口模块具有强大的4K字节DPRAM,保证了对最大1536字节循环输入数据和1536字节循环输出数据的高速传输。此外,由于支持DPVl的Classl和Class2N务,模块还可以进行非周期参数数据的传输。一个主站最多连接125个从站,波特率最高可达12M。PROFIBUS网络配置的设定和下载既可以由NetTools软件完成,也可以通过应用接口实现。Anybus—M主站接口模块可集成在工业自动化设备之中,实现与工业现场装 第6章基于PROFIBUS主站的IPC置的通讯。Anybus.M模块内置高性能的微处理器,独立于自动化设备完成全部通讯协议。Anybus。M主站模块如图6.3所示。其主要特性:1、信用卡大小;2、应用接口为标准化的硬件、软件和机械尺寸;3、PROFIBUS主站为4K字节的双端口RAM;4、最大1536字节的输入数据和最大1536字节的输出数据。最高可达12Mbps的通讯速率;5、AnybusNetTool配置软件可实现PROFIBUS网络的设置;6、板上电源和隔离器满足不同网络规范的需要:7、现场总线一致性测试和认证。图6-3Anybus—M模块Figure6-3Anybus-Mmodule6.3IPC控制器设计的主要任务由于IPC系统比较复杂,需要多步骤完成,具体要达到以下要求!l、成功在ARM9上移植操作系统,使得整个硬件平台可以稳定运行操作系统Linux2.4。操作系统正常运行以后,就和普通的Pc机一样,可以运行基于这个操作系统的各种软件了;2、完成FPGAqb硬件程序的编写,主要包括对Anybus.M模块的片选、硬件时序以及其它一些外围器件的接口。[]6-4是Anybus—M模块的硬件接121部分;3、主站组态后可以正常工作,完成对从站的控制功能。完成Linux系统中接 北京工业大学工学硕士学位论文口的驱动程序的编写;4、调试工作。调试工作可以这样进行,通过以太网或者RS232口,在上位机上对ARM系统进行数据的读写。实际上,国外的Inforteam等软件公司就是按照IEC61131.3标准,编写了计算机上的梯形图等界面功能,然后通过RS232口和下位机(如基于ARM的控制器)进行了数据的交互而已,当然,这是一个非常庞大和复杂的软件工作!而且还要制定一个好的通讯协议才能保证数据交互的可靠。5、后续工作:由于购买Inforteam等公司的软件非常昂贵,应该参照IEC61131.3标准,制定好印刷机的人机界面交互的界面!图6-4Anybus.M模块的硬件接121Figure6-4HardwareinterfaceofAnybus-Mmodule6.4本章小节本章主要讲述了基于PROFIBUS主站的IPC控制器的设计构想。首先介绍了本系统实现的可行性,进而论证了方案、及系统的架构。然后引入了HMS公司I拘Anybus—M模块,介绍了该模块的特点。最后,就基于PROFIBUS主站的IPC控制器提出了现阶段要完成的主要任务。 第7章IPC控制器硬件设计第7章IP0控制器硬件设计根据图6—2可以看出基于PROFIBUS主站的IPC控制器包括ARM模块、电源模块、FPGA模块、及一些通讯接口,下面就详细介绍各部分硬件电路的设计。7.1ARM9的选择由于IPC系统需要支持大量的通讯模式:USB、以太网、串口等,同时,有大量的软件需要一个操作系统来管理,有了操作系统作为运行平台,则软件工程师就可以集中精力进行软件的编写。所以,如果采用8位、16位的单片机是不能胜任的。能够运行操作系统的CPU也有很多,其中X86、、ARM、PowerPC、MIPS等都可以运行诸如Linux、WinCE、VxWorks等操作系统。目前ARM的应用非常广泛,各大半导体公司都推出了自己的ARM核芯片,如英特尔、德洲仪器、三星半导体、摩托罗拉、飞利浦半导体、意法半导体、亿恒半导体、科胜讯、ADI、安捷伦、高通、Atmel、Intersil、Alcatel、Altera、CirrusLogic等公司。其产品一般分为AR/v17、ARM9和XScfle等几种内核。ARM7的内核支持3级流水线,运行频率相对较低,成本也较低。ARM9一般支持5级流水线,运行频率一般在200MHz以上,其成本相对较高。XScale是Intel公司在ARM9内核的基础上增强了功能的内核。目前在较为通用和成功的ARM9器件中,如三星的$3C2410x,Atmel的AT9200,Intel的PXA255、PXA270等,比较出众,获得了比较广泛的运用。综合而论,项目考虑采用市场上比较成熟的ARM9内核的产品。市场较为成熟的ARM9产品,主要是Samsung公司的$3C2410A和Atmel的AT91RM9200。$3C2410A是民品等级,面向消费品市场,缺乏以太网控制器的支持,此外,它是BGA形式的封装,一般需要6层以上的电路板支持,成本较高。相比Atmel的AT91RM9200,恰好弥补了$3C2410A的不足之处,且片上资源丰富,完全满足工业现场的需求。AT91RM9200支持Linux操作系统。经以上分析我们采用Atmel的AT91RM9200作为主控芯片。7.2AT91RM9200外围关键电路设计AT91RM9200微处理器是一款由ATMEL公司设计生产的嵌入式ARM微处理器,采用208脚PQFP封装,内含一个ARM920T核和以下片内外围口”,其主要特性如下: 北京工业大学工学硕士学位论文◆ARM920TARM—Thumb微处理器核:工作频率:180MHz,运行速度:200MIPS:内嵌16KB的数据Cache,16KB指令Cache,写缓冲区;全功能的MMU(MemoryManagementUnit):内嵌Debug通信通道的Emulator:嵌入式TraceMacrocell(仅限于256.ballBGA封装):◆片内存储器:内嵌16KBSRAM和128KBROM,方便用户调试;◆外部总线EBI接口:支持SDRAM、StaticMemory、BurstFlash、GluelessConnectiontoCompactFlash@、SmartMediaTM和NANDFlash:◆功能强大的片内外围电路:增强型的时钟产生器和电源管理控制器;带有两个PLL的片内振荡器;慢速的时钟操作模式和软件电源优化能力;四个可编程的外部时钟信号;包括周期性中断、看门狗和第二计数器的系统定时器:带有报警中断的实时时钟(RTC);调试单元,支持两线UART的Debug调试通道;带8个优先级、可单个屏蔽中断源、Spuriouse0断保护的先进中断控制器;7个外部中断源和一个快速中断源;四个32位的PIO控制器,可达122个可缟程ⅣO引脚(每个都有输入控制、可中断及开路的输出能力);20通道的DMA控制器;◆10M/looM网卡:传输媒体独立接口(MII)或精简传输媒体独立接口(RMII);集成28字节的FIFOs和直接用于收发DMA通道;◆双USB2.0主口(12M—bits/秒):两个片内收发器(208脚的PQFP封装只有一个);集成的FIFOs和DMA通道;◆一个USB2.0从U1(12M.bits/秒):一个片内收发器;2KB可配置的集成FIFOs:◆多媒体卡接口(MultimediaCardInterface,MCI):支持自动协议控制和快速自动数据传输器;兼容MMC卡和SD存储卡,最多可支持两个SD存储卡; 第7章IPC控制器硬件设计◆三个同步的串行控制器(SynchronousSerialControllers,SSC):每个收发器均有的独立的时钟和帧同步信号;支持12S模拟接口,支持时分多路复用;支持32位高速连续数据流发送:◆四个同步/异步收发器fUSART):支持IS07816TO厂rl标准智能卡;支持软、硬件握手功能;支持RS485传输、速度可达115Kbps的红外传输;USARTl带有全功能Modem控制线:◆主/从串行外围接口(SPI):8/16位可编程数据长度,4个外围芯片选择信号;◆两个3通道,16位的定时器/计数器(TC):3个外部时钟输入,每个FO通道有两个可以复用的∞旧;双PWM生成,捕获/波形模式,向上和向下计数兼容;◆两线接口(Two—wireInterface,TWI):以主模式支持所有两线的AtmelEEPROMs设备:◆IEEE1149.1JTAG边界扫描接口;◆供电电源:1.65V到1.95VforvDDCORE.VDDOSCandVDDPLL!.65V到3.6VforVDDIOP(外设I/Os)andforVDDIOM(内存I/Os):◆可选择208脚PQFP和256脚BGA封装;7.2.1时钟电路AT91RM9200时钟发生器【22l内置:·慢时钟振荡器,通常晶振频率为32.768kHz;·主振荡器,通常晶振频率为18.432MHz:·两个PLL及分频器模块,A与B时钟发生器可选集成一个2倍分频器。基于ARM9的系统通常内置的PLL可输出频率范围为80MHz到240MHz。由于这是PLL不能达到USB所需的48MHz,则用到2倍分频器。时钟电路设计非常关键,如果设计不合理,就会造成整个系统无法启动!在布板的时候,尽可能的让晶振靠近AT91RM9200,应按照如图7.1所示标准来布线。 北京工业大学工学硕士学位论文图7-l电路板上晶振的布线Figure7-1Crystal’srouteconnectionsonPCB如图7.2所示,Yl、C123、C124组成主晶振工作电路,Y2、C127、CVl00组成慢速晶振电路,当系统启动时,先是由慢速时钟启动,对系统主时钟进行检查和配置,然后,启动主时钟。当系统处于空闲状态时,会切换到慢速时钟,以达到省电的目的。PLLRCBA、PLLRCB处要外接二阶RC滤波器。,。曷嚣叫h伍C1210lL¨3938R105C11001C14j白翟。,知ClZ酲『GNDR107图7-2电路板上晶振的布线Figure7-2Crystal’srouteconnectionsOilPCB.36.GNDaND■寸f篡===罴~ 第7章IPC控制器硬件设计7.2.2复位电路AT91RM9200提供两条复位线:NRST(微控制器复位信号)、NTRST(罚J试复位信号】。当J1’AGSEL为低电平时,选择内置ICE模式,这是用户实际经常使用的情况,因为一般情况,用户不必要修改厂家已经做好的bootloader程序。此时,可以把NRST和NTRST短接起来。图7.3复位电路Figure7-3ResetcircuitAT91RM9200是低电平有效,为保证芯片的可靠启动,复位时间不能低于慢速时钟稳定频率的时间。AT91RM9200手动复位时间不能低于92us。复位信号强制微控制器出现初始状态:·对引导模式选择(SMS)逻辑状态采样。·保存用户接口默认状态(默认值)。·请求处理器由地址零读取下一条指令。如图7.3所示,R501、C501构成了系统上电复位的时闻,时间大约为200ms。U501、U502为施密特触发器,对复位信号进行整形。连接串口到PC机上,设置相应的波特率115200,如果在串口上看到“CCCC”字符,证明系统已经进入可以正常启动了17.2.3SDRAM存储器系统包含32MBSDRAM,作为程序的运行空间。由两片16位数据宽度的SDRAM存储器并联为32位数据宽度的SDRAM存储系统,并映射到AT91RM9200的ChipSelectl。如图7—4所示。并联SDRAM(HY57V281620HG),BPU301、U302的数据端口,组成存储器的数据线,并联A2~A17地址线,成为存储器的地址端口。将芯片的CS接到NCSl/SDCS,则存储器被映射至qAT91RM9200的ChipSelect1,即 北京工业大学工学硕士学位论文Ox20000000~Ox2FFFFFFF的地址空间里面。AT91RM9200微处理器内部的IOKB的SRAM,通常彼配置为堆栈区以提高系统性能。图7-4SDRAM电路Figure7-4SDRAMcircuit7.2.4NorFIash存储器系统包含4MB的NORFlash存储器,如图7.5所示,即Atmel公司的AT49BV322A芯片。NORFlash存储器内部存放启动代码、Linux内核、用户程序等aFIash存储器的数据宽度为16、4ff_,跌射到AT91RM9200的ChipSelect0,即Oxloo00000~0x1FFFFFFF的地址空间里面。^0Ⅻ蛇D。2”D。3^4D。4UD∞“。06^1D。7A8DO日^9D凹A10BOt0A11D叫1^12DQl:^1:3DOl3AJ4OQl4A15DQIJA.1⋯二时2莓t4图7-5NORFlash电路Figure7-5NORFlashcircuit 第7章IPC控制器硬件漫计7.2.5NANDFIash存储器系统包含64MB的NANDFlash存储器,如图7.6所示,K9F1208U作为系统的数据存储器。NANDFlash存储器的数据宽度为16位,映射到AT91RM9200的ChipSelect3,fillox40000000~Ox4FFFFFFF的地址空间里面。7.3FPGA的选择图7-6NANDFlash电路Figure7-6NANDFlashcircuit现在FPGA的应用越来越广,有很多系统直接用FPGA来完成非常复杂的功能,如图像处理、网络通讯、协议编码等。目前Altera和Xinix公司的产品应用最广泛,都能完成系统的功能。但是由于我们对Altera的产品和工具比较熟悉,所以选用Altera公司的FPGA芯片””。Altera公司的FPGA有很多系列,如Cyclone系列、CycloneII系列、MAX系列、Stratix[261系列等,其Cyclone系列和cycloneII系列芯片是Altera公司在中低端主推的产品,其性价比比较高。但是CyclonelI系列刚量产不久,还没有真正的大规模应用,所以本系统选用Cyclone系列的FPGA芯片。FPGA电路完成逻辑处理和时序匹配的功能,为便于硬件系统调试,选用的FPGA要支持嵌入式逻辑分析仪。同时由于ARM的部分数据、地址线和控制线要引入FPGA,I/O端口的数据、地址和部分控制线也要引入FPGA,所以FPGA除去电源、地、调试接口和时钟接口等固定的信好线外至少还应该有100个10口可供系统使用,芯片的管脚的数量应在150个以上。 北京工业大学工学硕士学位论文根据以上分析和成本要求,选用Altera公司的EPlc6Q240C8作为本系统的FPGA芯片,该芯片是Cyclone系列的芯片,有240个管脚,内部有2个锁相环电路,支持嵌入式逻辑分析仪f26】,很适合本系统应用。7.4FPGA的关键电路的设计系统外部采50MHz有源晶振,经内部PLL倍频后工作于120MHz,时钟电路如图7.7所示。33R76图7.7FPGA时钟电路Figure7-7FPOAclockcircuitc116、Cll7与L2组成兀型滤波器,稳定晶振的电源,晶振输出脚接33欧姆阻抗匹配电阻(图中R76),消除高频时钟信号带来的过冲和反射等现象,网络标号CLKl50M连接到FPGA的时钟输入引脚。FPGA有三种配置模式:As模式、Ps模式和JTAG模式m1。本系统采用AS模式和JTAG模式来配置FPGA,JTAG模式是用PC机来配置FPGA芯片,AS模式用来配置FPGA的外部串行配置芯片,当系统上电后外部配置芯片可以独立配置FPGA,使FPGA系统能脱离PC机独立运行。本系统用的FPGA配置芯片为Altera公司为Cyclone系列开发的专用串行配置芯片EPCSl,当QuartuslI软件以压缩模式编译项目文件时,此芯片完全可以满足EPlC6Q240C8的需要。EPCSl性能如下;①IM位flash存储空间:②四线制信号接口;③支持状态寄存器位写保护;④在系统可编程。配置电路示意图如图7-8所示脚1。在配置FPGA系统时一般有两种下载线可用:ByteBlasterMV和ByteBlasterII。ByteBlasterMV是旧版本的下载线,支持PS和JTAG配置模式,可以配置Altera公司的CPLD和FPGA。ByteBlasterlI下载线是新版本的下载线,可以支持AS、PS和.40. 弟7苹IPC控制器嫂件砹计JTAG三种配置模式。本系统用ByteBlasterlI下载线配置FPGA和串行配置芯片。电路实现中要特别注意正确处理引脚的上拉或下拉电阻的情况,而且在用AS模式配置串行配置芯片时要用后缀为pof的文件,在用JTAG模式配置FPGA时用后缀为soflB文件。图7-8JTAG和AS配置电路示意图Figure7-8CombingJTAG&ASconfiguration7.5FP6A软件设计7.5.18artusII软件介绍FPGA在系统中主要实现时序匹配和逻辑处理的功能,其开发环境为Altera公司的QuartusII软件,该软件提供了可编程片上系统(SOPC)设计的一个综合开发环境,包括系统级设计、嵌入式软件开发、可编程逻辑器件(PLD)设计、综合、布局布线和验证仿真等功能”1。QuartusII软件根据设计者的需要提供了一个完整的多平台开发环境,它包含整个FPGA和CPLD设计阶段的解决方案,开发流程图如图7.9所示。QuartusII软件支持VHDL和Verilog硬件描述语言(HDL)的设计输入、基于图形的设计输入方式以及集成系统设计工具,可以将设计、综合、布局和布线以及系统的验证全部都整合到一个无缝的环境之中。本系统采J羽Verilog语言和图形设计相结合的方法来设计⋯1。然后特别介绍QuartusII软件支持I拘SignalTapII逻辑分析仪。有了这个工具, 北京工业大学工学硕士学位论文在硬件设计时,可以节约大量的时间和硬件工具。而且,使用完该工具后,可以方便的删除它,并不占用系统的硬件资源。AlteraSignalTapII逻辑分析仪可以用来对AlteraFPGA内部的信号状态进行评估,允许设计者在设计中使用探针的方式探察内部信号状态,帮助设计者调试电路,发现电路中存在的问题。(堡生塑△)[二壅二]’[巫茎圈t[卫苤口■[二重口t——————!—————一塑堡:墼霎图7-9QuaraasII开发流程Figure7-9ThedevelopmentflowofQuartusII在设计中嵌.N.SignalTapII逻辑分析仪的方法如下:首先建立一个step文件,此文件包括逻辑分析仪的设置部分和捕获数据的查看分析部分。建立好step文件后,要设置采样时钟,最好用全局时钟作为采样时钟,不要用门控时钟,本系统中用锁相环产生的稳定的120MHz全局时钟c0作为采样时钟。设置好采样时钟后,要设置存储深度和触发的存储方式。存储深度由FPGA内部的RAM数量决定,RAM数量多时,存储数据量就大反之就少。触发的存储方式一般选择中心触发方式,即以触发信号为中心存储数据,这样可以看到触发信号前后的数据波形,便于调试。一般使用片选信号作为触发信号,可以看到操作前后的数据波形。然后就可以添加监控节点了,把要观测的信号添加到文件中,并选择一个信号作为触发信号。最后编译工程,用JTAG模式配置至f]FPGA中就可以对信号进行时序分析了。7.5.2系统FPGA中使用的功能模块系统中与FPGA相关的功能都是由模块来实现的,顶层模块用图形方式设计,模块内部用ViriIog语言设计,下面介绍主要模块的实现方法。(1)锁相环模块锁相环模块的功能是为整个FPGA系统提供一个稳定可靠的运行时钟,模块图如图7.10所示。 第7章IPC控制器硬件设计锁相环模块fl:lQuartusTI自带的宏单元生成,输入信号inclkO为外部50MHz时钟信号,经过锁相环倍频到120MHz后由cO输出,为FPGA系统提供同步运行时钟,c1经锁相环稳定为50MHz,作为系统备用时钟。图7.10锁相环模块图Figure7-10ThePLLmodule(2)Anybus模块Anybus模块的功能是为HMS公司的Anybus—M主站模块提供片选功能、时序匹配功能、总线连接以及读写中断使能等,模块图如图7.1l所示。(3)LED数码管模块该模块的功能是为LED数码管提供片选逻辑。(4)U0模块该模块的功能是为各个I/O口提供片选逻辑。学号。““im/^¨f¨f_vj⋯·⋯㈣IPbu}M”一1嚣%k蹁fjur褊"日“黼㈣㈨⋯“⋯ololI鹄T”●INPl丌!竖。+BlattI8mI,INPUT一⋯,。/一m。jb”O,‘RMlojITOA月MIo删【INPUTk听。三一K一。。L.。州墟INPUTIINPUT到鼬舢鬟!一1豸!INPUTINPUT=p⋯cM⋯¨,铒!堕蹿19~一L⋯胛INPUT|b一苣OUTPUT黟。‰B㈧lack。。bI/|TO船MlCl?lDUTPUTOUTPUT.,一,}OUTPUr墅擀堕~,£j~⋯单OUTPUTI删船OUTPUr,A“”’c)哆“一一Ⅻ~一__+一r---一"!E乒自OUTPUT嗣~Ⅲ。’匕:)“cs。”一o。B&’,_堕一2‘i专刊妊』:=砷十———口Ⅲ_:亡,≈Ⅻ一.L__。黼一—≤]一9.,.“⋯ijcE秘=j==:缸.图7-1IAnybus—M模块图Figure7-IIThepictureofAnybus—Mmodule鬯 北京工业大学工学硕士学位论文7.6本章小节本章主要讲述了基于PROFIBUS主站的IPC控制器的硬件设计,首先介绍了系统的主要控制器ARM的选择,为什么要选择删9芯片,然后介绍了ARM9芯片AT92RM9200的关键电路:时钟电路、复位电路、SDRAM、NORFlash、NANDFLASH等模块的设计,又介绍了FPGA的选择,确定了使用Altem公司CycIone系列的EPlC6Q240C8芯片,然后介绍了其相关的主要硬件电路及相应的软件的设计。 第8章ARM9系统软件设计目前可运行于基于ARM的操作系统有很多,如Linux、WinCE、uCoslI、Vxworks等等。其中WinCE、Vxworks系统都是属于商业软件,购买需要花费很大代价,且其维护成本也很高。而Linux由于以其源码公开、开发成本较低等特点,在ARM操作系统中,已经占领了绝大多数的份额,其主要特点如下:l、开放性系统遵循世界标准规范,完全符合POSIX标准。2、丰富的网络功能完善的内置网络是Linux一大特点。3、可靠的安全系统Linux采取多种安全技术措施,为网络多用户环境中的用户提供了必要的安全保障。4、良好的可移植性Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。5、设备独立性Linux把所有外部设备统一当作文件来看待,任何用户都可以象使用文件一样,操纵、使用这些设备。6、多任务计算机可同时执行多个程序,且各个程序的运行互相独立。8.1软件环境的建立如图8.1是常用的开发嵌入式目标系统的环境,嵌入式Linux开发环境一般由如下几部分构成:Linux/]&务器(宿主机)、工作站、嵌入式目标系统和将它们连接在一起的网络环境。Linuxl]畏务器作为嵌入式Linuxt勾核编译、应用程序编译的公共平台,一般由单独的一台PC机充当,安装常用的桌面标准Linux操作系统,如RedHatLinux等。工作站即为普通的局域网络计算机,可以是一台或多台,以支持小组项目开发,工作站一般安装常用的Windows操作系统,仍然可以完成各种日常工作,当需要使用Linux)报务器资源时,可从工作站远程登录:NLinuxJ]&务器,以完成各项需要的操作。嵌入式目标系统是我们需要开发的最终产品,可以根据开发需要与工作站连接(通常是通过串行接口或USB接口),或连接到局域网络中(通过以太网接口)。 北京工业大学工学顾士学位论文图8-1开发嵌入式目标系统的环境Figure8-1Theenvironmentforthedevelopmentoftheembeddedtarget8.1.1Linux环境的建立①交叉编译器的建立:开发基于Linux的应用程序,一般的步骤是先编写程序源码,然后编译调试,最终生成可执行程序。为使编译出的可执行代码能在ARM架构的CPU上运行,必须有一个编译工具,这个工具应该能运行在基于X86架构的Linux服务器上,但通过它编译生成的可执行代码能够支持在其他体系结构的CPU上运行,这样的一个编译工具就叫交叉编译工具。之所以需要交叉编译器,是由于嵌入式设备没有足够的内存以及存储资源来完成其编译过程。目前大多数嵌入式设备开发是使用这种编译方式。以下是交叉编译环境的建立过程:首先以Root身份在LinuxJ]lE务器上新建一个用于嵌入式Linux开发的工作目录:/home/work,以后所有的开发工作都在这个目录下进行。编译工具以压缩包的形式,来自于恒颐高科公司的文件包,文件名为:cross一2.95.3.tar.bz2,包括alm.gcc编译器和一些实用程序。在Linux服务器的/usr/Iocal目录新建子目录arm,将文件cross.2.95.3.tar.bz2拷贝到LinuX服务器的/usr/local/arm目录下,进行解压安装的操作:#bunzip2cross一2.95.3.tar.bz2帆arxvfcross一2.95.3.tar当以上的工作完成以后,就会在当前目录生成一个名为2.95.3的文件夹,嵌入式编译工具就安装在这个目录中,可以完成源代码的编译。②内核的配置与编译:Linux之所以能成为一种流行的嵌入式操作系统,除具有功能强大、高性能、.46. 第8章ARM9系统软件设计稳定性好以及源代码开发等优势以外,其最大的特点是Linux核具有非常良好的结构,可由用户根据特定的系统需求,对内核进行配置或裁减,而这一特点恰恰满足了嵌入式应用的差异性需求。将Linux内核源代码包linux一2.4.27—20xxxxxx—AT91RM9200.tar.gz拷贝至lJLinux服务器上。工作目录:/home/work,然后执行如下命令解压:#gunziplinux一2.4.27—20xxxxxx-AT91RM9200.tar.gz该命令执行完毕后,生成解压文件linux一2.4.27-20xxxxxx.AT91RM9200.tar,然后再执行如下命令:#tarxvflinux.2.4.27.20xxxxxx—AT91RM9200.tar该命令执行完毕后,生成目录linux一2.4.27—20xxxxxx—AT91RM9200。进入该目录,我们进行随后的操作。文件名中的“xxxxxx”为文件生成的时间。Linux内核的配置(或裁剪)是与嵌入式系统的应用需求相适应的。尽管Linux内核功能强大,支持的设备众多,但对于一个特定的嵌入式应用来说,可能只会使用到其中的部分功能,而对于其它不使用的部分,如果让它驻留在系统中,不但耗费系统资源,同时还会增加系统安全隐患,因此,内核配置的目的,就是保留系统需要的功能,去掉不必要的部分,使操作系统以最精简、最优化的状态运行。Linuxt勾核支持三种配置方式,第一种方式是基于命令行的问答方式,针对每一个内核配置选项会有一个提问,回答⋯Y’包含该项功能,回答“n,,则不包含该项功能。通过执行makecontlg可以开始第一种方式。第二种是菜单式的,用户可以在LinuxJ]艮务器或网络中的某个工作站进行操作,执行makemenuconfig命令以后,会出现一个配置菜单,通过该菜单可以很方便的进行内核的配置。第三种方法也是采用菜单方式进行配置的,但必须在Linuxl]艮务器上执行。通过执行makexconfig可以开始第三种方式。三种方式的实质是相同的,通常使用第二种方式进行配置,这种方式简单明了,受条件制约小。执行如下命令;撑makemenuconfig就出现下图8.2的Linux内核配置界面。根据系统需求配置好内核,退出配置菜单时,保存修改后的内核配置即可。当完成对Linux内核的配置以后,内核仍然以源代码的方式存在,不能直接下载到嵌入式系统运行,因此,需要对内核进行编译,生成最终可以在嵌入式系统上运行的可执行代码。依次执行如下命令,对Linux核进行编译:#makeclean 北京工业大学工学硕士学位论文#makedep#./automake之后,在当前目录下生成内核压缩映象文件uImage。图8-2开发嵌入式目标系统的环境Figure8-2Theenvironmentforthedevelopmentofembeddedtarget8.1.2设置NFS网络文件系统(NFS,NetworkFileSystem)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)进行操作。因此,可以通过建立NFS,把Linuxfl&务器上的特定分区共享到待调试的嵌入式目标系统上,就可以直接在嵌入式目标系统上操作Linux]]艮务器,同时可以在线对程序进行调试和修改,大大的方便了软件的开发。嵌入式Linux的NFS开发环境的实现包括两个方面:一是Linux]]艮务器端的NFSJ报务器支持;二是嵌入式目标系统的NFS客户端的支持。因此,NFS开发环境的建立需要配置Linux服务器端和嵌入式目标系统端。①Linux服务器端NFS服务器的配置以Foot身份登陆LinuxJ]艮务器,编辑/etc目录下的共享目录配置文件exports,指定共享目录及权限等。执行如下命令编辑文件/etc/exports:撑vi/etc/exports在该文件里添加如下内容: 第8章ARM9系统软件设计/home/work172.22.3.130(rw,sync.110t00tsquash)然后保存退出。添加的内容表示:允许ip地址是172.22.3.130的计算机以读写的权限来访问/home/work目录。/home/work也称为服务器输出共享目录。括号内的参数意义描述如下:rw:读/写权限,只读权限的参数为ro;sync:数据同步写入内存和硬盘,也可以使用asyne,此时数据会先暂存于内存中,而不立即写入硬盘。noroot:NFS服务器共享目录用户的属性,如果用户是,那么_squashroot对于这个共享目录来说就具有root的权限。接着执行如下命令,启动端口映射:#/etc/rc.d/init.d/portmapstart最后执行如下命令启动NFS]报务,此时NFS会激活守护进程,然后就开始监听Client端的请求:#/etc/rc.d/init.d/nfsstart用户也可以重新启动Linl|)(服务器,自动启动NFS服务。在NFSJ报务器启动后,还需要检查Linu)(服务器的防火墙等设置(一般需要关闭防火墙服务),确保没有屏蔽掉NFS使用的端口和允许通信的主机,主要是检查Linux服务器iptables,ipchains等选项的设置,以及/etc/hosts.deny,/etc/hosts.allow文件。首先在LinIlx服务器上进行NFSJ1昆务器的回环测试,验证共享目录是否能够被访问。在Linux]]&务器上运行如下命令:撑mount-tnfs172.22.2.100:/home/work/mnt#ls/mnt命令将Linu)【服务器的NFS输出共享目录挂载至1]/mnt目录下,因此,如果NFS正常工作,应该能够在/mm目录看至IJ/home/work共享目录中的内容。②嵌入式目标系统NFS客户端的配置在LinuxJ]艮务器设置好后,还需要对客户端进行相关配置。在内核编译时,由于已经加上对NFS文件系统的支持,所以,只是需要相关操作如下:在嵌入式目标系统的LinuxShell下,执行如下命令来进行NFS共享目录挂载:样mkdir/mnt/nfs//建立Linux服务器输出共享目录的挂载点:稃mount-tnfs172.22t2.100:/home/work/mnt/nfs—onolock#cd/mnt/nfs撑ls此时,嵌入式目标系统端所显示的内容即为Linux服务器的输出目录的内容, 北京工业大学工学硕士学位论文即Linux服务器的输出目录/home/work通过NFS映射到了嵌入式目杯系统的/mnt/nfs目录。mount命令中的172,22.2.100为LinuxJ服务器的IP地址,/home/work为Linux/]昆务器端所配置的共享输出目录,/nmt/nfs嵌入式设备上的本地目录。8.2驱动程序开发在标准Linux下不允许对设备的物理地址直接访问,必须转换为虚拟地址后才可访问。任何非标准的设备都必须编写相应的驱动程序,这样系统才能对设备进行操作。在Linux中,主要有以下几种类型设备:字符型(characterdevice)、块设备(blockdevice)、网络接口(networkinterface)【3”。其中,常用设备是字符型设备。该项目中的要编写驱动程序的设备,都是字符型设备。设备驱动程序的编写与编译均采用了模块方式,与静态加入内核的方式不同,采用动态加载模块的方式可以免去反复编译内核的麻烦,大大提高开发效率。在Linux的源码目录include/asm.arm/arch.at91rm9200/hardware.h中定义了AT9lIOP2V宏来完成物理地址到虚拟地址的映射,再定义具体外设虚拟地址。注册设备:在Linux中,任何设备都有一个主设备号作为操作系统区别不同驱动程序的标识。其中,将Anybus.M指定了一个设备号为251:staticintgMajor=251;然后使用注册函数向系统注册该设备:result=devfs_register__chrdev(gMajor,Anybus—MODULE_NAME,&_Anybusfops);注销模块:注销模块是和注册模块相对应的操作,当卸载模块的时候,系统将注销模块对应的设备号。devfsunregister__chrdev(gMajor,Anybus_MODULE_NAME);编译驱动程序:下面是Makefile文件,对模块进行编译:CC=/usr/local/arm/2.95.3/birdarm—linux—gccKE剐NELDIR=/home/wjh/linux·2.4.27一vrsI·ATMELCFLAGS=一DMODULE—I$(KERNELDIR)/include—Wall—Wstrict-prototypes—Wno—trigraphs-Os—fno-strict-aliasing—fno·common—Uarm—fno—common—pipe—mapcs·32·D——LINUX—ARM—ARCH』-march=armv4一mmne2arm9tdmi-mshort—load—bytes—msoft—float—Uarm-nostdinc·I/usr/local/arm/2.95.3/lib/gcc—lib/ann—linux/2.95,3/includeat91anybus.o:at91anybus.c 第8章ARM9系统软件设计$(CC)$(CFLAGS)-C$“.PHONY=cleanclean:.1TII.f}.odistclean:@makecleanrm-ftags4~在当前目录下执行命令make,对程序进行编译:群make如果程序不能通过编译,回到第一步修改源文件,当编译正确完成以后,会在当前目录下生成文件名)qat91一anybus.0的可加载模块。模块加载:通过NFS方式,将生成的可加载模块文件拷贝到Profibus主站系统的/lib/modules目录,然后执行如下命令将模块加载到Linux内核中,并建立字符设备文件Anybus.M:#insmod/lib/modules/at91anybus.O>/dev/null撑mknod/dev/Anybusc251当完成以上操作以后,用户就可以在/dev目录下看到新加入的设备文件Anybus。最后将以上命令加入/usr/etc/rc.10cal文件的适当位置。系统启动时,能自动加载模块并建立设备文件。8.3应用程序的开发从Linux操作系统的工作原理上看,设备驱动程序是被动的,即设备驱动程序的作用要通过应用程序来实现,因此,在一个具体的应用中,完成设备驱动程序仅仅是第一步,用户需要编写应用程序对设备程序进行调用,从而实现特定的功能。(1)编辑应用程序。在Linux服务器的工作目录/home/work,应用程序名为ApplyAnybus.C。(2)编译应用程序。键入如下命令编译应用程序:ApplyAnybus.C使用vI文本编辑器编辑应用程序,#arnl—linux—gee-OApplyAnybus当命令执行完毕以后,会在当前目录下生成可执行文件ApplyAnybus。(3)在嵌入式目标系统端挂载LinuxJ]&务器的输出共享目录,并运行应用程序。启动基于PROFIBUS主站的IPC控制器的Linux,使用超级终端作为其用户操 北京工业大学工学硕士学位论义作界面,键入如下命令挂载Linuxfl&务器的输出共享目录:撑mkdir/mnt/nfs;建立Linuxfl匣务器输出共享目录的挂载点:撑mount-tnfs172.22.2.100:/home/work/mnt/nfs.Onolock撵cd/mnt/nfs#ls此时,嵌入式目标系统端所显示的内容即为Linux]最务器的输出目录的内容,可执行文件ApplyAnybLIS就在该共享目录下,运行该程序:#./ApplyAnybus最后将调试好的应用程序ApplyAnybus,通J立_NFS拷贝到目标系统的/lxhgly。然后编辑文件/usr/etc/rc.10cal,设置成系统启动后自动运行ApplyAnybus,这样就可以实现在系统启动时的程序自动运行。8.4本章小节本章主要讲述了基于ARM9~AT91RM9200的IPC系统的系统软件程序的设计。首先介绍了系统软件环境的建立,包括了Linux环境搭建,如何利用NFS文件系统加快软件的开发。然后介绍TLinux设备驱动程序的编写,介绍了Linux运用程序的开发。 第9章PROFIBUS主从站的试验9.1PROFIBUS智能I/0从站的试验9.1.1从站的试验的准备工作如图9.1所示,为PROFIBUS智能从站,已经在图中标注出来需要设置的开关、接口、地址、状态指示灯的具体位置。PROFIBUS智能从站在接入PROFIBUS总线之前。应该做好以下准备工作:①PROFIBUS智能从站的GSD文件进行编写,并进行组态;②设置好PROFIBUS智能从站的地址,从站的地址可以在0~255之间设置;③正确连接好PROFIBUS智能从站的电源DC24V(至少需要2W的功率),注意电源的正负方向;④正确连接好PROFIBUS智能从站与主站之间的通讯电缆,并注意要在总线拓扑结构的两端连接总线连接器:⑤接好所需要的IJO口;⑥接通系统的电源,大约3秒钟之后,应该看到PRoFIBus智能从站的通讯指示LED灯已经点亮,说明从站已经连接成功,可以进行数据传输了。如果从站需要重新设置地址,必须在设置好地址之后,重新启动系统。幽9-1PROFIBUS智能I/O从站Figure9-1IntelligentI/Oslave 北京工业大学工学硕士学位论文9.1.2从站的的GSD文件编写每一个PROFIBUS从站或一类主站要有一个“设备描述文件”称为GSD文件,用来描述该PROFIBUS.DP设备的特性。GSD文件包含了设备所有定义参数,包括:·支持的波特率;·支持的信息长度;·输入/输出数据数量·诊断数据的含义·可选模块种类等。GSD文件是文本类文件,可用“记事本”编辑。国际PROFIBUS组织PI提供TGSD文件编辑软件:gsdedit.exe.如图9—2所示,是该软件的编译界面。该软件可以依照PROFIBUS技术标准格式规定,对用户编辑的GSD文件进行格式检查。也可以从国际PROFIBUS组织的官方网站上下载相类似的GSD文件,在文本编辑器中做相应的修改即可。具体的PROFIBUS智能I/o从站的GSD文件如下:,;GSD—FileforPROFIBUS—DPslave;Auto—Baud_supp,12MBaud;Stand:14.07.2006fr;File:Intelligentslave.GSD#ProfibusDP:Unit.Definition-List:GSDRevision=1VendorName=”BJUT”ModelName=“Intelligentslave”Revision=”Rev.1”IdentNumber=0x8ProtocolIdent=0StationType=0FMS—supp2lHardwareRelease=。’Axxx“SoftwareRelease=“Zxxx”9.6supp=l19.2supp=1-54-93.75一supp187.5_supp500_supp1.5M_supp3M_supp6M_supp12M-suppMaxTSdr9.6MaxTsdr19.2MaXTsdr93.75Ma)(TSdr187.5Ma)【TSdr500Ma)【Tsdr1.5MMaxTsdr一3MMa)【Tsdr6M=l=1=l=1=l=60=100=150=250=450 第9章PROFIBUS主从站的试验MaxTsdr_12M2800Redundancy21RepeaterCtrl—Sig22;;Slave—Specification:24V—Pins22,ImplementatioIlj’ype一’SPC3”Bitmap_Device2”DP—NORM”Bitmap_Diag。”bmpdia”BitmapSF=’’bmpsf’Freeze_Mode_supp20Sync—Mode_supp20Auto_Baud_supp21Set_Slave_Add_supp20MinSlaveIntervall=1ModularStation=1MaxModule=1Max!nputLen=32MaxOutputLen=32MaxDataLen=64,:Module—Definitions:,ModulOffset=255MaxUsetPrmDataLen=5FailSafe=0SlaveFamily=0Max—Diag_Data-Len216;ORDERNUMBER=”6ES7183.0AA01.0XAO”Ext—User-PrmData_Const(0)=Ox00,Ox00,OxOO,0x00,0x00Module=”Beispl:2ByteIn,2ByteOut”Oxl1.0x21lEndModuleModule=”Beisp2:4ByteIn,4.55.ByteOut”0x13,0x232EndModule 北京工业大学工学硕士学位论文图9-2GSD文件编写软件的界面Figure9-1ThesoRwareinterfaceforGSDfile9.1.3STEP7软件介绍及组态Step7是西门子公司针对其S7.300/400系列PLC的可编程逻辑控制程序的标准软件包州。通过该软件包可以对PROFIBUS主站一该项目采用315-2DP作主站,和智能I/O从站进行组态。利用软件包中的HWConfigureT具组态硬件之后,可利用编程语言,如LADIiP梯形图进行编程。程序经过编译后,可由MPI电缆将编好的代码下载至IJPLC中即可运行。利用Step7,还可监测I/O口的运行状态,修改主站输出的数据,使用该软件包,给调试工作带来了很大的方便。如图9.3所示,为STEP7软件组态的界面。在硬件组态中首先要添jJl:Ilmelligentslave.GSD,即智能从站的GSD文件,然后选择主站。主站设置成功之后,就可以添加智能从站,在软件界面的右侧找到相应的从站,设置好PRoFIBUS通讯速率、扶站的地址。编译下载到主站即可。 第9章PROFlBUS主从站的试验图9-3STEP7组态软件的界面Figure9-3ThesoftwareinterfaceofSTEP79.1.4PROFIBUS智能从站的调试数据分析PROFIBUS智能I/O从站的调试如图9.4所示。主站采用Siemense公司的PLC,S7.300系列的315.2DP。将主站地址设为02,从站地址为03,通讯波特率设为9600。监听报文的设备采用ADAM.4520,将该设备的通讯波特率也设为9600,并把485口连接到PROFIBUS总线上,RS232串口与PC机相连。在PC机中运行接受这个串口数据的程序即可看至fJPROFIBUS总线上的报文。将从站的输入口设置为0xAA,0xAA,即数字量输.Klnput=1010.1010,其中逻辑“l”表示是输入口为高电平,即输入开关是打开的状态;逻辑⋯0’表示是输入口为低电平,即输入开关是闭合的状态。可以通过STEP7软件设置主站的输出数据,即相对于从站为其输入数据,注意,此次试验,主站输出数据设置为0。在大括号中,为主站和从站开始交换数据的阶段。下面是在2006年07月23日18时37分50秒监听的PROFIBUS总线上报文,其中“//”后面是对报文的解释: 北京工业大学工学硕士学位论文DC02//令牌交换帧,02是主站地址,即使总线上只有一个主站,也需要交换令牌。104B02499616//主站轮询从站。现在查询到地址是4B的从站。DC02680768FF82463A3E02004116104C02499716//主站轮询从站,现在查询到地址是4C的从站。DC0268056883826D3C3EEC16//主站02请求诊断从站1368OB688283083E3C020500FFoo089516//从站13对主站02请求诊断的响应,从站的诊断信息显示其ID号码08,并未被主站配置。104D02499816//主站轮询从站,现在查询到地址是4D的从站。DC026811ll6883825D3D3E8814160B000800A216//这是主站在对从站参数化,(DSAP=3D),其中881416OB000800oo00oo是参数,包含了从站识别号oo08等信息。E5/,从站短应答lO4E02499916,/主站轮询从站,现在查询到地址是4E的从站。DC0268076883827D3E3E13233416//这是主站在对从站组态,(DSAP=3E)其中1323表示从站具有4个字节输入,4一j,-字节输出I/O量E5//从站短应答104F02499A16DC0268056883825D3C3EDC16//主站02再次请求诊断从站13680BOB688283083E3C020C000200089F16//从站13回应诊断,其中02OC00020008是从站的上传的诊断信息:其中第一个字节是诊断信息,表示从站还没有参数化;第二个字节需要参数化及看门狗的一些信息;第三个字节为保留字节;第四个字节为主站地址,在从站没有被参数化以前是FF;第五、六字节是从站识别号。105002499B16DC0268056883827D3C3EFC1668OB688283083E3C020C000200089F16lO5l02499C16DC0268056883825D3C3EDCl668OB688283083E3COOOC000200089D16-58. 第9章PROFIBUS主从站的试验105202499D16DC02,6807076803027Doo00oo8216//主站发送数据“000000”I680768020308AAAAAAAAB516//从站发送数据“AAAAAAAA”llO5302499E16IDC02,6807076803025D00OO6216168070768020308AAAAAAAAB516lO5402499F16lDC02I68076803027DOO00OO8216、68070768020308AAAAAAAAB516图94PROFIBUS智能I/O从站与PLC主站联机调试图Figure9-4ThetestingpictureofPROFIBUSintellegentI/Oslave9.2IPC控制器的试验9.2.1lPC控制器试验的准备工作如图9.5所示,为基于PROFIBUS主站的IPC控制器,已经在图中标注出来系.59. 北京工业大学工学硕士学位论文统需要经常使用的各个接口。基于PROFIBUS主站的IPC控制器在接入PROFIBUS总线之前,应该做好以下准备工作:①正确连接好IPC系统电源DC24V(至少需要5w的功率),注意电源的正负方向。②连接好PROFIBUS主站模块一E[JHMS公司Ij勺Anybus.M模块的串口组态电缆以及AT91RM9200的DEBUG调试电缆线;运行PC机上的超级终端(波特率为115200,无奇偶校验,无数据流定义。其它设置成默认)。③接通DC24V电源。此时应该在超级终端上看到图9.6,系统启动TLinux操作系统。④利用NetToolsT具对PROFIBUS主站模块一IIIJHMS公司的Anybus.M模块的组态;设置好PROFIBUS主站、从站的地址,通讯速率等参数;然后将组态信息下载到主站即可。⑤连接PROFIBUS从站,然后可以进行所需的操作。图9-5PROFIBUS主站系统图Figure9-5ThepictureofPROFIBUSmaster 第9章PROFIBUS主从站的试验图9-6超级终端上显示AT91RM9200中LinuxOS启动Figure9-6DisplayingthebeginningofAT91RM9200atsupporterminal9.2.2NetTooIs软件介绍及组态如图9.7所示,即为NetTools的硬件组态界面。HMS公司专门为Anybus.M开发了组态软件,该组态软件操作非常方便,图形界面一目了然,仅仅需要拖拽所选用的模块在图中右侧即可。然后双击图标,界面中将弹出用户为该主站或者从站设置的参数,如地址、通讯速率。具体操作如下:①打开NetTools,新建一个项目名称,Master--test01;②在菜单Tools【9点击InstallnewGS*.file,将从站的gsd文件添加进去;⑨拖拽Anybus.M主站到窗121右边的空白文件中,双击它,然后设置其地址、主站通讯方式、波特率等信息;④拖拽所要使用的从站到窗口右边的空白文件中,双击它,然后设置其地址等信息;⑤将组态信息下载到主站,完成系统的硬件组态; 北京工业大学工学硕士学位论文图9-7NetTools组态软件的界面Figure9-7NetToolsconfigureinterface9.2.3IPC控制器系统板的调试(1)裸机系统调试IPC系统板是比较复杂的系统,按照功能可以划分为4大模块:AT91RM9200模块、FPGA模块、电源模块、接口部分。对于裸机板的调试,应该按照功能块来进行。尽量减少各个模块之间的影响,使得出现问题的范围最小。首先焊接系统的电源模块,确保系统的各个电源都能正常工作。调试时尽量采用有限流功能的电源,防止烧坏线路板。系统的电源主要有:5V、3.3V、1.8V、1.5V。要特别注意给AT91RM9200、FPGA芯片供电的电源是否正确。用示波器检验电源的纹波是否在要求的范围之内。当确定线路供电正常之后,焊接AT91RM9200模块。先焊接AT91RM9200芯片及晶振、串口等元器件。接通电源,如果在超级终端上看到“CCCC⋯”字样,说明AT91RM9200芯片及周围基本线路工作正常。然后焊接SDRAM、NORFLASH、NANDFLAsH、网口、USB口,形成完整的AT9lRM9200模块。这时,可以利用ADS环境检验这些芯片是否运行正常。当AT9lRM9200模块工作正常之后,就可以将FPGA模块焊接到电路板上。这样,对于调试裸机电路板,可以较快的查找问题。当然,系统形成批量之后,可以一次性焊接所以的元器件,提高效率。 第9苹PROF|BUS主从站的试验(2)将内核烧写到系统板上利用AT91RM9200的Debug调试串1:3,将Uboot下载至IJNORFLASH中。重新启动系统,系统将自动运行UbootiJi导程序,此时,可以利用以太网口,将编译好的内核下载多]NORFLASH中。这样,系统再次重新启动时就可以在超级终端上看NLinux操作系统已经在运行了。(3)根据系统板的功能要求,在FPGAq6编写各个外设需要逻辑Linux操作系统需要对所有的非标准设备编写驱动程序,包括7"Anybus.M,I/O口、继电器输出、LED状态显示等接口。这些设备需要片选、时序,逻辑组合,所以,对FPGA进行硬件的编程是必不可少的一部分。(4)在Linux操作系统中编写各个设备的驱动程序。(5)在Linux操作系统中编写系统运用程序。9.3本章小节本章主要介绍了PROFIBUS主从站的试验及功能验证过程。首先较为详细的介绍了PROFIBUS智能I/O从站的试验部分,主要包括试验前需要准备的项目,结合实物照片进行了简要介绍。然后介绍了从站试验必不可少的一些软件,GSD文件的编写、STEP7软件使用,并进行了系统的组态,分析了PROFIBUS智能从站的通讯数据。证明从站系统运行稳定,在现场使用是可靠的。最后介绍了基于PROFIBUS主站的IPC控制器的试验的情况。简要引入了NetTools工具,说明了工具的使用,并进行了组态下载。然后,就基于PROFIBUS主站的IPC控制器的硬件部分的调试作了较为详细的说明。目前,已经证明IPC控制器的硬件部分工作正常,Linux2.4内核能够很好的运行。 北京工业人学t学硕士学位论文结论本课题是北京市先进制造技术重点实验室开放基金(kp0100200201)和北京市科委2005年度科技重大项目印刷设备的无轴传动与系统研究项目(130305001040621)的组成部分之一。研究利用现场总线技术--PROFIBUS总线,为印刷机上繁多的IJO节点、各个传感器的数据采集提供可靠的数据传递。此外,尝试采用基于ARM9的嵌入式操作系统作为控制系统的PROFIBUS主站,替代造价昂贵的工业PC机。论文对PROFIBUS.DP协议、PROFIBUS的组态、增强智能从站的可靠性、ARM技术、FPGA技术、Linux操作系统等进行了研究,开发出了基于C805IF020+SPC3的智能I/O从站,研制基于PROFIBUS的主站模块的IPC,完成了智能从站的硬件设计和软件设计,实现了与PLC主站组态、数据传输功能。经过现场验证,各项功能都达到了设计的要求。此外,完成了基于PROFIBUS的主站模块的IPC系统的论证、硬件平台的设计调试、NetToolsT具的组态试验等工作。论文的主要成果如下:①为无轴印刷机大量离散的I/O节点的数据传输寻找到合适的解决方案,研究了PROFIBuS—DP协议,确定了项目选用该总线。②设计并调试完成基于C8051F020+SPC3的智能I/O从站。⑧从硬件和软件方面论证了提高智能I/O从站在工业现场的可靠性问题。④完成PROFIBUS主站的实现方式的选择,确定Anybus—M主站模块+ARM9的方式。⑤完成PROFIBUS主站嵌入式系统的原理图SCH设计、PCB(4层板)的制作,完成系统各部分电路的制作。⑥完成ARM9系统的调试,实现Linux2.4内核移植,NFS调试方式平台的搭建等工作。论文主要的创新点:①为无轴印刷机分散外设间的数据传输选择了总线PROFIBUS,并设计出基于C8051F020和SPC3的智能I/O从站这一产品。②在提高智能I/O从站的可靠性方面找到了切实可行的办法,其突出特点是引入TAD公司最新的iCoupler隔离技术作PROFIBUS总线的隔离,该项技术在国内$1"PROFIBUS总线隔离方面目前还鲜见报道。③论证了PROFIBus主站的实现方式,实际证明,这种方式是完全可行的。 参考文献2345678910ll12131415161718中华人民共和国机械行业标准一测量和控制数字数据通讯工业控制系统用现场总线第3部分:Profibus规范(JB/T10308.3.2001).北京.机械工业联合会,2002:589~694杨宪惠.现场总线及其运用.北京.清华大学出版社,1999:238~306李振军.现场总线及其运用技术.北京.机械工业出版社,2005:300~385夏继强.工业现场总线的新进展.北京航空航天大学学报,2004,30(4):359~362郑文波等.现场总线技术综述.机械与电子,1997,5:4~10魏庆福.工业现场总线技术的发展与工业以太网综述.工业控制计算机,2005,15(1):1~5余华军.现场总线技术及其发展.浙江电力.2004,3:15~23SPC3SiemensePROFIBUSController.SIEMENSEAG2000:8-90STEP7V5.0使用入门.SIEMENSEAG1998:18-100COMPROFIBUSManual.SIEMENSEAG1999:7-89深入浅出西门子S7—300PLC.航空航天大学出版社,2004:13~50张强.基于PROFIBUS—DP现场总线的分布式测控系统.山东大学硕士学位论文.2005:7~15周欣,万曼影,郁佳敏.用8032设计PROFIBUS智能化DP从站.自动化仪表,2001,(5):9~10王学伟,曹伟,章猛.PROFIBUS现场总线技术与PC控制.信息技术,2002,10:28~30ASPC2/Hardware.SIEMENSEAG1999:7-11李孝辉,张慧慧,孙树文.基于C8051F020和SPC3的PROFIBUS智能I/O从站的设计.2006:2~3潘琢金,施国君.C8051FXXX高速SOC单片机及运用.北京.航空航天大学出版社,2002.5:13~53史久根,张培仁,陈真勇.CAN现场总线系统设计技术.北京.国防工业出 北京工业大学工学硕士学位论文版社,2004:1~1819谭延磊.嵌入式信号采集仪的研制.北京工业大学硕士学位论文.2006:20~2520新华龙电子.C8051F020/112/3混合信号ISPFLASH微控制器数据手册REVl.1.2002:1~24100~20321AtmelElectronics.Atmel9200DatasheetRevisionA.2003:1-5022AtmelElectronics.CrystalOscillatorandPLLConsiderationforAT91M42800AandAT91M55800A.RevisionA2001:6~1123任爱锋,初秀琴.基于FPGA的嵌入式系统设计.西安.西安电子科技大学出版社,2004:17~26333~35l24李驹光.ARM应用系统开发详解.北京.清华大学出版社,2003:222~25425S.Furber.ARMSystem.on.ChipArchitecture.PearsonEducationLimitedPress.2000:23~7926AlteraInc.CycloneDeviceHandbook(CompleteTwo·VolumeSet).2003:15~42427EDA先锋工作室,吴继华,王诚.AleraFPGA/CPLD设计.北京.人民邮电出版社,2005:245~25528郑亚民,董晓舟.可编程逻辑器件开发软件QuartusII.北京.国防工业出版社,2006:90~10229赵炯.Linux内核完全注释.北京.机械工业出版社,2004:58~9830毛曙福.LinuxC高级程序员指南.北京.国防工业出版社,2001:152~16631A.RUBINI,J.CORBET.LINUX设备驱动程序.魏永明译.北京.中国电力出版社,2002:25~10932K.Yaghmour,J.Corbet.BuildingEmbeddedLinuxSystem.O’ReillyPress·2002-:20-5433仁永铮.LinuxC程序员指南.北京.国防工业出版社,2000:22~7234R.E.Filman.Embeddedintemetsystemscomehome.IntemetComputing.IEEE.200l,5(1):52~5335H.Seongsoo.EmbeddedlinuxoutlookinthePostPCindustry.Object-OrientedReal.TimeDistributedComputing.2003SixthIEEEInternationalSymposium.2003:37-40.66. 参考文献36C.Michael.AdvanceddigitaldesignwiththeVerilogHDL.PublishingHouseofElectronicsIndustry,2003:37-6937夏宇闻.Verilog数字系统设计教程.北京.北京航空航天大学出版社.2003:130~16238H.Lee.GE.Sobelman.Digit-serialreconfigurableFPGAlogicblockarchitecture.SignalProcessingSystems.SIPS98.1998IEEEWorkshop.1998:472-47939HMS.ApplicationNoteUsingAnybus—MDPVl.2004:1~1740HMS.ParallelInterfaceDesignGuide.REV2.0.2004:3~8041HMS.FieldbusAppendixAnybus—MProfibusDPVl.REV1.20.2005:5-10042EricBogatin(著),李玉山,李丽平(译).信号完整性分析.北京.电子工业出版社,2006:165~197—67· 北京工业大学工学硕士学位论文攻读硕士学位期间发表的学术论文1李孝辉,张慧慧,孙树文.基于C8051F020和SPC3的PROFIBUS智能I/O从站设计.微计算机信息.已录用,待发表.68.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭