3 CPLD内部逻辑
如图2所示,K型热电偶将采集的模拟信号传送给MAX6675,再由它转化成数字信号传入CPLD,CPLD根据MAX6675芯片的时序进行数据处理得到需要的信号,最后由传输模块传到计算机进行数据显示和统计、处理。所以本文的重点工作便在CPLD内部逻辑的设计。在进行内部逻辑设计之前,须了解MAX6675的工作时序与原理:当CS引脚由高电平变为低电平时,MAX6675停止任何信号的转换,并在时钟SCK的作用下向外输出已转换的数据;当CS引脚从低电平变到高电平时,MAX6675将进行下一轮数据的转换。一个完整的数据读取需要16个时钟周期,数据的读取在SCK的下降沿进行。MAX6675的工作时序图如图3所示。
如图3所示,根据芯片手册tcss是CS下降到SCK上升的时间,规定其最小值为100 ns,tCH+tCL为SCK的一个时钟周期,规定最小周期为200 ns,tDV为CS下降沿到数据输出的时间,规定最大不超过100 ns。tDO为SCK下降到输出有效数据的时间,tTR为CS上升沿到数据停止输出地时间,规定最大值均为100 ns。根据这些手册上的这些时间规定,在设计CPLD内部逻辑电路时便严格按照要求,将SCK时钟周期设为1 000 ns即1 MHz,tcss设为1 000 ns,tDVtTR都设为100ns。图中还可以看出SO是16位的输出数据,其中只有D14~D3位为温度数据,D15位为无用位,D2位为热电偶断线测试位,D1位为MAX6675标识符,D0位为三态,所以从16位数据中取出D14~D3这12位数据进行转换和处理。基于以上分析,设计了如图4所示的内部逻辑模块。
CPLD内部逻辑如图4所示,为了将12位有效数据提取出来,先要将串行的SO输入信号转换成并行的,利于有效数据的提取。图中的CLK是指总时钟,用一个40 MHz的晶振,通过分频为芯片提供时钟。根据芯片数据手册和上述分析,给SCK信号1 MHz频率。以芯片时序要求,给RST信号2.5 Hz时钟,即0.4 s完成一次数据采集和数据传输。图中数据寄存模块的功能是为了寄存各路并行输入信号,便于后期上传。采集控制模块的主要作用是便于通过给系统的总时钟分频,为MAX6675芯片提供时钟信号SCK和RST。而传输控制模块是为了调试时利于信号的检测。此模块的作用是为输出信号添加帧头,利于后期对输出信号的确认;以及为传输模块提供合理的同步时钟,使得每一个数据的传输能够和相应时钟对应。
4 后期测试
按照上述原理进行硬件电路设计和CPLD内部逻辑设计,完成了一个可以多路同时进行温度采集系统。通过常温下对该温度采集系统进行的多次采集试验,随机抽取了其中一路温度采集统计图作为试验结果,如图5所示。
图5是一次常温下经过约20 min共3 500帧的采样结果,从图中首先观察到最高温度和最低温度分别达到24.
另外,还利用瞬时高温对该系统进行了测试,测试结果如图6所示,给出其中6路同时采集的数据,6种线型代表6路温度采集。曲线图中离瞬时高温产生范围较近的,如通道63、通道64,在产生高温的前500帧时间里变化较为明显,达到了
5 结束语
通过NAX6675芯片应用和实验,验证了MAX6675多路温度采集系统的良好性能和较高的性价比。另外,利用CPLD或者FPGA实现多路温度采集拥有设计简单、体积小、操作简洁方便,干扰因素少,可靠性高等优点,对工程应用具有一定的实用价值。