一种基于MODBUS的嵌入式人机界面的设计与实现 电子技术

时间:2019-05-14 15:35:30下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《一种基于MODBUS的嵌入式人机界面的设计与实现 电子技术》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《一种基于MODBUS的嵌入式人机界面的设计与实现 电子技术》。

第一篇:一种基于MODBUS的嵌入式人机界面的设计与实现 电子技术

欢迎到访我的豆丁主页:http://www.xiexiebang.com/hechaoscut(文档精灵)本文格式为WORD,能编辑和复制,感谢您的阅读。

一种基于MODBUS的嵌入式人机界面的设计与实现

错误检测主程序 ">

现场总线是一种用于底层工业控制和测量仪表之间的总线,人机界面设备就是作为现场总线中,控制器和操作者之间的通信员它可以完成现场控制器与操作者之间数据的接收和发送。本设计使用Atmel单片机89C52作为主要控制芯片,用以东芝丁6963C为控制芯片的128*64液晶比O作为显示界面,采用工业标准通信协议MOOBUS作为数据信息交互的介质,主要功能是完成对工业网络中现场控制器数据的采集显示,根据需要设定数据并发送到现场控制器完成控制任务,实现人机之间控制信息的交互传送。文章分别介绍了硬件设计电路和软件的设计过程,并介绍了一种好用和简单的MOOBUS从设备调试工具 Modbus slave。

系统硬件电路框图如图2。

电路部分十分简单,包括看门狗电路、4个按键的直接连接、程序扩展电路、RS232电平转换部分、液晶点阵连接部分。

MAX7OS的功能是:上电复位程序监视。89C52正常工作,执行喂狗程序时,不断从P17输出脉冲信号至MAX705的WDI脚,当单片机程序跑飞后,Pl.7不再输出脉冲信号MAX705的WDI脚在1.6S内收不到脉冲信号,将在MAX70S的RESTE端产生高电平,产生复位信号,将单片机复位,迫使程序复位到入口处。

针对AT89C52硬件资源比较丰富,考虑采用直接方式设计键盘电路,而且可以简化电路。键盘采用4个开关直接控制。开关的一段通过电阻连接电源和 欢迎到访我的豆丁主页:http://www.xiexiebang.com/hechaoscut(文档精灵)本文格式为WORD,能编辑和复制,感谢您的阅读。

AT89C52的P10~P13管脚,而另一端接地。由于P10~P13是低电平工作,当不同的开关接通时,根据采集到不同端口是高还是低电平,来执行相应的按键子程序。

考虑到使用LCD具有较强的表现能力和丰富的表现方式,所以扩展了32K的EPROM27256。是为实现产品升级,完成丰富菜单,强大功能,表现动画准备的。

128*64液晶显示器LCO采用直接访问方式,直接访问方式是把内置T6963C控制器的液晶显示模块作为存储器或I/O设备直接挂在单片机的总线上。模块的数据线接单片机的数据总线上,片选及寄存器选择信号线由单片机的地址总线提供,读和写操作由单片机的读写操作信号控制。按口电路如图2所示,在图中使用了地址线AS作为模块的寄存器选择线C/D,使用地址线A15作为模块操作的片选线;模块的VO端所接的电位器是作为液晶驱动电源的调节器,调节显示的对比度。使用该种连接方式,不用考虑T6963C的时序图,不用对LCD的管脚进行单独的操作来满足时序,就像读写外部RAM一样,笔者认为比采用要在程序中实现时序的间接访问连接方式方便。

考虑到在常温下,LCD的额定电流为0。4ma所需的功率很小,再加上RS232串口集成电路MAX232有两路发送器、两路转换器,使用其中一套完成电平转换用来通信,另一套正好用来产生-10V,该电压由MAX232的14端供LCD显示画面使用。

下面介绍软件部分,主要完成一下功能按键的查询和响应、画面的显示和刷新通过MOOBUS协议完成数据的接收和传输通信。

软件结构清晰,按模块分为三大块主程序部分、T0定时中断、串口中断部分。

(1)主程序部分

主程序流程图如图3所示,主要完成一些初始参数的设定,其中LCD的初始化包括:液晶屏的尺寸光标的位置和形状等这部分程序在购买LCD时厂家会附带的,根据需要修改一下即可满足要求;还有就是将需要显示的汉字进行编码。定时器使用的是T0选择方式1,采用50ms中断查询按键,考虑到还有串口中断,使用了默认的中断优先级,即T0中断高于串口中断。这种安排已通过试验调试。在等待中断部分安排了循环执行喂狗程序目的是在程序正常执行时起到看门狗的作用,在等待中断过程中系统又不认为是死机。

欢迎到访我的豆丁主页:http://www.xiexiebang.com/hechaoscut(文档精灵)本文格式为WORD,能编辑和复制,感谢您的阅读。

main: Icall clearmemory;清内存 Icall initlcd;初始化Icd mov sp,#stackpointer;堆栈为65h mov tmod.#21h:t0方式1,t1方式2 mov radixcursor.#10h mov currentpagenumber,#01h;指定初始 页号为1 mov page number,currehtpagenumber setb es setb ea mov th1,#Ofdh;设定波特率9600bps mov tl1.#Ofdh setb tr1;启动定时器t1 mov scoh.#Od0h mov 2ch,用来辅助发送 mov 2bh.#10h Icall setuptimer0;初始化定时器t0,并启动t0 setb ren Icall chaxuhsj;发送查询命令 Icall showpage;显示页面 dieloop: 欢迎到访我的豆丁主页:http://www.xiexiebang.com/hechaoscut(文档精灵)本文格式为WORD,能编辑和复制,感谢您的阅读。

nop Icall feeddog;执行喂狗程序

jmp dieloop;循环等待中断

(2)T0定时中断部分

流程图如图4所示,这部分主要功能是完成按键的查询,并转去执行相应的子程序本系统中一共有四个编程键,依次可实现修改数据、增加值、减少值和翻页功能。当我们按下修改键后(即光标被激活)修改键可以用来移动光标位置此时按增加键和减少键可以分别增加和减少数值。其中翻页键是一个复用键如果直接按翻页键(不激活光标),那么它的功能就是在不同的页面之间切换,并从现场收集各页数据并显示到LCD上:而当光标处在被激活状态下时,按下翻页键就可以向现场控制器(如DSP)发送数据达到控制目的这种一键复用的设计,在电子商品中特别常见通过软件的设计减少了按键的数量,是一个比较有实际价值的设计已被广泛使用。键盘采用50ms定时中断设计,一般人手按键的起落时差远大于50ms所以可以满足设计要求而且在后面软件部分进行了去抖动,等待按键抬起功能的设计。timer0int: pushdph pushdpl pushacc pushpsw movthi0。#4bh 欢迎到访我的豆丁主页:http://www.xiexiebang.com/hechaoscut(文档精灵)本文格式为WORD,能编辑和复制,感谢您的阅读。

movtl0。#Dfdh clrtr0;关定时器

movp1,#Offh;置p1口为输入状态

mova,p1;读按键

epla anda,#00001111b;屏蔽高4位

jzgoret00;无键按下

movpgbkey,a Icalldelay;有键按下delay10ms去抖动

Icallwait;等待按键抬起

Icallseankey;转去执行相应的按键子程序

goret00: setbtr0;开定时器

poppsw popacc popdpl popdph ren(3)串口中断部分

这部分的主要功能是通过MODBUS协议完成数据的查询和发送。先对MODBUS做个简单的介绍该协议通信使用主从技术,即仅主设备能初始化传输(查询)其它设备(从设备),根据主设备查询提供的数据作出相应反应。按传输模式分为ASCII和RTU方式。本设计采用RTU方式。这种方式的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。每个消息必须以连续流的方式传输。

MODBUS协议建立了主设备查询的格式设备地址、功能代码、所有要发送的数据、错误检测域从设备回应消息也由MODBUS协议构成,包括确认要行动的域、任何要返回的数据和错误检测域。如果在消息接收过程中发生错误或从设备不能执行其命令,从设备将建立错误消息并把它作为回应发送出去。

查询查询消息中的功能代码告之被选中的从设备要执行何种功能数据段包含了从设备要执行功能的任何附加信息例如功能代码03是要求从设备读保持寄存器并返回它们的内容。数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量错误检测域为从设备提供了一种验证消息内容是否正确的方法。

回应:如果从设备产生正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应数据段包括了从设备收集的数据:像寄存器值或状态。如果有错误发生功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。

举一个关于功能码03H的例子。

主站询问报文格式:

从站应答格式:

serialportint: 欢迎到访我的豆丁主页:http://www.xiexiebang.com/hechaoscut(文档精灵)本文格式为WORD,能编辑和复制,感谢您的阅读。

push dph push dpl push acc push psw jbc ri, receive Icall chaxunsj;发送查询命令

sjmp return receive: mov r0 ,2bh;指定用来存接收数据的地址指针

mov a,sbufall clr riall mov @r0 ,a inc 2bh mov a,2bh Icall crc;进行crc校验

Icall showpage return: pop psw pop acc pop dpl pop dph reti

欢迎到访我的豆丁主页:http://www.xiexiebang.com/hechaoscut(文档精灵)本文格式为WORD,能编辑和复制,感谢您的阅读。

笔者使用了Modbusslave软件仿真下位机,模拟MOD-BUS的从设备。通过该软件,用所设计人机界面可以读取具体设备的具体各类寄存器的数据,同样可以写数据到指定设备中指定的各类寄存器中,这样就完成了数据的接收和传送。

重要提示: 文档由由 文档精灵 上传,但版权归原作者所有。涉及版权问题请联系原作者。

第二篇:基于ARM-Linux的嵌入式HTTPS服务器与实现.

基于ARM-Linux的嵌入式HTTPS服务器与实现

随着计算机技术和微电子技术的发展,嵌入式系统在工业控制、信息家电、通信设备、智能仪器等领域得到了越来越广泛的应用。在这些领域,网络化、信息化的要求也随着Internet的迅猛发展而逐渐突出,越来越多的嵌入式设备有接入网络实现远程控制的需求,其基本的方法是在嵌入式设备上实现HTTP服务器,通过万维网在客户端用浏览器对设备进行访问。同时,这种方法不可避免地带来互联网上的安全问题,而HTTPS(安全超文本传输协议)是由Netscape公司提出的以SSL(安全套接层)为基础的安全HTTP方法,因此构建嵌入式HTTPS服务器,将有效地为嵌入式设备的网络化提供安全保障。本文对HTTP传输协议和SSL安全协议以及基于ARM的嵌入式技术等关键技术进行了深入的研究。首先分析了HTTPS这个安全传输设施的实现方法,即在标准的TCP/IP参考模型中在HTTP标准协议层和下面的TCP/IP传输协议层之间额外附加一层SSL安全层,紧接着对基于请求/响应模式的HTTP协议的信息交换的基本过程和SSL握手协议的安全加密的详细过程进行了分析与研究。然后,设计了系统的整体架构,硬件采用了应用广泛的32位ARM920T处理器S3C2410,操作系统采用了开源的嵌入式Linux操作系统,应用层的实现以Linux系统调用和OpenSSL开源库为基础。其次,建立了HTTPS服务器的支撑环境,在宿主机上通过Vmware虚拟机技术建立了Linux操作系统并通过一系列的服务配置建立起交叉编译环境;在硬件平台上烧写了系统引导程序bootloader,并以此为基础进行了嵌入式Linux和根文件系统的配置、编译和移植。最后,在深入研究了相关理论后,设计了服务器的基本结构和功能模块,在利用Linux的系统调用和OpenSSL API的基础上,使用C语言实现了基于ARM-Linux的嵌入式HTTPS服务器。实验结果表明,该服务器实现了与客户端浏览器的HTTPS的交互过程,能正确解析浏览器发出的HTTP请求,并根据请求资源和请求方法的不同做出不同的响应,返回给浏览器静态资源或者CGI程序的处理结果。同主题文章

【关键词相关文档搜索】: 信号与信息处理;ARM;Linux;HTTP;SSL 【作者相关信息搜索】: 武汉理工大学;信号与信息处理;王虹;戴帅;

第三篇:基于ARM的嵌入式Linux终端的研讨与实现.

基于ARM的嵌入式Linux终端的研讨与实现

【中文摘要】嵌入式Linux是将普通Linux操纵体系入行剪裁、改动,使之能在嵌入式盘算机体系上运行的一种操纵体系。因为兼有Linux和嵌入式体系的长处,以及ARM Linux因其开放的资源特性,嵌入式Linux体系有着巨大的市场前景和商业机遇。在实际的应用体系中,对操纵体系的实时机能也有一定的请求。好比在通信体系中,如果能对操纵体系的实时机能入行优化,提高体系的响应速度,就可以用软件实现通信协定,下降对硬件的请求,用单芯片实现通信体系,从而下降产品成本。本论文的研讨主要是基于ARM920T硬件平台,该平台主要面向高机能的用户产品开发。在此平台基本上,本文围绕着Linux内核向ARM平台移植中几个核心技术铺开讨论:首先对嵌入式Linux体系体系构造入行了归纳,并详细阐述了与体系移植相关的主要层。接着,给出了启动引导代码Boot Loader和Linux内核初始化部门移植到硬件平台上的整个入程,解决了移植入程中所面临的义务和难题。最后,在对Linux内核驱动模型深入掌握的基本上,深入探讨了QT/Embedded界面的移植。本文最后讨论了一些当前嵌入式Linux实时优化技术。剖析了在胜利移植ARM Linux内核基本上,优化ARM Linux的中止体系,下降体系的中止延时。');【Abstract】 Embedded Linux is an Operating System running on the embedded computer system after cutting and modifying general Linux.Because of the advantages in both open source Linux and embedded system, embedded Linux has large market prospect and commercial chances, now the focus of applications for the embedded Linux has become porting Linux kernel to microprocessor.In some real embedded system applications, real time performances are demanded for operating system like ARM Linux.For example, in communication system, although the speed of ARM920T processors can reach several MHz, the response speed of Linux now is not fast enough.In this case individual hardware communication module should be added to increase the real time performances.If we could optimize the real time property of operating system, then we can realize communication agreement in software, reduce the demand of hardware.Finally we can make communication system in a single chipset and cut down the cost of products.The ***’s research is based on ARM920T hardware platform, which is mainly used for high quality user product developing.On the platform, this text discusses several key technologies about how to porting Linux kernel to ARM platform: first, draw a conclusion of embedded Linux system architecture, and describe related layers of porting system in detail;secondly, write out the whole process on porting Boot Loader and Linux kernel init code to hardware platform, solve faced duties and difficulties;finally, after highly grasp the Linux kernel driver model, deeply discuss porting QT/Embedded inte***ce.Support the project software developing, and greatly reduce the complexity and period in embedded product developing.In the end, we have dropped the conclusion about current cut edge real time technologies for embedded Linux.Based on the successfully ported ARM Linux kernel, optimize its interrupt system, reduce its interrupt delay.

第四篇:嵌入式系统设计与实现试验教学大纲专业方向课

《微型计算机系统与接口技术》实验教学大纲

计算机科学与技术专业(专业基础课)第七学期

一、嵌入式系统教学实验平台配置 1.平台的硬件配置

MICETEK EV44B0II是一个适用于手持设备和一般应用的S3C44B0X处理器的教学开发平台。它包括采用ARM7TDMI的S3C44B0X处理器、8位LCD连接器和触摸屏接口、10MHz外部时钟、1M×16位的FLASH、4M×16位的SDRAM,2个RS232串行口、一个JTAG接口、1个并行调试接口、1个RTC、1个I²C E²PROM、1个10/100MB网络接口、1个USB接口、1个具有扬声器和麦克的音频接口、一位8段码显示器、1个4×4键盘、特殊功能引脚和总线扩展接口。2. 软件开发环境

操作系统和图形界面API采用开源的μCLinux和MicroWindows(GUI)等。开发工具采用上海祥佑数码公司提供的LinuxView软件。它是在WINDOWS环境下用于嵌入式Linux内核调试和应用程序调试的集成开发环境。试和调试硬件和BSP。

二、实验目的

《嵌入式系统设计与实现(实验课)》的实验内容分为2个层次。基本部分目的是让学生了解(认识)嵌入式软件和硬件的一般开发环境与流程;让学生熟悉实验开发工具;掌握实验开发工具的操作方法及使用,熟悉软件编程环境,根据《实验指导书》的内容进行基本的嵌入式程序开发。综合应用部分目的是让学生综合运用前面所学到的知识,按照指定的题目,自行设计开发嵌入式应用程序。

三、基本型和研究性实验

(一)基本实验

实验一

Hitools for uClinux开发环境 1. 实验目的及意义:

熟悉Hitools for uClinux开发环境,学会JEDI仿真器的使用。了解使用Hitools for uClinux进行uClinux开发的基本过程。2.实验要求:

必修

3.实验步骤:

(1)安装 Hitool for ARM supporting uClinux

(2)建立开发环境

(3)配置内核和必要的应用程序

(4)编译内核和根文件系统

(5)调试内核

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验二

44B0 初始化 1. 实验目的及意义:

完成S3C44B0的初试化配置,顺利进入C程序。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端也可连上。

(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。

(3)加载目标文件,运行。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验三

JTAG调试和MDB调试 1. 实验目的及意义:

学会使用 Hitools for uClinux进行系统级调试和任务级调试。2.实验要求:

必修

3.实验步骤:

(1)创建一个新工程,添加源文件hello.c,编译。(2)使用JTAG调试应用。

(3)使用MDB 调试应用程序。

4.试验类型:

设计

5.需开实验组数:

30组 6.消耗材料金额

实验四

Timer调试 1. 实验目的及意义:

用中断方式,定时改变8-SEG的某段的显示时间。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端也可连上。(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验五

FLASH操作调试 1. 实验目的及意义:

熟悉Flash的基本操作方法,完成对BOOT Flash的擦除及烧入。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口),超级终端和EV44B0-II的UART0 相连。

(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)把要烧入的文件下载到SDRAM(注意不要和你所建项目的地址重合)。

(4)加载目标文件,运行。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验六

Keyboard调试 1. 实验目的及意义: 利用其I/O口和外部中断,构成一个键盘扫描电路。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端也可连上。(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验七

UART调试 1. 实验目的及意义:

用中断和BDMA方式,在UART0输出一串字符,然后把在键盘上键入的在超级终端上显示出来。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端也可连上。(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验八

RTC & WDT调试 1. 实验目的及意义:

用RTC功能,在超级终端和LCD上显示小时,分,秒,就象一个时钟,还结合WDT的RESET功能,当在超级终端键入一时,系统重启。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口),依附录连接超级终端和UART0。(2)运行Hitool for ARM, 建立项目并加入五个源文件,编译。

(3)加载目标文件,运行,在超级终端上会要求依次输入年,月,日,星期,小时,分和秒。然后在超级终端显示全部,并在LCD显示小时,分和秒,并实时更新。(4)在PC键盘摁“1”,评估板进入WDT测试,在超级终端上显示0~10,然后在2秒种后重起。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验九

ADC & TOUCH PANEL调试 1. 实验目的及意义:

利用S3C44B0的I/O和ADC,做一个触摸屏的实验。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端也可连上。(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验十

LCD调试 1. 实验目的及意义:

EV44B0-II现配有160*240的黑白的显示屏,本实验就是在其上面显示一个160*240的图片出来,是4bit单扫描的。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端也可连上。(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验十一

IIS调试 1. 实验目的及意义:

EV44B0-II利用IIS接口和PHILIPS的UDA1341TS,完成音频的线路,并结合S3C44B0的BDMA,实现声音的录放。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口),超级终端和EV44B0-II的UART0相连。

(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行,在超级终端会依次提示。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验十二

uClinux下串口设备的使用 1. 实验目的及意义:

学习在uClinux系统中使用串口设备,通过读写该设备对应的设备文件与其他设备通信;同时了解uClinux系统中设备文件与设备驱动程序的关系,以及系统读写调用与驱动程序读写函数的关系。2.实验要求:

必修

3.实验步骤:

(1)将44b0上的uClinux系统启动,在超级终端上运行。

(2)按照MDB的起动步骤,使Hitool For uCinux ARM在MDB方式下调试。(3)用另一条串口线将44b0评估板的com2与计算机的com2连接。新建一超级终端。(4)启动Hitool For uClinux ARM 将编译好的elf文件down下去。

(5)运行程序。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

(二)综合应用实验 实验一

USB调试 1. 实验目的及意义:

利用EV44B0-II上的USB的线路,进行基本的操作,以此来熟悉USB和S3C44BO。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端和EV44B0的UART0相连(见附录)。

(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行,在超级终端出现下图。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验二

ETHERNET调试 1. 实验目的及意义:

利用EV44B0-II上的乙太网的线路,进行基本的操作,以此来熟悉以太网和S3C44BO。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端和EV44B0的UART0相连(见附录)。

(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行,在超级终端出现下图。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验三

TCP/IP网络 1. 实验目的及意义:

熟悉uClinux环境下TCP/IP协议栈的使用,学习如何实现TCP/IP操作,编写CS(client-server)结构的程序,掌握uClinux下TCP/IP编程,学会在Hitools for uClinux环境下使用MDB调试TCP/IP程序。2.实验要求:

必修

3.实验步骤:

(1)编译好一个带MDB的uClinux内核,将linux_bootrom.bin通过Hitools烧录到评估板。(2)查看系统的路由信息。

(3)在Hitools环境下创建一个新工程,添加nettime.c文件,编译。

(4)配置Hitools的调试协议为MDB,启动主机的Target Server。(5)启动服务端程序,选择Hitools菜单Project下的Init Debugger。(6)启动客户端程序,在超级终端中,进入目录/var/tmp ,键入./nettime –c 10.10.16.220 –o 8888 回车。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验四

文件系统操作 1. 实验目的及意义:

熟悉uClinux环境下文件系统,了解uClinux中文件系统的体系结构,编写文件系统处理程序。知道如何添加文件系统到内核中。

2.实验要求:

必修

3.实验步骤:(1)编译好一个带MDB的uClinux内核,将linux_bootrom.bin通过Hitools烧录到评估板。(2)配置启动评估板,利用ifconfig命令配置以太网口,启动MDB。(3)在Hitools环境下创建一个新工程,添加fileop.c文件,编译,配置Hitools的调试协议为MDB,启动主机的Target Server。(4)下载程序,并指定参数/etc/test.tmp。(5)开始调试,观察console中的操作结果。(6)重复1-4,并指定参数为/tmp/test.tmp(7)开始调试,观察console中的操作结果。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验五

uClinux下的web服务器 1. 实验目的及意义:

熟悉Web服务器的工作原理,了解uClinux环境下的Web技术,添加一个Web服务器到uClinux系统中。

2.实验要求:

必修

3.实验步骤:

(1)在按实验内容对程序进行修改后,重新编译uClinux内核,使用HITOOLS中的编程工具,将linux_bootrom.bin通过JEDI烧写到EV44B0II评估板。

(2)使用ifconfig命令,确认EV44B0II的IP地址。(3)运行boa-c /tmp/ &,启动web服务器。

(4)打开PC上的浏览器(如IE6或Netscape)输入EV44B0II的IP作为网址,例如http://192.168.1.125/,这时就可以看到要测试的网页内容。网页内容是/tmp/index.html文件。(5)在lamp number 文本框中,写入“1”,然后点击 “display”。(6)在浏览器上显示“Demo Web Page”。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验六

uClinux下的声音设备的使用 1. 实验目的及意义:

了解S3C44B0提供的IIS总线接口的功能特性,熟悉IIS总线标准,熟悉WAV文件的格式和EV44B0II实验板声音部分的原理,最后通过一个实验程序了解uClinux下声音设备的使用。

2.实验要求:

必修

3.实验步骤:

(1)首先配置Hitool for ARM uClinux,使其以MDB方式调试。(2)运行Hitool。选择Project菜单下的New,新建一工程。(3)增加源文件到新建的sound工程。(4)对工程进行编译。

(5)将程序下载到实验版上进行调试。

(6)本例程序首先将同一目录下的Test.wav播放出来,然后进行3秒的录音。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验七 uClinux下的LCD显示 1. 实验目的及意义:

了解LCD显示原理,学习S3C44B0的LCD控制器特性,熟悉LCD控制器与LCD驱动器的连接接口,了解uClinux下framebuffer显示驱动的使用。

2.实验要求:

必修

3.实验步骤:

(1)首先配置Hitool for ARM uClinux,使其以MDB方式调试。(2)运行Hitool。选择Project菜单下的New,新建一工程。(3)在workspace中我们可以看到一个名为lcd的Project已经建立。下面需要将源程序加入到source files中。鼠标右健点击source files文件夹,选择Add source Files。(4)对工程进行编译。

(5)将程序下载到实验版上进行调试。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

第五篇:基于嵌入式ARM9的USB设计与实现

基于嵌入式ARM9的USB设计与实现

引 言

USB(Universal Serial Bus)是通用串行总线的缩写,因其具有方便易用,动态分配带宽,容错性优越和高性价比等特点,现已成为计算机的主流接口。

随着嵌入式系统的广泛应用,各种小型终端需要开发出与外界联系的USB接口。目前,常用的技术有两种。基于单片机的USB接口,特点是需要外置芯片,电路复杂,留下的CPU资源不多;基于ARM的USB接口,特点是资源丰富,但ARM系列产品较多,如果选型不当,还需要搭接较多的外围电路,且不能很好地发挥CPU性能。USB 接口原理

USB1.1 规范[1]将USB 分为5 部分:控制器、控制器驱动程序、USB 芯片驱动程序、USB设备以及针对不同USB 设备的客户端驱动程序。

(1)控制器(Host Controller)主要负责执行由控制器驱动程序发出的命令。

(2)控制器驱动程序(Host Controller Driver), 在控制器与USB 设备间建立通信

管道(Pipe)。

(3)USB 驱动程序(USB Driver),提供对不同USB 设备及芯片的支持。(4)USB 设备(USB Device), 有两类USB 设备:一类称为功能设备(Function),另

一类是称为USB 集线器(HUB),可以连接多个USB 设备。

(5)USB 设备驱动程序(Client Driver Software)及特定应用程序。主控制器的驱动软件由操作系统支持,USB 设备开发人员一般只需编写客户驱动程序,实现特定功能,设备端所有功能软件需要全面设计。USB 的四种数据传输模式分别是:控制型传输、中断型传输、批量型传输、实时型传输。第一种在缺省通道中传输USB 接口本身的配置等控制信息,后面三种用于功能部件传输数据。中断型用于键盘等的异步输入输出少量数据传输,批量传输主要用于象硬盘等块设备的数据传输,在中断和批量的传输过程中要传递交互握手信号,确保数据准确无误。实时传输对带宽有严格要求,但允许有一定误码,省去了交互握手信号的传递,常用于音视频码流数据传输。四种类型数据都按带宽要求分配在1ms 一帧的数据帧内进行传输,连到端点(EndPoint)通道.1.1嵌入式系统USB 接口设计

要满足高性能ARM嵌入式系统的要求,扩展USB接口必须选择高性能USB控制器芯片,Philips公司的PDISUBD12 USB器件,是与微处理器配合使用的高性能USB接口器件,性价比很高[2][4]。PDIUSBD12主要特性有:

(1)符合USB 1.1 技术规范;

(2)USB控制器并行接口与处理器间的数据传输速度高达2M 字节/秒;(3)在批量模式和同步模式下均可实现1M 字节/秒的数据传输速率;(4)集成了FIFO存储收发器,支持DMA 操作;(5)内置时钟倍频PLL电路,可编程时钟频率输出;(6)多中断模式实现批量和同步传输;

1.2音频码流USB 设备驱动程序

Windows2000 中各种USB 设备客户驱动程序结构框架基本相同,可以从Windows2000 DDK 中获得USB 设备驱动程序范例代码,对范例代码作少量修改就可以满足特定功能需要。图1 显示了驱动程序各层间的数据传递关系,底层USB 主控制器驱动程序(USB Host Driver)由操作系统提供支持,设备驱动程序只需要对USB Host Driver 上传的I/O 数据包IRP 作出响应,并把要输出数据以IRP 形式下传给USB Host Driver 即可[5] [6]。在ISO(实时型)模式下传输音频码流,USB 客户程序除了WDM(Windows Driver Model)驱动常规处理外,必须计算好带宽,并为驱动程序在非分页存储区内分配好环行缓冲区(Ringbuffer),以便USB 主控制器可以不间断输出实时数据。RingBuffer 的大小按下式 计算:

每帧字节数 × 每缓冲帧数 × 缓冲区数 ; 每传完一缓冲区,USB Host Driver 回调(CallBack)一次客户驱动程序,USB 带宽

按每1ms 传送1 帧数据来分配,要实现8kHz 采样频率、8bits 编码的音频PCM 码流传输,帧数据包大小必须设为8Bytes,若设置4 个缓冲区交替工作,每缓冲区分20 帧传送, 则RingBuffer 的大小为640Bytes,那么USB 主控制器每20ms 的频率中断回调一次客户驱动程序是合适的。驱动程序通过IoSetCompletionRoutine()函数给每个IRP 设置回调函数入口地址[6],每完成一个IRP 缓冲区数据传送操作,回调一次该地址指向的函数,以便把下一缓冲包数据压入到IRP 栈,直到全部数据流传送完毕或人为终止传送。S3C2440A特点

S3C2440A的CPU部分主要集成了电源模块、复位和时钟模块、触摸屏和小键盘模块、程序存储器和数据存储器模块。同时提供如下丰富的外围接口:同步存储器(SDRAM)和NAND FLASH控制接口,可扩展到1 GB的存储的空间;4个DMA通道和24个中断端口;能控制STN LCD和TFT液晶屏显示,支持触摸屏功;USB接口A型和B型各一个;3个串行口、I2C,SPI,I2S等接口;带AC97音频接口;具备SD卡、数码相机接口和网络接口。

S3C2440A还具备多种工作模式,管脚为17×17方型分布,横向从左1到右17编号,纵向从下A到上U编号,分类为A1~A17,B1~B17,C1~C17依此类推到U1~U17。这些管脚所对应的功能并不是惟一的,通常只要使能变化,S3C2440A就能实现不同的控制功能。该设计涉及到的 S3C2440A,其管脚如表1所示分为3类。

串口电路

串口在该设计中的作用是通过计算机加载USB驱动程序,原理如图2所示。

3.1电源电路

由于S3C2440A芯片的管脚对电压提出了不同要求,所以需要完成电源的变压,其原理 如图3所示。驱动程序的研究

按USB接口,其设备结构可分为USB Host(主机)和USB Device(外部设备)。USB主机控制USB设备进行通信,而主机与主机之间,或USB设备与USB设备之间是不能通信的。

4.1 USB主机

USB主机的功能通常包含以下几个部分:验证USB设备是否安插好或拔除;控制USB主机与设备两者中的数据流;返回USB主机的所显状态。

USB系统软件由以下3个部分组成:主机控制器驱动(HCD)、USB驱动(USBD)、主机软件(Host Software)。主机控制器所具备的功能如表2所示。HCD和USBD包含基于不同抽象层次的软件接口,两者以一定的方式协同完成任务,用以实现 USB系统的功能。它们的任务差别没有具体定义,然而HCD要具备的一项功能就是必须支持多种不同主机控制器芯片。在一些操作系统中,当系统必须实现某些基本功能时,可由Host Software实现。

4.2 USB传输类型

USB定义了4种传送类型:控制传送、同步传送、中断传送、批传送。其中,控制传送是指可靠的、非周期性的、突发的,并由主机客户软件所发起的通信,主要应用于控制命令和状态信息的传送;同步传送是指在主机和设备之间周期性的、连续的通信,一般用于传送时实信息,这种类型保留了将时间概念包含于数据的能力,但传送并不一定很紧急;中断传送是指少量数据的、低速的、周期的传送;批传送是指非周期的、大量的、可靠的传送,其典型应用在于传送那些可以利用带宽的数据。

4.3 USB设备请求

USB设备应通过缺省控制管道(Default Control Pipe)响应来自主机的请求命令。这些请求是通过使用控制传输来完成的。请求及请求的参数通过Setup包发向设备,由主机负责设置Setup包内的每个域的值。USB设备请求包含的请求类型有三种:标准、厂商和设备类。标准请求用来完成设备的枚举过程;厂商请求用来完成使用者自己定义的请求;设备类请求指的是某些特定的USB设备类所传输出的请求,例如打印机类就属于这一类。设备请求要求有严格的定义,包含的内容有类型、设备请求、值、索引和长度。

4.4 USB驱动程序结构 S3C2440A芯片支持USB1.1协议和USB 2.0协议。该设计是针对USB Host(主机,A型),并基于USB 1.1协议编写的。程序结构和数据传输的流向如图4所示。

驱动程序的编写主要分为以下几个部分考虑:硬件提取层、中断服务程序、标准设备请求和主循环。硬件提取层实现的是S3C2440A对I/O端口直接的读写操作;中断服务程序处理各种中断,包括总线任务上的请求;标准设备请求完成主机送来的各种标准请求,用于完成各种枚举请求;而主循环则负责完成前台的数据采集等工作,所有的任务结束后都要回到主循环上去。

5结 语

该设计采用三星公司ARM9的S3C2440A芯片作为CPU,比原来基于单片机的模式,外围电路简单,容易可靠地实现嵌入式终端的USB接口功能。在调试中,用到的嵌入式开发板GEC2440A套件还提供了串口工具DNW。用这一工具可以检测驱动程序的正确与否,如:程序编写无误,则DNW串口会提示 “USB IS CONNECT”。由于S3C2440A芯片功能丰富,如处理器可提高运算速度,LCD可人机交互,网口可连接因特网,所以开发出的嵌入式终端不但可提升整体性能,还为日后的应用奠定了基础。

下载一种基于MODBUS的嵌入式人机界面的设计与实现 电子技术word格式文档
下载一种基于MODBUS的嵌入式人机界面的设计与实现 电子技术.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐