基于C164单片机的自动摊铺机中分布式控制系统的实现
扫描二维码
随时随地手机看文章
1.前 言
随着高等级公路的不断发展,对于高等级公路的路面基层、底基层施工质量要求也日益严格,采用常规的施工方法已难以满足其表面几何尺寸和平整度的要求,因此采用摊铺机摊铺路面基层、底基层施工势在必行。但公路工程任务中,质量要求高,时间紧,操作条件恶劣,迫切要求改善操作环境,降低劳动强度,提高摊铺机自动化程度。工程机械一体化和机器人化是工程机械未来的发展方向。融合电子技术、计算机技术、控制技术、通信技术等,实现机械产品的自动化和智能化,为机电一体化技术开辟了发展的广阔天地
该沥青混凝土自动摊铺机的研制、开发,将提高道路摊铺工程的自动化程度和智能化水平,改善道路工程的操作环境和劳动条件,降低劳动强度,提高摊铺机产品的档次,成为国内领先、国际先进的国产化产品,对促进我国公路交通事业的发展,具有重要意义。
2.摊铺机工作原理
沥青混凝土道路的摊铺过程是:在工作时,由装载机从沥青混凝土搅拌站将混合搅拌好的高温铺路材料料快速运输到摊铺机前方,将原料倒入摊铺机的料斗中。料斗的下方是左、右两条输料带,输料带将原料一直带到车体后方,原料从输料带上落下。分料架是两个螺旋杆,它们通过旋转将堆积在中间的原料向两边分开,基本均匀分布在路面上。车体的最后方是熨平板,熨平板用高强压和振捣器的高频率将原料压实,待摊铺机走过,原料冷却后,路面形成。
3.通信模块的网络拓扑结构
图1 通信模块的网络拓扑结构
自动摊铺机系统既庞大、又复杂。包括车体的方向、速度控制,输分料控制,大臂、熨平板、找平控制,发动机的起、停控制以及各种状态参数的测量、显示和故障报警。为了提高系统的可靠性,采用了集散型计算机体系结构,实现了集中管理以及功能和危险的分散。所有这些子控制系统都在不同的单片机上完成,而这些子系统之间的参数传输则由主交互机进行协调。显而易见,摊铺机能否在工作环境相当恶劣的条件下正常、可靠、稳定地工作,很大程度上取决于各个单片机于系统能否进行可靠、稳定的通信。根据项目的要求,对人机交互系统和测控机系统的各种输入/输出量的关系进行了深入细致的研究和测量,制定了如图l所示的网络拓扑结构。
在图1中,主交互机与左交互机、右交互机、车体行驶测控机、找平输分料测控机利用CAN总线进行通信;而主交互机与移动电话则利用RS232C进行串行通信。
4.通信模板的硬件设计
本系统中采用亿恒公司的16位CMOS单片机系列的C164作为主控制器。亿恒C164是单片机是一款非常优秀的单片机,特别是它的16位单片机,高性能CPU 结合功能丰富的外设,每秒可执行1250万条指令,在CPU时钟频率20MHz时具有下面的性能特点:
(1)带有4级流水线高性能16位CPU
80ns最小指令循环时间,大多数指令仅需1个循环,即两个CPU循环;16*16位乘法需400ns(20个CPU循环),32位除16位需800ns(40个CPU循环)。处理能力达到10MIPS。
(2)集成在片存储器
64KB在片可编程FLASH;2KB内部RAM,用于变量存储器池、系统堆栈和代码;2KB在片高速RAM,用于变量、用户堆栈和代码;4KB在片数据EEPROM,用于non-volatile变量。
(3)外部总线接口
独立或复用总线配置;段分配和片选信号产生;8位或16位数据总线。
(4)16个优先级中断系统
可达33个中断节点带有独立的中断矢量;在内部程序执行时,240ns/400ns中断等待时间;快速外部中断。
(5)智能在片外设子系统
8通道10位A/D转换器,带有可编程转换时间(最小为7.76us;5个定时/计数器;同步/异步串行通道;带有15个信息体的CAN摸量;可编程时间间隔的看门狗定时器;实时时钟;用于系统初始化的程序引导装载器。
(6)59个I/O引脚
输入模式具有三态;具有位寻址功能。
通信模块的硬件电路如图2所示。
图2 通信模块的硬件电路图
通信模块带有CANBUS、RS232C各一路,可独立进行CAN总线通信和RS232C串行通信。RS232C通信硬件电路由C164片内异步串行口、光耦、MAX232A和传输线构成。CAN通信由C164片内CAN控制器、光耦、CAN收发器PAC82C250和传输线构成。
CAN收发器PAC82C250与C164CI的接口均带有光电隔离,隔离前后采用两套电源:
(1)系统电源:+Vs(+5V), Gs ;
(2)机器电源:+Vm(+5V), Gm。
5.RS232C通信软件设计
5.1 C164CI的异步串口
C164CI的异步串行口ASC0提供了与其它系统串行通信端口,它的特点是:自带波特率发生器的异步串口;异步模式,最大625Kbaud传送速率;全双工位;可编程特点(1或2停止位,7、8或9数据位);在数据发送时产生校验或唤醒位;奇或偶校验位;错误检测等。
5.2 串行口通信编程
串行口主要用于移动电话和主交互机之间进行通信。串行通信的实现主要是通过对串口控制寄存器进行配置实现初始化。下面是这一过程的实现步骤:
1. 串口控制寄存器初始化;
2. 定义波特率;
3. 定义中断;
4. 定义引脚的特殊功能;
5. 系统启动。
下面为实现串口的通信程序:
#include
unsigned int a;
interrupt(0x2B) void S0RINT(void) //接收中断服务子程序
{
a=S0RBUF; //将接收数据保存
}
void putchar(unsigned char tdata) //串行发送程序
{
while(!S0TBIR){;} //等待发送缓冲区清空
S0TBIR=0; //复位发送缓冲区中断请求标志
S0TBUF=tdata; //装载发送缓冲寄存器
}
void ASC_vInit(void) //串行通信初始化
{
S0CON=0x8011; //定义控制寄存器:SOR=1;SOREM=1;串行方式1
S0BG=0x0040; //定义波特率9 600Bd
S0RIC=0x0062; //定义接收中断控制寄存器
S0TBIC=0x0080; //定义发送缓冲控制寄存器
P3 |=0x0400; //定义P3.10引脚为输出锁存(TXD0)
DP3 |=0x0400; //定义P3.10方向控制(TXD0为输出)
Dp3 &=0xF7FF; //定义P3.11方向控制(RXD0为输入)
IEN=1; //开中断
}
void main(void)
{
……;
ASC_vInit(); //串口初始化
putchar(‘……’); //串行发送
……;
}
6.CAN总线通信软件设计
6.1 C164CI的CAN模块概述
C164CI的CAN模块特点如下:
(1)遵循CAN V2.0B规定(符号标准和扩展功能)。
(2)最大CAN通信速率为1MB/S。
(3)完全的CAN装置:
l 15个信息体,带有自己的识别器和状态控制位;
l 每个信息体可以定义为发送或接收。
(4)通过在片内部XBUS(16位独立方式)与主CPU相连(C166-内核)。
(5)接收滤波器用可编程屏蔽寄存器:
l 全域屏蔽输入信息体(全CAN功能);
l 信息体15有附加屏蔽(基本CAN功能);
l 灵活的中断事件控制;
l 带有两个接收缓冲器;
l 用自己的全域屏蔽寄存器进行接接收滤波。
6.2CAN总线通信软件设计
自动摊铺机系统CAN总线通信软件设计的任务是:在选定通信规程CAN2.0B以后,规定各计算机传送数据的格式和约定;协调各计算机之间的通信;统一考虑通信中的可靠性措施。
6.2.1 数据发送模式
由于要传送数据的重要程度、传送周期不同,在本系统的通信中采用两种不同的数据发送模式:
(1)发送模式0:即发送一次,不检测接收是否正确,发送结束返回。接收方接收到此类数据包后,不必发送应答信息包。该数据包的特点是:按照一定周期定时发送,用于主操作面板上的状态显示,所以偶尔的传送失败不会影响系统的正常运行与操作。
(2) 发送模式1:即一定要将数据包正确发送给接收方。采用重发机制,等待接收方应答,若没有接收到应答则重发。5次发送均失败,则返回FALSE,由发送方做出相应的处理动作,如报警、停机等;成功则返回TRUE。该数据包的特点是:由相应事件触发发送,如果传送失败,将影响系统的正常运行。
6.2.2 数据发送模式
对于自动摊铺机系统来说,其CAN 网络中节点数量较少,而每种数据包只需要一部分节点来接收,因此在通信设计中利用数据帧标识符来实现定址组播。为避免接收不必要的数据包,对接收节点按位编址,每个节点对应验收滤