资源描述
成绩
《ARM嵌入式系统》课程论文
题 目: 基于STM32温度采集系统设计
学生姓名: 刘笑
学生学号: 131400
年 级: 13级
专 业: 电子信息工程
班 级: (1)班
任课教师: 王宜结
电子工程学院制
目录
1、设计任务与规定 2
1.1设计目 2
1.2设计意义 2
2、温度系统设计方案制定 3
2.1设计规定 3
2.2方案论证 3
3、硬件设计方案实行 4
3.1单元模块功能及电路设计 4
3.2 电路参数计算及元器件选取 5
3.2.1 电源电路设计 5
3.2.2温度采集电路设计 6
4、设计仿真实现 6
4.1设计思路 6
4.2程序清单 7
4.3 STM32温度系统设计仿真实现 10
5、心得体会和总结 10
参照文献 12
基于STM32温度采集系统设计
学生:刘笑
指引教师:王宜结
电子工程学院 电子信息工程专业
摘要:本设计是基于嵌入式技术作为主解决器温度采集系统,运用S3C44B0x ARM微解决器作为主控CPU,辅以单独数据采集模块采集数据,实现了智能化温度数据采集、传播、解决与显示等功能,并讨论了如何提高系统速度、可靠性和可扩展性。并解决了老式数据采集系统由于存在响应慢、精度低、可靠性差、效率低、操作繁琐等弊端,可以完全适应当代化工业高速发展。
核心词:嵌入式系统 、ARM、S3C44B0、STM32、温度采集、数据解决。
1、设计内容
1.1设计目:
1、注重培养综合运用所学知识、独立分析和解决实际问题能力,培养创新意识和创新能力,并获得科学研究基本训练。
2、理解所选取STM32芯片各个引脚功能,工作方式,计数/定期,I/O口,中断等有关原理,并巩固学习嵌入式有关内容知识。
3、通过软硬件设计实现运用STM32芯片对周边环境温度信号采集及显示。
1.2设计意义:
嵌入式系统是以应用为中心,以计算机技术为基本,且软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗有严格规定专用计算机系统。它普通由如下几某些构成:嵌入式微解决器、外围硬件设备、嵌入式操作系统。嵌入式系统是面向顾客、面向产品、面向应用,它必要与详细应用相结合才会具备生命力、才更具备优势。因而嵌入式系统是与应用紧密结合,它具备很强专用性,必要结合实际系统需求进行合理裁减运用。嵌入式系统是将先进计算机技术、半导体技术和电子技术和各个行业详细应用相结合后产物,这一点就决定了它必然是一种技术密集、资金密集、高度分散、不断创新知识集成系统。嵌入式系统必要依照应用需求对软硬件进行裁剪,满足应用系统功能、可靠性、成本、体积等规定。因此,如果能建立相对通用软硬件基本,然后在其上开发出适应各种需要系统,是一种比较好发展模式。当前嵌入式系统核心往往是一种只有几K到几十K微内核,需要依照实际使用进行功能扩展或者裁减,但是由于微内核存在,使得这种扩展可以非常顺利进行。
数据采集(DAQ),是指从传感器和其他待测设备等模仿和数字被测单元中自动采集非电量或者电量信号,送到上位机中进行分析,解决。数据采集系统是结合基于计算机或者其她专用测试平台测量软硬件产品来实现灵活、顾客自定义测量系统。被采集数据是已被转换为电讯号各种物理量,如温度、水位、风速、压力等,可以是模仿量,也可以是数字量。采集普通是采样方式,即隔一定期间(称采样周期)对同一点数据重复采集。采集数据大多是瞬时值,也可是某段时间内一种特性值。精确数据量测是数据采集基本。数据量测办法有接触式和非接触式,检测元件各种各样。无论哪种办法和元件,均以不影响被测对象状态和测量环境为前提,以保证数据对的性。
老式温度采集系统由于存在响应慢、精度低、可靠性差、效率低、操作繁琐等弊端,已经不能完全适应当代化工业高速发展。随着嵌入式技术迅猛发展,设计高速度、高效率、低成本、高可靠性、操作以便温度采集系统成为当务之急。基于STM32温度采集系统就成为理解决老式温度采集系统各种弊端优先选取方案。
2、设计方案
2.1设计规定:
1、查阅有关文献资料,熟悉所选STM32芯片及温度传感器
2、总体设计方案规划
3、系统硬件设计,熟悉AD转换原理及过程,温度传感器与STM32芯片硬件接口实现及温度显示。
4、系统软件设计,涉及温度AD转换及显示软件实现,用C语言编程
5、设计心得体会及总结
2.2方案论证:
有许多客观需求增进了STM32解决器设计改进。一方面,便携式嵌入式系统往往需要电池供电。为减少功耗,STM32解决器已被特殊设计成较小核,从而延长了电池使用时间。 高代码密度是嵌入式系统又一种重要需求。由于成本问题和物理尺寸限制,嵌入式系统存储器是很有限。因此,高代码密度对于那些只限于在板存储器应用是非常有协助。
此外,嵌入式系统普通都是价格敏感,因而普通都使用速度不高、成本较低存储器。 STM32 内核不是一种纯粹RISC体系构造,这是为了使它可以更好适应其重要应用领域--嵌入式系统。在某种意义上,甚至可以以为STM32 内核成功,正是由于它没有在RISC概念上沉入太深。当前系统核心并不在于单纯解决器速度,而在于有效系统性能和功耗。
在本系统设计过程中,依照嵌入式系统基本设计思想,系统采用了模块化设计办法,并且依照系统功能规定和技术指标,系统遵循自上而下、由大到小、由粗到细设计思想,按照系统功能层次,在设计中把硬件和软件提成若干功能模块分别设计和调试,然后所有连接起来统调。
3、硬件设计
3.1设计思路:
本设计基于STM32 嵌入式数据采集和显示装置原理框图如图3-1 所示。由图可见,本系统采用“电源某些+STM32 核心控制模块+温度采集模块”实现所需功能。并考虑到系统可扩展性和延伸性,本系统采用主从CPU协同工作,实现了数据实时采集、传播与显示,具备解决速度快、精度高、人机交互界面和谐、稳定性高、扩展性好等长处。
SD RAM存储器
ARM
解决器
Flash ROM存储器
LCD显示屏
键 盘
RS-232
协控制器
多路温度传感器
ARM核心控制模块
温度采集模块
电源电路
电源某些
图3-1 系统原理框图
本设计基于ARM 嵌入式数据采集和显示装置原理框图如图3-1 所示。由图可见,本系统采用“电源某些+ARM 核心控制模块+温度采集模块”实现所需功能。
3.2.1 电源电路设计:
本系统电源电路由两某些构成:系统总电源电路和STM32核心模块电源电路。如图3-2:+12V恒定直流电源经电容滤波,分别进入7809和7805稳压,得到+9V和+5V稳定电压输出后分别供应STM32核心控制模块和别的电路某些使用。图中IN4148是为了防止输出端并接高于本稳压模块输出电压而烧坏7809和7805而特别设计,达到了可靠性电源设计目。此外,由于系统正常工作电流较大,因而使用时均应在7809和7805上加散热片散热。 由图可见,系统采用双电源供电,提供了系统正常工作所需电源电压。此外,由于考虑到便携目,本系统采用+12V铅蓄电池提供系统所需恒定直流电源。
图3-2 系统电源电路原理图
如图3-2:I/O 口提供了相应稳定直流电源。其中IN4004是为了防止电源输入反接烧坏集成稳压块而设计。由于S3C44B0x采用2.5V作为STM32 内核电源,使用3.3V作为I/O 口电压,故STM32核心控制模块电源需要此外单独设计,其电源电路如图3-2所示。由系统总电源电路提供+9V稳压电源作为输入,分别经AS1117-5.0、AS1117-3.3、AS1117-2.5稳压后,输出5.0V、3.3V和2.5V恒定电源,为STM32 内核和I/O口提供了相应稳定直流电源 。其中IN4004是为了防止电源输入反接烧坏集成稳压块而设计。
3.2.2温度采集电路设计:
温度采集模块电路采用AT89S52单片机作为模块协控制器。对于温度传感器选用DS18B20,由于DS18B20是Dallas公司最新单总线数字温度传感器,该传感器集温度变换、A/D转换于同一芯片,输出直接为数字信号,大大提高了电路效率。由于现场温度直接以“一线总线”数字方式传播,大大提高了系统抗干扰性,且提高了CPU效率。AT89S52单片机P0 口与8路温度传感器相连,用于采集温度数据;此外,模块提供RS-232串行口与STM32核心控制模块通信,达到数据传播目。温度采集模块电路原理图如图3-3。
图3-3 温度采集电路原理图
四、软件设计
4.1设计思路:
本系统软件设计是在CodeWarrior for ADS开发环境下完毕。本温度数据采集与显示装置主体由S3C44B0x核心控制模块和温度数据采集模块构成,因此系统软件也是环绕这两个模块来编写。而又由于系统采用了S3C44Box和AT89S52两个CPU协同工作,因此软件编写需要对这两个CPU分别编写,以实现所规定功能。程序流程图如图4-1。
开始
ARM初始化
硬件装置初始化
通信初始化
LED显示初始化
键盘初始化
扫描键盘
有键按下
解决数值
相应显示
数据获取
数据解决
数据显示
Y
N
图4-1程序流程图
由该流程图可看出,刚上电时,S3C44B0x要先进行STM32 内部初始化,以使STM32进入相应状态和模式;然后初始化硬件装置,以使硬件系统可以正常支持温度数据采集;接着通信初始化,以拟定温度采集模块与STM32核心控制模块连接正常,并通过UART复位温度数据采集模块,保证其进入正常温度数据采集状态;然后初始化LCD显示和键盘,在LCD上显示相应菜单列表,供顾客通过键盘选取操作;至此,系统初始化完毕,并进入正常主程序循环状态。
在正常主程序循环状态中,一方面扫描键盘,以迅速响应顾客按键操作;若没有键值按下,则STM32及时进行数据采集、解决与显示,以实现实时数据采集与显示等功能。
其主程序涉及温度采集程序、STM32获取温度子程序、温度解决和转换子程序。当STM32 解决器接受到对的温度数据后,及时进行相应温度数据解决与转换,变成可被LCD直接显示对的温度值。
4.2程序清单:
温度解决与转换子程序如下:
//存储读取到当前温度值,未转换
Static U16 a-temp-now[8]={8*0}
//存储经精度计算后实际温度值,高8位整数某些,低8位小数某些
static U16 b-temp-now[8]={8*0};
//存储8路转换后温度值,分别为百位,十位,个位,小数位
static U8 temp-convent-all[32]={32*0};
//-------------------------------
//温度解决与转换子程序
//----------------------------------
void temp-change(void)
{
U8 negtive=0x00; //存储数符号,若为正=0;若为负,=0xff
U8 j=0;
U8 *pt=temp-convent-all;
U16 *p1=a-temp-now;
U16 *p3=b-temp-now;
U16 temp=0;
for(j=0;j<8;j++)
{
negative =0x00;
temp=*p1;
//若温度为负值,进行相应解决
if((temp&0xf80) !=0)
{
temp=(~temp)+1;//转为正原码
negative=0xff; // 同步置符号为0xff
}
//依照精度消除无关数据
switch(a-temp-prec)
{
case 0x1f: //精度为9位,则清除最低3位无效位
{
temp=temp&0xfff8;break;
}
case 0x3f: //精度为10位,则清除最低2位无效位
{
temp=temp&0xfffc;break;
}
case 0x5f: //精度为11位,则清除最低1位无效位
{
temp=temp&0xfffe;break;
}
case 0x7f: //精度为12位
{
break;
}
}
//换算成实际温度,并扩大10倍,去掉小数某些
temp=(U16)((float)(temp)*0.625);
//折算放入b-temp-now 数组中
//高8位放整数某些,低8位放小数某些,最高位放符号位
if(negtive== 0xff) //若为负值
{
*p3=((temp/10)<<8)|(temp%10)|0x8000;
}
else
{
*p3=((temp/10)<<8)|(temp%10)&0x7fff;
}
if(negative==0xff) //若为负值
{(*pt++)=0x80;}
else
{
(*pt++)=temp/1000%10+0x30;
}
(*pt++)=temp/100%10+0x30;
(*pt++)=temp/10%10+0x30;
(*pt++)=temp%10+0x30;
p1++;
p3++;
}
//转换完毕后清除读回原始温度
p1=a-temp-now;
for(j=8;j>0;j--)
{
*p1++=0x0;
}
}
5、心得体会
在这次ARM嵌入式系统课程设计中,咱们小组设计课题是《基于STM32温度采集系统设计》。通过这次课程设计,我对ARM嵌入式系统特别是数据解决中温度采集系统有了更进一步理解,同步知识面也进一步得到了扩展和加深。
本次课程设计任务重要是对基于老式温度采集系统使用环节中遇到某些问题提出一种改进办法,有助于温度采集系统更好发展与使用,协助咱们更好理解嵌入式系统和温度采集系统原理和应用。温度采集是一种直接数字解决办法。所谓温度采集系统,就是通过温度传感器对被采集物体进行温度数据收集与解决,最后得到咱们所需要有用数字信号并送入系统下一环节进行其她操作。当前,由于老式温度采集系统存在响应慢、精度低、可靠性差、效率低、操作繁琐等弊端,已经不能完全适应当代化工业高速发展。随着嵌入式技术迅猛发展,设计高速度、高效率、低成本、高可靠性、操作以便温度采集系统成为当务之急。因此,学习和应用温度采集系统及其应用技术对咱们后来学习和工作有着十分重要意义。
在这次课程设计过程中,我深深感触到了团队合伙重要性,特别是在当今社会工作中,一种人力量在一种巨大任务前是那么渺小,必要靠多人合伙才干共同完毕。在设计规划过程,咱们小组四个人密切无间合伙,使得本次课程设计可以非常顺利地完毕,在课程设计过程中,每个人都能按规定较好完毕分派给自己任务,最后人们一起通过讨论把所有任务串连起来完毕总设计任务。
通过本次课程设计,让我较好锻炼了理论联系实际,与详细项目、课题相结合开发、设计产品能力。既让咱们懂得了如何将理论应用于实际,又让咱们懂得了在实践中遇到问题如何用理论去解决。在设计过程中,总是会遇到这样或那样问题。有时一种问题也许会需要人们集体去查阅资料,做大量工作,花大量时间才干解决。通过不断地发现问题,解决问题,自然而然,我发现问题和解决问题能力便在其中建立起来了。这都为后来工作积累了经验,同步也增强了咱们解决问题能力。
参照文献
[1] 周立功,ARM嵌入式系统基本教程[M].北京:北京航空航天大学出版,.
[2] 周立功,进一步浅出ARM7-LPC213X/214X[M].北京:北京航空航天大学出版社,.
[3] 周立功,从51到ARM-32位嵌入式系统入门[M].北京:北京航空航天大学出版社,.
[4] 王田苗,嵌入式系统设计与实例开发[M].北京:清华大学出版社,.
[5] 杜春雷,ARM 体系构造与编程[M].北京:清华大学出版社..
[6] 王中训 李树起等,基于水温控制数据采集系统[M].煤矿机械出版社,.
展开阅读全文