摘要:介绍变频器专用仿真器的设计开发。硬件设计方面,介绍了芯片的选择,重点论述三对PWM波形发生器、保护电路和信号输入输出电路,并选择并口与上位机通信;软件设计方面,仿真器与上位机的通讯使用同步串行通讯(SPI),软件依据此通讯协议而设计,使用32位命令-地址-数据方式。此仿真器也可直接用于变频控制,实现使用证明,此仿真器优于其它通用型仿真器。
关键词:变频器 仿真器 PWM波形
市面上各种仿真器应有尺有,但这些仿真器是通用性的,对于使用8XC196MC作为变频器专用芯片的开发人员来说,却并不那么好用,甚至有一定的障碍,因为仿真器的有些端口已被仿真系统使用,用户就不能再使用这些端口。
下面依据变频器开发的一些要求设计简单好用的8XC196MC仿真器,重点是三相波形发生器(WG)及保护(EXTINT)电路。8XC196MC和其他的芯片比较,一个最显著的特点是它的WG电路。WG是使8XC196MC适合于电机控制的主要片内外围电路,其与专用三相波形发生器芯片HEF4752相似,但它的功能更强,使用起来更方便,占用CPU时间更少。WG可产生三对具有同一载波(三角波或正向锯齿波可选)但占空比各自可编程的PWM波形,每对PWM波形的互补的。其间的死区时间(不重迭激活时间)、输出极性和输出组合均可编程。载波周期和各相的占空比的修改方式以及每个载波周期中断请求次数也可编程。当被WG驱动的外设发生故障时,其保护电路立即硬件关闭WG的输出,并提出中断请求。当用WG的三对PWM波形(经隔离放大)来驱动三相逆变器时,可实现交流电机变频调速或其他交直流调速方案。
1 硬件设计方案
为了简化仿真器r设计,使用87C196MC作仿真器开发芯片,这样可以利用其内部的EPROM。内部的EPROM可以作为仿真器的监控程序(要求正确无误),外部的RAM可以作为仿真器的用户程序。内部EPROMr主要任务是将用户程序、数据送到外部RAM中或从RAM中读取程序、数据因为87C196MC在运行内部EPROM程序时,外部的P3、P4、P5口可以设置为I/O口,这样就可以控制这三个I/O口来控制RAM数据的写入或读出,此时P3、P4口需要接上拉电阻),在传送用户程序时从内部EPROM处执行程序(将EA=1后复位)。传送完用户程序后,再从外部RAM处执行程序(将EA=0后复位)。另外,为了使用方便,使用一个8255作为键盘扫描和动态显示扩展芯片,分配重复地址0FF00~0FFFF共156个地址空间。8255的PB口用来作为驱动数码管8段码的信号,PC下口作为驱动数码管4位码的信号,同时作为键盘扫描输出信号,PC上口其中3位作为键盘扫描输入信号,这样就有4个动态显示的数码管和12个键组成的键盘,已能满足大部分的开发要求。8255其余端口可留给用户扩展使用。RAM使用32k(程序数据共同占用),地址为0000~7FFF,这样大的空间已经能满足几乎所有的开发应用,剩下8000~FEFF的31.75K留给用户扩展使用。
2 仿真器硬件设计
硬件设计要求将WG波形发生器的输出口(产生三对PWM波形用来驱动三对逆变器)、A/D转换输入口(用于反馈电流、反馈转速、电位器电压设置、电位器频率设置等的输入)、多功能P2口(用户可以利用它作一些如电源开关、报警、转速捕获及串行通讯等)、保护电路输入开关、报警、转速捕获及串行通讯等)、保护电路输入引脚EXTINT(它和外部中断共用同一引脚,用来接受外设的故障信号,并同时提出中断请求)留给用户,另外安排键盘和显示(使用8255扩展)。为了用户使用方便,这些口都必须使用标准的接口插槽。仿真器与计算机进行通讯,才能将程序或数据写入或读自仿真器的RAM,所以仿真器本身需要通讯接口。为了不占用用户端口,强制使用8位总线方式,这样就多出了P5.6(BUSWIDTH)和P5.4引脚,如果使用简单的同步带时钟反馈串行通讯方式与计算机连接,使用计算机并口(计算机并口操作简单,并且有输出锁存器,还可以控制RESET、EA等引脚,与前面的要示订符)与仿真器通讯。由于A/D转换共有13路,一般情况下用户用不了这么多,所以可以选择P1.0和P1.1给仿真器通讯使用。
按这样的方式分配引脚:P1.0——由计算机到仿真器的主时钟(CLKI)信号;P1.1——由计算机到仿真器的数据(DI)信号;P5.4——由仿真器到计算机的数据(DO)信号;P5.6——由仿真器到计算机的反馈时钟(CLKO)信号。图1就是仪此而设计的仿真器框图。
3 仿真器软件设计
软件设计的主要任务是完成计算机和仿真器的通讯,也就是说,要求计算机的软件协议与仿真器的软件协议相容。选用同步带时钟反馈串行通讯协议,计算机为主机,仿真器为从机,这样就不受延时时间的限制,而且通讯速率可以在一定的范围内可调。协议定义如下:
(1)数据格式用用8位无校验方式;
(2)从机一直等待主机时钟上升沿;
(3)在主机的时钟上升沿之前,主机的数据已准备好;
(4)从机在接受到主机的时钟上升沿后,读取主机送来的数据,将反馈时钟信号置位(高电平)。主机在接受到从机的反馈时钟信号上升沿后,将主时钟信号清位(低电平);
(5)从机在接受到主机的时钟下降沿后,发送自己的数据给主机,然后将反馈时钟信号清位;
(6)主机在接受到从机的反馈时钟信号下降沿后,读取从机送来的数据;
(7)这样就完成了1位数据的传递,如此重复第3步到第6步,直到8位数据传完,时序如图2。
另外,使用4字节命令-地址-数据格式。第一字节是命令字,包括读、写和测试命令;第二字节是高地址;第三字节是低地址;第四字节表示要写入或读出的数据。
仿真器传送一个字节数据(同时输出1字节数据和输入1字节数据)算法设计如下:
(1)寄存器DATAIN存放从计算机输入到仿真器的数据,寄存器DATAOUT存放仿真器输出到计算机的数据,设置计数器COUNT=8;
(2)等待计算机的主时钟信号上升沿;
(3)将DATAIN寄存器左移一位,读取输入主数据电平。如果为1,则DATAIN=DATAIN+1,否则转向4;
(4)将从时钟信号置高;
(5)等待计算机的主时钟信号下降沿;
(6)将DATAOUT左移一位,最高位移入C。如果C为1,则将从数据信号置为高电平,否则将其清为低电平,则后将从时钟信号清为低电平。
(7)计数器COUNT=COUNT-1。如果COUNT不为0,则转第2步,否则此子程序返回。
与此相仿,计算机传送一个字节的算法设计如下:
(1)设置计数器COUNT=8,寄存器DATAIN=0存放从仿真器输入到计算机的数据,寄存器DATAOUT存放计算机输出到仿真器的数据,传送错误标志ERROR=FALSE(假);
(2)判断DATAOUT的最高位是否为1。若为1,则将主数据信号置位,否则将其清位,然后将DATAOUT左移一位,将主时钟信号置位;
(3)等待反馈时钟信号上升沿,并同时测试是否超时。如果超时,ERROR=TRUE(真),子程序返回,否则转第4步;
(4)将主时钟信号清位;
(5)等待反馈时钟信号下降沿,并测试是否超时。如果超过,ERROR=TRUE,子程序返回,否则转第6步;
(6)DATAIN左移一位,读取从数据信号。如果为1,则DATAIN=DATAIN+1,否则直接转到第7步;
(7)COUNT=COUNT-1判断COUNT是否为0。为0则子程序返回,否则转第2步。
仿真器向外部RAM写数据的子程序算法如下(不包括写命令1字节):
(1)从计算机传入一个字节数据(调用一次传送1字节子程序,以后都是这样),写入P4输出寄存器。然后再传入一个字节数据,写入P3输出寄存器。给地址锁存引脚ALE(P5.0)一个高脉冲(先置高,再清低),锁存地址;
(2)再从计算机传入一个字节数据,写入P3输出寄存器。给单片机写引脚WR(P5.2)一个低脉冲(先清低,再置高),这样不向RAM写入了一字节数据;
(3)子程序返回。
仿真器从外部RAM读数据的子程序算法(不包括读命令1字节);
(1)从计算机传入一个字节数据,写入P4输出寄存器。然后再读入一个字节,写入P3输出寄存器。给地址锁存引脚ALE(P5.0)一个高脉冲,锁存地址;
(2)向P3输出寄存器写入0FFH,以定义P3口为输入口。给单片机读引脚RD(P5.3)一个低电平,再读P3口引脚寄存器P3_PIN数据到DATAOUT,然后将读引脚RD变为高电平;
(3)向计算机传入一个字节数据DATAOUT,返回。依此法设计的仿真器已经投入使用,实际使用证明,根据以上方法设计的仿真器用于变频器开发非常方便,其中的RAM可以使用EEPROM(如AT28C64)代替(管脚兼容,相邻数据之间的时间间隔可以通过计算机软件控制)。用户程序设计好写入EEPROM后,可以直接用于工业现场控制。
上一篇:某型直升机旋翼转速调节器的设计
下一篇:跳频技术在GPS移动车辆监控系统中的应用
- 热门资源推荐
- 热门放大器推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况