版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计说明书第1页共38页1、绪论通用仪表测试仪是为校验电力机车的仪表而设计的,该设计充分了利用了在大学所学习的知识。该课题涉及:单片机、可擦写存储器、AD转换器、DA转换器、点阵液晶显示模块、开关电源、微机接口等方面的知识。该仪器主要实现的功能是:采用电池供电采用点阵液晶显示模块可以输出DC0~75mV、0~2V、0~5V、0~10V、0~150V、0~160V、0~600V、0~5mA等几种电压或者电流信号。精度要求为0.25%。可以存储现场测试的数据可以同上位机通讯,并且将测量的数据传送到上位机,进行报表、打印、存储具有浏览、删除历史记录功能采用旋转编码旋钮(一键飞梭)实现人机操作界面
2、通用仪表测试仪2.1硬件设计综述2.1.1硬件框图:本设计采用AT89C55WD单片机为控制和采集的控制器,采用TLC2543来采样模拟量,输出的电压采用DA作为基准输出,通过驱动放大电路和开关逆变电源来实现低压和高压的输出,在低压输出时采用运算放大器组成的比例电路来实现0到10V的输出。高压输出时,采用DA作为开关逆变电源的基准电压,调整DA输出的电压,就可以改变逆变开关电源脉宽调整器SG3525输出的PWM波的脉宽和频率,从而改变输出的电压值。系统采用了大屏幕的点阵液晶显示模块,通过旋转编码开关来实现对系统参数的设置、保存、输入等操作。整个电路框图如图2.1:图2.1AT89C55WD120×图2.1AT89C55WD120×240点阵液晶显示屏旋转编码开关8K字节存储器采样电路AD转换器DA转换器输出驱动放大电路RS-232通讯接口逆变电源系统硬件组成图2.2.2AD转换器工作原理本次设计采取的TI公司生产的11通道串行AD转换器TLC2543CN,TLC2543与外围电路的连线简单,三个控制输入端为CS(片选)、输入/输出时钟(I/OCLOCK)以及串行数据输入端(DATAINPUT)。片内的14通道多路器可以选择11个输入中的任何一个或3个内部自测试电压中的一个,采样-保持是自动的,转换结束,EOC输出变高。TLC2543的主要特性如下:●11个模拟输入通道;●66ksps的采样速率;●最大转换时间为10μs;●SPI串行接口;●线性度误差最大为±1LSB;●低供电电流(1mA典型值);●掉电模式电流为4μA。TLC2543引脚功能与接口时序(图2.2)图2.2B、TLC2543引脚排列图2.2TLC2543的引脚排列如图2.3所示。引脚功能说明如下:图2.3管脚排列图2.3管脚排列AIN0~AIN10:模拟输入端,由内部多路器选择。对4.1MHz的I/OCLOCK,驱动源阻抗必须小于或等于50Ω;CS:片选端,CS由高到低变化将复位内部计数器,并控制和使能DATAOUT、DATAINPUT和I/OCLOCK。CS由低到高的变化将在一个设置时间内禁止DATAINPUT和I/OCLOCK;DATAINPUT:串行数据输入端,串行数据以MSB为前导并在I/OCLOCK的前4个上升沿移入4位地址,用来选择下一个要转换的模拟输入信号或测试电压,之后I/OCLOCK将余下的几位依次输入;DATAOUT:A/D转换结果三态输出端,在CS为高时,该引脚处于高阻状态;当CS为低时,该引脚由前一次转换结果的MSB值置成相应的逻辑电平;EOC:转换结束端。在最后的I/OCLOCK下降沿之后,EOC由高电平变为低电平并保持到转换完成及数据准备传输;VCC、GND:电源正端、地;REF+、REF-:正、负基准电压端。通常REF+接VCC,REF-接GND。最大输入电压范围取决于两端电压差;I/OCLOCK:时钟输入/输出端。C、TLC2543的工作过程一开始,片选(CS)为高,I/OCLOCK和DATEINPUT被禁止以及DATAOUT为高阻抗状态。CS变低开始转换过程,I/OCLOCK和DATAINPUT使能,并使DATAOUT端脱离高阻状态。输入数据是一个包括一个四位的模拟通道地址(D7~D4),一个2位数据长度的(D2~D3),一个输出MSB或LSB在前的位D1,以及一个单极性或双极性输出的选择位D0的8位数据流。这个数据是从DATAINPUT〕端加入的,输入/输出时钟系列是家在I/OCLOCK端,以传送这个数据到输入数据寄存器。在这个传送的同时,输入、输出时钟系列也将前一次转换的结果从输出数据寄存器移到DATAOUT端。I/OCLOCK接收输入系列的8、12、或16个时钟长度取决于输入数据寄存器中数据长度的选择位。模拟输入的采样开始于输入I/OCLOCK的第四个下降沿而保持则在I/OCLOCK的最后一个下降沿之后。I/OCLOCK的最后一个下降沿也使EOC变低并开始转换。转换器的工作分为连续的两个不同的周期:(1)I/O周期,(2)实际转换周期。I/O周期是由外部提供的I/OCLOCK定义,延续8,12或16个时钟周期,这个取决于选定的输出的数据的长度。在I/O周期中,同时发生两种操作:一个包括地址和控制信息的八位的数据流被送到DATAINPUT。这个数据在前8个输入、输出时钟的上升沿被移入器件。当12个或16个I/O时钟传送时,在前8个时钟之后DATAINPUT便无效。在DATAOUT端串行地提供8、12、或16位长度的数据输出。当CS保持为低时,第一个输出数据位发生在EOC的上升沿。若转换是由CS控制的,则第一个输出数据位发生在CS的下降沿,这个数据是前一个次的转换结果,在第一个输出数据位之后的每个后续位由后续的I/O时钟每个下降沿输出。转换周期对于用户是透明的,它是由I/o时钟同步的内部时钟来控制的,当转换时,器件对模拟输入电压晚场逐次逼近式的转换,在转换周期的开始时,EOC输出端变低,而当转换完成时变高,并且输出数据寄存器被锁存,只有在I/O周期完成后才开始一次的转换周期,这样可减小外部的数字噪声对转换精度的影响。在上电后,CS必须从高变到低以开始一次的I/O周期,EOC开始为高,输入数据寄存器被置为全0,输出的数据是随机的,并且第一次的输出的结果将被忽略,为了对器件进行初始化,CS被转为高在回来低以开始下一次的转换周期,在器件从掉电状态返回后的第一次转换,由于器件的内部调整,读数可能不准。数据的输入端在内部被连接到一个8位的串行输入的地址个控制寄存器,该寄存器规定了转换器的工作和输出的数据长度,主机提供的数据字是以MSB为前导的,每个数据为都是在时钟序列的上升沿被输入的。输入数据格式见下表2.1:数据寄存器的前四位(D4~D7)是地址位,它规定了从11个输入通道中选1、基准测试电压或掉电方式,这些地址位影响紧跟在当前时钟周期后面的当前转换,基准电压的额定值等于Vref+,Verf-数据寄存器的随后二位D2和D3选择输出数据的长度,数据的长度对当前的时钟周期有效,已经对当前的时钟周期的有效的数据长度的选择,允许在不失去时钟同步的条件下启动器件,可以选择8,12或16位的数据长度,由于转换器的分辨率为12位,因而在本次的设计电路中采取了12位的转换长度。D3和D2置为00或10,器件为12位数据长度的方式,当下一个时钟周期时,当前的转换结果以12位串行数据流方式输出,当前的时钟周期必须是12为长以正确地同步,即是这意味着前一次的转换的数据输出将不可靠。在当前时钟周期的第12个下降沿之后立即开始当前的转换。在数据寄存器中D1位LSBF控制输出的二进制的传送,当D1置0时,转换结果以MSB前导的格式输出,当置为1时,数据以LSB前导的格式输出,MSB或LSB前导总是影响下一个时钟周期,而不是当前的时钟周期,当数据方向从一种变为另一种时,当前的时钟周期是不会被破坏的。在输入数据寄存器的D0位是控制转换结果的二进制格式,当D0置0时,转换结果被输出为单极性数据,额定低,一个等于Vref-的输入电压转换的结果是一个全0的代码,一个等于Vref+的输入电压的转换结果是全1的代码。当D0被置为1转换结果被表示为双极性的的数据,一个等于Vref-的输出电压的转换结果是一个1后面为0的代码,一个等于Vref+的输入电压的转换结果,是一个0后面全是1的代码,而(Vref-+ref+)/2的结果则是一个全是0的代码,MSB为符号位。单极性或双极性格式的选择总是影响当前的转换周期,而在下一个时钟周期中输出的结果,当改变单极性和双极性之间的格式时,对当前的时钟周期没有影响。在采样周期中,一个模拟输入端从内部被连接到转换器的电容阵烈以存储模拟输入信号,在4个地址已经输入到输入数据寄存器中后,转换器立即开始对选定的输入端采样,采样开始于时钟周期的第四个下降沿,转换器保持采样方式直到第8、12、或16个时钟周期的下降沿,这取决于数据的长度的选择,从最后一个时钟周期的下降沿到EOC的延迟之后,EOC输出端变低表示采样周期已经过去,而转换周期开始在EOC变低后,模拟输入端可以变换,而不影响转换的结果,因为从最后的时钟周期的下降沿的至EOC变低的延迟是固定的,随时间的变化的模拟输入信号可以是一个固定的采样率使其数字化。从而不会由于时间的不定而引入系统的谐波失真或噪声。在8位数据流已被输入后,DATAInPUT端必须被保持在一个固定的数字电平上直到EOC变高,以使采样的精度为最高,而外部的数字噪声影响最小。D、EOC输出EOC信号用以表示转换的开关和结束。在复位状态,EOC总是为高。在采样周期(从I/OCLOCK序列的第四个下降沿之后开始),EOC保持高电平直到转换器的内部采样开关被断开。采样周期的断开发生在第8,第12或第16个I/OCLOCK下降沿之后,取决于在输入数据寄存器中的数据长度选择。在EOC信号变低以后,模拟输入信号可以改变而不影响转换结果。在转换完成以后,EOC信号再次变高而转换结果被锁存入输出数据寄存器。EOC的上升将转换器返回到复位状态而一个新的I/O周期就开始了。在EOC的上升沿,当CS为低时当前转换结果的第一是在DATAOUT引脚上。当在转换过程中CS为无效时,则在CS的下降沿时当前的转换结果的第1位出现在在DATAOUT引脚上。E、数据格式和填充位输入数据寄存器的D2和D3决定了代表转换结果的数字输出有效位的数目。LSB导前决定了数据的传输的方向而BIP位则决定了数据的算法。在任何输出格式中数据总是向MSB右侧对齐的。内部的转换结果总是12位长。当选择8位数据传送时,内部结果的4个LSB位被截去以提供一种更快的单字节传输。当采用12位传输时,所有的位都被传送。当采用16位传输时,4个LSB填充位总是被补充到内部转换结果中。在LSB导前方式,4个前导零被输出。而在MSB前导方式,最后4位输出为零。当CS被连续的保持为低时,刚转换成的第1个数据在EOC上升沿出现在DATAOUT引脚上。在I/OCLOCK的最后一个下降沿之后开始一次新的转换,EOC变低而串行输出端被强制置为零直到EOC再次变高。在转换中间CS失效,则在CS的下降沿第1个数据位出现在DATAOUT端。在第一个数据位出现后的每个随后的I/OCLOCK的下降沿,数据变为串行转换结果中的下一位,直到所有的位都被输出为止。F、片选输入(CS)片选输入(CS)使能或禁止器件。在正常工作时,CS必须为低。虽然CS的使用不需要与数据传输同步,它可以在转换中间被置高以协调几个器件共享同一个总线时的数据。当CS被置高时,串行数据输出端即进入高阻状态,为其他共享数据总线的器件让出它的输出数据线。在一个内部产生的去抖动时间之后,I/OCLOCK被禁止,这样避免内部状态任何变化。当CS按序的被再次置低,器件被复位。CS必须在复位操作发生以前的一个内部去抖动时间之内保持为低。在CS变低后,在一个短时间内I/OCLOCK必须保持无效(低状态),才能开始一次新的I/O周期。CS能中断任何正在运行的数据传送和任何正在进行的转换。当CS在当前转换周期结束之前变低的时间足够长,被保留在内部输出缓冲区中的前一次的转换结果将在下一个I/O周期中移出。G、掉电特性当一个1110的二进制地址在前四个I/OCLOCK周期中被送入输入数据寄存器时,就选中了掉电方式。在第四个I/OCLOCK脉冲的下降沿时掉电方式被激活。在掉电方式时,所有的内部电路都被置成为一种低电流待机方式。不进行转换,内部输出缓冲器保持前一次转换周期的数据结果,所有的数字输入端被保持为高于VCC0.5V。即使当选中了掉电方式,I/O周期保持有效,因而当前的I/O周期仍能完成。在上电复位和第1个I/O周期之前,转换器通常开始于掉电方式。器件保持在掉电方式直到一个有效的(不同于1110)输入时。在I/O周期完成后,即可完成一次正常的转换,它的结果在下一个I/O周期中被移出器件。H、模拟输入、测试和掉电方式11个模拟输入端、3个内部电压和掉电方式都按表2、3和4中的输入多路器选择。输入多路器是一种断开先于接通式的多路开关,以减小由通道开关所引入的输入与输入间耦合的噪声。模拟输入的采样开始于I/OCLOCK的第4个下降沿并且在以后的I/OCLOCK脉冲中继续进行。采样一直保持到最后的I/OCLOCK脉冲的下降沿。3个内部测试输入端被加到多路器,然后以与外部模拟输入同样的方式采样和转换。由于器件的内部调整,从掉电方式返回后器件第一次转换结果的读数可能不准确。I、转换器和模拟输入端在逐次逼近转换系统中的CMOS门限监测器通过监测在一系列二进制加权的电容器上的电荷来决定每一位的值。在转换过程的第一步,通过同时接通SC开关和SR开关对输入采样。这样使得所有电容器充电到输入电压。在转换过程的第二步,所有SR和SC开关被断开并且门限检测器开始通过辨认每个电容器上相对于基准(REF)电压的电荷(电压)来确定每一位的值。在开关系列中,12个电容器分别检测直到所有12位被确认,以后转换过程有重复进行。在辨认第一个电容上的电压时,门限检测器第一个电容(权重=4096)。这个电容的节点4096被切换到REF+电压,而在这个多极连接中的所有其他电容器的相同节点被切换到REF—。如果在总节点上的电压大于门限检测器的跳变点(近似1/2VCC)时,那么位0倍送入输出寄存器,并且这个4096权重的电容器被切换到REF-。如果在总节点上的电压小于门限检测器的跳变点时,那么位1被送入寄存器、并且这个4096权重的电容器保持与REF+的连接参与逐次逼近过程的后面几步。这个过程对2048权重的电容器、1024权重的电容器以及沿线的其他电容依次检测直到所有位都被确定。对逐次逼近过程的每一步,初始的电荷在电容器间被重新分配。这个转换过程依靠电荷的重新分配来决定从MSB到LSB各位。J、基准电压输入本器件使用二个基准电压输入端,加在REF+和REF-端的二个电压。这些电压建立了模拟输入的上限和下限一分别产生满度和零度读数。按照极限参数的规定,这些电压以及模拟输入一定不能超过正电源或低于地。当输入信号等于或高于REF+端的电压时,数字输出为满度:当输入信号等于或低于REF-端电压时,输出为零。K硬件接口由于MCS-51系列单片机不具有SPI或相同能力的接口,为了便于与TLC2543接口,采用软件合成SPI操作,为减少数据传送速受微处理器的时钟频率的影响,尽可能选用较高时钟频率。接口电路如图2.4所示TLC2543的I/O时钟、数据输入、片选信号由P1.0、P1.1、P1.3提供,转换结果由P1.2口串行读出。
2.2.3DA
数模转换器一般说明TLC5618时带有缓冲基准输入(高阻抗)的双路12位电压输出数字--模拟转换器(DAC)。DCA输出电压范围为基准电压的两倍,而且输出时变化的。该器件使用简单,用5V单电源工作。器件包含上电复位功能以确保可重复启动。特点:可编程的至0.5LSBde建立时间3us或15us(典型值)在8引脚封装内有两个12位CMOS电压输出DACDACA和DACB同时更新单电源工作3线串行接口高阻抗基准输入电压输出范围是基准电压的两倍软件断电方式内部上电复位低功耗:慢速方式为3mW(典型值)快速方式为8mW(典型值)1.21MHz的输入数据更新速率在温度范围内单调变化3.1一般功能TLC5618使用由运放缓冲的电阻串网络把12位数据转换为模拟电压电平(TLC5618的输出极性与基准输入相同输出电压由下式给出:图2.5图2.5上电时内部电路把DAC寄存器复位至0。表1二进制代码表3.1缓冲放大器输出缓冲器具有可达电源电压幅度(rail-to-rail)的输出,它有短路保护并能驱动具有100Pf负载电容的2Kom负载。到达最终值+-0.5LSB以内的建立时间为软件可选的15us或3us。(典型值)3.2外部基准基准电压输入经过缓冲,它使DAC输入电阻与代码无关。因此,REFINshr电阻时10Moum,REFIN输入电容是5pF(典型值),与输入代码无关。基准电压决定DAC满度(full-scale)。3.3逻辑接口逻辑输入端用CMOS逻辑电平工作。可以使用大多数标准高速CMOS逻辑系列。3.4串行时钟和更新速率图表示TLC5618时序关系。最大串行时钟速率为数字更新速率受片选周期的限制,它等于:它等于820ns或1.21MHz更新速率。但是,对于满度输入阶跃跳变,DAC至12位的建立时间限制了更新速率。3.5串行接口当片选(CS)为低电平时,输入数据由时钟定时以最高有效位在前的方式读入16位移位寄存器。SCLK输入的下降沿把数据移入输入寄存器。然后CS的上升沿把数据送到DAC寄存器。所有CS的跳变应当发生在SLCK输入为低电平时。16位数据可以用图2.6所示的顺序传送。图2.6输入数据字格式3.6所存器控制位的功能(D15和D12)表2所示为可编程D15-D12的功能
表2可编程位D15-D12的功能有三种可能的数据传送方式。所有的传送均在CS变为高电平后立即发生并在以下各小节中叙述。3.6.1所存器A写,锁存器B更新(D15=高电平,D12=X)串行接口寄存器(SIR)数据写入锁存器A,双缓存锁存器的内容写入所存器B。双缓冲器的内容不受影响。此控制状态允许两个DAC同时更新。图2.7锁存器A写,锁存器B更新3.6.2锁存器B和双缓冲器写(D15=低电平,D12=低电平)SIR数据写入锁存器B和双缓冲器。锁存器A不受影响。图2.8锁存器B和双缓冲器写3.6.3仅写双缓冲器(D15=低电平,D12=高电平)SIR数据仅写入双缓冲器,锁存器A和B的内容不受影响。图2.9仅写双缓冲器3.7缓冲器的用途与使用通常在写操作之后只有一个DAC输出可以改变。双缓冲器允许在单次写操作之后两个DAC输出都改变。这次通过以下两步来实现:1.执行仅写双缓冲器(double-buffer-onlywrite)以储存新的DACB数据,不改变DACA和B的输出。2.在上一步骤之后执行写锁存器A。这将把SIR的数据写入锁存器A并且也把双缓冲器的内容写入锁存器B。于是两个DAC同时接收其新数据,而且两个DAC的输出同时开始改变。除非发生仅写双缓冲器的命令,否则锁存器B和双缓冲器的内容是相同的。因此,在写锁存器A或B操作之后另一个写锁存器A的操作不会改变锁存器B的内容。电源旁路接地使用分离的模拟和数字地平面的印制电路板提供最佳的系统性能。绕线(wire-wrap)电路板性能不佳,应当不使用。两个地平面应当在低阻抗的电源处连接在一起。把DACAGND端连接到系统模拟地平面确保模拟地电流流动良好可以实现最佳的接地连接。应当在VCC与AGND之间连接0.1usF陶瓷旁路电容,并且应当用短路的引线安装在近可能靠近期间的地方。使用铁氧体环可以进一步隔离系统模拟与数字电源。图2.10表示地平面布局和旁路技术图2.10电源旁路节省功率当系统不使用DAC寄存器设置为全0可以使基准电阻阵列和输出负载的功率最小。交流考虑/模拟馈通2.2.4存储器介绍由于本仪器需要保存现场测量的数据,所以在本设计的电路中设计了一个EEPROM的存储器X5645,X5645是一种集看门狗、电压监控和串行EEPROM三种功能于一身的可编程电路。这种组合设计减少了电路对电路板空间的需求。X5645中的看门狗对系统提供了保护功能。当系统发生故障而超过设置时间时,电路中的看门狗将通过RESET信号向CPU作出反应。X5645提供了三个时间值供用户选择使用。它所具有的电压监控功能还可以保护系统免受低电压的影响,当电源电压降到允许范围以下时,系统将复位,直到电源电压返回到稳定值为止。X5645的存储器与CPU可通过串行通信方式接口,共有8K个字节来放置数据工作原理1、上电复位向X5645加电时会激活其内部的上电复位电路,从而使RESER引脚有效。该信号可避免系统微处理器在电压不足或振荡器未稳定的情况下工作。当Vcc超过器件的Vtrip门限值时,电路将在200ms(典型)延时后释放RESET以允许系统开始工作。2、低电压监视工作时,X5645对Vcc电平进行监测,若电源电压跌落至预置的最小Vtrip以下时,系统即确认RESET,从而避免微处理器在电源失效或断开的情况下工作。当RESET被确认后,该RESET信号将一直保持有效,直到电压跌到低于1V。而当Vcc返回并超过Vtrip达200ms时,系统重新开始工作。3、看门狗定时器看门狗定时器的作用是通过监视WDI输入来监视微处理器是否激活。由于微处理器必须周期性的触发WDI引脚以避免RESET信号激活而使电路复位,所以WDI引脚必须在看门狗超时时间终止之前受到由高至低信号的触发。4、重新设置Vcc门限X5645出厂时设置的标准Vcc门限电压为Vtrip,但在应用时,如果标准值不恰当,用户可以重新调整。5、串行存储器器件存储器部分是带块锁保护的CMOS串行EEPROM阵列,阵列的内部组织是×8位。X5645可提供最少为1000000次擦写和100年的数据保存期,并具有串行外围接口(.SPI)和软件协议的特点,允许工作在简单的四总线上。表2.11X5645主要是通过一个0位的指令寄存器来控制器件的工作,其指令代码通过SI输入端(MSB在前)写入寄存器。表2.11所列为X5645的指令格式及其操作。表2.116、时钟和数据时序当CS变低以后,SI线上的输入数据在SCK的第一个上升沿时被锁存。而SO线上的数据则由SCK的下降沿输出。用户可以停止时钟,然后再启动它以便在它停止的地方恢复操作。在整个工作期间,CS必须为低。7、状态寄存器状态寄存器包含四个非易失性状态位和两个易失性状态位。控制位用于设置看门狗定时器的操作和存储器的块锁保护。状态寄存器的格式如下(缺省值为00H):其中:WIP(Write-In-Progress)位是易失性只读位,用于指明器件是否忙于内部非易失性写操作。WIP位可用RDSR指令读出。当该位为“1”时,表示非易失性写操作正在进行;为“0’”时,表示没有进行写操作。WEL位用于指出“写使能”锁存的状态。WEL=1时,表示锁存被设置;WEL=0表示锁存已复位。WEL位是易失性只读位。可以用WREN指令设置WEL位;用WRDI指令复位WEL位。用BL0,BL1(Blocklock)位可设置块锁存保护的范围。任何被块锁保护的存储器都只能读出不能写入。这两个非易失性位可用WRSR指令来编程,并允许用户保护EEPROM阵列的1/4、1/2、全部或0。参见表2。表2.14Wd0、WD1(WatchdogTimer)位用于选择看门狗的超时周期。见表0。当用CS选中器件后,送8位RDSR指令,并由CLK信号触发即可将状态寄存器的内容从SO线上读出。而在写状态寄存器时,应先将CS拉低,然后送WREN指令,再拉高CS。然后再次拉低CS,最后送入WRSR指令及对应于状态寄存器内容的8位数据即可。该操作由CS变高结束。WEL位及WP引脚的状态对器件内的存储器及表2.14状态寄存器各部分保护的影响如表2.14所列。2.2.5T6963C液晶显示模块T6963C是点阵式液晶图形显示控制器,它能直接与80系列的8位微处理器接口。它的字符字体由硬件设置,其字体有5×8、6×8、7×8、8×8四种。并且可以以图形方式、文本方式及图形和文本合成方式进行显示,以及文本方式下的特征显示,还可以实现图形拷贝操作等。它还带有内部字符发生器CGROM,共有128个字符,T6963C可管理64K显示缓冲区及字符发生器CGROM。并允许MPU随时访问显示缓冲区,甚至可以进行位操作。T6963C液晶显示器多用于中小规模的液晶显示器件,常被装配在图形液晶显示模块上,以内藏控制器型图形液晶显示模块的形式出现。1、T6963C液晶显示控制器的引脚说明T6963C的QFP封装共有67个引脚,各引脚说明下:1.D0~D7:T6963C于MPU接口的数据总线,三态;2./RD,/WR:读、写选通信号,低电平有效,输入信号;3./CE:T6963C的片选信号,低电平有效,输入信号;4.C/D:通道选择信号,1为指令通道,0为数据通道;5./RESET,/HALT:/RESET为低电平有效的复位信号,它将行,列计数器和显示寄存器清零,关显示;/HALT具有/RESET的基本功能,还将中止内部时钟振荡器的工作;DUAL,SDSEL:DUAL=1为单屏结构,DUAL=0为双屏结构;SDSEL=0为一位串行数据传输方式,SDSEL=1为二位并行数据传输方式;7.MD2,MD3:设置显示窗口长度,从而确定了列数据传输个数的最大值,其组合逻辑关系如下:MD31100MD21010每行数字324064808.MDS,MD1,MD0:设置显示窗口宽度(行),从而确定T6963C的帧扫描信号的时序和显示驱动的占空比系数,当DUAL=1时,其组合功能如下:当DAL=0时,所设置的字符行和总行数增值原来的2倍,其他都不变,这种情况下的液晶屏结构为双屏结构;MDS00001111MD111001100MD010101010字符行246810121416总行数163248648096112128占空比1/161/321/481/641/801/961/11231/128FS1,FS0:显示字符的字体选择FS11100FS01010字体5×86×87×88×810.XI,XO:振荡时钟引脚;11.AD0-AD15:输出信号,显示缓冲区16位地址总线;D0-D7:三态,显示缓冲区8位数据总线;13.R/W:输出,显示缓冲区读、写控制信号;14./CE:输出,显示缓冲区片选信号,低电平有效;/CE0,/CE1:输出,DULA=1时的存储器片选信号;16.T1,T2,CH,CH2:用来检测T6963C工作使用情况,T1,T2作为测试信号输入端,CH,CH2作为输出端;17.HOD,HSCP,LODLSCP(CE1),EDLP,CDATA,FR为T6963C驱动部信号;2、T6963C指令集T6963C的初始化设置一般都由管脚设置完成,因此其指令系统将集中于显示功能的设置上。T6963C的指令可带一个或两个参数,或无参数。每条指令的执行都是先送入参数(如果有的话),再送入指令代码。每次操作之前最好先进行状态字检测。T6963C的状态字如下所示:STA7STA6STA5STA4STA3STA2STA1STA0STA0:指令读写状态 1:准备好0:忙STA1:数据读写状态 1:准备好0:忙STA2:数据自动读状态1:准备好0:忙STA3:数据自动写状态1:准备好0:忙STA4:未用STA5:控制器运行检测可能性1:可能0:不能STA6:屏读/拷贝出错状态1:出错0:正确STA7:闪烁状态检测1:正常显示0:关显示由于状态位作用不一样,因此执行不同指令必须检测不同状态位。在MPU一次读、写指令和数据时,STA0和STA1要同时有效――处于“准备好”状态。当MPU读、写数组时,判断STA2或STA3状态。屏读、屏拷贝指令使用STA6。STA5和STA7反映T6963C内部运行状态。T6963C指令系统说明:1.指针设置命令,格式如下:D1D200100N2N1N0D1,D2为第一和第二个参数,后一个字节为指令代码,根据N0,N1,N2的取值,该指令有三种含义(N0,N1,N2不能有两个同时为1)D1D2指令代码功能水平位置(低七位有效)垂直位置(低五位有效)21H(N0=1)光标指针设置地址(低五位有效)00H22H(N1=1)CGRAM偏置地址设置低字节高字节24H(N2=1)地址指针位置光标指针设置:D1表示光标在实际液晶屏上离左上角的横向距离(字节数),D2表示纵向距离(字符行)。CGRAM偏置地址寄存器设置:设置了CGRAM在显示64KRAM内的高5位地址。地址指针设置:设置将要进行操作的显示缓冲区(RAM)的一个单元地址,D1,D2为该单元地址的低位和高位地址。2.显示区设置,指令格式为:D1D201000N2N1N0根据N1,N0的不同取值,该指令有四种指令功能形式:N1N0D1D2指令代码功能00低字节高字节40H文本区首址01字节数00H41H文本区宽度(字节数/行)10低字节高字节42H图形区首址11字节数00H43H图形区宽度(字节数/行)文本区和图形区首地址对应显示屏上左上角字符位或字节数,修改该地址可以产生卷动效果。D1,D2分别为该地址的低位和高位字节。文本区宽度(字节数/行)设置和图形区宽度(字节数/行)设置用于调整一行显示所占显示RAM的字节数,从而确定显示屏于显示RAM单元的对应关系。T6963C硬件设置的显示窗口宽度是指T6963C扫描驱动的有效列数。需说明的时当硬件设置6×8字体时,图形显示区单元的低6为有效,对应显示屏上6×1显示位。3.显示方式设置,指令格式为:无参数01000N2N1N0N3:字符发生器选择位。N3=1为外部字符发生器有效,此时内部字符发生器被屏蔽,字符代码全部提供给外部字符发生器使用,字符代码为00H-FFH。N3=0为CGRAM即内部发生器有效,由于CGRAM字符代码为00H-FFH。因此选用80H-FFH字符代码时,将自动选择CGRAM。N2~N0:合成显示方式控制位,其组合功能如下:N2N1N0合成方式000逻辑“或”合成001逻辑“异或”合成011逻辑“与”合成100文本特征当设置文本方式和图形方式均打开时,上述合成显示方式设置才有效。其中的文本特征方式是指将图形改为文本特征区。该区大小与文本区相同,每个字节作为对应文本区的每个字符显示的特征,包括字符显示与部显示、字符闪烁及字符的“负向”显示。通过这种方式,T6963C可以控制每个字符的文本特征。文本特征区内,字符的文本特征码由一个字节的低四位组成,即:D7D6D5D4D3D2D1D0****d3d2d1d0d3:字符闪烁控制位,d3=1为闪烁,d3=0为不闪烁;d2~d0组合如下:d2d1d0显示效果000正常显示101负向显示011禁止显示,空白4.显示开关,指令格式如下:无参数1001N3N2N1N0N0:1/0,光标闪烁启用/禁止N1:1/0,光标显示启用/禁止N2:1/0,文本显示启用/禁止N3:1/0,图形显示去用/禁止5.光标形状选择,指令格式如下:无参数10100N2N1N0光标形状为8点(列)×N行,N的值为0-7H。6.数据自动读、写、方式设置:无参数101100N1N0该指令执行后,MPU可以连续地读、写显示缓冲区RAM的数据,每读、写一次,地址指针自动增1。自动读、写结束时,必须写入自动结束命令以使T6963C推出自动读、写状态,开始接受其它指令。N1,N0组合功能如下:N1N0指令代码功能00B0H自动写设置01B1H自动读设置1*B2H/B3H自动读、写结束7.数据一次读、写方式,指令格式如下:D111000N2N1N0D1为需要写的数据,读时无此数据。N2N1N0指令代码功能000C0H数据写,地址加1001C1H数据读,地址加1010C2H数据写,地址减1011C3H数据读,地址减1100C4H数据写,地址不变101C5H数据读,地址不变8.屏读,指令格式为:无参数11100000该指令将屏上地址指针处于文本与图形合成后显示的一字节内容数据送到T6963C的数据栈内,等待MPU读出。地址指针应在图形区内设置。9.屏拷贝,指令格式为:无参数11101000该指令将屏上当前地址指针(图形区内)处开始的一行合成显示内容拷贝到相对应的图形显示区的一组单元内,该指令不能用于文本特征发誓下或双屏结构液晶显示器的应用上。10.位操作无参数1111N3N2N1N0该指令可将显示缓冲区某个单元的某一位清零或置1,该单元地址当前地址指针提供。N3=1置1,N3=0清零。N2~N0:操作位,对应该单元的D0~D7位。在实际使用过程中我们一般都采用内藏T6963C控制器的液晶显示模块,以简化硬件接线,所以采用内藏T6963C的液晶显示模块,其具有接线简单,驱动方便灵活的特点。并且完全能购满足本测试仪的需要所以此次设计选用240×128的内藏T6963C的液晶显示模块。2.2.6逆变电源:由于本设计要求可以输出1000V的电压,并且采用12V直流供电,所以本设计中采用以SG3525为核心的单片开关电源,来实现逆变升压输出,原理构成图如下:功率开关管1功率开关管1功率开关管1直流电源高频整流电路SG3525单片机输出DA信号AD转换采样电路基本工作原理电池提供的直流12伏电压通过高频变压器和功率管1、2产生31KHZ的高频振荡,其脉冲宽度和频率受PWM控制芯片SG3525控制,高频变压器的次级升压输出31KHZ的可调的交流电压,经全桥整流滤波后变成直流输出电压,PWM控制芯片SG2525输出的脉冲宽度和频率输出的反馈电压和单片机的DA给定电压决定,因为SG3525本身有着较好的闭环控制功能,所以在单片机给定的基准电压一定的条件下,可以输出比较稳定的电压。2.2.7编码旋钮开关本设计中采用了编码旋转开关(一键飞梭开关),这种开关通过旋转开关来进行操作,该器件输出的波形如下:CBA按下CBA右旋AACBA按下CBA右旋AB左旋B左旋CC通过软件的编程来鉴别A和B的相位差来判断旋钮的旋转方向,当按下按钮时,C出现脉冲,可以识别出按下操作。
3下位机软件综述3.1、软件虑波的实现在一块数据采集系统中由于元器件排放、布线、数字共模干扰等因素,会导致AD采样回去的数据发生漂移,如果不采取虑波措施那么采样的数据将无法利用。在前向测试通道上采用的抗干扰措施中,滤波方法是抑制干扰的一种有效途径。在工业现场中,可利用硬件滤波器电路或软件滤波器算法提高测试数据的准确性。硬件滤波措施是使用较多的一种方法,技术比较成熟,但同时也增加了设备,提高了成本,而且电子设备的增加有可能带来新的干扰源。而采用软件滤波算法不需增加硬件设备,可靠性高,功能多样,使用灵活,具有许多硬件滤波措施所不具备的优点,当然它需要占一定的运行时间。常用的几种软件滤波方法中值滤波法:即每次取N个AD值,去除其中的最大值和最小值而取剩余的N-2个A/D转换值的平均值。程序判断滤波法:即根据经验确定出两次采样的最大偏差ΔY,若先后两次采样的信号相减数值大于ΔY,表明输入为干扰信号,应去除;用上次采样值与本次采样值比较,若小于或等于ΔY,表明没有受到干扰,此时本次采样值有效,这样可以滤去随机干扰和传感器不稳定而引起的误差。利用格拉布斯(Grubbs)准则进行处理:根据误差理论,要有效地剔除偶然误差,一般要测量10次以上,兼顾到精度和响应速度,取15次为一个单位。在取得的15个数据中,有些可能含有较大的误差,需要对它们分检,剔除可疑值,提高自适应速度。对可疑值的剔除有多种准则,如莱以达准则、肖维勒(Chauvenet)准则、格拉布斯(Grubbs)准则等。以Grubbs准则为例,它认为若某测量值xi对应的残差Vi满足下式{|Vi|=|xi-|>g(n,a)×σ(X)},时应将该数据舍去。式中,为n次采集到的AD值的平均值,=(∑xi)/n;σ(X)为测量数据组的标准差,由贝塞尔函数可得:σ(X)=[(∑Vi2)/(n-1)]1/2;g(n,a)是取决于测量次数n和显著性水平a(相当于犯“弃真”错误的概率系数),a通常取0.01或0.05。通过查表可得:当n=15时,a=0.05,g(n,a)=2.41。把15次采集到的AD值存入一个数组中然后求平均值,计算残差,求标准差σ(X)。将残差绝对值与2.41倍的标准差σ(X)比较。剔除可疑值以后,再求平均值,求出新的平均值以后,应再重复以上过程,验证是否还有可疑值存在。据我们对测量装置大量的实际测试结果看,这样做没有什么必要,因为一般只有第一遍即可达到要求。然而这种方法也有它的不足,利用Grubbs准则需要处理大量的数据,而在一般的工业现场测试设备中,仪表结构大多采用嵌入式结构,如AVR单片机。这些MCU程序空间和数据空间有限,若处理大量数据,难以满足资源要求。而且,由于Grubbs准则要求MCU进行大量数据处理,使得系统降低了信号采集速率,影响实时性。而对于单片机而言,这样虑波方法,显然有些力不从心,因为单片机内部的资源有限,并且单片机的速度也很慢。上述的几种软件滤波方法对抑制个别的异常数据方面具有一定作用,然而对于由工频干扰引起的平稳随机干扰信号不太理想。随着近几年来集成电路的快速发展,一些数字滤波器也集成到数据处理芯片当中,而且数字滤波器的设计参数通过软件可编程实现,具有极大的灵活性和实用性。在本次设计中,考虑到单片机的速度和资源有限的问题,所以采取了第一种虑波方法:即中值滤波法:采样一组数据然后,对其进行排序,去掉前面的几个大的采样值和去掉后面的几个小的采样值,然后对中间剩下的采样值进行求平均值,即可以得到比较稳定的终值。在89C52单片机中内部的RAM为256字节,所以选取了高128字节作为AD采样的缓冲区:一共可以采样64个数据。软件编程如下附录13.2、和上位机通讯通讯方式:波特率采用2400,求和校验,采用应答方式,即上位机发出命令字,下位机接收到时执行相应的命令,然后返回相应的数据:如下通讯格式: 通讯程序见附录13.3总体软件流程:(软件见附录3)开始开始有无按键动作?浏览数据开始测量通讯设定型号设置日期设定编号设定检测人设定车号根据键码查表初始化端口、寄存器、液晶屏、DA清零,存储器中最后一次的存储数据
结论有无按键动作?浏览数据开始测量通讯设定型号设置日期设定编号设定检测人设定车号根据键码查表初始化端口、寄存器、液晶屏、DA清零,存储器中最后一次的存储数据通用仪表测试仪在最后的试验、调试过程中。各项参数都基本上符合要求,输出的电压、电流达到了设计中要求的0.25%的精度,并且采用的SG3525的开关逆变电源输出的电压也很稳定,输出的波纹系数小于1%,采用的X5645可以存储500多条记录数据。系统中采取的软件滤波方法、输出电压的闭环控制等有效措施,都达到了很好的效果。采用的旋转式菜单界面,极大的简化了操作。另外在实际的调试中发现的问题是,开关电源的发热量很大,特别是在输出高压时,经过分析认为,造成这种情况的主要原因是当输出电压高时,开关电源的效率变低所至,还有开关管在高频时损耗也将变大,也会导致变压器和开关管发热。总的来说,这次设计的通用仪表测试仪是成功的,基本上达到了设计的要求,另外,由于在设计时充分的考虑了电路可能受到的电磁干扰和开关电源的高频干扰,在电路中和设计电路的布线、元器件排列、安装位置等方面作了充分的考虑,在实际工作中起到了关键的作用。
致谢在设计过程中,学院为我们提供了十分方便的实验场所、和配备了经验丰富的指导老师。首先十分的感谢学院领导和各位指导我的老师。学院特意的为我们毕业设计的同学提供了实验室和部分的实验器材,在我们需要用到实验设备时,实验室里的老师尽力的帮助我们。在遇到问题时,老师尽力的帮助我们解决问题本文是在孙老师的悉心指导和关怀下完成的。在毕业设计的这段时间里,老师在学术上教会了我思考的方法,指明了前进的方向;在生活中给予了我无私的帮助和关怀。在此,谨让我对老师表示最衷心的感谢!同时我还要感谢教研室各位老师对我的关心和帮助!
参考文献1.樊尚春,周浩敏.信号与测试技术。第1版。北京:北京航空航天大学出版社,20022.邢雄.功率MOSFET的应用。第1版。北京:电力电子技术。19883.李华等.MCS-51系列单片机使用接口技术.北京航空航天大学出版社.4.孙涵芳,徐爱卿著.MCS-51/96系列单片机原理及应用.北京航空航天大学出版社5.史新福.32为微型计算机原理接口技术及应用.西北工业大学出版社6.胡汗才编著.单片机原理及接口技术.清华大学出版社.7.薛慧珍编著.PC机及单片机之间并行通讯的设计.8.张有德编著.非利浦80C51系列单片机原理及应用技术手册.北京航空航天大学出版社.9.高海生.杨文焕主编单片机应用大权.西安交通大学出版社.10.汤吉群等.数据通讯技术.人民邮电出版社.
附录1、把64个数据存放到80H开始的缓冲区内:RD_ADX:MOVR0,#80H;设置数据存放的缓冲区为80HMOVR6,#64;设置采样的个数为64个RD1:MOVR1,#01000000B;送通道数LCALLRD_AD1;调用采样程序MOVA,R2;将采样数据的高位送AMOV@R0,A;将数据送到R0指向的内存缓冲单元MOVA,R3 ;将采样数据的低位送AINCR0;指针加一MOV@R0,A;将数据送到R0指向的内存缓冲单元INCR0;指针加一DJNZR6,RD1;检查采样次数是否够64个,不够则转移RET;对采样的数据进行排序,排序的方法采取“冒泡法”,;开始地址为80H,一共64个数据,;地址放在R1内,;排序-由大到小PAIXU:LCALLRD_ADX;读取64个AD值MOVR6,#64;设定循环次数PXJ2:MOVR7,#064;设定循环次数MOVR1,#080H;设定数据缓冲地址ACALLPXJ1;一次排序DJNZR6,PXJ2;检查是否排序完毕RET一次排序PXJ1:MOVA,R1PUSHAMOVA,@R1INCR1INCR1MOVB,@R1CLRCSUBBA,BJCPXJ;表明下一个数大于第一个数,应交换POPA;下一个数小于第一个数,不用交换指针指向下一个MOVR1,APUSHAINCR1MOVA,@R1INCR1INCR1MOVB,@R1SUBBA,BJCPXJPOPADECR1NOPSJMPPXJJPXJ:POPAMOVR1,AMOVA,@R1PUSHAINCR1MOVA,@R1PUSHAINCR1MOVA,@R1DECR1DECR1MOV@R1,AINCR1INCR1INCR1MOVA,@R1DECR1DECR1MOV@R1,AINCR1INCR1POPAMOV@R1,ADECR1POPAMOV@R1,APXJJ:DJNZR7,PXJ1RET去掉前面的16个大的和去掉后面的16个小的,然后对中间的32个数据进行排序:DT_LV:ACALLPAIXUMOVR0,#090H;对中间的开始地址为90H的32个数据进行累加求和。MOVR2,#032CLRCMOVR3,#00H;32个数据求和的次高位MOVR4,#00H;低位MOVR5,#00H;高位DT1:CLRCINCR0MOVA,@R0ADDCA,R4MOVR4,ADECR0MOVA,@R0ADDCA,R3MOVR3,AMOVA,R5ADDCA,#00HMOVR5,AINCR0INCR0DJNZR2,DT1CLRCMOVR1,#04H;将32个数据进行平均除32,DT2:CLRCMOVA,R5RRCAMOVR5,AMOVA,R3RRCAMOVR3,AMOVA,R4RRCAMOVR4,ADJNZR1,DT2MOVDAT6,R4;低位MOVDAT5,R3;高位RET附录2MOVTMOD,#21H;设置通讯方式MOVSCON,#50HMOVTH1,#0F3HMOVTL1,#0F3HMOVPCON,#80HSETBTR1;开启波特率发生计时器通讯程序:CLRRI;清除接收标记JNBRI,$;等待接收命令CLRRI;;清除接收标记RETV:MOVA,SUBF;将接收的数据送到A内MOVORD,A;暂存命令字CJNEA,ORD1,REV2;比较接收的命令字NOPNOPLJMPDO1;执行程序一REV2:CJNEA,ORD2,REV3NOPNOPLJMPDO2;执行程序二REV3:CJNEA,ORD3,REV4NOPNOPLJMPDO3;执行程序三REV4:CJNEA,ORD4,REV5NOPNOPLJMPDO4;执行程序四REV5:CJNEA,ORD2,REV6NOPNOPLJMPDO5;执行程序五REV6:CJNEA,ORD2,REV7NOPNOPLJMPDO6;执行程序六REV7:NOPNOPLJMPRETV发送程序:将发送缓冲区的数据循环的发送TB EQU 05H;发送启动位,当TB为1时启动发送程序JNBTB,SEND_RET;检查启动发送标识,如果没有则返回MOVSBUF,DATA1;发送缓冲区数据JNBTI,$;等待发送完毕CLRTI;清除发送标记MOVSBUF,DATA2;发送缓冲区数据JNBTI,$ ;等待发送完毕CLRTI ;清除发送标记MOVSBUF,DATA3;发送缓冲区数据JNBTI,$ ;等待发送完毕CLRTI ;清除发送标记MOVSBUF,DATA4;发送缓冲区数据JNBTI,$ ;等待发送完毕CLRTI ;清除发送标记SEND_RET:ret附录3ORG 0000HAJMP MAINORG0003HLJMPKEY_BORG00BH;定时器0入口,频率0发生器LJMPWAV0;刷新MAIN:MOVSP,#0C0H;LCALLINTCLRDISPFBLCALLCLEARLCALLRD_EPLCALLREADMAIN1:CLRDCBJMOVTMOD,#01HMOVTH0,#03CHMOVTL0,#0AFHMOVDEX4,#00HMOVA,#021SETBTR0SETBET0CLRP3.4MOVR5,#00HMOVR6,#0HSETBTONDLCALLDU_DAMOVR5,#00HMOVR6,#000HCLRTONDLCALLDU_DASETBEAMOVA,#10;显示初始化界面CLRDISPFBLCALLOSTRMOVMEUNBUF,#00HMOVBJ,#00HMENL:MOVA,BJLCALLKEY_BJZMENLCLREACLRET0MOVR1,#0A8HMOVA,@R1LCALLLLCCLRDISPFBMOVA,#012LCALLOSTR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年产品测试实习合同
- 2026年乐器学习培训合同
- 家签培训课件
- 工程维修部年终总结
- 新任村组干部培训课件
- 培训教师总结
- 培训主任竞聘
- 口语交际课件介绍
- 医院安全与医疗纠纷
- 冬季安全家长会课件
- 人工湿地施工方案【整编】
- 盖板涵盖板计算
- 斜拉索无应力索长的计算
- 智慧机场综合安防系统解决方案
- 2024年高中英语学业水平测试及答案
- 天塔之光模拟控制PLC课程设计
- 初中日语人教版七年级第一册单词表讲义
- GB/T 9065.5-2010液压软管接头第5部分:37°扩口端软管接头
- GB/T 5847-2004尺寸链计算方法
- GB/T 20475.2-2006煤中有害元素含量分级第2部分:氯
- 北师大版一年级数学上册口算比赛试题试卷
评论
0/150
提交评论