uglLine(gc, 50); // 绘制直线

uglBatchEnd(gc); // 释放图形资源

。..。..

}

3.3 USB 驱动程序

VxWorks 操作系统的 USB 驱动模块由四层组成:USB Client 模块、USB 主驱动、USB主控制器驱动、USB 主控制器。最低层是 USB 主控制器(USB Host Controller),这是主系 统中控制每一个 USB 设备的硬件部分。对于每个主控制器都需要开发 USB 主控制器驱动程序(HCD),HCD 对主控制器芯片进行了抽象,为上层软件屏蔽底层硬件之间的差异。USB 主驱动(USBD)和 HCD 之间的接口允许一个或多个底层主控制器。Wind River 的 USBD 能够同时连接多个 HCD。

USBD 是在 HCD 之上的独立于硬件的模块,它通过提供一组抽象的服务简化了程序员对上层 USB Client 模块的开发工作,即为 HCD 和 USB Client 两个模块之间的请求和相应提 供统一的标准接口。USB Client 模块位于结构图最上层,属于应用程序,根据具体应用的不 同,其内容和功能也不同,但都要实现与 USBD 的接口,对由 HCD 监测到并由 USBD 传送给上层应用程序的 USB 标准要求作出适当的响应。

3.4 花样存储与管理程序

在花样存储系统中,花样文件是以一定的格式存入到系统内存的,所以文件的格式关系到系统能否识别花样。目前刺绣生产实际中流行的花样文件格式有四种:DST 格式、DSB格式、T01 格式和 T03 格式。

当不同格式的花样文件被读入到 FLASH 之后,需要对它们进行解析,转换成内部格式的数据结构,同时对花样数据进行各种运算和处理,包括旋转、放大缩小、拉伸、镜像等。 花样处理过程就是系统调用接口函数实现处理任务。

3.5 串口通信程序

由于串口传输涉及到上位机 CPU 和下位机 CPU 之间的通信,因此作出命名约定:上位机 CPU 称为“左”侧,代码存放在以 left_*开头的文件中,下位机 CPU 称为“右”侧,代 码存放在以 right_*开头的文件中。串口模块结构大体可分为控制层、传输层和驱动程序, 串口传输层的作用在于向上层系统提供透明而高效的传输接口,用于两个 CPU 之间的数据 交互。

4 、结语

本文根据 ARM 处理器的选型原则,选择 LH7A404 和 LPC2214 为上下位机 CPU 芯片;将绣花机控制系统的硬件分为上位机和下位机两部分,在全面考虑系统功能需求的基础上,围绕已选定的上下位机 CPU 确定了硬件框架。详细设计了电源电路、复位电路、存储器接 口电路、键盘与显示电路等具体电路。然后按照上位机和下位机的层次构建了绣花机控制系统的软件框架,以 VxWorks 操作系统为平台,在 Tornado 开发环境下设计了键盘输入、图形显示、USB 驱动、花样存储与管理等模块程序。