|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
重金寻求合作精英:熟练DSP电路板的设计,手工PCB设计。
联系方式:010—65010618 010-65010558
电子信箱lubaoshou@126.com
我们要用DSP(TI2812)做一个驱动VGA显示器的接口、模拟量采集、频率量采集、开关量的输入输出
该系统属于实时工控系统,对实时性要求较高,要求输出量随输入量的变化
而迅速反应,系统为室外作业,控制紧邻的1200千瓦电机,现场环境要求系
统达到工业级温度范围,具有较强的抗震性和抗干扰性。
1、可驱动640×480彩色液晶显示器。
2、主机与液晶显示器相距15米。
3、可驱动两路USB PC机标准键盘。
4、主机与键盘相距15米。
5、16路模拟信号输入,不低于12位精度,量程可调,正负输入。
6、16路模拟信号同时采集时总周期不高于800微秒,可采用中断采集方式。
7、5路频率信号输入,频率范围20~3000HZ,测频率值及过零点。
8、2路脉冲列可控输出,与相应频率输入信号同步,脉宽16微秒,脉间距200微秒。
9、50路数字量输入输出。
10、界面显示所有输入输出量的实时数据及汉字故障解释,基本满屏,
每秒刷新次数不低于5次。
11、模拟量、频率量的数学运算采用浮点型,数值计算包括微分积分惯性低通等,
每个运算周期不高于400微秒。
12、用C进行编程
要求:精通DSP、PROTEI、PCB(限北京地区)
需要承揽本项目人员出差到外地,现场调试通过为准
该系统属于实时工控系统,对实时性要求较高,要求输出量随输入量的变化而迅速反应,系统为室外作业,控制紧邻的1200千瓦电机,现场环境要求系统达到工业级温度范围,具有较强的抗震性和抗干扰性。
一、硬件设计概况:
1、20路模拟信号输入,每路输入电压范围不同,最高输入正电压不超过40V,最高输入负电压不超过-20V,采集时要求不低于12位精度,量程可调,可接受正负信号输入,带光电隔离,隔离电压不低于1500V,20路模拟信号同时采集时总周期不高于400微秒,最好能达到200微秒。
2、5路频率信号输入,经整形后为方波,整形电路已确定,整形后的电压为单+5V,频率范围20~3000HZ,要求测实时频率值,采集周期不高于400微秒,最好能达到200微秒。
3、2路脉冲列输出用于可控硅触发,要求脉宽16微秒,脉间距200微秒,脉冲列起始角度可控,终止角度为165度,要求输出单+5V,驱动能力不小于2MA。
4、35路数字量输入信号,25路数字量输出信号,输入整形电路和输出驱动电路已确定,整形后输入电压为+5V,要求输出电压+5V,驱动能力不低于2MA。采集和给定周期不高于400微秒,最好能达到200微秒。
5、在原理图设计时,在不影响实现功能的情况下,芯片尽量选择TI公司产品,选择其它公司元器件时尽可能减小生产公司范围,以便于采购和质量监控。
6、要求设计时钟电路。
7、要求系统可驱动640×480彩色液晶显示器,主机与液晶显示器相距15米,显示器显示应清晰无抖动。
8、键盘共设计20键,主机与键盘相距15米。
9、要求现场可从上位机(笔记本电脑)下载程序到下位机(DSP),下载线长度5米(电器柜至驾驶室)。
二、软件设计概况:
1、参考”原工控机系统参考.doc“中的相关信号和故障代码方面的内容。
2、软件设计主要有数据采集,界面显示,数据存储,键盘扫描,通讯,上位机编程,数学计算(数学计算模块)等功能,要求设计除数学计算模块外的软件。
3、数据采集包括模拟量信号数据采集,数字量输入信号数据采集,数字量输出信号数据给定,频率量输入信号数据采集,脉冲列输出信号给定,外部时钟信号采集,要求实时迅速地将采集上的外部信号的数据转换成具体的变量,以备数学计算模块使用,同时将经数学计算模块算出的变量形式的数据给出到相应的硬件管脚上。
4、界面显示包括显示驱动,六个640×480分辨率的彩色界面。
5、键盘扫描功能可采集20个键盘的动态变化,采集速度要求在一秒以内,远低于数据采集的速度要求。
6、数据存储功能,要求可存储不低于1兆字节的数据。
7、与上位机通讯功能。
8、上位机的编程。
三、数据采集:
1、要求定时采集模拟量,定时时间可调,定时时间最长不超过400微秒,将20路模拟量输入转换为以下变量,变量值与输入电压的线性变比关系如下,该数值同时也做为量程范围(AI.FAULT1除外),做AD转换时按此量程范围设计,以不牺牲精度,变量类型采用浮点型,此项工作需要硬件设计支持:
AI.M1AMPS:输入电压-2.5v时,AI.M1AMPS=-2500;输入电压+2.5v时,AI.M1AMPS=+2500;AI.M2AMPS:输入电压-2.5v时,AI.M2AMPS=-2500;输入电压+2.5v时,AI.M2AMPS=+2500;AI.AOUTVOLTS:输入电压10v时,AI.AOUTVOLTS=2000;输入电压0v时,AI.AOUTVOLTS=0; AI.ALTFVOLT:输入电压为-7.547v时,AI.ALTFVOLT=80;输入电压0v时,AI.ALTFVOLT=0;
AI.M2VOLTS:输入电压为5v时,AI.M2VOLTS=1000;输入电压为0v时,AI.M2VOLTS=0;AI.MFAMPS:输入电压为-2v时,AI.MFAMPS=-800; 输入电压为+2v时,AI.MFAMPS=800; S.ALTFAMPS:输入电压为-15v时,S.ALTFAMPS=-15; 输入电压为+15v时,S.ALTFAMPS=15;AI.RPINHI:输入电压为+15v时,AI.RPINHI=19;输入电压为0v时,AI.RPINHI=0;AI.SRS:输入电压为+15v时,AI.SRS=19;输入电压为0v时,AI.SRS=0;AI.DC28V:输入电压为+40v时,AI.DC28V=40;输入电压为0v时,AI.DC28V=0;AI.DC15V:输入电压为+20v时,AI.DC15V=20;输入电压为0v时,AI.DC15V=0;AI.DCN15V:输入电压为-20v时,AI.DCN15V=-20;输入电压为0v时,AI.DCN15V=0; AI.FAULT1:为一个随变信号,电压范围-5v至+5v,有时为直流信号,有时为交流信号,交流频率为几百HZ,要求检测峰值电压。输入电压为2.28V时,AI.FAULT1=114。输入电压为-2.28V时,AI.FAULT1=-114。
建议采集方法1:如果采集速度能够足够快,可以直接采集,算出峰值电压。
建议采集方法2:如果资源有限,可以用硬件先做处理,再进行采集,需要时可将此信号分解成两个信号(直流和交流)。
AI.FAULT2:为AI.FAULT1的备用信号,如果硬件将AI.FAULT1分解成两个信号,AI.FAULT2做为AI.FAULT1分解出来的信号,其它同AI.FAULT1。
AI.M1TS:电阻信号,为标准铂电阻温度传感器,根据硬件设计和铂电阻温度特性推出摄氏温度值。温度范围:-40度至300度。
建议采集方法:将该温度范围的铂电阻用硬件转换为电压信号,再对照铂电阻特性曲线将该电压转换为-40至300的变量值。不排除更好的方法。
M2TS:同AI.M1TS。
增加一个非输入变量AI.DC19V,AI.DC19V=AI.DC15V*19.0/15.0。
AI.TEMP1:备用信号1,AI.TEMP1=该路输入电压值。AI.TEMP2:备用信号2,AI.TEMP2=该路输入电压值。AI.TEMP3:备用信号3,AI.TEMP3=该路输入电压值。AI.TEMP4:备用信号4,AI.TEMP4=该路输入电压值。
2、频率输入信号共有五路,由硬件转换为等幅的方波信号接入DSP,其中有两路信号为可控硅同步信号,三路为传感器信号,要求将5路频率量输入转换为以下变量,变量类型采用整型,变量值与输入频率的线性变比关系如下:
FI.ESS:频率范围20至3000HZ,输入频率1000HZ时,FI.ESS=1200。
FI.M1SPDIN:频率范围20至3000HZ,输入频率412HZ时,FI.M1SPDIN=100;
FI.M2SPDIN:频率范围20至3000HZ,输入频率412HZ时,FI.M1SPDIN=100;
FI.ASYN:频率范围30至180HZ,为检测干扰信号,设计时按20至3000HZ设计,输入频率180HZ时,FI.ESS=360。
FI.MSYN:同FI.ASYN。
要求定时采集频率量,定时时间可调,定时时间最长不超过400微秒。
3、2路脉冲列输出用于可控硅触发,脉冲列由等脉宽等间距的一列脉冲组成,要求脉宽16微秒,脉间距200微秒,16微秒输出高电平,200微秒-16微秒=184微秒输出低电平,要求脉冲列触发角(起始角度)可控,脉冲列终止角度为165度,同步信号一路为频率输入信号的FI.ASYN,一路为频率输入信号的FI.MSYN,要求上升沿和下降沿都要触发,此项工作需要硬件设计支持,需要占用几路和哪几路硬件资源,需要与硬件设计配合。一路脉冲列的输出受整型变量FO.AFSEFP控制,FO.AFSEFP范围为0至16500,当FO.AFSEFP=0时,导通角为零度,当FO.AFSEFP=16500时,导通角为165度,变量FO.AFSEFP与导通角为线性关系。另一路脉冲列的输出受变量FO.MFSEFP控制,FO.MFSEFP范围及与导通角的关系与FO.AFSEFP相同。FO.AFSEFP和FO.MFSEFP的数据由数学计算模块定时给定,要求定时输出,定时时间可调,定时时间不超过400微秒,要求脉冲列的实际给定时间与FO.AFSEFP的最新给定值吻合。
4、要求定时采集数字量输入信号,共35路,定时时间可调,定时时间最长不超过400微秒,数字量输入信号变量名如下,为位变量:
DI1.AS,DI1.DOS,DI1.DUMPBS,DI1.IDLESW,DI1.FAILDIODE,
DI1.FORIN,DI1.NEUTRAL,DI1.RS,DI1.RSC,DI1.LDWT,
DI1.ACCINH,DI1.SERVBRKSW,DI1.REVIN,DI1.BPS,DI1.PKBRKSW,
DI1.P1FB,DI1.GFFB,DI1.RP1FB,DI1.MFFB,DI1.RP4FB,
DI1.RP6FB,DI1.RP8FB,DI1.FORFB,DI1.KEYSW,DI1.ENGSERV,
DI1.P2FB,DI1.GFRFB,DI1.RP2FB:1,DI1.RP3FB,DI1.RP5FB,
DI1.RP7FB,DI1.RP9FB,DI1.REVFB,DI1.CPSFB,DI1.ENGSDWN.
当输入为高电平时,相应的数字量输入信号为1,当输入为低电平时,相应的数字量输入信号为0。
5、要求定时给定数字量输出信号,共25路,定时时间可调,定时时间最长不超过400微秒,数字量输出信号变量名如下,为位变量:
DO.P1,DO.GF,DO.RP1,DO.MF,DO.RP4,DO.RP6,DO.RP8,DO.FOR,DO.AFSE,DO.ENGSRVLT,DO.P2,DO.GFR,DO.RP2,DO.RP3,DO.RP5,DO.RP7,DO.RP9,DO.REV,DO.MFSE,DO.TS,DO.CPRL,DO.LIS,DO.SYSFLTLT,DO.DOB1,DO.DOB2.
数字量输出信号变量为1时,相应的外部管脚输出高电平,数字量输出信号变量为0时,相应的外部管脚输出低电平,数字量输出信号变量的值由数学计算模块给定。
6、时钟采集:要求采集时钟日期,采集周期为1秒,即精确到时钟的秒级,此信号主要用于记录故障的发生时间,时钟的采集方法需要参考采用的硬件,时间单位为年、月、日、时、分、秒。
四、界面显示:
1、液晶显示驱动:驱动液晶显示的编程需要确定采用哪种液晶及液晶与主机的连接采取哪种方式才能确定,主要方式有采用VGA液晶显示器,采用LVDS液晶显示器,采用RS485连接方式,不排除有更好的方法;采用VGA液晶显示器或采用LVDS液晶显示器液晶一侧不需要再加硬件驱动器,采用RS485连接方式需要在液晶一侧增加硬件驱动或采用其它公司已经开发成型的硬件。液晶分辨率640×480,可采用16色或256色,用字符方式时横向80个英文字符,纵向30个英文字符,汉字采用16×16。液晶显示器的主界面参考附带文件“界面1.bmp”所示,该界面共分以下几个部分:
2、数字量输入信号的显示:在白色线框内上部,变量为0时显示黑底白字,此时代表此开关量处于断开状态(无效状态),变量为1时显示白底黑字(有些信号为红底兰字),此时代表此开关量处于闭合状态(有效状态),要求显示实时变化,外面输入信号变化时显示也随之变化,无滞后感。数字量输入信号变量与相应显示对应如下:
变量DI1.ACCINH对应显示ACCINH,变量DI1.LDWT对应显示2SOS,变量DI1.DUMPBS对应显示DBUP,变量DI1.BPS对应显示BLOWP,变量DI1.DUMPBS对应显示DBUP,变量DI1.DUMPBS对应显示DBUP,其它的显示名称与变量名称相同,可一一对应。有变量无显示的不必显示,有显示无变量的仍要增加可控制相应显示的位变量。
3、数字量输出信号的显示:在白色线框内下部,黑底白字代表此开关量处于断开状态(未给电状态),白底黑字(有些信号为红底兰字)代表此开关量处于闭合状态(给电状态),要求数字量输出信号变量变化时相应显示也随之实时变化,无滞后感。
变量DI1.ACCINH对应显示ACCINH,变量DI1.LDWT对应显示2SOS,变量DI1.DUMPBS对应显示DBUP,变量DI1.BPS对应显示BLOWP,变量DI1.DUMPBS对应显示DBUP,变量DI1.DUMPBS对应显示DBUP,其它的显示名称与变量名称相同,可一一对应。有变量无显示的不必显示,有显示无变量的仍要增加可控制相应显示的位变量。
4、模拟量输入信号的显示:在白色线框外,屏幕下方,共两排信号名,数据在信号名的下方显示,没有信号名的数据与模拟量无关,显示时要求实时变化,无滞后感,其中AI.DC15V,AI.DCN15V,AI.DC28V,AI.RPINHI,AI.SRS显示到小数点后一位,其它量省略小数点只显示整数部分。显示位置对应如下:+28V下显示变量AI.DC28V,+15V下显示变量AI.DC15V,-15V下显示变量AI.DCN15V,+19V下显示变量AI.DC19V,FAULT下显示变量AI.FAULT1与AI.FAULT2中绝对值较大的一个,其它的显示名称与变量名称相同,可一一对应。模拟量数据的显示对实时性要求较高,每秒钟更新数据不低于6次,最好达到或高于12次。
5、频率量输入信号的显示:在信号显示的最后一排左侧,共五个信号量,要求显示实时变化,无滞后感,每秒钟更新数据不低于6次,最好达到或高于12次。显示名称与变量名称一一对应,M1SPDIN和M2SPDIN为变量FI.M1SPDIN和FI.M2SPDIN的十分之一值,相应增加小数点和小数点后一位。
6、时钟显示:在主界面和各个子界面都需要显示,在界面的第一排左上角,显示当前时间,从左到右依次显示年、月、日、时、分、秒,例如2005 03 03 14:27:20,每一秒更新一次。
7、定时显示:在主界面的第一排右上角,有两个从0到100反复循环变化的数据,一个代表界面刷新率的速度,一个代表模拟量定时采集的速度,每100个循环周期显示加1,从显示的变化可以推测采集和显示数度。
8、主界面屏幕上其它的变量显示作为故障诊断使用,预留一行做备用,附带文件“界面1.bmp”中有一排显示1.8,1.8,27,0的即为此备用行,要求可实时显示十个变量,变量名为浮点型的S.ValueDisplay01,S.ValueDisplay02,S.ValueDisplay03,S.ValueDisplay04,S.ValueDisplay05,S.ValueDisplay06和整型的S.ValueDisplay07,S.ValueDisplay08,S.ValueDisplay09,S.ValueDisplay10,浮点型变量显示到小数点后一位。
9、主界面屏幕上故障代码显示:当系统检测有故障出现时,在显示屏的下方有故障显示代码出现,故障代码旁有中文解释,中文解释为红色时表示系统检测出有关键错误出现,中文解释为黄色时表示系统检测出有警告性错误,在附带文件“界面1.bmp”中,故障代码为“105”,故障解释为“接触器故障”。产生多个故障时可使用键盘进行故障翻阅,按向“上箭头键”看更新发生的故障,按“向下箭头”键盘看更早产生的故障。
10、开机后进入主界面,主界面最下一排(“界面1.bmp”中未显示)均分成六段,每段内写入四个汉字,代表六个子菜单,从左到右依次为:实时监控(即主界面),故障记录,动作记录,牵引逻辑,制动逻辑,数据设定。按“向左箭头”和“向右箭头”可依次选中各个子菜单,界面改变,同时该选中段的四个汉字变换颜色,表示现界面为这四个字所代表的界面。
11、故障记录子界面:故障记录较多时可使用键盘中的向上箭头和向下箭头移动屏幕查看,下面为记录实例,左面为故障代码,右面为故障产生时间,依次为年、月、日、时、分、秒,靠上的为最近发生的,靠下的为先前发生的,以发生故障时间为排列顺序,例:
11 2005 2 24 17: 59: 51
11 2005 2 24 17: 1: 35
13 2005 2 24 16: 51: 50
13 2005 2 24 15: 2: 33
11 2005 2 24 14: 30: 21
11 2005 2 24 12: 1: 16
17 2005 2 23 7: 18: 11
17 2005 2 23 7: 18: 5
17 2005 2 23 7: 17: 45
17 2005 2 23 7: 17: 33
12、动作记录子界面:用于查看各数字量输入信号和数字量输出信号在每个月和季度的动作次数,为单页。
13、牵引逻辑和制动逻辑子界面:在界面上按一定空间顺序排列数字量输入和数字量输出信号,显示方式与主界面相应显示类似,以黑底白字和白地黑子的转换代表变量或信号的变化,该界面将白地黑子改为绿底白字,界面内的具体排列在编程时确定。
14、数据设定子界面:可由键盘“0”到“9”输入设定数据或密码,具体安排在编程时确定。
五、键盘扫描:
1、键盘扫描:共设计20键,做类似于BORLANDC3.1中函数boiskey()的键盘功能,可以辨别动作过的按键,键盘上分别标有“向上箭头”,“向下箭头”,“向左箭头”,“向右箭头”,“S”,“0”,“1”,“2”,"3","4","5","6","7","8","9"等,键盘对实时性要求不高,点击键盘后须在1秒钟之内作出反应。
六、数据存储:
1、存储功能:此功能通过按键“S”启动,存储数据时在界面空白处从“.”到“......”循环变化以表示正在存储数据,每隔2毫秒存储一次实时数据,存储以下变量的整数部分:
FI.ESS,FI.M1SPDIN,AI.ALTFVOLT,AI.ALTFAMPS,AI.AOUTVOLTS
AI.M2VOLTS,AI.M1AMPS,AI.M2AMPS,AI.MFAMPS,FO.AFSEFP FO.MFSEFP,FI.ASYN,Temp1,Temp2,Temp3,Temp4,Temp5,Temp6,Temp7,Temp8.Temp1到Temp8为浮点型,由数学计算模块给定。存储器存满后有报警提示并停止存盘,上位机取出数据后可以继续存盘。
七、与上位机的通讯:
1、由于需要长线传输,须根据硬件设计的通讯方式进行软件设计。
2、要求可与上位PC机进行数据传输,将存储功能存下的数据传到上位机,以便上位机分析、观察、整理数据。
3、下载程序,将上位机改好的最新版程序下载至DSP,使DSP系统能够方便的使用新程序进行运行。
八、上位机编程:
1、使用上位机(笔记本电脑)对DSP下载程序进行编译,然后通过通讯方式下载到DSP系统。
2、通过通讯方式将DSP系统由存储功能存储的数据接收,以文本文件的格式存于硬盘中。
3、由于DSP系统存储器容量有限,可通过通讯方式将DSP系统采集的实时数据实时地传至上位机,并由上位机以文本文件存储。
|
|