徐加彦,张之万,陈兴林,张广莹
(哈尔滨工业大学 航天学院,哈尔滨 150001)
光刻机作为集成电路芯片的制造设备,是超高精度的控制系统。国家在2006年十二五规划发布的《国家中长期科学和技术发展规划纲要(2006-2020)》中将“极大规模集成电路制造装备及成套工艺”明确为重大专项。通过这一专项的实施,攻关60 nm光刻机的关键技术,为下一步研制更高分辨率光刻机打下坚实基础。在光刻机控制系统中,其环境因素,如温度、湿度等对高精度的控制有着重要的影响[1]。因此需实时反馈温度、湿度等环境因素。多通道AD采样系统作为光刻机信号采集板卡的核心部分,其采样速度、精度对提高整个光刻机控制系统的精度有着重要影响[2]。
有限状态机FSM(finite-state machine)又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。它可应用在硬件电路系统设计、软件工程、网络协议等。就其速度而言,FSM并行同步完成许多运算和控制操作。这样,由状态机构成的硬件系统比对应的CPU所能完成同样功能的软件系统的工作速度要高出3~5个数量级。因此在超高速串行或并行AD、DA器件的控制,硬件并行通信模块RS232等实现有着广泛的应用[3]。
本文采用AD7606作为采样芯片,设计采样电路,并充分利用状态机高速性、稳定性、高效性的特点,采用FPGA作为可编程逻辑器件,设计采样芯片的控制时序和读写时序。传统的采样系统使用UART方式传输采样结果,处理器需采用中断方式或查询方式读取采样结果,占用了处理器资源。本文将采样结果实时储存在双口RAM里,处理器可实时读取采样结果,不占用处理器资源,提高了处理器的效率。实验表明,稳定性和控制性能良好。
高速多通道AD采样控制系统框图如图1所示,信号采集板卡采用雷莫头接口的方式同外界模拟信号相连接,其抗干扰、稳定性强。AD4505功放模块作为外界模拟输入信号和AD7606模数转换芯片的隔离芯片,避免外界输入的模拟电压过大而导致烧毁AD芯片。AD采样芯片采用AD7606作为模数转换芯片,具有8通道同时采样,16位输出的特点,是一款高分辨率、双极性输入、同步采样的高性能模数转换芯片。采用Altera公司的EP2C35F672可编程逻辑控制器件对AD7606进行时序控制。并在FPGA里设置一块双口RAM,存储AD7606的数字输出结果。DSP作为信号采集板卡的主控处理器,可任意时刻读取双口RAM里的采样数据。
图1 采样控制系统框图Fig.1 Block diagram of sampling control system
AD7606是AD公司生产的一款高分辨率、双极性输入、多通道同步采样的高速模数转换芯片。内置二阶抗混叠模拟滤波器对输入信号进行滤波,内置数字滤波器,提供过采样功能;可以灵活地实现并行/串行输出;本课题设计的AD7606采用并行输出方式。通过FPGA硬件,采用状态机的编程方式,实现对AD7606的时序控制。
图2为有限状态机模型,下一个状态和输出由当前状态和输入所决定。有限状态机数学模型为(Σ,Γ,S,s0,δ,ω)。 其中:Σ 是输入字母表;Γ 是输出字母表;S是状态的集合;s0是初始状态;δ是状态转移函数;ω 是输出函数。其中 δ:S×Σ→S ω:S×Σ→Γ。
图2 有限状态机模型Fig.2 Model of finite state machine
在数字电路中,状态机可用可编程逻辑控制器件来建造,通过寄存器来储存状态变量,确定状态转移的一块组合逻辑和确定状态机输出的另一块组合逻辑。
有限状态机的设计对系统的高速性能、高可靠性、稳定性都具有决定性作用。采用状态机的形式,在每个状态中,状态机可并行同步完成许多运算和控制操作,相比于CPU按照指令逐条运行的方式,一般有状态机构成的硬件系统比对应的CPU完成同样功能的软件系统的工作速度要高出3~5个数量级。在可靠性能方面,状态机是在FPGA通过纯硬件电路构成,其运行不依赖软件指令逐条执行,因此不存在CPU运行软件过程中的许多缺陷[3]。
如图3所示为采用状态机形式的结构框图,程序分为写配置模块和读取数据模块2个模块。
图3 采样状态机的结构框图Fig.3 Block diagram of the sampling state machine
在写配置模块里配置AD7602的控制信号,比如串行模式/并行模式的选择,输入电压的范围、待机模式还是省电模式,过采样倍率的倍数等。
读取数据模块是整个采样系统的关键,采用状态机的形式,设置CS和RD信号线的时序。程序要根据BUSY信号产生中断信号,来确定转换是否完成。
根据AD7606的工作原理和写时序,设计接口逻辑模块,图4为状态机轮转状态图。
图4 状态机轮转状态图Fig.4 State machine cycle state diagram
AD7606转换控制信号为CONVSTA和CONVSTB。 CONVSTA 控制 V1,V2,V3,V4 通道,CONVSTB 控制 V5,V6,V7,V8 转换通道,本文将 CONVSTA和CONVSTB短接在一起,8通道同时转换。S0是空闲状态,CS为高电平,RD为高电平;通过边沿检测是否有BUSY信号,若有则进入S1状态,否则等待。由于等待CS稳定下来(CS到RD设置时间t8),需要插上延时状态 S2,到 S3 稳定,在 S4,S5 状态将RD拉低,读取第一通道V1的转换结果,之后依次重复7个脉冲序列,可使各通道的转换结果按升序逐个输出到并行总线DB[15:0]上,在状态机里可方便地设置各种状态。
图5为程序框图,通过Verilog HDL硬件语言,基于状态机的思想,通过硬件实现对采样芯片的控制时序和读取时序,并将读取的数据实时存储在双口RAM里,这样DSP可实时读取RAM里的数据,和通过中断方式或者查询方式读取采样数据相比,减小了对DSP资源的占用,提高了DSP的效率。硬件的两部分:控制时序和读取时序并行执行。在控制时序和读取时序中通过状态机方式并行执行程序,提高了采样速率和稳定性。
图5 程序流程图Fig.5 Program flow chart
通过逻辑探测仪实时测量的数据,给定第二通道3.3 V的电压,其他通道给定0 V电压,测得的信号如图6、图7所示。
图6 AD7606控制时序结果图Fig.6 Figure of control timing results
图7 AD7606读输出结果图Fig.7 Figure of reading the output
AD7606的输出编码方式为二进制补码,传递函数为:CODE=
当第二通道输入3.3 V时,理论值为2A3Dh;图7所示实际值为28E7h,对应3.195 V,存在一定误差,是因为施加的激励电源有一定的谐波,采样系统采集了此时波形。 FDB7h,FD7Eh,FE27h,FE17h,FCEFh,FF0Fh,分别对应实际值为-0.17 V,-0.18 V,-0.144 V,-0.148 V,-0.21 V,-0.07 V。
通过实验实时测量表明,通过状态机编写的对AD7606实现时序逻辑控制的硬件电路,其实验结果如图6、图7所示,和AD7606芯片手册上的读写时序图一致,表明实验结果准确。
实验采用Altera公司EP2C35F672型FPGA作为可编程逻辑控件,TI公司的TMS320F2812作为处理器[4],设计的采样系统其采样周期为4 μs。如图8所示采用Tektronixs公司的AFG3052C型波形发生器产生幅值为-10 V~+10 V,周期为4 ms的锯齿波形。在FPGA里按照时序依次存储100个AD采样输出结果于双口RAM里。通过DSP读取双口RAM数据,在软件程序里将数据保存,然后通过Matlab软件绘出曲线[5]和理论值比较,其结果如图9所示。
图8 实验采样的锯齿波Fig.8 Experimental sampled waveform
图9 采样系统的输出结果Fig.9 Output of the sampling system
通过实验表明,采样系统采样的结果和理论值误差很小,最大误差为0.1%,整体采样系统稳定性、误差性达到要求[6]。
本文利用状态机在高速、高可靠性、稳定性方面的特点,采用FPGA作为可编程逻辑控件,以状态机的形式,编程设计多通道高速AD采样系统的控制时序和读写时序。将采样结果实时存储在双口RAM里,这样处理器可实时读取采样结果,相比于通过UART方式传输采样结果给处理器,处理器采用SCI串口中断方式读取采样结果,本文设计的采样系统减少了对处理器资源的占用。对提高处理器的效率具有很大意义。实验表明,系统的稳定性、高速型、误差均达到要求,具有很强的工程实用价值。
[1]Boonman M,van de Vin C,Tempelaars S,et al.The performance advantages of a dual stage system[J].SPIE,2004,5377:742-757.
[2] 谷林.光刻机工件台和掩膜台同步控制研究[D].哈尔滨:哈尔滨工业大学,2013.
[3] 潘松,黄继业.EDA技术与Verilog HDL[M].2版.北京:清华大学出版社,2010.
[4] 苏奎峰,吕强,常天庆,等.TMS320X281xDSP原理及C程序开发[M].北京:北京航空航天大学出版社,2008.
[5] 王正林,王胜开.MATALAB/Simulink与控制系统仿真[M].北京:电子工业出版社,2008.
[6] 齐红涛,苏涛.基于FPGA的高速AD采样设计[J].航空兵器,2010(1):35-39.