嵌入式控制系统_第1页
嵌入式控制系统_第2页
嵌入式控制系统_第3页
嵌入式控制系统_第4页
嵌入式控制系统_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、嵌入式控制系统综合实验报告姓 名 杨荣宗学 号 913110200228学院(系) 自动化学院专 业 自动化 同组人杨薛磊 913110200229昝仁杰 913110200228标 题 基于S3C2410处理器辅以Linux系统对直流电机转速的控制指导老师吴益飞南京理工大学2016 年 12 月1 引言随着数字化时代的不断发展,嵌入式控制系统技术已经成为了一个备受关注的项目,在许多领域内,如数据网络、工业控制、医疗卫生、航空航天等都有嵌入式系统技术的应用。随着嵌入式系统市场的不断扩展,嵌入式系统正处于快速发展时期。在硬件方面,各大电子厂商相继推出了自己的嵌入式芯片;在软 件方面,各种嵌入式操

2、作系统,如Vxworks、pSOS、Neculeus 和 Windows CE 等,陆续登陆市场。而作为嵌入式大集体的一项重要组成,Linux正在嵌入式领域内稳步发展。Linux 使用 GPL,所有对特定开发板、掌上机、可携带设备等使用嵌入式 Linux 感兴趣的人都可以从因特网上免费下载其内核和应用程序,并开始移植和开发。许多Linux改良品种迎合了嵌入式市场,它们包括 RTLinux(实时 Linux)、uclinux(用于非MMU设备的Linux)、Montavista Linux(用于ARM、MIPS、PPC的Linux分发版)、ARM-Linux(ARM 上的 Linux)和其它Li

3、nux 系统。本课程实验的硬件平台是基于ARM体系结构,由北京博创兴业科技有限公司开发的 UP-NetARM2410-S 实验仪器。UP-NetARM2410-S 的CPU为ARM920T 内核的三星 S3c2410A 芯片,有MMU可以运行标准的 ARM-LINUX 内核。2 系统设计2.1 嵌入式 Linux 开发环境的建立 在进行系统设计之前,要先建立好Linux的开发环境,其开发环境的建立主要分为以下几步: (1)配置网络。包括配置IP地址、NFS服务、防火墙。网络配置主要是要安装好以太网卡,对于一般常见的RTL8139网卡,REDHAT9.0可以自动识别并自动安装好,完全不要用户参与

4、,因此建议使用该网卡。但对于REDHAT9.0,默认是打开了防火墙,因此对于外来的IP访问全部拒绝,这样其它网络设备根本无法访问它,许多网络功能都将无法使用。因此网络安装完毕后,应立即关闭防火墙。操作如下:点击红帽子开始菜单,选择安全级别设置,选中无防火墙。在系统设置菜单中选择服务器设置菜单,再选中服务菜单,将iptables服务的勾去掉,并确保nfs选项选中。 (2)配置NFS。点击主菜单运行系统设置>服务器设置>NFS服务器(英文为:SETUP>SYSTEMSERVICE>NFS),点击增加出现如下在界面,在目录中填入需要共享的路径,在主机中填入允许进行连接的主机I

5、P地址,选择允许客户对共享目录的操作为只读(Readonly)或读写(Read/write)。 (3)远程登录试验箱。新建Linux终端,执行Ping命令测试是否和实验箱通信。若收到返回的字节信息,说明可以通信。用Telnet命令实验远程登录,用户名为root,无密码。 (4)挂载Linux系统。在试验箱终端执行mount命令,将Linux系统下的“/arm2410s”文件夹挂载到实验箱的“/mnt/nfs”文件夹。 (5)设置共享文件夹。在Linux系统下设置共享文件夹,实现和windows系统的文件共享,这样就可以在windows环境下编写代码,在Linux系统中完成编译。2.2 系统功能

6、简介本系统主要实现了控制直流电机的转速控制。这其中:Enter控制电机的启停,通过实验箱上面的AD模块中电位器的旋转不同和通过实验箱上面的键盘模块中按键的不同,从而改变pwm的参数值,改变电机的转速。2.3 系统硬件原理 根据系统与实验箱之间的配置关系,构建硬件原理图如下:图2.1系统硬件原理图2.4 系统软件原理 根据系统的功能可构建软件流程图如下:图2.2 系统软件流程图2.5 系统各功能设计2.5.1 键盘的开闭本次实验中,我主要负责键盘的打开和关闭,键盘的打开和关闭是系统成功实现的前提,键盘只有打开了才能进行后续工作,键盘的打开和关闭的代码主要是用了老师给的代码,在原来的基础上对代码进

7、行了稍加修改,现将关键代码及注释如下:(1)键盘打开:int KBD_Open(void) int i;/定义循环变量fd = open(KEYBOARD, O_RDONLY | O_NONBLOCK);/以只读、非堵 塞的方式打开键盘设备if (fd < 0)/条件判断 printf("%s - Can't open keyboard!n", _FUNCTION_);/键盘打开失败return -1;elseprintf("OK keyboard!n");/键盘打开成功for (i=0; i<sizeof(scancodes)/si

8、zeof(scancodes0); i+)scancodesi=MWKEY_UNKNOWN; /扫描键盘,查询是否按键并判断按键是否有效 for (i=0; i< sizeof(keymap)/sizeof(keymap0); i+)scancodeskeymapi.scancode=keymapi.mwkey; /扫描键盘,利用虚拟键码进行查询表中按下的键的功能return fd;/返回fd (2)键盘关闭:void KBD_Close(void)/键盘关闭函数close(fd);fd = -1;/关闭键盘2.5.2 键值的获取 将程序导入实验箱,需要用实验箱上对应的键来控制电机的转速

9、,而该部分程序就是实现键值的获取从而实现对转速的控制,关键代码如下: char get_key(void) int keydown=0;char key=0; MWKEYMOD modifiers;MWSCANCODE scancode;while(1)keydown=KBD_Read(&key, &modifiers, &scancode); if(keydown=1)keybufpWrite+=key;if( pWrite >= KEY_BUF_LEN)pWrite %= KEY_BUF_LEN;KEY_BUF_FULL=1; return key; 3 实验

10、心得 本次嵌入式实验设计为期一周,因为在大三的时候有学习过嵌入式这门课程,所以在进行系统设计时有一定的思路,但在设计过程中,还是遇到了不少问题,首先是对于Linux的操作系统熟悉上,因为之前没有接触这个系统,所以入门此次设计有点困难,然后是编译问题,尤其是在将程序导入实验箱的时候,如何用键盘来控制转速是一个难点,在这个问题上,我们小组通过调试,仍然没有解决,在询问其它小组和吴老师的帮助下,我们终于找到了问题所在,是代码的顺序出错,改正之后,系统就可以正常运行了。本次嵌入式实验时间虽短,却让我受益匪浅,从中更是学习到了如何运用Linux进行系统设计。最后,感谢本组成员和班里同学的大力支持与帮助,感谢

温馨提示

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

评论

0/150

提交评论