网站地图| 免费获取|
毕业论文网
  • 网站首页|
  • 论文范文|
  • 论文降重|
  • 职称论文发表|
  • 合作期刊|
  • 论文下载|
  • 计算机论文|
  • 外文翻译|
  • 免费论文|
  • 论文资料|
  • 论文开题报告
搜索

当前位置:毕业论文网 -> 免费论文 -> 电气工程 -> 嵌入式系统在多点温度控制中的应用(八)
自动化论文范文| 电子机电论文| 测控技术论文| 通信专业论文| 电气工程论文| 通信工程论文| 电子信息工程论文| 免费自动化论文| 免费电子论文| 免费电气论文| 免费通信论文

嵌入式系统在多点温度控制中的应用(八)

最新活动:微信集50个赞就可获取任意一篇钻石会员文档。详情见微信集赞换文档
嵌入式系统在多点温度控制中的应用(八) 关系如图3-3所示。
 
                        图3-3
 2).任务间的通信
 在μC/OS-II中,有多种方法可以保护任务之间的共享数据和提供任务之间的通信,下面介绍三种:
 一是利用宏OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()来关闭中断和打开中断。当两个任务或者一个任务和一个中断服务子程序共享某些数据时,可以采用这种方法。
 二是利用函数OSSchedLock()和OSSchedUnlock()对任务调度函数上锁和开锁,禁止任务调度。用这种方法也可以实现数据的共享。
 三是任务间的通信和同步采用信号量、邮箱和消息队列来实现的。
 
 3).内存管理
 采用把连续的大块按分区来管理。每个分区中包含有正整数个大小相同的内存块,μC/OS-II对malloc()和free()函数进行了改进,使得它们可以分配和释放固定大小的内存块。用户的应用程序可以从不同的内存分区中取得不同大小的内存块,但是特定的内存块在释放时必须重新放回它以前所属于的内存分区。采用这种内存管理方法,解决了内存碎片问题。
 主要相关函数:建立内存分区(OSMemCreate()),分配内存块(OSMemGet()),释放内存块(OSMemPut())。
 4). 时间管理
 μC/OS-II要求用户提供定时中断来实现延时与超时控制等功能,这个定时中断成为时钟节拍,它一般每秒发生10至100次,时钟节拍的频率越高,系统的负荷越严重。其实际大小可由用户的应用程序来决定。时间管理主要是完成任务的延时及系统时间的更改。

3.1.2.3针对应用对内核进行的扩充
 由于μC/OS-II仅是一个实时内核,不像其它的实时操作系统那样提供给用户的只是一些API函数接口,把它移植到目标硬件平台只是系统设计工作的开始,还需要针对实际的应用需求对其进行功能扩展,包括底层的硬件驱动、文件系统、用户图形接口(GUI)、网络功能等,从而建立一个实用的RTOS。下面仅对外设及驱动程序进行论述。
 外设驱动程序可以对系统提供访问外围设备的接口,把操作系统(软件)和外围设备(硬件)分离开来。当外围设备改变的时候,只需更换相应的驱动程序,不必修改操作系统的内核以及运行在操作系统的软件。下面仅建立用到的外设驱动程序标准接口。
 ⑴ 串行口(UART)
 串行口符合RS-232标准,通信的最高速度可以达到115200bps。建立的接口函数如下:
 Uart_Init
定义:void Uart_Init (INT16U mclk, INT16U baud);
功能:初始化串行口,设置串行口通信的波特率
参数说明:
  mclk:系统的主时钟频率。
  baud:所设定的串行口通信波特率
Uart_SendStr
定义:void Uart_SendStr(char * str,…..);
功能:输出字符串到串口
参数说明:
 str:输出到串行口的字符串。
Uart_Getch
定义:char Uart_Getch();
功能:接收串口的数据,收到数据时返回,返回串口接收到的数据。
Uart_Sendch
定义:void Uart_Sendch(char data)
功能:向串口发送数据
参数说明:
 data:发送的数据
 ⑵ 液晶显示驱动程序
 系统设计中选用的LCD是北京精电蓬远显示技术公司生产的MGLS-12864,内部有控制电路,在系统的内存里开辟了一块内存作为液晶屏显示的后台缓冲区LCDBuffer,用于保存要显示的内容。对于不同的液晶屏显示只需要改动LCD128.C和LCD128.H中的程序即可。
 液晶模块有两种工作模式:图形方式和文本方式。在图形方式下,模块上的缓冲区映射的是液晶屏上显示的图形点阵;在文本方式下,模块上的缓冲区对应的是液晶屏上显示的文本字符,包括英文字符和英文标点符号。在此对汉字显示仅作演示之用。
 液晶屏的操作主要包括:初始化、设置工作模式(文本或者图形)、更新显示。接口函数如下:
LCD_Init
定义:void LCD_Init(void);
功能:初始化LCD,在系统启动时此函数被调用。
LCD_Pritf
定义:void LCD_Printf(char *str,…);
功能:在LCD的文本方式下输出字符串。
参数说明:
 str:所输出的字符串
LCD_ChangeMode
定义:void LCD_ChangeMode( INT8U mode);
功能:改变LCD的工作模式
参数说明:
 mode: 设定的LCD的显示模式,0 表示文本模式, 1 表示图形模式
LCD_Refresh
定义:void LCD_Refresh (INT8U col,INT8U row ,char *str )
功能:更新LCD的显示,把后台缓冲区LCDBuffer[][]中的内容更新到LCD的显示屏上。
参数说明:
 col: 显示字符串的起始列数。
 row: 显示字符串的起始列数。
 str: 需要显示的内容
 ⑶ 键盘驱动程序
 键盘的相关驱动函数如下:
GetKey
定义:INT8U GetKey ( );
功能:获得被按下的键数,返回值中指示出哪个键被按下。
GetScanKey
定义:INT8U GetScanKey ( )
功能:对各个按键进行扫描,从而确定其状态。相应位指示其是否被按下(1 表示按下,0表示断开)。
 ⑷ A/D驱动程序
 系统中采用20位模数转换器LTC2430,完成对温度信号的测量,将模拟信号转换成相应的数字信号之后,传给处理器进行相关的处理。根据其转换特性,设计的函数接口如下:
2430_Check
定义:INT8U  2430_Check ( );
功能:检查本次模数转换是否完成。返回值为0时,正在进行转换,否则转换结束。
2430_ReadValue
定义:INT16U 2430_ReadValue ( )
功能:读取转换结果并返回其值。
3.2嵌入式系统软/硬件协同设计技术
 传统的嵌入式系统的设计方法如图3-4所示,硬件和软件的分为两个独立的部分,有硬件工程师和软件工程师按照拟定的设计流程分别完成。这种设计方法只能改善硬件/软件各自的性能,而有限的设计空间不可能对系统做出较好的性能综合优化。20世纪90年代初,国外有些学者提出“这种传统的设计方法,只是早期计算机技术落伍的产物,它不能求出适合于某个专用系统

首页 上一页 5 6 7 8 9 10 11 下一页 尾页 8/20/20

嵌入式系统在多点温度控制中的应用(八)由毕业论文网(www.huoyuandh.com)会员上传。
原创论文资料流程 相关论文
上一篇:免费基于单片机控制的电子密码锁 下一篇:汽包水位控制方案的比较分析
推荐论文 本专业最新论文
Tags:嵌入式 系统 温度控制 应用 2010-03-27 21:47:41【返回顶部】
精彩推荐
发表论文

联系方式 | 论文说明 | 网站地图 | 免费获取 | 钻石会员 | 硕士论文资料


毕业论文网提供论文范文,论文代发,原创论文资料

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 17304545@qq.com

Copyright@ 2009-2020 毕业论文网 版权所有