引言
随着全自动绣花机的不断发展,机械方面的改进对机器的性能改善已经没有太大的效果。因而,控制系统就成为了绣花机提高性能和降低成本的关键,也是各大绣花机厂商的竞 争重点。控制系统的硬件决定了整个系统的可靠性和稳定性,硬件质量的好坏除了 cpu 芯片之外,外围芯片的选择和电路的设计也起着至关重要的作用。而控制系统所有的功能都 需要通过软件来实现,软件的设计对于将来系统的稳定运行至关重要。
由于市场上绝大部分微处理器芯片都是以 arm 为基础,本文研究了基于 arm 的绣 花机控制系统的软硬件设计。首先在 lh7a404 和 lpc2214 的基础上确定了绣花机控制系统的硬件框架,详细设计了电源电路、复位电路、存储器接口电路、键盘与显示电路等具体电 路以及接口;然后按照上位机和下位机的层次构建了绣花机控制系统的软件框架,对键盘输入、图形显示、usb 驱动、花样存储与管理、串口通信等具体模块的软件进行了设计。
1 、控制系统软硬件框架
根据绣花机系统的模块划分和系统架构,硬件可以分为上位机和下位机系统,两者通过串行接口进行实时通信,分别围绕 lh7a404 和 lpc2214 两个 cpu 进行设计。硬件框架如图 1 所示,lh7a404 作为上层 cpu 负责输入输出接口和花样存储系统,lpc2214 作为下层 cpu 负责绣花机机械动作的控制。其中电源电路和复位电路为两个 cpu 共用。
控制系统的软件部分的设计也依据此结构划分层次,上位机系统包括键盘输入、图形显 示、usb 驱动、花样存储与管理,下位机系统即为机电控制模块,包括机电控制系统和机 电执行系统。软件框架如图 2 所示。
2、 控制系统硬件设计
2.1 电源电路
开关电源系统提供 5v 和 12v 两套电源,5v 电源用于驱动各 i/o 口,12v 电源直接作为机电和底层设备的驱动电源。由于整个系统控制电路的工作电压并不都是 5v 和 12v,需 要对 5v 电源进行 dc-dc 转换,因此本文采用 ti 公司的 tps54310pwp 电压转换芯片将 5v 电源转换成 3.3v/3a 的电源,用于给 cpu 及其外围电路供电。另外,系统 cpu 内核需要1.8v 的电压供给,且消耗电流的极限不超过 200ma,为保证可靠性并留下一定余量,1.8v 的电源系统提供的电流应不小于 0.5a。备份电池用于断电时给 sram 供电,以便及时备份 数据,需要 3.9v/0.5a 的电源供给。
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 驱动、花样存储与管理等模块程序。
本文作者创新点:将基于 arm 嵌入式系统技术引入绣花机控制系统,详细设计了绣花机控制系统的软硬件系统,具有技术先进、功能精简、高性价比等特点。
美国科技巨头合计10万员工开启在家办公模式 iPhone 11全球供应紧张
加密货币在乌克兰仍不受监管并且不合法
AI现在到底处于什么水平
厂商基于CXL上面做文章的案例
未来的运动鞋长这样?
基于LH7A404和LPC2214 CPU芯片实现绣花机控制系统的软硬件设计
首款纯电动车型开始在北美市场交付,福特高管拿特斯拉开涮!
中国已经具备快速发展PCB产业的所有条件 有望成为全球PCB行业的主场
KnuEdge芯片秘研十年 Intel/谷歌受冲击?
兆易创新GigaDevice正式发布了GD32E232系列超值型微控制器
airpods既不亮灯,又连不上设备
轨道交通及新能源汽车零部件研发企业康尼机电发布2021年报
安捷伦推出最新版本EMPro 2012软件
智能家居领域的新产物,智能魔镜显示屏来袭
专家教你如何让智能手机读懂移动电源的心
什么是全景声功放_全景声功放有哪些
手机行业已经开始进行全球布局,半导体早晚有一天也会走入海外
一款拥有热成像功能的数字万用表横空出世
MEMS(微机电系统检测及失效分析
CES2012:三星NX200携附件参展