电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

基于USB接口设备的固件程序设计

2022-01-27 13:20分类:电子元器件 阅读:

 

根据USB接口机器设备的固定件编程设计

一、 前言
USB是使用在PC行业中的新式数字电子技术,它由三部份构成:具备USB接口的PC系统软件,可以适用USB的操作系统和应用USB接口的机器设备。它的明确提出是根据选用通用性联接技术性,完成外接设备的简易相互连接,做到便于客户、控制成本、拓展PC联接外接设备范畴的目的。它的最明显优势是适用热插拔,当客户插进USB外接设备后,电子计算机可以自动检索连接的外接设备,而无需重启系统软件。
二、USB机器设备硬件配置构造
为了更好地增强操作系统的扩展性,也有利于挑选性能卓越的单片机设计,以达到大量的作用,大家应用比较普遍的Philip企业的纯粹的插口集成icPDIUSBD12。下边详细介绍USB机器设备硬件配置的有关状况。
1. PDIUSBD12集成ic的内部构造
集成ic內部集成化SIE、320B的FIFO缓存文件、光端机及其工作电压调节电源电路和结束电阻,给予2MB/s速度的并行接口,具备全基层民主当地DMA作用,集成ic给予的多种终断方式有益于大批量和等时传输数据方式。集成ic还带来了可编程控制器数字时钟、通电校准和低压延时电路。
2. PDIUSBD12集成ic的操纵字
D12的操纵字分成复位指令、数据流分析指令和通用性指令三种基本上种类。在USB 机器设备例举全过程中应用复位指令,这种指令用于运行机器设备、设定详细地址、节点和工作模式。数据流分析指令用以管理方法USB 和51单片机相互之间的数据流分析。许多数据流分析是根据一个发送给单片机设计的中断请求逐渐的。控制板应用数据流分析指令来数据存储结构,确定在FIFO中的信息能否合理。通用性指令关键在传输数据历程中应用,包含修复和载入当今帧号。
3. PDIUSBD12 与51单片机的联接
以PDIUSBD12和89C52单片机设计相互之间的联接如下图所示,ALE收到51单片机的ALE上,应用计算机字长重复使用方法。A0根据电阻器接VCC。VCC接 5V,VOUT3.3根据电容器接地装置,与此同时脚20RESET_N和脚18DMACK_N接上拉电阻。GND接地装置。8根手机充电线引至系统总线。脚11CS_N线接至控制板或数据选择器的相对应端, PDIUSBD12能够根据CS_N端,投射为控制模块的一切详细地址。脚14终断引至控制板的中断开,并且用电阻器拉升。XTAL1和XTAL2接6MHZ晶振电路,EOT_N拉升,D-、D 各自收到USB 系统总线的D-、D 上。在具体设备中,脚21GL_N能接LED显示系统情况。


三、USB机器设备固定件的设计方案
固定件的制定需要十分了解USB机器设备的实际通讯流程及其单片机设计的计算机指令。
1. 固定件详细介绍
PDIUSBD12是一种快速并行处理系统总线的USB接口机器设备,适用当地DMA传送.固定件设计方案的总体目标是使D12在USB可以做到更快的传输速率。外部设备如复印机等应用D12传输大批量的数据信息。这种设施中的CPU忙碌解决很多每日任务象机器设备操纵,数据信息和图象处理。D12的固定件设计方案成彻底的终断推动方式。当CPU在解决前台接待每日任务时,USB传送在后台管理被解决。这确保了较好的传输速率和不错的软件架构,简单化了程序编写和调节。
在后台管理终断系统服务和前台接待源程序中间的数据传输是根据标示和信息缓冲区域来完成的。比如, D12关键的很多輸出节点用一个圆形的数据信息缓冲区域。当D12从USB接受到数据信息wpe封包,就向CPU造成一个中断请求,CPU会立刻实行中止系统服务。在终断系统服务內部,固定件把数据信息wpe封包从D12的內部缓冲区域送至环形缓冲区域,随后消除PDIUSBD12的內部缓冲区域使它能接受下一个新的数据文件。CPU能执行当今前台接待的每日任务直至进行。随后它返还到主循环系统,查验环形缓冲区域是不是有新的数据信息,逐渐此外一个前台接待每日任务。
应用这类构造,主函数不关注数据库是来源于USB机器设备,串行接口或是并行口。主函数只查验环形缓冲区域是不是有新数据必须解决。因而,主函数将方向列入数据处理方法,而终断系统服务做的工作任务是以有可能的更快速率传输数据。相近地,操纵节点在数据信息wpe封包解决上运用了相同的定义。终断系统服务在数据信息缓冲区域里接受和储存控制传输內容并设定对应的标志寄存器。主函数将推送要求到协议书程序处理。一旦全部的规范机器设备,类,和客户要求在协议书程序处理解决了,终断系统服务就能维持它的高效率。
2. 固定件构造和每日任务
1) 固定件构造
固定件由6部分构成,他们以下: 源程序:推送USB机器设备要求,读检测键,操纵发光二极管,解决USB系统总线事务管理,这些、规范要求、客户要求、终断系统服务、PDIUSBD12指令插口、硬件配置层。下边先后简单详细介绍:
硬件配置层:这也是固定件中最少的层,它进行向PDIUSBD12的硬件配置安全通道.当固定件转为其它的CPU 服务平台,这一部分必须调整或提升內容。
PDIUSBD12指令插口:为进一步简单化用PDIUSBD12程序编写,固定件界定了一系列指令插口,他们缩小了应用PDIUSBD12的全部作用。
终断系统服务:这一部分编码解决由PDIUSBD12造成的终断。它接受从PDIUSBD12內部的FIFO区到CPU储存器的数据信息,而且创建适宜的标识以通告主程序执行。
源程序:源程序查验事情的标示,迁移到适宜的程序段做进一步的解决。它也包括人机接口编码,比如,发光二极管和电脑键盘扫描仪。
协议书层:协议书层解决规范USB机器设备要求,也解决主要的客户要求例如DMA和TWAIN。
2) 固定件每日任务
在撰写固定件程序流程的环节中,PDIUSBD12 做为插口集成ic硬件配置为大家进行了很多的工作中,在其中包含:
a.检验新的进到事务管理;汉语翻译从USB 系统总线上获取的信息内容;b. 检验事务管理的目标详细地址,以确定是不是回应;e. 明确事务管理的种类;d. 从USB 系统总线上读取数据到FIFO;e. 从FIFO 中传送数据到USB 系统总线上;f. 测算校验位,检验并汇报結果。
但也有非常一部分的作业由固定件程序流程来进行。这一部分每日任务包含:
a.复位PDIUSBD12并解决PDIUSBD12的终断;b.回应各种各样要求,最少要回应规范的11种要求;c.挑选合理的数据信息载入PDIUSBD12的FIFO;d.从PDIUSBD12的FIFO中获取数据;
3) PDIUSBD12 的复位
与一般的插口集成ic一样,PDIUSBD12务必先复位之后再应用,复位的流程以下:
a.用Set Address/Enable指令也就能集成ic作用,详细地址需设为0;b.用Set Endpoint Enable指令也就能集成ic除用节点0、1外的任何节点;c.用Set Mode 指令断开,延迟1-2s;用Set Mode 指令联接;d. 用指令Read Interrupt Register清除终断存储器;
复位完后,D12就可以接受USB 系统总线上的消息了。以后,服务器根据节点0、1来载入机器设备信息内容,配备机器设备、设定机器设备详细地址,进行机器设备例举。
4) USB 机器设备的例举
当有一个USB 设备连接到服务器处时,服务器的USB系统总线推动、根网络交换机推动得到设备连接的通告,逐渐例举机器设备。在服务器一端,例举机器设备的操作过程是向机器设备传出一系列的规范要求。在机器设备一端,则必须回应服务器发送的要求。其次序以下:
a回应获得机器设备ioctl的要求。尽量确保机器设备ioctl的恰当推送;b.回应设定地点的要求,机器设备进到编址态;c.持续三次回应获得机器设备ioctl要求;d.回应获得配备ioctl的的要求,尽量确保配备ioctl的恰当推送;e.推送所有的配备ioctl,与此同时推送全部的插口ioctl、节点ioctl;
假如上述过程都恰当,则主机遇提醒寻找新机器设备,安裝驱动软件。不然,提醒寻找未知设备,机器设备不能用。
5) USB 机器设备固定件架构的完成
从里面的探讨发觉撰写USB机器设备的固定件本质上是解决各种各样服务器明确提出的要求。在其中,规范的11个要求是务必保持的,假如规定设施有其余的作用还需要添加自定的要求。依照USB 2.0 中的界定,称这种固定件程序流程为USB机器设备的架构。下边详细介绍USB机器设备架构的完成。
3. 源程序的构造
一旦通电,MCU就需要复位全部的端口号,储存器,计时器和终断服务项目程序段。以后,MCU必须再次联接USB。这一程序流程很重要因为它保障了在MCU未准备好服务项目D12以前,D12不容易姿势。
在主循环系统程序流程里边,MCU会了解键盘上的一切姿势。假如一切一个主要的键被按住,解决键的指令便会实行程序处理,以后回到源程序。这一程序流程仅是用于调节用。1ms按时是用于运行查验被按下键的程序段。
当了解抵达查验Setup包时,它必须先明确setup标示是不是创建。假如setup标示早已建立,它将推送机器设备要求到协议书层做好解决。下边的流程表表明了源程序在前台接待实行的状况。
4. 终断系统服务的完成
PDIUSBD12固定件是彻底终断推动的,因而终断系统服务是全部固定件撰写全过程中特别关键的一环。在进到终断系统服务后第一步要发用指令Read Interrupt Register(操纵字为F4H)载入终断存储器,依据终断存储器的內容分辨终断源,随后自动跳转到不一样的系统服务中去解决终断。
终断系统服务(ISR)与源程序通讯是利用事情标示“EPPFLAG”和信息缓冲区域“CONTROL-XFER”。

PDIUSBD12固定件是彻底终断推动的,因而终断系统服务是全部固定件撰写全过程中特别关键的一环。在进到终断系统服务后第一步要发用指令Read Interrupt Register(操纵字为F4H)载入终断存储器,依据终断存储器的內容分辨终断源,随后自动跳转到不一样的系统服务中去解决终断。

终断系统服务(ISR)与源程序通讯是利用事情标示“EPPFLAG”和信息缓冲区域“CONTROL-XFER”。

源程序和终断系统服务(ISR)中间分配任务是,ISR从D12搜集数据信息,源程序将解决这种数据信息。ISR只在它搜集了充分的信息才通告源程序提前准备解决,那样会降低很多不必要的源程序服务项目時间,也优化了源程序。

系统总线重设和空余在ISR里边不用特别的解决。ISR要不设定系统总线重设标示,要不在EPPFLAG里中止这一位并撤出。

操纵型传送一直以setup环节进行的,然后是数据信息环节。随后以情况环节完毕。

下边以解决Control OUT和Control IN这两个最繁杂最重要的终断程序段为例子,表明撰写终断系统服务的一些难题。

Control OUT主要是服务器用于传送操纵要求的,也可用以传送数据,进到系统服务后第一步要推送操纵字Read Last TransacTIon Status(40H)给PDIUSBD12,载入管路情况,依据载入的情况分辨是由于有数据文件或是有SETUP包的来到而终断。当SETUP被子USB机器设备的D12接受后,机器设备可能向MCU造成终断。微处理器将根据载入D12中断存储器的內容分辨wpe封包是送至Control节点或是Genric节点而开展解决。假如wpe封包是送至Control节点,MCU可能进一步根据读D12的“Read Last TransacTIon Status Register”分辨数据信息是否SETUP wpe封包。针对获得ioctl机器设备要求,第一个wpe封包务必是SETUPwpe封包。

以后,MCU必须读取SETUPwpe封包的內容根据挑选Control Out节点来判定这一节点是满的或是空的。假如操纵节点是满的,MCU就从缓冲区域中读取它的信息并将它存有储存器里。随后,它将从储存器里去认证服务器机器设备要求是不是合理合法。如果是合理合法要求,MCU务必送“Acknowledge Setup command”到Control Out节点也就能接受下一个wpe封包。下一步,MCU必须明确控制传输是操纵读或是操纵写。这能够利用从SETUP wpe封包里读bmRequestType的八个字节数来进行。控制传输是操纵读,机器设备必须在下一个数据信息时相回送数据文件给服务器。MCU必须确立一个标示,说明USB机器设备如今正处在传送模式。应服务器的规定提前准备送数据信息。

Control IN主要是用于向服务器传输数据的,进到服务项目程序段后,最先要根据读Read Last TransacTIon Status(40H)来消除Control-In interrupt Bit,在确定D12是处在传送模式下后,MCU将数据文件送到服务器。可是,因为D12只有16字节的FIFO,因此MCU务必调节好传输的总产量,假如需要的尺寸超过16字节得话。MCU务必查验当今和剩余的要送到服务器的数据信息,假如余下的字节数超过16字节得话,MCU将先送人头16字节。在下一个Control-IN动态口令包来临的情况下,MCU将先分辨剩余的字节数是不是为0,如果是,MCU将发一个快递空包给服务器,通告它数据信息早已传输结束。

结语:

功能齐全的USB规格型号早已变成PC的诸多规范之一,刻苦钻研电子计算机高新科技的诸多发展趋势,都离不了USB的有关专业知识。文中创新点:应用USB通讯层面的实际协议书,用单片机设计汇编程序程序编写,运用51单片机的计算机指令去完成USB机器设备与PC服务器的实际通讯,设计方案出合适用户需求的USB机器设备。

上一篇:74ls121中文资料汇总(74ls121引脚图_功能表及应用电路)

下一篇:脉宽调制驱动原理

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部