新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 利用多线程思想实现单片机系统的伪并行处理

利用多线程思想实现单片机系统的伪并行处理

作者:时间:2012-03-23来源:网络收藏

1. 引言

本文引用地址:http://www.eepw.com.cn/article/171803.htm

随着计算机的不断发展,越来越多的,优秀的编程被提出来,并付诸实践。在某些方面已出现了根本性的变革。另一方面,自从80年代诞生以来,便以飞快的速度发展起来,但由于其物理条件的限制,控制的编程仍然局限于经验的模式,很少应用那些新提出的高级语言的编程。如果将不断发展的编程与广泛应用的控制结合起来,一定会大大促进单片机控制的进一步发展。使其更广泛的应用于各个方面。

在下面这个具体项目中,实际情况对系统有一些比较苛刻的要求。按照一般的单的控制方法已经无法满足实际需求。具体情况如表1(表1所示为生化分析仪的设计中对单片机系统的要求的一部分)

43.gif
表1

表1所示只占了整个系统要求的1/6。下面对表1中的几项内容加以说明。

对象M1开始动作17操作,即首先步进电机M1(正向)转动查找光电开关信号PS1;查到后执行两次‘过程1‘。过程1:向电机打出30拍。由表1可知该动作从C 段执行到 K段停止;

对象M2即步进电机M2等对象M1执行完动作17后执行动作23等。对象M3和对象M4 则在开始时同时启动,分别执行各自的动作。各个对象之间有的独立,有的相互关联。

整个项目需要控制16台步进电机,21个电磁阀,3个泵,1个直流电机,系统要求全部执行时间为6秒钟,系统要求步进电机以其最快的速度 -----40us—60us打拍。如果以单的方式编程让一台电机转到位之后,再转其他电机。这样16台电机打一拍就需要640us---960us 已经无法满足系统要求。这就需要使单片机控制多台电机运转。这种以的方式驱动各个电机同时启动可以在最短的时间将各个电机同时到位。在转动电机的同时还需要检测一些开关量已确定电机的位置。为了这个目的。下面提供第一种解决方案(此方案是常用的方案之一,但作者并不推荐这个方案。因为这个方案成本太高。)。

方案一: 硬件

我们可以用多个CPU,将各个电机的控制分到不同的CPU中执行,并可将不互相冲突的电机控制过程放到一个CPU中,其结构如图1

44.gif
图1多cpu方案结构图

如图所示系统中设定一个主CPU,其功能为与计算机通讯,并将计算机下达的指令分发给相应的从CPU,更主要的是主CPU将监控整个控制的运作。因为各个控制过程之间有的彼此关联,所以主CPU不仅要控制各个的执行,还要兼顾线程之间的通讯。以表1为例,具体作法如下:

光电开关相关文章:光电开关原理

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭