基于ARM的扩散/氧化控制系统的设计
扫描二维码
随时随地手机看文章
随着信息化、智能化、网络化的发展,嵌入式系统得到了前所未有的发展。由于嵌入式系统具有体积小、性能强、可靠性高等特点,目前广泛应用于工业控制、控制仪表、通信等各个领域。扩散/氧化控制系统是为扩散氧化炉设计的控制系统。扩散/氧化炉是集成电路制造的重要的工艺设备之一。本系统主要由高精度的温度控制系统、推拉舟控制系统、气路控制系统组成。本系统为扩散/氧化炉提供高精度的扩散氧化环境,以生产出高质量的半导体产品。
本文采用的是ARM处理器S3C2440,它具有工作频率高、片上资源丰富等特点,可以良好地应用于本系统。且系统设计中移植了嵌入式WinCE,使得控制系统具有实时性强、编程方便、可扩展性强等特点。
1 扩散/氧化控制系统的总体设计
如图1所示,系统的CPU及扩展模块是以S3C2440为核心的开发板。在系统中有温度控制子系统、推拉舟控制子系统、气路控制子系统。上述3 个子系统为闭环系统,分别完成对温度、步进电机、气体质量流量计的检测和控制。触摸显示屏作为人机界面,用于控制和监视系统的运行。
图1 系统结构框图
2 控制系统的硬件设计
2.1 ARM微处理器S3C2440
本设计采用三星S3C2440处理器。它的主频为400 MHz,外扩存储器NAND Flash为128 MB、SDRAM为64 MB,完全满足控制系统运行的要求。该处理器片内资源有1个LCD控制器(支持TFT带有触摸屏的液晶显示屏)、SDRAM控制器、117位通用I/O口和24位外部中断源等。本系统触摸屏为3.5英寸,分辨率240×320,满足系统要求。
2.2 温度控制子系统硬件设计
温度控制子系统要求4路温度采集,其中一路测量环境温度,另外3路测量扩散/氧化炉的温度。系统要求温度测量范围为0~1 700℃,全量程分辨率为0.1℃。
为满足系统要求,测量扩散/氧化炉的传感器可以选用热电偶。为满足系统测量精度的要求,同时系统A/D转换的速度要求不是很快,所以采用双积分型A/D转换器ILC7135。ILC7135精度高、抗干扰性能好、价格低,应用十分广泛。ICL7135其转换数字范围为-19 999~+19 999,即分辨率为1/40 000。为了增加测量精度,需要对热电偶输入的信号进行滤波。因为本系统主要受工频信号的干扰,所以滤波过程主要滤掉工频信号。信号放大时根据系统的要求可以选用OP07、OP27等高精度的放大器。图2为ILC7135的A/D转换原理图。因为S3C2440的引脚高电平为3.3 V,所以此电路与CPU连接时可以使用电平转换芯片SN74ALVCl64245或74LVC4254等。
在本系统中使用晶闸管控制的电阻丝给扩散/氧化炉加温,为了防止市电对系统的影响,必须使用光电隔离器隔离本系统与市电的连接。
图2 ILC7135 A/D转换原理图
2.3 气路系统和推拉舟系统的硬件设计
在扩散/氧化工艺中,根据工艺的不同需要通入4种不同种类和质量的气体。所以在气路控制系统中,需要4路开关量控制4种不同气体的通断,以及4 路模拟量控制气体质量流量计。质量流量计能够输出4 mA~20 mA或0~5 V的气体质量信号,在控制精度要求不高的系统中,可以不理会质量流量计输出的气体质量信号,为了保证控制精度,可以采集气体质量信号。
在4路开关量控制中,可以使用继电器控制通断。
在4路模拟量控制气体质量流量计中,需要4路D/A转换。根据控制精度的要求,选用12位的D/A芯片DAC1230,因为控制信号为电压信号,所以需要把电流信号转换成电压信号。图3即为气路控制系统D/A转换原理图。
图3 气路控制系统D/A转换原理图
在4路气体质量流量测量中,因为气体质量流量计可以输出4 mA~20 mA或0~5 V两种信号,所以要求A/D转换芯片转换这两种信号。根据控制精度的要求,可以选用12位A/D转换芯片AD574。
在扩散/氧化工艺中,推拉舟用于运送半导体芯片,由步进电机驱动。微处理器S3C2440有4路PWM输出,可以输出脉冲给步进电机的驱动器,控制步进电机的运动。同时需要通用I/O口控制步进电机的正反转。
为了精确地获得推拉舟的当前位置,使用位置编码器记录推拉舟的运动距离。为了获得位置编码器的脉冲,使用8254记录脉冲数。CPU扫描读取8254的数据,计算出推拉舟的当前位置。
3 控制系统的软件设计
3.1 嵌入式操作系统
S3C2440微处理器基于ARM9内核,可以移植Windows CE、Linux、μC/OS-Ⅱ等嵌入式操作系统。本系统采用Windows CE操作系统。Microsoft Windows CE是一个紧凑、高效的可扩展操作系统,适用于各种嵌入式系统和产品。它拥有多线程、多任务、确定性的实时、完全抢先式优先级的操作系统环境,专门面向只有有限资源的硬件系统。
3.2 应用程序设计
在本系统中,根据工艺的不同,需要设置温度、位置、气体种类和质量等参数。所以,系统运行时需要设置的参数很多,并且为了实时观察温度参数,要求使用曲线显示温度。由此可知本系统中人机界面的重要性。图4为温度测量流程图。图5为系统运行总画面。
图4 温度测量流程图
图5 系统运行总画面
(1)曲线显示是应用程序的重要组成部分,可以把曲线的绘制封装到一个类中,本设计中封装到CDline类。该类给定继承与CWnd,因此曲线类也是一个窗口,可以在此窗口上绘制出曲线。首先使用EVC向导创建CDline类。在类中添加需要的变量,如存储线中的点CListm_lstPoints,画表格边框设备环境CDCm_dcGrid,用来画线的设备环境CDC m_dcLine等。然后为类添加构造函数,为类添加创建对话框的函数virtual BOOL Create(LPCTSTR lpszClassName,LPCTSTR lpszWindowName,DWORD dwStyle,const RECT& reet,CWnd*pParentWnd,UINT nID,CCreateContext* pContext)。然后为类添加绘图函数把曲线、网格绘制到空间上。[!--empirenews.page--]
曲线类完成之后,就可以在应用程序中初始化类的实例(如CDline m_Dline),接着调用创建函数(m_Dline.Create()等函数)。
(2)在本系统中为了存储系统运行过程中的数据及设置的数据,为了方便地检索数据,可以使用数据库技术。由于本系统需要存储的数据量较小,数据结构相对简单,使用WinCE自带的数据库EDB是非常合适的。
EDB数据库的编写使用数据库函数。
装配数据库卷:
BOOL CeMountDBVol(PCEGUID pceguid,LPWSTR lpszDBVol,DWORD dwFlags);
卸载数据库卷:
BOOL CeUnmountDBVol(PCEGUID pceguid);
创建数据库:CEOID CeCreateDatabaseEx (PCEGUID pceguid,CEDBASEINFO*lpCEDBInfo);
打开数据库:HANDLE CeopenDatabaseEx(PCEGUID pceguid,PCEOID poid,LPWSTR lpszName,CEPROPID propid,DWORD dwFlags,CENOTIFYREQUEST *pReq);
写数据库:CEOID CeWriteRecordProps(HANDLE hDbase,CEOID oidRecord,WORD cProplD,CEPROPVAL *rgPropVal),
读数据库:CEOID CeReadRecordPropsEx(HANDLE hDbase,DWORD dwFlags,LPWORD lpcPropID,CEPROPID*rgPropID,LPBYTE *lplpBuffer,LPDWORD lpcbBuffer,HANDLE hHeap);
本设计使用的S3C2440微处理器工作频率高、外围电路丰富,能够设计出友好的人机界面,易于监视和控制。本设计中温度检测精度高,整个系统的自动化程度高。系统运行证明,系统软硬件完全满足要求,运行良好。