C8051F020单片机及其在双主机转速同步控制系统中的应用
2017-01-10汝福兴崔益烽苏生俞宾周冠泽龚征华
汝福兴崔益烽苏 生俞 宾周冠泽龚征华
(1.常州玻璃钢造船厂有限公司 常州213127;2.陆军车船军代局驻上海地区军代室 上海200083;3.中国船舶及海洋工程设计研究院 上海200011)
C8051F020单片机及其在双主机转速同步控制系统中的应用
汝福兴1崔益烽2苏 生1俞 宾3周冠泽3龚征华3
(1.常州玻璃钢造船厂有限公司 常州213127;2.陆军车船军代局驻上海地区军代室 上海200083;3.中国船舶及海洋工程设计研究院 上海200011)
C8051F020单片机是完全集成的混合信号系统级MCU芯片。双主机转速同步控制系统利用它的内置两路串行通信接口(UART0/1),并使用双差分驱动接受器SN65C1168,完成通信数据信号电平转换,组成串行通信控制网络,在控制子系统之间以及控制子系统与主机电控单元之间进行控制数据交互,实现左右两台主机转速的远程同步控制。
C8051F020单片机;双主机转速同步控制系统;串行通信;控制子系统
引 言
目前,采用双主机作为推进系统动力装置的中高速喷水推进船艇在搜救、执法、巡逻等对于快速性和操纵性具有较高要求的特种工作领域,获得日益广泛的推广和应用。对于这类船艇,无论从总体性能还是操纵安全性以及人机操纵舒适性,都要求对主机和喷水推进装置方向舵及倒航斗角度进行联合控制,因此对于双主机转速的同步控制具有很高的要求。
本文所述高速执法工作艇平台,动力装置采用两台上柴D683ZLCA8B柴油机,单台持续功率转速为2 330 r/min(234.5 kW),通过带动两台喷水推进器叶轮高速转动(本船喷水推进器采用通气阀实现主机动力结合,故未设置齿轮箱),产生喷射水流,实现船艇高速航行。该主机配有MT-923型电控单元,可以通过RS-422数字通信接口接收/发送转速控制/反馈数据,并输出直流电机控制信号驱动主机机械调速器实现转速调整。
对于类似问题,通常依靠人工经验采用机械方式可实现操纵,但由于还需要兼顾巡逻执法工作,因此完全依赖人工将给操作者带来巨大的身体和心理负担,不利于船艇操纵性能的充分发挥和安全驾驶。本文所述的控制系统采用RS-422控制网络对两台主机进行转速同步操纵,较好地解决了上述问题。
1 控制系统组成
项目组采用C8051F020单片机作为控制器、主机电控单元作为执行器以及磁阻脉冲式转速传感器,设计了双主机转速同步控制系统,采用控制器的UART串行通信接口,以SN65C1168双差分驱动接收器,组成串行通信控制网络,对两台主机转速的控制与反馈数据进行交互,实现两台主机转速的远程同步控制功能。同时,控制系统还要根据主机转速反馈数据对喷水推进装置进行控制。
转速控制系统原理框图见图1所示。
图1 转速控制系统原理框图
2 C8051F020单片机的功能与特点
C8051F020单片机是完全集成的混合信号系统级MCU芯片,所采用的CIP-51 微控制器内核与MCS-51指令集完全兼容[1]。C8051F020单片机采用3.3 V工作电源,在单芯片内集成了构成一个单片机数据采集与控制系统所需要的几乎所有的模拟和数字外设及其他功能部件,包括数字I/O接口、12位ADC、看门狗定时器、内部振荡器以及两个独立的全双工串行通信接口(UART0/1)等。
C8051F020单片机非常独特地引入数字交叉开关。这是一个数字开关网络,它允许将内部数字系统资源映射到P0、P1、P2和P3的端口I/O引脚。与传统微控制器所具有的标准复用数字I/O不同,这种结构可支持所有的功能组合。可通过设置交叉开关控制寄存器将片内的串行总线、硬件中断、ADC转换启动输入以及微控制器内部的其他数字信号配置为出现在端口I/O引脚。这一特性允许用户根据自己的特定应用选择通用端口I/O和所需数字资源的配置与使用。
C8051F020单片机采用100 脚TQFP 封装,可在工业温度范围(-45℃到+85℃)内使用2.7 V~3.6 V 电压工作。端口I/O、/RST和JTAG引脚都容许5 V输入信号电压。
C8051F020的两个串行通信口UART0和UART1,是具有帧错误检测和地址识别硬件的增强型串行口,均可在全双工异步方式工作。
C8051F020单片机原理框图见图2所示。
C8051F020单片机串行接口UART0/1原理框图见下页图3所示。
图2 C8051F020单片机原理框图
图3 C8051F020串行接口UART0/1 原理框图
3 双主机转速同步控制系统工作原理
双主机转速同步控制系统由两套控制子系统组成,每套控制子系统分别对应一台主机转速的控制。每套控制子系统通过RS-422数据交互网络向远端的主机电控单元发送转速控制数据,由电控单元实现转速调整,并将实时转速数据反馈回控制子系统。
控制子系统采用一台C8051F020单片机作为主控制器,通过设置数字交叉开关,将UART0/1、ADC等外设功能配置到P0的I/O端口。此外,整个控制系统还包括功能转换开关、控制手柄、报警单元、手动单元等功能模块。
控制子系统之间通过UART0进行转速同步控制的数据通信。控制子系统通过UART1与主机电控单元通信,发送转速控制数据,接收转速反馈数据。通过RS-422串行通信网络实现数据远程交互,解决了两台主机转速远程同步控制数据交互的主要问题。
控制子系统可以利用C8051F020的P2口采样外部工况开关输入的DI信号,自主设定为主系统或从系统,主系统采样控制手柄的模拟量输入控制信号,经过AD转换,换算为对应的主机转速控制目标,并同步向从系统发送。
下页图4为转速控制器原理图(C8051F020部分),图5为控制板照片。
图4 转速控制器原理图(C8051F020部分)
图5 控制板照片
4 串行通信口UART0/1的配置
C8051F020单片机需对特殊功能寄存器(SFR)进行设置后,才能控制和访问UART0/1。对于UART0和UART1的使用,在主要参数的选择上是相同的,但是对于SFR的设置有所区别。
对UART0/1的控制和访问是通过特殊功能寄存器(SFR)串行控制寄存器(SCON0/1)和串行数据缓冲器(SBUF0/1)来实现的。一个SBUF0/1地址可以访问发送寄存器和接收寄存器。读操作自动访问接收寄存器,而写操作自动访问发送寄存器。
接收数据被暂存于一个保持寄存器中,允许UART0/1在软件尚未读取前一个数据字节的情况下开始接收第二个输入数据字节。一个接收覆盖位用于指示新的接收数据已被锁存到接收缓冲器,而前一个接收数据尚未被读取。
UART0/1可以工作在查询或中断方式,拥有两个中断源:一个发送中断标志TI0/1(SCON0.1/SCON1.1,数据字节发送结束时置位),以及一个接收中断标志RI0/1(SCON0.0/SCON1.0/,接收完一个数据字节后置位)。当CPU 转向中断服务程序时硬件不清除UART0/1中断标志,中断标志必须用软件清除。这就允许软件查询UART0/1中断的原因(发送还是接收)。
UART0/1的波特率是定时器溢出时间的函数,定时器每次发生溢出时,向波特率电路发送一个时钟脉冲(UART0/1的TX/RX时钟可以分别选择)。
两台控制子系统通过UART0建立数据通路,使用定时器2工作在方式2产生UART0波特率,UART0工作于方式3(9位可变波特率)。通过将TCLK0(T2CON.4)和RCLK0(T2CON.5)位设置为逻辑1来选择定时器2为TX 和RX 的波特率时钟源(TX和RX时钟相同)。
波特率计算公式如式(1)所示:
式中:BAUDRATE为UART0的串行通信波特率,系统预设定BAUDRATE=9 600 baud;SYSCLK为系统时钟频率,系统选用外部晶振频率M=11.059 2 MHz;是定时器2 的重装载寄存器的预设定值。
由式(1)得到:
UART1使用定时器1工作在方式2(8位自动重装载方式)产生波特率(TX和RX时钟相同)。
式中:BAUDRATE为UART1的串行通信波特率,系统预设定BAUDRATE=9 600 baud。SYSCLK为系统时钟频率,系统选用外部晶振频率M=11.059 2 MHz。TH1是定时器1 的8位重装载寄存器的预设定值。SMOD1是UART1的波特率加倍控制位(0:使能UART1波特率/2;1:禁止UART1波特率/2)。T1M为定时器1时钟选择位;0:T1使用系统时钟的12分频;1:T1使用系统时钟。
从式(5)可以得到:
按照上述计算结果预置T1和T2的自动重装载值,即可使控制子系统UART0/1采用异步串行通信方式工作,并工作在方式3(1位起始位,8位数据位,1位功能位(TB8奇校验),1位结束位,可变波特率),预设波特率为9 600 baud,数据交互(发送/接收)周期为10 ms。
5 串行通信接口设计
控制子系统至主机电控单元的布线长度为40 m左右,选用RS-422标准通信接口实现两者之间通信数据的传输。
RS-422标准规定了电气接口型式是双端线传输信号[2]。它通过传输线驱动器,把逻辑电平变换成电位差,完成始端的信息传送;通过传输线接收器,把电位差变换成逻辑电平,实现终端的信息接收。在最大传输速率10 Mbps条件下,电缆允许长度为120 m。RS-422适用于点对点数据通信方式,标准允许驱动器输出为±2~±6 V,接收器能检测到的输入信号电平可达200 mV。
控制子系统与电控单元之间的串行数据通信采用双差分驱动接收器SN65C1168完成信号电平转换。
SN65C1168全面满足TIA/EIA-422标准,采用单一5 V供电,RS-422引脚具有ESD防静电保护功能,器件最大功耗电流为9 mA,接收器输入阻抗17 KΩ。
在C8051F020单片机UART1接口TX引脚使用10 K上拉电阻接5 V工作电压,与SN65C1168的驱动器端口D相连,以提高信号传输的可靠性,RX引脚直接与SN65C1168的接收器端口R相连接收数据。
SN65C1168逻辑框图如图6所示。
图6 SN65C1168逻辑框图(正逻辑)
C8051F020单片机UART1接口与SN65C1168驱动接收器接口的电气特性见表1。从表中数据可以看出,C8051F020与SN65C1168的串行通信接口可以直接连接使用。
控制子系统与电控单元串行通信接口原理图见图7。
图7 控制子系统与主机电控单元串行通信接口原理图
表1 C8051F020与SN65C1168接口电气性能对比 V
两套控制子系统之间的串行通信回路是在8051F020的UART0之间建立,且两套子系统处于同一个控制箱内,由于其接口电平完全一致,可不进行电平转换,在连接时将两个串行通信口的TX与RX引脚直接对接即可使用。UART0串行通信网络连接关系原理图见下页图8。
图8 控制子系统串行通信接口原理图
6 控制软件设计
应该注意,C8051F020单片机大量采用特殊功能寄存器,完成相应的功能与接口的配置与转换,这给软件开发工作带来了方便,但是错误的配置很容易造成系统工作的异常,并且很难发现。对此要充分利用开发工具软件集提供的初始化配置工具CONFIG WIZARD。
7 主机转速同步控制
两台控制子系统根据主控机产生的转速目标数据,并和反馈得到的转速数据进行比较,分别根据转速同步算法产生转速同步控制目标数据,并经过RS-422串口发送至对应的主机电控单元。
控制子系统对于主机转速的控制是通过主机电控单元(执行机构)实现的。主机电控单元接收到转速目标数据后,输出电机控制信号,驱动机械调速器运行,并利用磁电转速传感器检测实时转速经过RS422串口反馈至控制子系统,最终完成主机转速的调整与控制。
8 抗干扰设计
控制系统的抗干扰设计[4],可以提高其工作的可靠性和稳定性,直接关系到设备的正常使用以及船艇的安全航行,重要性和必要性不言自明。转速同步控制系统的抗干扰设计工作主要包括硬件和软件两部分。
(1)控制子系统与主机电控单元之间的串行通信线路,采用屏蔽双绞线连接(线长45 m,节距0.075 m,屏蔽层密度75%,理论噪声衰减率71:1),屏蔽双绞线可以较好地抑制静电感应干扰和电磁感应干扰。
(2)串行通信线路屏蔽层采用单点接地方式接至控制系统外壳,防止干扰。
(3)串行通信接口加装共模电感,防止/减轻共模干扰。
(4)在DI信号端口加上TLP521光耦器件进行隔离,在DO信号端口加上4N32光耦器件进行隔离,在串行通信端口加上6N137高速光耦进行隔离,防止器件受到外部高压或者串扰信号的干扰和损坏。
(5)控制软件采用模块化设计,设置了系统初始化、主功能循环、AD采样、串行通信、故障诊断等功能模块。
(6)对控制手柄等输入模拟量信号进行连续多次AD采样,并叠加使用了去除极值、数学平均和数值变化率限制等软件滤波方法,提高抗干扰能力。
(7)对串行通信网络设置数据异常判断,包括奇校验、地址码判断、数据有效范围判断以及数据包校验和等措施。若因各类故障原因导致数据通信成功率不足80%(80次/秒),即认为通信网络故障,两套子系统同步发出降速指令,主机电控单元使主机降速运行,并通过DO端口向报警单元发出系统报警信号。
表2 控制系统转速指令与实测结果对应表r/min
9 试验结果
控制系统交付装船后进行了实船试航,控制系统转速指令与主机转速响应图见图9。控制系统转速指令与实测结果对应表见表2。
图9 控制系统转速指令与主机转速响应图
从试航结果可见:左主机转速(n1)控制最大偏差值为85 r/min,约为最大转速的3.6%;右主机转速(n2)控制最大偏差值为72 r/min,约为最大转速的3.1%。左右主机的转速同步最大误差为17 r/min。
双主机转速同步控制系统配合试航过程中,在整个转速范围内保证了两台推进器推力的发挥与匹配,以及船艇快速性、操纵性的实现。
10 结 论
C8051F020单片机内部外设功能全面而强大,全速、非侵入式的在系统调试接口(片内JTAG)使系统开发工作方便易行;RS-422串行通信网络原理简单、技术成熟、可靠性好。
双主机转速同步控制系统工作稳定可靠、使用方便,满足设计指标要求,综合性能优良。
[1]潘琢金.施国君.C8051Fxxx高速SOC单片机原理及应用[M].北京:北京航空航天大学出版社,2002.
[2]李华.孙晓民.李红青,等.MCS51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,1993.
[3]马忠梅.籍顺心.张凯,等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,1999.
[4]王幸之.王雷.钟爱琴,等.单片机应用系统电磁干扰与抗干扰技术[M].北京:北京航空航天大学出版社,2006.
C8051F020 SCM and its application in twin-engine revolution synchronous control system
RU Fu-xing1CUI Yi-feng2SU Sheng1YU Bing3ZHOU Guan-ze3GONG Zheng-hua3
(1.ChangZhou FRP Boatbuilding Co., Ltd., Changzhou 213127, China; 2.Representative Off ce of Army Trucks and Ships Bureau in Shanghai, Shanghai 200083, China; 3.Marine Design & Research Institute of China, Shanghai 200011, China)
A C8051F020 single chip machine (SCM) is a fully integrated mixed-signal system-on-a-chip MCU.The twin-engine revolution synchronous control system transforms signal level of the communication data and composes the serial communication network by using the inner two-way serial communication interface UART0/1 and the dual differential drivers and receivers SN65C1168.The synchronous remote control of the revolution of the left and right engine can be achieved by the exchange of the control data anong the control subsystems, as well as between the control subsystem and the engine electric control unit.
C8051F020 SCM(single chip machine); twin-engine revolution synchronous control system; serial communication; control subsystem
U665.14
A
1001-9855(2016)06-0066-10
2016-02-23;
2016-07-29
汝福兴(1962-),男,工程师,研究方向:船舶电气设计。崔益烽(1982-),男,硕士,工程师,研究方向:军事装备。苏 生(1980-),男,高级工程师,研究方向:船舶工程设计。俞 宾(1971-),男,工程师,研究方向:机械设计与制造。周冠泽(1986-),男,工程师,研究方向:船舶电气设计。龚征华(1974-),男,高级工程师,研究方向:船舶电气设计。
10.19423/j.cnki.31-1561/u.2016.06.066