跟着全自动绣花机的不断发展,机械方面的改进对机器的功用改进现已没有太大的效果。因而,操控体系就成为了绣花机进步功用和降低本钱的要害,也是各大绣花机厂商的竞赛要点。操控体系的硬件决议了整个体系的可靠性和安稳性,硬件质量的好坏除了 CPU 芯片之外,外围芯片的挑选和电路的规划也起着至关重要的效果。而操控体系一切的功用都 需求经过软件来完成,软件的规划关于将来体系的安稳运转至关重要。
因为市场上绝大部分微处理器芯片都是以 ARM 为根底,本文研讨了依据 ARM 的绣 花机操控体系的软硬件规划。首先在 LH7A404 和 LPC2214 的根底上确认了绣花机操控体系的硬件结构,详细规划了电源电路、复位电路、存储器接口电路、键盘与显现电路等详细电路以及接口;然后依照上位机和下位机的层次构建了绣花机操控体系的软件结构,对键盘输入、图形显现、USB 驱动、把戏存储与办理、串口通讯等详细模块的软件进行了规划。
1 、操控体系软硬件结构
依据绣花机体系的模块区分和体系架构,硬件可以分为上位机和下位机体系,两者经过串行接口进行实时通讯,别离环绕 LH7A404 和 LPC2214 两个 CPU 进行规划。硬件结构如图 1 所示,LH7A404 作为上层 CPU 担任输入输出接口和把戏存储体系,LPC2214 作为基层 CPU 担任绣花机机械动作的操控。其间电源电路和复位电路为两个 CPU 共用。
图 1 绣花机操控体系硬件结构
操控体系的软件部分的规划也依据此结构区分层次,上位机体系包含键盘输入、图形显 示、USB 驱动、把戏存储与办理,下位机体系即为机电操控模块,包含机电操控体系和机 电履行体系。软件结构如图 2 所示。
图 2 绣花机操控体系软件结构
2 、操控体系硬件规划
2.1 电源电路
2.2 复位电路
复位电路首要完成体系上电复位、手动复位和电源监控三个功用。体系上电时 CPU 状况不安稳,需求有一个复位逻辑将其初始化为某个确认的状况;体系运转进程中,程序或许“跑飞”或进入死循环,这时需求强行对体系手动复位;电源体系的可靠性直接影响到操控体系的安稳性,需求有一个监控电路来监控电源的改变。
2.3 存储器接口电路
数据存储器分为动态存储器和静态存储器两种。本操控体系中运用了同步动态存储器(SDRAM)和双口静态存储器(SRAM)。SDRAM 本钱低价,容量大,运用比较广泛,在 上位机体系的规划中依据 LH7A404 存储器接口的特色选用 Micron Technology 公司的 MT48LC16M16GT-75 作为规划根底。双口静态存储器 SRAM 本钱较高、容量较小,但具有 存取速度快、接口简略、掉电后保存数据的长处。依据 LPC2214 的接口特色,规划中选用
ISSI 公司的 IS61LV25616AL 芯片,具有 512KB 的容量。 程序存储器用于存储发动代码、操作体系、运用程序和部分重要数据。考虑到体系的软件晋级和数据擦写,挑选 FLASH 存储器,它具有低功耗、大容量、擦写速度快、可整片或 分扇区在线编程(烧写)和擦除等特色。在上位机和下位机体系的规划中,选用 INTEL 公 司的 3V StrataFlashTM 存储器 E28F128J3,其单片容量可达 16MB,有 128 个 128K 字节可擦除块,每个数据块 100000 个擦除周期。
2.4 键盘与显现电路
键盘是体系操作的输入设备,用于输入数字参数和操控指令。本操控体系的按键总共有36 个,选用矩阵式结构。ROW1~ROW6 和 COL1~COL7 别离为 6 行和 7 列按键的接口。将 行线 ROW1~ROW6 设为输出,输出值设为 0,列线 COL1~COL7 设为输入,在每一行和每 一列的交叉点放置一个按键,每个按键便是一个瞬时触摸开关,AT89C2051 经过这些接口 依照必定的频率对键盘进行守时扫描。uP_KMIDAT 和 uP_KMICLK 为 PS2 键盘接口。
显现器是体系的输出设备,用于反馈体系的运转状况,并给用户以直观信息,用户可以 依据提示进行相应的操作。本操控体系选用 LCD 显现屏,没有驱动电路,需求规划驱动电路与之合作运用。规划中所选的液晶显现屏是 SHARP 公司的 5.7 寸显现屏 LQ057Q3DC12I,其供电要求是 3.0V~3.6V,需将芯片接上 3.3V 的电压。
3 、操控体系软件规划
3.1 键盘输入程序
键盘输入模块的作业使命包含键盘扫描、键盘驱动和键盘处理。键盘扫描取得按键的扫描码,键盘驱动接纳扫描码并对其进行处理,将处理后的数据送至运用程序,运用程序取得键值信息后对信息进行处理,完成按键功用。
键盘选用循环扫描方法,依照设定的扫描频率对键盘输入进行检测。体系创立一个扫 描使命,当检测到合法按键之后就将该按键扫描码写入音讯发送给其他使命,告诉体系某键被按下,被按键的扫描码一般放置在一个缓冲区内,直到该运用程序预备处理一个按键停止。键盘驱动由 VxWorks 操作体系的一个可选组件——多媒体库 WindML 供给[4],包含下 层驱动和上层驱动。基层驱动担任驱动设备操控器并向上层驱动传送设备的原始数据,它是作为 I/O 驱动来完成的,被设置在体系内核。上层驱动接纳来自基层驱动的设备原始数据,并进行解说处理,将其打包成一个输入事情信息,然后将该信息发送至驱动接口。运用程序经过驱动取得键盘的状况之后,依据从缓冲区读出的键值,依照键盘的预界说对各操控模块的组态信息进行设置,以履行相应的功用。
3.2 图形显现程序
进行图形界面(GUI)的规划相同需求加载多媒体库 WindML,WindML 支撑多线程和多使命,但图形的资源是必定的,为了避免多线程之间发生资源抵触,需求运用互斥信号量确认资源。在运用一组绘图函数前,用 uglBatchStart(gc)经过互斥信号量确认图形上下文, 图形设备及缓冲,并躲藏光标。绘图操作完成后,再用 uglBatchEnd(gc)开释被确认的资源, 以被其他的绘图函数运用。以下依据 WindML 的编程流程,以制作直线为例给出一个绘图 操作的程序:
{
UGL_GC_ID gc;
。..。..
uglIniTIalize(); // 初始化
。..。..
uglColorAlloc(devId, &colorTable[GREEN].rgbColor, UGL_NULL,
&colorTable[GREEN].uglColor, 1); // 装备色彩
。..。..
gc= uglGcCreate(devId); // 创立图形上下文
。..。..
uglBatchStart(gc); // 确认图形资源
uglForegroundColorSet(gc, colorTable[WHITE].uglColor); // 设置前景色 uglBackgroundColorSet(gc, colorTable[RED].uglColor); // 设置背景色 uglLineWidethSet(gc, 9); // 设定线宽
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 驱动、把戏存储与办理等模块程序。
责任编辑:gt