ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:303.87KB ,
资源ID:21937320      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21937320.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DSP作业文档格式.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DSP作业文档格式.docx

1、 b.控制水容器中电加热器件,使水温在5分钟内从室温升到45,并在随后的5分 钟内将水温稳定在45,误差在2内。 c.用十进制数码显示实际水温;1.4 系统组成 本系统是一个典型的检测、控制型应用系统,它要求系统完成从水温检测、信号处理、输入、运算到输出控制电炉加热功率以实现水温控制的全过程。因此,以DSP为核心组成一个专用计算机应用系统,以满足检测、控制应用类型的功能要求。另外,DSP的使用为实现水温的智能化控制以及提供完善的人机界面及多机通讯接口提供了可能,而这些功能在常规数字逻辑电路中往往是难以实现或无法实现的。根据设计任务的基本要求,本系统应具有以下基本功能:(1)可以进行温度设定,并

2、自动调节水温至给定的温度值。(2)可以调整PID控制参数,满足不同控制对象与控制品质要求。(3)可以实时显示给定温度与水温实测值。1.5 整体设计思路首先设计由AD590和ADC0804组成的温度采集电路,利用热敏电阻输出电压值与温度间的函数关系,检测温度的变化;然后将采集到的温度送入TMS320C5402中的A/D转换模块,将电压转换为数字信号;最后通过编写LCD显示函数来控制相应的温度及文字的变化。系统的整体框图如图1.5.1所示: 图1.5.1 系统整体框图第2节 系统硬件设计 2. 1 方案设计最小系统设计:TMS320C5402芯片包含33个电源引脚,时钟模块,分别有电源复位,复位引

3、脚/RS,软件复位,非法地址,看门狗定时器溢出,欠电压复位这6种信号使DSP控制器复位。在设计中采用了由PCRESET引脚PCRESET电源复位的方式。为了可靠复位,高电平的有效时间至少保持6个时钟周期。DSP最小系统指的是由C5402芯片组成的电源模块,复位电路和晶振电路组成的无外围设备的系统。最小系统如图2.1.1:图2.1.12. 2 元器件选择 (1)AD590芯片(图2.2.1)图2.2.1(2)ADC0804芯片(图2.2.2)图2.2.22. 3 单元电路设计 2.3.1 温度采集电路系统的温度采集电路主要由温度传感器(AD590)、基准电压(7812)及A/D转换电路(ADC0

4、804)三部分组成。电路图如图2.3.1所示 图2.3.1 温度采集电路原理图(1)AD590性能描述 测量范围在-50-+150,满刻度范围误差为0.3,当电源电压在510V之间,稳定度为1时,误差只有0.01 。AD590为电流型传感器温度每变化1其电流变化1uA,在0和80时输出电流分别为273.2uA和353.2uA。(2)ADC0804性能描述 ADC0804为8bit的一路A/D转换器,其输入电压范围在05v,转换速度小于100us,转换精度0.39。满足系统的要求。(3)电路原理及参数计算 温度采集电路的基本原理是采用电流型温度传感器AD590将温度的变化量转换成电流量,再将电流

5、量转换成电压量通过A/D转换器ADC0804将其转换成数值量交由DSP芯片处理。如图2.3.2所示 A 图2.3.2Uc图中三端稳压7812作为基准电压Ub,由运放虚短虚断可知运放的反向输入端Ui的电压为零伏。当输出电压为零伏时(即Uo=0v) 列出A点的结点方程如下:. (1) 由于系统控制的水温范围为0-80,所以图2-2-2当输出电压为零伏时AD590的输出电流为308.2uA,因此为了使Ui的电位为零就必须使电流Ib等于电流Ic等于308.2uA, 三端稳压7812的输出电压为12v所以由方程(1)得 . . (2)由方程(2)的取电阻R2=30k , R1=10k的电位器。又由于AD

6、C0804的输入电压范围为05v ,为了提高精度所以令水温为95时ADC0804的输入电压为5v(即Uo=5v)。此时列出A点的结点方程如下: (3)当水温为95时AD590的输出电流为368.2uA。由方程式(3)得R4+R5=83.33k因此取R5=81k , R5=5k的电位器。 2.3.2 温度控制电路此部分电路主要由光电耦合器MOC3041和双向可控硅BTA12组成。MOC3041光电耦合器的耐压值为400v,它的输出级由过零触发的双向可控硅构成,它控制着主电路双向可控硅的导通和关闭。100电阻与0.01uF电容组成双向可控硅保护电路。控制部分电路图如图2.3.3。图2.3.32.3

7、.3 LCD液晶显示模块 DSP需要对读写周期较慢的液晶显示模块进行访问,这样就存在DSP与慢速设备之间的输入/输出时序匹配问题。直接访问方式是将DSP的读写信号线与慢速设备口控制板引出的读写信号线直接相连,时序由DSP内部读写逻辑控制。由于慢速外设的读写周期相对DSP较慢,要使两者的时序匹配,还必须进行一些时序方面的控制处理,一种处理方法是软件编程等待状态发生器,将外部总线周期扩展到数个机器周期。由于受硬件条件的限制,这种扩展通常也是有限的。另一种处理方法是利用DSP的READY(外部设备准备就绪)引脚,通过硬件扩展实现外部状态自动等待,从而使DSP与慢速设备之间的时序匹配。虽然可以将总线周

8、期扩展到任意个机器周期,但是需要进行硬件扩展,增加了系统设计的复杂度。间接访问是用DSP的数字I/O间接控制慢速设备通过软件控制DSP的I/O口来实现与慢速设备的时序匹配。此种方式无需硬件扩展即可实现与任意时序慢速设备之间的时序匹配。本设计采用间接访问方式来实现DSP与LCD之间的时序匹配,即在程序中加入大量延时语句。由于DSP为3.3V设备,而液晶显示模块属于+5V设备,所以在连接控制线、数据线时需要加电平隔离和转换设备。2.4 主机控制部分此部分是电路的核心部分,系统的控制采用了EL-DSP-EXPII型教学实验系统。EL-DSP-EXPII教学实验系统内部有64KB单元的程序存储器及64

9、KB的数据存储器。因此系统不必扩展外部程序存储器和数据存储器这样大大的减少了系统硬件部分。2.5 微机控制及图形显示部分为了使系统具有更好的人机交换界面,设在系统设计中我们通过Visual Basic 语言计了微机控制界面。通过系统与微机的通信大大的提高了系统的各方面性能。其控制界面见图2.5.1图2.5.1微机控制界面如图2.5.1的微机控制界面,具有温度控制及显示的功能。图中左半部分为水温的实测温度和给定温度的数值显示及对主系统的控制界面,右半部分为水温的实测温度的逐点采样及图形显示,通过此界面可以更直观的显示温度的变化,并且通过对图形的保存能方便的打印出水温的变化曲线。第三节 系统软件设

10、计3.1 软件系统分析(1)系统设计原理 首先要初始化A/D转换模块,然后等待中断,当产生中断后对采集到的模拟信号进行处理,为了确保转换精度应多次取值求平均,将其转换结果放在结果寄存器的高12位上,最后将处理后的温度值送到LCD上显示。系统设计原理框图如图3.1.1:TMS320C5402 图3.1.1系统设计原理框图 (2)软件系统流程图3.2 软件模块设计(1)等待ADC中断程序#define ADC_usDELAY 8000L#define ADC_usDELAY2 20Linterrupt void adc_isr(void);Uint16 LoopCount;Uint16 Conve

11、rsionCount;Uint16 Voltage11024;Uint16 Voltage21024;float temp;Uint16 i,j;void InitAdc(void);interrupt void adc_isr(void) Voltage1ConversionCount = AdcRegs.ADCRESULT0 4; Voltage2ConversionCount = AdcRegs.ADCRESULT1 / If 40 conversions have been logged, start over if(ConversionCount = 200) ConversionC

12、ount = 0; else ConversionCount+; if(ConversionCount=0) temp=0; for(i=0;i200;i+) temp=temp+Voltage1i; temp=temp/200.0; temp=temp*3.0/4095.0; / Reinitialize for next ADC sequence AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; / Reset SEQ1 AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; / Clear INT SEQ1 bit PieCtrlRegs.PIEACK.

13、all = PIEACK_GROUP1; / Acknowledge interrupt to PIE return;void InitAdc(void) extern void DSP28x_usDelay(Uint32 Count); AdcRegs.ADCTRL3.bit.ADCBGRFDN = 0x3; / Power up bandgap/reference circuitry DELAY_US(ADC_usDELAY); / Delay before powering up rest of ADC AdcRegs.ADCTRL3.bit.ADCPWDN = 1; / Power u

14、p rest of ADC DELAY_US(ADC_usDELAY2); / Delay after powering up ADC (2)延时子程序void Delay(unsigned int nDelay) int ii,jj,kk=0; for ( ii=0;iinDelay;ii+ ) for ( jj=0;jj1024;jj+ ) kk+; (3)打开显示子程序void TurnOnLCD() *(int *)0x108001=LCDCMDTURNON; Delay(LCDDELAY); *(int *)0x108002=0; Delay(2048); *(int *)0x108

15、001=LCDCMDSTARTLINE;(4)清屏程序void LCDCLS() int i,j; for ( i=0;8;i+ ) *(int *)0x108001=LCDCMDPAGE+i; Delay(LCDDELAY); *(int *)0x108002=0; *(int *)0x108001=LCDCMDVERADDRESS; for ( j=0;j64;j+ ) *(int *)0x108003=0; Delay(LCDDELAY); *(int *)0x108002=0; *(int *)0x108001=LCDCMDPAGE+i; *(int *)0x108004=0;(5)显

16、示模块/汉字模块void LCDWrite(unsigned int x,unsigned int y,unsigned int LR,unsigned int n) unsigned char lcdkey532= 0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x00,0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00,/温0x00,0x00,0xFC,0x04,0x24,0x24

17、,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00,0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,/度0x00,0x00,0x00,0x3E,0x2A,0xEA,0x2A,0x2A,0x2A,0xEA,0x2A,0x3E,0X00,0X00,0X00,0X00,0x20,0x21,0x22,0x2C,0x20,0x3F,0x20,0x20,0x20,0x3F,0x28,0x24,0x23,0x20,0x20,0x00,/显0x00,

18、0x20,0x20,0x22,0x22,0x22,0x22,0xE2,0x22,0x22,0x22,0x22,0x22,0x20,0x20,0x00,0x10,0x08,0x04,0x03,0x00,0x40,0x80,0x7F,0x00,0x00,0x01,0x02,0x0C,0x18,0x00,0x00,/示0x00,0x02,0x05,0xE2,0x18,0x04,0x02,0x02,0x02,0x02,0x02,0x02,0x04,0x1E,0x00,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x2

19、0,0x18,0x00,0x00,/; if(LR=0) int j; int k=n; *(int *)0x108001=LCDCMDPAGE+x; Delay(1); *(int *)0x108001=LCDCMDVERADDRESS+y; for(j=0;16;j+) *(int *)0x108003=lcdkeykj; Delay(10);x+; for(j=16;32; Delay(100);else *(int *)0x108004=lcdkeykj; x+;/数字模块unsigned char ledkey128= /半角 0x00,0x00,0x7C,0x82,0x82,0x8

20、2,0x7C,0x00, /0 0x00,0x00,0x00,0x84,0xFE,0x80,0x00,0x00, /1 0x00,0x00,0x84,0xC2,0xA2,0x92,0x8C,0x00, /2 0x00,0x00,0x44,0x92,0x92,0x92,0x6C,0x00, /3 0x00,0x00,0x30,0x28,0x24,0xFE,0x20,0x00, /4 0x00,0x00,0x4E,0x92,0x92,0x92,0x62,0x00, /5 0x00,0x00,0x7C,0x92,0x92,0x92,0x64,0x00, /6 0x00,0x00,0x02,0xC2,

21、0x32,0x0A,0x06,0x00, /7 0x00,0x00,0x6C,0x92,0x92,0x92,0x6C,0x00, /8 0x00,0x00,0x4C,0x92,0x92,0x92,0x7C,0x00, /9 0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00, /:0x00,0x60,0x60,0x00,0x00,0x00,0x00,0x00, /. ;void WriteNb(unsigned int x,unsigned int y,unsigned char *No,unsigned f,unsigned int LR) int i; y*=8

22、; *(int *)0x108001=LCDCMDPAGE+x; / 设置操作页=1 *(int *)0x108001=LCDCMDVERADDRESS+y; / 起始列=8 if(LR=1) for(i=0; if(f=1) *(int*)0x108004=Noi; else *(int*)0x108004=Noi; *(int*)0x108002=0; else *(int*)0x108003=Noi; *(int*)0x108003=Noi; (6)温度计算子程序void Wendu(float c) temp1=35.91-246.7*c; ZhengshuT=(int)temp1; XiaoshuT=(int)(temp1-ZhengshuT)*100); Zhongjian1=ZhengshuT/10; Zhongjian2=ZhengshuT%10; ZhengshuT=(Zhongjian14)|Zhongjian2; Zhongjian1=XiaoshuT/10; Zhongjian2=XiaoshuT%10; XiaoshuT=(Zhongjian1(7)主函数

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1