付勋如
(中国核动力研究设计院,成都610041)
付勋如(高级工程师),主要研究方向为嵌入式系统和智能控制与检测技术。
现在绝大多数智能仪器仪表都具有智能接口,并需要集中监控,因此,集中控制器的稳定性就决定了整个系统的稳定性,集中控制器的稳定性极为重要。本文介绍了基于PIC32MX664微处理器设计的集中控制器,给出了详细的软硬件设计。实际应用证明该控制器具有很好的稳定性。
PIC32MX664单片机是一款基于MIPS Technologies的M4K内核的复杂片上系统。M4K是新型的32位低功耗RISC处理器内核,采用了增强型MIPS32Release 2指令集架构。芯片提供各种通用和专用的外设,包括以太网、CAN 总线、USB主/设备/OTG、闪存32KB、板载RAM 128KB。最高可达到1.5DMIPS/MHz的性能。乘法/除法单元,最高指令发出速率为每个时钟一条32×16乘法指令。PIC32MX664所有处理器中都包含了高性能RISC CPU,可以使用32位、16位模式,以及混合模式进行编程。PIC32MX664MCU包含了高性能中断控制器、DMA控制器、USB控制器、在线调试器、用于对外设进行高速数据访问的高性能开关矩阵,以及用于保存数据和程序的片上数据RAM存储器。对于闪存,采用了独特的预取高速缓存和预取缓冲区,无需闪存访问延时,提供相当于0个等待状态的访问性能。
集中控制器系统框图如图1所示。智能仪表的智能接口通过光电隔离的RS485接口与集中控制器通信,远程控制服务器通过TCP/IP与集中控制器通信,集中控制器接收到命令后把命令转发给智能仪表。当无远程控制服务器控制命令时,集中控制器对智能仪表轮询,将结果显示在串口显示屏上。有智能仪表报警时,集中控制器读取时钟芯片的当前时间,将其与报警种类、报警实际测量值、报警阈值等信息一起保存在EEPROM中,以便后续查询或者远程控制服务器读取,并及时通过微型打印机打印出来。为了防止集中控制器意外断电,造成集中控制器不能有效监控,每次上电开机时有开机打印。集中控制器运行参数可以通过键盘设置并保存在EEPROM中,也可以通过远程控制服务器设置并保存在EEPROM中。
图1 系统框图
PIC32系列MCU集成了大量的片内高性能外设,为了加快对这些外设的使用,PIC32的MPLAB C32编译器包含了与16位Microchip MCU兼容的软件外设函数库。该外设函数库以源代码和目标格式提供,并附有详细的API描述文档。使用MPLAB C32编译器的软件应用程序可以通过简单地将相应的头文件包含在源文件中来调用外设库函数,MPLAB C32编译器具有内置的库/头文件和归档文件的信息。外设头文件及其完整源代码分别位于相应的外设子目录C:\Program Files\Microchip\MPLAB C32\pic32mx\include\peripheral和C:\Program Files\Microchip\MPLAB C32\pic32-libs\peripheral下。
以下给出了PIC32MX664串口部分初始化程序,可见,PIC32MX664初始化非常简单,易用。
IPort串口设备联网服务器是具有RJ45的以太网串口转换模组,尺寸极小,比一般人拇指还小,只需极小的集成空间和很简单的集成方式,就能为产品增加网络功能。IPort串口设备联网服务器具有以下优点:配置方式多样化,支持Web远程配置、软件配置、AT命令配置、串口配置;IPort工作方式多样化,具有TCP Server、TCP Client、UDP和Real Com等工作模式,目标IP和端口均可设置;支持AUTO MDI/MDIX,可使用交叉网线或平行网线连接;支持DNS域名解析;灵活的串口分帧方式满足用户各种分包需求;支持本地和远程的系统固件升级;支持虚拟串口工作方式,提供Windows虚拟串口驱动,让用户串口设备无缝升级至以太网通信方式,无需修改原有串口软件;TCP支持多连接,支持连接校验密码和连接后发送特定数据,满足4个以内用户同时管理一个嵌入模块的设备要求;免费提供Windows平台配置软件函数库,包含简单易用的API函数库,方便用户编写自己的配置软件;提供通用配置函数库,方便用户使用VC、VB、Delphi和C++Builder开发应用程序进行二次开发;兼容SOCKET工作方式(TCP Server、TCP Client、UDP等),上位机通信软件编写遵从标准的SOCKET规则。
为了串口设备联网服务器的稳定工作,单独为IPort串口设备联网服务器供电,电路图如图2所示。引脚3是模块的复位引脚,低电平有效,在该引脚输入一大于20μs的负脉冲,模块复位(模块内部有上电复位电路,该引脚可悬空)。
图2 IPort串口设备联网服务器供电及接线图
串口设备联网服务器的接线图如图2所示。引脚1(COM_CFG)是串口配置控制脚,方向为输入,高电平或悬空时是正常工作模式,低电平时是串口配置模式。在正常工作模式下,串口收发的数据是以太网的转发数据,在串口配置模式下,串口发送配置命令,设置模块的工作参数或获取模块的工作状态参数,该引脚内部有弱上拉。跳针2、3连接模块处于串口配置模式;跳针1、2连接模块处于正常工作模式。限流电阻R1、R2分别驱动模块以太网连接信号指示灯和模块以太网数据收发信号指示灯。引脚10是模块串口信号输出引脚,接MCU的串行数据接收端;引脚11是模块串口信号输入引脚,接MCU的串行数据发送端。
考虑集中控制器和与其通信的子机都处于较强干扰环境,通信部分采取抗强干扰设计,采用6N137光耦合器作为隔离器件。6N137光耦合器是一款用于单通道的高速光耦合器,其内部有一个850nm波长AIGaAs LED和一个集成检测器,其检测器由一个光敏二极管、高增益线性运放及一个肖特基钳位的集电极开路的三极管组成。具有温度、电流和电压补偿功能,输入/输出强隔离,兼容LSTTL/TTL,高速通信(典型为10MBd),以及5mA的极小输入电流等优良特性。
在6N137光耦合器的电源脚设计一个0.1μF高频特性好的去耦电容,并且尽量靠近光耦合器的电源引脚;另外,光耦合器的第6脚的输出电路属于集电极开路电路,须上拉一个电阻,光耦合器的2脚和3脚之间是一个LED,须串接一个电阻。
采用B0505SDC-DC隔离电源给LTC485芯片供电,实现微处理器端与通信线端的隔离。RX、TX分别接PIC32MX664的串行通信口的接收、发送端。RE、DE分别接PIC32MX664的普通I/O脚,用来控制发送、接收。实际电路图如图3所示。
采用WD-ANH型热敏打印机来打印报警时间、报警类型等信息。WD-ANH不但可以打印ASCII字符,还可打印英文、希腊文、德文、法文、俄文、日语片假名和大量汉字以及数学符号、专用符号等各种图形符号。WD-ANH具有40多个通用ESC打印命令,可实现符号和图形的放大、缩小,打印方式的选择,以及打印格式的设置。它具有很高的智能化程度,因此控制简单,可实现各种字符、图形、曲线及汉字的打印。例如,实现开机后打印开机时间的程序如下:
集中控制器需要记录各子设备的信息变化和各种报警记录,以及发生报警的时间,这就需要时钟芯片,选用DS1302万年历芯片。DS1302是Maxim公司推出的涓流充电时钟芯片,内含有一个实时时钟、日历和31字节静态RAM,可以通过简单的传行接口与单片机进行通信,它可以提供年、月、日、日期、时、分、秒的信息。每月的天数和闰年的天数可以自动调整,可以通过AM/PM指示决定采用24或12小时格式,DS1302与单片机的连接仅需要3条线:RST引脚、SCK串行时钟引脚、I/O串行数据引脚。VCC1为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。时钟电路图如图4所示。
图3 抗强干扰隔离原理图
OCM320240T350-1A智能型彩屏是一款高性能、低功耗、易使用的64K色的TFT真彩显示器,可以直接和具有UART串行接口的 MCU(如51单片 机、AVR、PIC、DSP、ARM、工控机等)连接。用户只需通过串口向终端发送命令,便可完成相应的操作。智能型彩屏终端的主要特点如下:16位真彩色显示(65 536色);采用UART串行接口,支持多种通信波特率,从1 200bps到115 200bps,默认波特率为19 200 bps,支持TTL电平和RS232电平;内置16MFlash存储器,可存放12幅320×240像素的图片,可存放根据客户需求而定制的字库;智能型显示终端出厂预置了4个字库,8×10点阵 ASCII、8×16点阵 ASCII、16×16点阵GB2312汉字和32×32点阵GB2312汉字(可选);支持使用上位机软件把图片数据事先下载到终端内部的图片存储区;用户只需发送简单的命令到终端,就可实现汉字显示、图片显示以及画点、画线、画矩形、画圆等图形绘制功能。
图4 时钟电路
基于PIC32MX664单片机的集中控制器运用其集成的丰富接口资源,具有较高的稳定性,已成功运用于实际工程项目中,表现出极好的抗干扰能力,明显优于其他单片机。
编者注:本文为期刊缩略版,全文见本刊网站www.mesnet.com.cn。
[1]Microchip Technology Inc.PIC32MX Family Data Sheet,2009.
[2]窦振中.PIC系列单片机原理和程序设计[M].北京:北京航空航天大学出版社,2003.
[3]Microchip Technology Inc.MPLAB ICE Emulator User's Guide,2009.
[4]广州致远电子有限公司.IPort-1嵌入式以太网转串口模块产品用户手册,2008.