导言
跟着科学技术水平的进步,智能仪器仪表或微机设备等智能电子设备(IED)已广泛运用于工业现场。
网络打印服务器(network print server)可为智能电子设备供给牢靠的同享打印服务,节省体系本钱。CAN总线是一种支撑散布或实时操控的现场总线,具有高牢靠性、实时性和灵活性,广泛运用于轿车操控、工业操控、机器人、家用电器等范畴。CAN总线已成为工业现场首选现场总线之一。规划的网络打印服务器选用CAN总线作为数据通讯网络,每个网络打印服务器可与几十乃至上百个智能电子设备构成总线型网络,选用屏蔽双绞线作为通讯介质削减节点搅扰。通讯速率在10 Kb/s~1 Mb/s范围内可选。
2 体系硬件规划
网络打印服务器的中心处理器选用PHILIPS公司的LPC2129。LPC2129是一款支撑实时仿真和盯梢的16/32位ARM7TDMI-S CPU“微操控器”,带有256 KB的嵌入式高速Flash存储器,16 KB支撑8/16/32位拜访的静态RAM,128位宽度的存储器接口和共同的加快结构,可使32位代码在最大时钟速率下运转。而对代码有严格操控要求的运用则可运用16位Thumb形式。LPC2129选用64引脚封装,低功耗,内带有46个GPIO,2个32位守时器,2路CAN操控器,多路串行接口,9路外部中止。选取该处理器首要考虑其内部资源丰富,无需扩展存储器、CAN操控器,且功用优异,抗搅扰才能强;价格低廉,具有极高的性价比。
体系硬件电路规划框图如图2所示。调试接口直接与LPC2129衔接,用于调试开发;由MAX232-EPE等器材构成的串口电路用于程序下载;看门狗担任监控程序是否呈现异常或跑飞,若呈现毛病时,看门狗使整个体系复位;而电源电路由SP220-15D5D和DUP75-05S05等器材构成,为网络打印服务器供给作业电源。
网络打印机服务器的中心电路是CAN及打印机接口电路,如图3所示。打印机接口电路部分由光耦PS2701和电容电阻等元件构成,LPC2129的P0和P1端口引脚经该接口电路与针式打印机衔接,完结打印功用;CAN总线接口电路由6N137和PCA82-C250等器材构成,LPC2129内部CAN操控器完结CAN协议处理,PCA82-C250可进步节点的驱动才能。为了增强CAN总线节点的抗搅扰才能,LPC2129的CNTX和CNRX不能直接与PCA82C250的TXD和RXD相连,应经高速光耦6N137后再与PCA82C250相连,然后完结总线上各CAN节点间的电气阻隔。高速光耦电路中的电源VCC和VDD有必要彻底阻隔,选用阻隔型电源模块DUP75-05S05完结阻隔。PCA82C250与CAN总线的接口部分也采取了抗搅扰办法,CANH和CANL与地之间别离并联一只1 000 pF/2 kV的电容,用于滤除总线上的高频搅扰,并具有必定的抗电磁辐射功用。别的,在CAN总线接人端与地之间衔接一个瞬态电压按捺二极管(TVS),维护PCA82C250免受ESD和EMI浪涌脉冲。通讯信号传输到导线的端点时发生反射,并搅扰正常信号传输,在PCA82C250的两根输出数据线之直接一120 Ω的终端电阻可按捺反射信号。若疏忽该终端电阻,则大大下降通讯的抗搅扰性和牢靠性,乃至导致无法通讯。
3 体系软件规划
网络打印服务器与各个智能电子设备之间选用主从方法,通过查询完结作业。软件首要由网络打印服务主程序、CAN驱动程序、打印接口驱动程序、守时器中止程序以及LPC2129发动程序组成。
LPC2129发动程序选用汇编语言编写,首要包含异常中止向量表、仓库初始化、方针板初始化、存储体系初始化等。守时器中止程序是守时器0的中止处理程序,用于完结各种守时或延时功用,为打印和CAN通讯供给必要支撑。打印接口驱动程序包含打印初始化和发送打印数据。打印初始化程序用于设置ARM的P0和P1端口部分引脚的作业方法,初始化打印机。发送打印数据程序首要检测打印机是否忙,若打印机忙则等候,若闲暇则发送要打印的数据。然后选通打印机,最终收回打印机,即不选通并将数据寄存器置位。
CAN驱动程序首要包含初始化CAN操控器、发送报文和接纳报文。初始化CAN操控器首要包含设置相应引脚功用、作业方法、波特率参数以及犯错正告边界等。
LPC2129中有大局检验滤波器,该模块可为CAN操控器供给接纳标识符的查询功用(检验滤波)。别的,检验滤波器为挑选的规范标识符供给了FulICAN-style主动接纳功用。在初始化CAN操控器中将检验滤波器设置为旁路,也可以依据实际需要进行设置,让其参加接纳滤波的作业,有助于改进节点接纳信息的挑选性。完结初始化CAN操控器后,即可发送和接纳报文信息。
发送报文驱动程序首要完结报文发送,发送报文流程如图4所示。发送报文时。将待发送的数据打包成契合CAN发送帧格局的数据送人CAN操控器的发送缓存区。在向发送缓冲区送报文之前,有必要判别发送缓冲区是否闲暇。若发送缓冲区繁忙则回来失利;若闲暇则将数据写人发送缓冲区,写入完结后再判别写入是否成功,写入成功后发动发送指令,发送缓冲区中的数据,然后回来状况标志。
接纳驱动程序首要完结报文接纳以及其CAN异常状况处理。CAN发送报文流程如图5所示。接纳报文驱动程序相对杂乱些,由于在处理接纳报文的过程中,一起也要处理总线封闭、过错报警、接纳溢出等状况。该体系规划采片j中止接纳方法取得较高的实时性,然后进步网络打印服务器功用。初始化CAN操控器有必要使能接纳中止。中止服务子程序读取CANICR操控器,判别是否为接纳中止标志,若是则读取接纳缓冲区数据;若是CAN异常状况,则进行相应处理。
在LPC2129发动程序后履行网络打印服务主程序。首要初始化,包含初始化看门狗、打印机、CAN操控器、守时器0及使能中止等;再与智能电子设备握手衔接,然后打印初次握手成功的IED基本信息;最终履行无限循环程序代码。在这段程序中判别是否有守时器超时。若查询IED守时超时,则查询各个IED是否要打印,若无打印需求则进入下一循环状况;若有打印需求则请求数据信息完结打印。假如从头握手守时超时,则与IED设备从头握手衔接,检测半途接人的智能电子设备可以满意体系需求,从头握手完结后履行无限循环程序。
在ADS1.2环境及EasyJTAG仿真器中进行软件调试。程序代码在ADS1.2环境下编译、衔接后生成可履行文件,通过EasyJTAG仿真器仿真调试,最终写入Flash存储器中。通过现场调试运用,根据CAN总线的网络打印服务器可以牢靠地完结网络打印功用。