嵌入式PH值检测系统.doc_第1页
嵌入式PH值检测系统.doc_第2页
嵌入式PH值检测系统.doc_第3页
嵌入式PH值检测系统.doc_第4页
嵌入式PH值检测系统.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2010年嵌入式系统设计课程设计任务书2010年10月18日一 考核方式根据本课程教学大纲“鼓励通过做针对特定系统的嵌入式系统设计方式进行考核”精神,本次考试的考核采用“嵌入式系统设计”课程设计方式进行。二 题目鼓励研究生根据所在课题组的嵌入式系统方面的实际课题进行本课程设计的选题。所选题目、设计任务、设计内容均须征得研究生的导师和本课程的任课教师的同意,不得泄露所在课题组的技术秘密,不得侵犯他人知识产权。允许不受下面规定内容的约束,根据实际课题的需要,有侧重的进行嵌入式系统硬件、或者嵌入式系统软件方面的设计,但是设计工作量必须与下面提出的设计要求相当同时要征得该研究生导师的书面同意。如果课题组没有实际课题,可以由研究生根据本课程内容和本人所学专业的研究情况自行拟定题目。如:温度测量嵌入式系统设计、光电系统中的嵌入式系统设计、嵌入式INTERNET网关系统设计、基于DSP的电机伺服控制系统、多媒体相关系统、智能手机某某(如音频、视频等)子系统设计等等。课程设计内容不得涉密。三 设计内容(非实际课题)本次设计鼓励用ARM微控器和DSP数字信号处理器,如PLC2000系列、S3C44B0系列、S3C2000 ARM 9系列微控器进行课程设计。鼓励用TMS 360 C/F 28X系列、TMS 360 C/F 6000、Blackfin 5xx系列等数字信号处理器进行课程设计。并且,也允许根据需要采用其它非ARM微控器,如PowerPC 微控器。 设计内容应该包括: (1) 概述 简述所设计系统的发展历史、发展现状、发展方向等。(2) 系统原理 详细描述该系统的工作原理,设计依据,设计方法、技术路线、实时性要求及相关的调度、控制、处理、各种不同方案的比较与论证等。(3) 硬件系统设计 包括:(3-1)硬件系统需求分析及芯片选型设计包括根据需求进行芯片选型的分析、比较;进行频率、功率、电平方面估算。(3-2)基本系统(含存储系统设计)硬件设计;包括电源、时钟、复位、flash程序存储、SDRAM动态存储,容量、要考虑存储系统的地址分配、读写控制等。 (3-3)接口硬件设计可以从串口、并行口、键盘、LED或液晶显示、A/D口、D/A口、读写控制等进行选择,但必须进行键盘、LED或液晶显示设计。(3-4)电路设计(电源、去耦、放大、滤波、光电隔离等)、元器件选型设计、元器件和电路参数计算。(4) 硬件系统电路原理图 用Protel绘出硬件系统电路原理图。(5) 软件系统设计 包括软件实时环境支撑(如:有没有实时操作系统支持,鼓励使用mC/OS-)、嵌入式系统的主要数据结构(如:常量、变量、结构、栈、队列、链表等)、程序结构(如:主程序、子例程、实时响应和实时调度的程序、中断处理及中断服务子例程等的结构)、软件算法。可以用流程图、伪码等详细描述,并且辅之以必要的文字说明和解释。所设计系统的初始化部分要求实际编程;其余部分不强制要求实际编程,但鼓励用C语言实现。 四 评分标准(非实际课题)(1) 概述部分满分10分。其中:发展历史满分2分、发展现状满分3分、发展方向满分3分、其他满分2分。(2) 系统原理部分满分15分。其中:工作原理满分5分、设计依据和设计方法满分5分、其他满分5分。(3) 硬件系统设计部分满分30分。其中:硬件系统需求分析芯片选型设计满分8分、基本系统设计满分8分、接口设计(包括端口地址译码)满分8分(必需包括键盘、LED或液晶显示设计)、其他满分6分。(4) 硬件系统电路原理图部分满分15分。凡不用Protel绘出硬件系统电路原理图者本部分得0分。(5) 软件系统设计部分满分30分。其中:嵌入式系统的主要数据结构满分7分、初始化部分满分8分、程序结构和软件算法满分10分、其他部分满分5分。(6)系统实现 可考虑额外酌情加分。五 时间安排 2011年2月20日上午9:00将设计报告交到任课老师实验室(测试中心院内西边一楼平房北边),并且履行签收手续。六 规定1、自行打印本任务书并夹在答题本内或装订到答题本。2、全部设计内容请打印到答题本上或者打印到其他纸张然后粘贴到答题本上。3、提交设计内容软盘(放在U盘上,以学号加姓名为目录名,提交设计报告时拷贝到指定机器备查)。4、只有答题本上内容才能作为评分依据。嵌入式PH值检测系统一、PH值的概念和PH值的测量方法发展历史PH是溶液中氢离子活度的一种标度,也就是通常意义上溶液酸碱程度的衡量标准。PH值越趋向于0表示溶液酸性越强,反之,越趋向于14表示溶液碱性越强,在常温下,PH=7的溶液为中性溶液。PH是1909年由丹麦生物化学家Soren Peter Lauritz Sorensen提出。p来自德语Potenz(means potency, power),意思是浓度、力量,H(hydrogen ion)代表氢离子(H+);有时候PH也被写为拉丁文形式的Pondus hydrogenii(Pondus=压强、压力,hydrogenii=氢)。发展现状当前有很多方法来测量溶液的PH值: 1、在待测溶液中加入PH指示剂,不同的指示剂根据不同的PH值会变化颜色,根据指示剂的研究就可以确定PH的范围。滴定时,可以作精确的PH标准 2、PH试纸和标准比色卡。使用PH试纸PH试纸有广泛试纸和精密试纸,用玻棒蘸一点待测溶液到试纸上,然后根据试纸的颜色变化并对照比色卡也可以得到溶液的PH。上方的表格就相当于一张比色卡PH试纸不能够显示出油份的PH,由于PH试纸以氢铁制成和以氢铁来量度待测溶液的PH值,但油中没含有氢铁,因此PH试纸不能够显示出油份的PH。 3、使用PH计PH计是一种测量溶液PH值的仪器,它通过PH选择电极(如玻璃电极)来测量出溶液的PH。发展方向各种测量PH值的电子仪器主要利用电位法测得PH值,而且今后的发展趋势也主要利用这一方法。电位分析法所用的电极被称为原电池。原电池是一个系统,它的作用是使化学反应能量转成为电能。此电池的电压被称为电动势(EMF)。此电动势(EMF)由二个半电池构成。其中一个半电池称作测量电极,它的电位与特定的离子活度有关如 ;另一个半电池为参比半电池,通常称作参比电极,它一般是测量溶液相通,并且与测量仪表相连。例如,一支电极由一根插在含有银离子的盐溶液中的一根银导线制成,在导线和溶液的界面处,由于金属和盐溶液二种物相中银离子的不同活度,便形成离子的充电过程,并形成一定的电位差。失去电子的银离子进溶液。当没有施加外电流进行反充电,也就是说没有电流的话,这一过程最终会达到一个平衡。在这种平衡状态下存在的电压被称为半电池电位或电极电位。这种(如上所述)由金属和含有此金属离子的溶液组成的电极被称为第一类电极。此电位的测量是相对一个电位与盐溶液的成分无关的参比电极进行的。这种具有独立电位的参比电极也被称为第二电极。对于此类电极,金属导线都是覆盖一层此种金属的微溶性盐(如:Ag/AgCL),并且插入含有此种金属盐限离子的电解质溶液中。此时半电池电位或电极电位的大小取决于此种阴离子的活度。此二种电极之间的电压遵循能斯特(NERNST)公式:E=E0+ RT1n a MenF式中:E电位E0电极的标准电压R气体常数(8.31439焦耳/摩尔和)T开氏绝对温度(例:20=273+293开尔文)F法拉弟常数(96493库化/当量)n被测离子的化合价(银=1,氢=1)aMe离子的活度二、系统原理本设计通过测量溶液的导电性, 由ARM 处理器分析对比采集的数据,测出并显示溶液的PH值。由以下部分组成:电源模块、数据采集模拟放大模块、ARM 处理器、键盘模块、LCD 显示模块、串口模块等。总体设计图如下:1、 电源模块,提供所需的电源。2、 数据采集模拟放大模块,将测得溶剂PH值电信号采集、放大、去噪,而后传递给处理器处理。3、 ARM 处理器,通过AD转化接收溶剂PH值电信号,对用户要求做出处理。4、 键盘模块,输入用户要求,例如显示数据、记录数据、参数调整等。5、 LCD 显示模块,输出PH测量值。6、 串口模块,实现数据与PC的交互,和远程通信。三、硬件选型 ARM处理器:意法半导体公司生产的32位ARM7处理器之一STR710FR2。电源模块:LM2575系列开关稳压集成电路。LCD 显示模块:LCD1602。数据采集模拟放大模块:输入阻抗为T级的CA3140为放大器。I2C(InterIntegrated Circuit)总线用于连接微控制器及其外围设备。1、ARM处理器:本设计采用意法半导体公司生产的32位ARM7处理器之一STR710FR2,这款ARM7芯片具有很多与其他处理不同的特点。STR710FR2芯片内部结构图a、片内集成高达256+16K字节的FLASH存储器,重要的是其内部的16K字节的FALSH空间,本设计利用此特点,可以在程序运行的时候存储电极的有关参数;片内集成高达64KB的RAM存储器,它可以提供系统运行所需要的空间,从而省略了外扩存储器。b、该微控制器片上有2个内部电源稳压器,可以产生1.8伏电压,为内核和外设供电。当系统进入Standby、Low Power、Wait for Interrupt 以及LPWFI等低功耗模式后,主电源稳压器被关闭,低功耗电源稳压器开始工作,这为便协式设备提供了多种省电模式。c、该处理器有四通道12位高速模拟/数字转换器,能在在单次模式或者持续转换模式下实现单通道或四通道的转换,为系统完成高速度高精度模数转换。从而省略了外加高精度模拟/数字转换芯片,减少了系统的复杂度和成本。STR710FR2芯片各部件介绍:CPU为ARM7TDMI 32-bit RISC CPU即ARM7内核32位精简指令集并支持16位压缩指令集Thumb;支持片上Debug;内嵌硬件乘法器;嵌入式ICE,支持片上断点和调试点处理器。处理器的特性: 59 MIPS 66 MHz from SRAM 45 MIPS 50 MHz from Flash芯片引脚表芯片内Memories特性:多达256Kbytes Flash program memory 16K bytes Flash data memory多达64 Kbytes RAM为SRAM, Flash, ROM提供外部存储接口(EMI)多达4排多重启动功能芯片内时钟复位和电源特性: 3.0 至 3.6V 的供电 内部1.8V 调整器为内核供电 时钟频率从0到16.5MHz 内嵌实时时钟芯片从外部32 kHz晶体振荡产生运行 为 CPU 时钟提供内嵌锁相回路 为时钟日历功能提供实时时间 5种模式: SLOW, WAIT,LPWAIT, STOP 和 STANDBY 模式4条频道的 12位A/D 转换 参考频率到达1kHz 转换幅度: 0到2.5V2、模拟放大采用同向反馈放大电路,因为溶液的内阻非常大(一般为100M级),因此我们采用输入阻抗为T级的CA3140为放大器,并且为了不影响输入阻抗匹配,本设计采用通向输入负反馈以达到小信号放大的目的;为了加大放大的精度并且增强稳定性。功能简介:电源电压2-18V。开环电压100dB。输入偏置电流5pA。转换速率9V。输出电压13V。极限参数:直流电源电压(V+和V -端子) 36V最大存储温度范围 -65 to 150差模输入电压 8最大结温(塑料封装) 150直流输入电压 (V+ +8V) To (V- -0.5V)最大结温(金属罐封装) 175输入端电流 1mA温度范围-55 to 125输出短路持续时间(注2 ) 无限期CA3140引脚图引脚功能:1脚OFFSET NULL 偏置(条令端)2脚INV.INPUT 反向输入端3脚NON-INV INPUT 同向输入端4脚V- 电源-5脚OFFSET NULL 偏置(条令端)6脚OUTPUT 输出7脚V+ 电源+8脚STROBE 选通端3、电源模块:LM2575系列开关稳压集成电路是美国国家半导体公司生产的1A集成稳压电路,它内部集成了一个固定的振荡器, 只须极少外围器件便可构成一种高效的稳压电路,可大大减小散热片的体积,而在大多数情况下不需散热片;内部有完善的保护电路,包括电流限制及热关断电路 等;芯片可提供外部控制引脚。是传统三端式稳压集成电路的理想替代产品。主要参数如下:最大输出电流:1A; 输入电压:4V-40V; 输出电压:1.23V-37V;振荡频率:54kHz;最大稳压误差:4%;转换效率:75%88%(不同的电压输出的效率不同);工作温度范围:-40+125。VIN:未稳压电压输入端; OUTPUT:开关电压输出,接电感及快恢复二极管;GND:公共端;FEEDBACK:反馈输入端;ON/OFF:控制输入端,接公共端时,稳压电路工作;接高电平时,稳压电路停止。 4、LCD显示模块为使用者提供人机交互界面,其中LCD采用LCD1602。1602LCD主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极引脚接口说明表1602液晶模块内部的控制器共有11条控制指令介绍:序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容5、I2C总线通信的原理与特点I2C(InterIntegrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。I2C总线的另一个优点是,它支持多主控(multimastering), 其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。在任何时间点上只能有一个主控。三、硬件系统电路原理图ARM7TDMI 32-bit RISC CPU图FLASH M28W320ECB图SRAM TC55V8200FT-12图RS232 ST3232图LM2575图LCD LWM 1602图CA3140图四、软件部分本设计软件部分采用实时操作系统UCOS-II协调PH数据采集、I2C通信、LCD显示等任务软件模块,最终实现系统快速精确的运行。1、 UCOS-II在ARM中移植的基本步骤a、 编写头文件OS_CPU.H,其中包括用#define设置一个常量的值,声明10个数据类型,用#define声明三个宏。b、 用C语言编写六个简单函数,包括OSTaskStkInit()、OSTaskCreakHook()、OSTaskDelHook()、OSTaskSwHook()、OSTaskStatHook()、OSTaskTickHook()等等。其中只有函数OSTaskStkInit()必须编写代码,其它五个函数必须要声明但是不一定要包含代码。本设计根据实际需要,只对上述五个函数进行声明。c、 用汇编语言编写四个函数,包括OSStartHighRdy()、OSIntCtxSw()、OSCtxSw()、OSTickSR()等等。其中函数的原型如下:void OSStartHighRdy(void)Call user definable OSTaskSwHook();Get the stack pointer of the task to resume:Stack pointer=OSTCBHighRdy-OSTCBStkPtr;OSRunning=TRUE;Restore all processor registers from the new tasks stack;Execute a return from interrupt instruction;void OSIntCtxSw(void)调整堆栈指针来去掉在调用:OSIntExit(),OSIntCtxSw()过程中压入堆栈的多余内容;将当前任务堆栈指针保存到当前任务的OS_TCB中:OSTCBCur-OSTCBStkPtr=堆栈指针;调用用户定义的OSTaskSwHook();OSTCBCur=OSTCBHighRdy;OSPrioCur=OSPrioHighRdy;得到需要恢复的任务的堆栈指针:堆栈指针=OSTCBHighRdy-OSTCBStkPtr;将所有处理器寄存器从新任务的堆栈中恢复出来;执行中断返回指令;void OSCtxSw(void)保存处理器寄存器;将当前任务的堆栈指针保存到当前任务的OS_TCB中:OSTCBCur-OSTCBStkPtr=Stack pointer;调用用户定义的OSTaskSwHook();OSTCBCur=OSTCBHighRdy;OSPrioCur=OSPrioHighRdy;得到需要恢复的任务的堆栈指针:Stack pointer=OSTCBHighRdy-OSTCBStkPtr;将所有处理器寄存器从新任务的堆栈中恢复出来;执行中断返回指令;2、软件程序工作流程第一步,硬件系统初始化,初始化中断堆栈,建立中断向量表,建立所有任务;/堆栈初始化AREA |.text|, CODE, READONLYIMPORT _use_two_region_memoryEXPORT _user_initial_stackheap_user_initial_stackheapLDR R0, = Heap_MemLDR R1, =(Stack_Mem + USR_Stack_Size)LDR R2, = (Heap_Mem + Heap_Size)LDR R3, = Stack_MemBX LRENDIF第二步,初始化任务堆栈,倍频时钟信号至48M提高硬件的工作速度,设置内部时钟,开启I2C和串口UART0通信模块;第三步,函数OSInit()初始化实时操作系统ucos-ii,函数OSTaskCreate()启动第一个任务(在第一个任务中启动所有任务),函数OSStart()开始调度多任务;int main(void)RCCU_Div2Config(ENABLE); / 使能 DIV2RCCU_MCLKConfig(RCCU_DEFAULT); / 配置 MCLK = RCLKRCCU_FCLKConfig(RCCU_DEFAULT); / 配置 FCLK = RCLKRCCU_PCLKConfig(RCCU_DEFAULT); / 配置 PCLK = RCLKRCCU_PLL1Config(RCCU_PLL1_Mul_12, RCCU_Div_2) ; / 配置 PLL1 ( * 12 , / 2 )while(RCCU_FlagStatus(RCCU_PLL1_LOCK) = RESET); / 等待时钟稳定RCCU_RCLKSourceConfig(RCCU_PLL1_Output) ; / 选择 PLL1_Output 作为RCLK的时钟频率/通过以上设置主频率将成为 48 M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论