2.3CPLD器件简介 在本设计中选用的是EP1K100QC208-3,它是ALTERA公司推出的ACEX1K系列下的一款FPGA芯片。上电时需要重新对芯片进行配置。片内有100,000可用门,有4,992个逻辑单元,内嵌12个EAB。每个EAB的容量为512Byte,可以非常方便地构造RAM、ROM、FIFO或双口RAM等功能。本设计中6KB的双口RAM正是基于此构建的。其有208个管脚,可用I/O管脚数为147个。 3CPLD内部电路实现 本设计的软件是在MAX+plusII10.2下完成的,顶层文件是*.gdf图形文件,低层用AHDL硬件描述语言来描述。 3.1测频模块 测频模块的主要作用是:①测量电网频率;②确定分频系数,产生跟随频率变化的同步脉冲。测频原理:由于测量的频率在50Hz左右,采用脉宽测量方式,即首先对被测信号进行2分频,使信号的正负脉宽相等,然后利用正脉宽对50MHz的标准脉冲进行计数。正脉宽上升沿来时,计数器开始对标准脉冲计数;下降沿来时,锁存当前的计数值Con。通过以下关系确定频率f、分频系数N。 分频系数为:系统时钟源频率与分频得到脉冲频率(256*f)的比值的一半再减去1,即 3.2S/H时序控制模块 由于采用的是同相电压、电流同步采样技术,所以对S/H的控制时序要求严格。同步采集某相电压电流1次的时间≤71.02μs。同相电压、电流间要**同时保持,分时采样。由于ADC582的捕捉时间约为6μs,所以S/H时序脉冲低电平应至少为10μs,在此期间,采样保持器处于跟踪状态;高电平为60μs,在高电平期间,采样保持器处于保持状态。前30μs对电压信号进行AD转换并存储;后30μs对电流信号进行AD转换并存储。仿真波形如图2。
3.3多路开关MAX382的地址产生及ADC控制模块 在AD582控制脉冲一个周期的高电平期间,要采集电压、电流各1次,所以多路开关MAX382需要选通2次,AD芯片MAX172也需要启动2次。第1次MAX382选通起始于AD582控制脉冲上升沿来临以后的1μs时刻;第2次起始于中间31μs处,延时1μs。这是因为采样保持器的输出还有一段波动,经过一定时间tST才保持稳定,为了量化的准确,所以在保持指令发出后,延时1μs。AD启动脉冲开始于AD582控制脉冲2μs、32μs处,也延时1μs。MAX172的控制端有:CS,HEN,RD;转换结束状态线:BUSY。当CS=0,RD=0,BUSY=0时,AD正在转换;BUSY=1时,转换结束;HEN=1,读转换结果的高4位数据,HEN=0时,读转换结果的低8位数据。该模块要结合硬件来仿真。MAX172的控制时序图如图3。
3.4双口RAM地址发生器及读写控制模块 ACEX1K100器件内嵌EAB单元,可构成容量大约𰹊KB的双口RAM,由于MAX172?位AD,而MCS-51的数据总线只位,所以,需要次采样的数据分个字节,分别存储。因为电压、电流分时交替转换,所以,在地址发生器中要有一个确定的映射规则,调整其存储地址,以使电压、电流在双口RAM中分块顺序存储。另外,在双口RAM中,当对同一地址单元同时进行读写时,要有一个仲裁机制,对其进行控制;当读写发生冲突时,我们约定:CPLD写双口RAM具有优先权,只有当写操作结束后,MCS-51单片机才被允许读该单元。该模块的仿真波形见。 3.5通信模块 该模块是在CPLD内部构建一个串行发送电路端口,实现MCS-51单片机与CPLD器件之间的通信功能。(1)在正常工作模式下,频率、同步脉冲的分频系数等重要数据需要通信。(2)在系统升级模式下,单片机发送控制数据给CPLD实现升级。通信方式为串行单工通信,MCS-51单片机发送数据,CPLD接受数据。通信波特率约定?bps,通信的帧结构?位数据位起始位(低电平)位数据位,低位在前位停止位(高电平)。帧与帧之间位空闲位(高电平)以确保通信正确。 4结论 在电力谐波分析仪的设计中,CPLD的应用使采样的速率大大提高,由于采用频率跟随技术,可以满足高精度的测量需要。另外,也减轻了MCS-51单片机的负担,提高了系统的响应速度,实时性更强。该设计还有另外一个优点,系统升级方便,只要把ADC芯片换成MAX162,单片机的程序稍做修改即可。当然也可以实现在线修改,实现远程控制等功能。 参考文献[1]仇润鹤,任子晖,等.单片机在电网谐波分析仪中的应用[J].中国矿业大学学报,1994,23(1).[2]徐会明,卢锦凤,等.GXY-90工频谐波分析仪设计中的几项先进技术[J].仪器仪表学报,1994,15(2).[3]李绍铭,杨伟翰,等.高速数据采集与谐波分析仪的设计[J].自动化仪表,1999,(12).[4]付慧生,袁小平,庄乾起.复杂可编程逻辑器件与应用设计[M].中国矿业大学出版社,2003.