您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术一种嵌入式USB主机系统的硬件和软件的设计与实现 正文
一种嵌入式USB主机系统的硬件和软件的设计与实现

一种嵌入式USB主机系统的硬件和软件的设计与实现

点击数:7911 次   录入时间:03-04 11:35:11   整理:http://www.55dianzi.com   嵌入式系统-技术

    当一个新的传输请求开始处理时,将会执行如图7所示流程。

i.JPG



www.55dianzi.com
    1)发送SETUP阶段请求;
    2)发送块请求(BULK Request);
    当一个传输请求在一个阶段处理不完时,将会执行图8所示流程。比如控制传输(Control Transfer)需要3个阶段。
    3)控制传输(Control Transfer)结束,向EndPoint结构体中写入传送完成的结果,并根据传输的类型做相应处理。
    4)块传输(BULK Transfer)结束,向EndPoint结构体中写入传送完成的结果,并向并口上发送ACK BUSY信号。

4 并口到USB接口打印转换器实现
4.1 打印转换器功能描述
    利用上述系统,设计一个能够把并口转换为USB接口的打印转换器,这个转换器只是把从并口收到的数据转发到USB接口上,然后根据USB接口规范,把数据重新包装后发送给USB打印机,转换器中并不需要对并口的数据内容进行解释,只是转发。
4.2 并口打印机数据传输过程
    并口打印机采用IEEE1284标准进行通讯。IEEE1284标准为PC和外设之间的通讯定义了双向通讯协议,通过该协议PC和外设之间的双向数据传输率可以比以前提高20到50倍,同时该协议保持了软件的向下兼容性。IEEE1284标准一共定义了5种数据传输模式,即正向传输模式(兼容模式),两种反向传输模式(半字节模式和字节模式),两种双向传输模式(EPP模式一高速增强并行端口和ECP模式-扩展并行端口)。
打印电缆我们采用D25接口,并行口一般有25个引脚,其中包括8位数据线,5位打印机状态线,4位控制线。
4.3 USB接口打印机数据传输过程
    打印设备它们能够把页面描述语言(PDL)转换为人们能够读懂的打印页面。因此需要制定打印机如何来接收这些PDL格式的数据,如何能够返回打印机的状态信息。常规的并口打印机用一个双向打印端口来只认识这些语言。USB用一个Bulk OUT端点来发送这些数据到打印机,并用一个Bulk IN端点来发送状态信息或其他数据。对于现已存在的方式来说,能够在主机中通过Bulk IN端点使用查询机制来检索并口的状态信息。一些PDL允许打印机返回大量的数据,诸如一些字体定义等信息。如果打印机实现了这个功能,它将使用用于传送回状态信息的Bulk IN端点来传送回这些数据。
4.4 功能设计
    1)并口部分功能
    ①为了方便处理打印并口只支持IEEE 1284-1994 SPP模式。
    ②打印数据只支持单方向(数据:PC→转换器)。
    ③BUSY和ACK的信号时序类型为A-B(Ack-in-Busy)。
    2)USB打印机接口功能
    ①支持USB Ver2.0 Full Speed。
    ②符合Universal Serial Bus SpecifICation 2.0。
    ③符合Universal Serial Bus Device Class Definition for Printing Devices规范。
    ④控制传送的数据最大值为64字节。
    ⑤批量(Bulk)传送的数据最大值为64字节。
    ⑥不处理USB Hub。
    3)内部功能
    ①定期取得打印机的状态(以1秒为单位),反映到并口信号线中(利用USB控制传送的GET_PORT_STATUS)。
    ②并口的收信缓冲存储为64字节,接收到64字节后由USB接口传送给打印机。
    ③并口的收信处理中设置了超时(1秒),一旦超时发生,接收到的数据由USB接口传送给打印机。
4.5 并口模块
    负责和并口相关的工作。从并口读取数据放入数据缓冲区。设置和读取并口状态和控制端口。通过读取时间,来生成并口的时序。使用中断(Interrupt)对并口的InputPrime信号进行相应的处理。使用中断(Interrupt)对并口的nStrobe信号进行相应的处理。
4.6 主模块(Main Module)
    主模块负责初始化整个系统,包括Parallel Module,MiniHost Module以及整个系统的变量。编写一个回调函数,此函数在设备状态(连接或断开)改变时调用。在检测到设备连接后,调用MiniHost Module枚举功能,枚举打印机,并把打印机设置为某种模式。检查是否要发送的控制或批量传送。如果要,则把它们发送出去。

5 结束语
    本论文设计了一种嵌入式USB主机系统,并完成了该系统的硬件和固件的实现和调试。为了验证系统,实现了打印机IEEE 1284中的SPP模式协议到USB打印设备类协议转换器。在硬件设计中,系统采用富士通90330系列MCU中的MB90F337完成中央控制器和USB Host控制器,电路设计简洁。文章为其他嵌入式USB Host设备的开发提供了设计参考。

上一页  [1] [2] 


本文关键字:硬件  嵌入式  主机  软件  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术