当前位置 —论文写论文— 范文

关于机械手相关论文范文资料,与本科生提交学年文要求相关论文开题报告

本论文是一篇关于机械手相关论文开题报告,关于本科生提交学年文要求相关电大毕业论文范文。免费优秀的关于机械手及控制系统及计算机方面论文范文资料,适合机械手论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。

irmware)是USB设备运行的核心,固件设计的目标是使ISPI581在USB总线上能够达到最大的传输速率.MCU用于负责外设的数据处理和控制任务,所以好的固件应设计成完全的中断方式.这样当MCU处理前台任务时,USB传输可在后台进行.这就确保了最佳的传输速率和更好的软件结构,同时简化了编程和调试.后台ISR(中断服务程序)和前台主程序循环之间的数据交换通过事件标志和数据缓冲区来实现.ISP1581的批量输出端点可使用循环的数据缓冲区.当ISP1581从主机收到一个数据包,那么就对MCU产生一个中断请求,MCU立即响应中断.在ISR中,固件将数据包从ISPI581内部缓冲区移到循环数据缓冲区,并在随后清零ISPI581的内部缓冲区,以便能接收新的数据包.MCU可以继续它当前的前台任务直到完成.对于这种结构,主循环并不关心数据是来自USB串口还是并口,它只检查循环缓冲区内需要处理的新数据.这样主循环程序专注于数据的处理,而ISR能够以最大可能的速度进行数据的传输.控制端点在数据包处理时采用了同样的方法.ISR接收和保存数据缓冲区中的控制传输,并设置相应的标志寄存器.主循环向协议处理程序发出请求.由于所有的标准器件,级别和厂商请求都是在协议处理程序中进行处理,ISR得以保持它的效率,而且一旦增加新的请求,只需要在协议层进行修改,便于该项目的下一阶段工作的开展.

本节主要介绍基于ISP1581系统的固件程序的设计,这里所说的固件实际上指的USB的相关控制器上运行的可执行代码,从前面的介绍可知为了避免与主机端的软件相混淆,称之为固件.在该研究中,系统的固件设计主要采用51系列单片机的C程序进行开发,降低开发难度和减少开发时间.

5.1.1端点选择

ISP1581提供两个管道,一个用于主机发送采集控制命令,一个用于将采集数据上传回主机.在固件设计中,采用了两个端点来提供上述管道.一个为端点0,采用控制传输方式,分组尺寸设为64字节,另一个为端点2,采用批量传输方式,分组尺寸设为512字节,采用双缓冲模式.前者用于控制命令的传输,后者用于图像数据的传输.之所以采用批量传输方式来传输采集数据主要是考虑到保证数据的完整性.由USB2.0协议可知,批量传输在硬件级上对传输数据进行差错检测,一旦发生传输错误,则自动进行数据重传,从而保证了数据传输的可靠性,使图像质量得以保障,而采用端点0传输采集控制命令,因为采集控制命令的传输速度要求不高,数据量也不大,并且控制传输本身就提供握手阶段,主机藉此可直接判断操作是否成功,而若采用其他三种传输方式,在发完命令后,还必须在另外再启动一次传输以查询上一操作的执行情况.

5.1.2整体固件结构

固件以中断方式为编程思想,前台主循环程序与后台中断服务程序通过事件标志和数据缓冲区来实现数据交换.主循环程序只检查缓冲区内是否有需要处理的数据,而中断服务程序处理数据的传输.固件采用分层结构实现,使程序层次分明,结构清晰,为以后的程序修改和移植提供方便.各层分别为硬件接口层(执行与ISPI581硬件相关的I/O操作),命令接口层(定义了对ISP1581进行操作的子程序集),中断服务程序(处理中断,设置合适的事件标志告知主循环进行处理),协议层(处理标准USB设备请求和诸如DMA等的厂商请求),主循环(检查事件标志并调用合适的子程序以实现进一步处理).

设备通过固件完成向主机的自我解释过程(即枚举过程)主要包括以下几步:

1)设备与主机通过USB接口连接上电后,固件程序将选通ISP1581内部的TMSoftConnect上拉电阻,主机检测到设备的存在,并得知该设备是高速设备还是全速设备.

2)主机检测到设备后,向该端口发送复位信号,然后暂时使用默认地址00H来对其进行寻址.主机接收到设备对默认地址响应后,再分配给设备一个空闲的地址,以后设备只对该地址响应.

3)主机发送GetDescriptor请求,要求外设发送设备描述符.主机接收到USB设备描述符后,确定设备的属性,主机根据描述符信息寻找相应的设备驱动程序.

4)主机发送GetConfiguration请求,要求外设发送配置描述符.主机根据配置信息(可能有多个配置)及设备被使用的信息给设备确定一个有效的配置值.

完成上述步骤后,设备准备就绪,已具备与主机通信的能力.设备接收到主机发送过来的令牌包,即可按照主机请求发送和接收数据.

5.1.3主程序设计

主程序里需要完成的工作有:初始化MCU,初始化和配置ISP1581,循环查询标志等工作.

1)初始化

初始化主要完成ISP1581预设寄存器的设置,主要包括地址寄存器,方式寄存器,中断寄存器,DMA寄存器设置,以及端点寄存器等.地址寄存器,设置USB的分配地址并激活USB设备:方式寄存器,控制着重新开始,挂起和唤醒行为,中断行为,软件复位,时钟信号和软件连接操作,中断寄存器,控制中断使能以及决定INT输出的动作和极性,DMA寄存器中,DMA配置寄存器和DMA硬件寄存器设置DMA模式及信号触发极性,端点寄存器包括设置端点缓存大小,端点传输类型,以及端点使能等.

5.1.4中断服务程序

ISP1581是全中断驱动的,所有的信息交互都要通过中断完成.并且除远程唤醒外的,所有传输都要由主机启动,设备只负责对主机的请求做出响应.因此,USB设备的主要功能需在主机端实现,使USB设备端的制造成本大大降低,这也是USB接口获得如此广泛应用的一个重要原因.主机对ISP1581的任何操作都会引起ISP1581相应的中断,单片机通过查询中断源寄存器判断并处理中断.进入中断服务程序后,首先读取ISP1581的中断寄存器,判断产生中断的原因,然后调用相应的子程序来处理.主要中断有SETUP中断(即USB控制传输中断),总线挂起中断,总线唤醒中断,各端点数据IN或OUT中断,和两个厂商请求中断(固件版本查询中断和DMA传输使能中断).

5.1.5请求处理程序

请求处理程序负责处理枚举阶段主机发给设备的标准请发送的厂商请求,标准请求包括获得设备描述符,设置地址部分程序可以在中断处理程序中完成,也可以在主程序中完

于Setup中断处理子程序之后.对于后者,一般是在Setup中在主程序的循环中查询这个标志位,一旦标志位有效则执行根据请求的类型再调用相应的子程序处理.标准USB请求命令包括:

1)获取状态(GetStatus)

2)清除特性(ClearFeature)

3)设置特性(SetFeature)

4)设置地址(SetAddress)

5)获取描述符(GetDescriptor)

6)设置描述符(SetDescriptor)

7)设置配置(SetConfiguration)

8)获取配置信息(GetConfiguration)

9)获取接口信息(GetInterface)

10)设置接口(SetInterface)

11)同步帧(SynchFrame)

5.2光电编码器信号处理部分程序

下面是实现对光电编码器的4倍频,实现的原理是利用状态机实现的,判断AB的电平的变化.与单片即的接口很简单,利用8位地址总线,+2个地址线A0A1.用51做的采集模块,通过串口发数据给上位机.当A0A1等于00,缓冲器buf_l,buf_m,buf_h不停的被刷新.到A0A1!等于00时,缓冲器buf_l,buf_m,buf_h记录A0A1变化是的数据,

A0A1等于10data等于buf_l, A0A1等于11data等于buf_m,

A0A1等于01data等于buf_h,

moduleAB4F(clk,a,b,cp,dire,data,a1,a0),

inputclk,a,b,a1,a0,

outputdire,cp,

regdire,cp,

reg[1:0]cot,

reg[23:0]counter,

reg[1:0]prestate,state,

reg[7:0]buf_l,buf_m,

reg[7:0]buf_h,

output[7:0]data,

reg[7:0]data,

always@(posedgeclk)

begin

state[1]<,等

1 2 3 4 5 6 7 8 9 10

关于机械手相关论文范文资料,与本科生提交学年文要求相关论文开题报告参考文献资料:

写议论文的开头

写数学论文

sci论文书写

博士论文写法

找写论文

如何写好高考议论文

初二议论文怎么写

编写操作系统

写论文用什么软件

如何写初中议论文

本科生提交学年文要求(8)WORD版本 下载地址