当前位置:首页 > 嵌入式 > 嵌入式硬件

当托马斯和爱迪生发明了电动机后,美国胜家(Singer)公司于1889年发明了全世界第一台电动机驱动缝纫机,同时也开创了缝纫机工业的新纪元。二战后,工业缝纫机制造的霸主地位已逐渐被日本所占据。

进入21世纪后,中国已成为工业缝纫机制造业的新盟主。可是面对工业缝纫机市场的日趋饱和以及服装制造全行业的利润日益下降的窘况,各国的缝纫机制造商又重新把市场的焦点投向家用市场,胜家公司更是希望重现一百年前美国家庭每户拥有一台脚踏式缝纫机的辉煌岁月。
  

如今,美国胜家、日本兄弟以及中国飞跃都相继上市家用电脑绣花机,家用电脑绣花机或刺绣机,以期待缝纫机再次敲开老百姓的家门,可受限于芯片技术的发展,使得家用电脑绣花机的智能化程度、制造成本、维修方式都难于达到民品的标准。为此,北京中科亿芯信息技术有限公司使用本公司自主设计的处理器芯片所开发的家用电脑绣花机方案,采用了Linux2.6内核,并添加实时补丁(rtlinux)以使其具备更完善的实时系统功能;精致的Qtapia图形系统软件(以下简称QT),避免了采用WinCE而带来的昂贵授权费用,大大降低了电子控制系统的制造成本,使得电脑绣花机走入家庭变得指日可待。

  系统简介:

  EraSoC-1000系列芯片作为国内唯一的基于龙芯内核的高性能SOC(System On Chip),凭借其强大的CPU处理能力、64位浮点运算能力,高效的总线架构、可实现低功耗的动态变频技术、丰富的片上设备,已广泛地应用在国内各种嵌入式领域。

  基于EraSoC-1000C的电脑绣花机系统主要由三个电机协调工作实现绣花功能,三个电机的协调原理:一个主轴电机,采用交流伺服交流来控制针头的上下运动;X、Y轴步进电机各一个,以实现工作面的横向与纵向移动。(系统控制流程图请参看图1)

图1 基于EraSoC-1000C的家用电脑绣花机

  硬件设计:

  根据图1所示的整个系统方案的控制实现原理,我们把此方案的主控制单元分为上、下位机结构,并由一颗EraSoC-1000C芯片来完成上、下位机的协同工作:

  1、上位机结构:

  上位机主要负责人机交互、文件读取与解析、部分传感器信号的处理;

  1.1 STN/TFT LCD显示与触摸控制的实现:

  此部分作为人机交互的主要平台,通过控制触摸屏来控制电机做出相应的动作就是在此部分实现的。其中液晶部分对东芝T6963CFG LCD驱动芯片的控制是由EraSoC-1000C引出的8位数据线和5个gpio实现的,本次用的黑白屏,如果需要可以用彩色屏,尺寸也可以任意选择。而触摸屏的控制是由EraSoC-1000C的spi信号线和片选线时钟线经过触摸屏控制器ADV7843实现的。

  1.2 传感器通过GPIO与EraSoC-1000C的通讯:

  该绣花机一共用到了6个传感器分别由EraSoC-1000C提供的6个可以作为中断输入的gpio控制。这些传感器分别是x轴方向电机的传感器,y轴方向的电机传感器,z轴方向的电机传感器,测试绣花针是不是在上针位(此时针在所有位置的最高点)的传感器,测试绣花针是不是离开布的传感器,和一个用于是否绕线的辅助功能的传感器。

  2、下位机结构:

  下位机主要负责输出电机控制信号(PWM)、协同工作以及部分传感器信号的处理:

  2.1 PWM对交流伺服电机的控制

  在EraSoC-1000C芯片中一共有六路脉冲宽度调节/定时/计数控制器(以下简称PWM)。每一路PWM工作和控制方式完全相同,都有两路输入信号(gate_clk_pad_i, capt_pad_i)和一路脉冲宽度输出信号 (pwm_o)。由于系统时钟高达60MHz,计数寄存器和参考寄存器均32位数据宽度,这样开发人员可通过编成让PWM产生各种复杂的近似线性的输出信号,非常适合高档电机的控制。

  2.2 步进电机的驱动

  主要采用专门的步进电机驱动芯片,有EraSoC-1000C给出控制信号,控制电机按照要求运动。本次设计步进电机的驱动芯片用的是UTC公司的L6219只需用EraSoC-1000C的4个gpio控制一个L6219来控制电机的转动速度和所转的角度。

  2.3 主轴电机的控制

  同步检测:由1个外部中断完成,为了能够控制直流电机转动速度,用了一个时钟作为计数器来计数一个时间段的针数,如果快了或者慢了就做出调整。

  电机控制:由1个gpio完成,此gpio用来控制电机电源的开通与关闭。

  图2和图3分别为系统方案的电路构造图和电路板实图。

图2 基于EraSoC-1000C的家用电脑绣花机电路系统架构

图3 基于EraSoC-1000C的家用电脑绣花机的控制电路板

软件设计和系统程序移植:

  1、Bootloader:

  EraSoC-1000C的bootloader使用PMON2000。经过裁剪和增加相关驱动的代码在EraSoC的官方网站可直接下载。用户只需按照EraSoC-1000C的用户手册进行配置和编译即可。

  2、内核移植:

  EraSoC-1000C使用Linux2.4.17和Linux2.6.18.1内核。经过移植后的源代码可以在EraSoC的官方网站下载。

  交叉编译工具链mipsel-linux-gcc也可以在该网站下载。

  配置内核使用erasoc_defconfig配置文件,用户可根据自己需要裁剪不用的驱动和文件系统等。

  3、Qtapia编译:

  QT是目前在linux上使用较广的一个图形系统。在网上下载以下软件的源码包之后,按照EraSoC的QT完全安装手册,编译生成QT的可执行代码。

  qt-embedded-2.3.7.tar.gz
  qt-x11-2.3.2.tar.gz
  qtopia-free-1.7.0.tar.gz
  tmake-1.11.tar.gz
  e2fsprogs-1.35.tar.gz
  驱动及fireware开发:

  基于EraSoC-1000C的电脑绣花机方案成功将Linux引入缝纫设备的控制是一个业界领先的技术突破。以前普遍认为Linux不适合应用于像缝制设备行业这类对功能集成度和实时性要求高的工控行业,其实是不正确的。正因为凭借EraSoC-1000C芯片处理能力强、总线速度高、设备集成度高的特点,使得系统在运行linux时,处理器可以很好的完成实时性工作,同时把任务调度、协议处理、数据交换、人际交互交由linux来处理,用户会发现整个系统开发过程会变得轻松自如。

  1、X,Y轴步进电机驱动开发:

  X和Y轴步进电机驱动的原理是,每隔一定的时间间隔通过GPIO发送一个步进信号,电机行走一个相位。而时间间隔的大小通过EraSoC-1000C的实时时钟来控制,时间计数一到,实时时钟产生一个中断,CPU在中断处理并向步进电机发送一个步进命令。X,Y轴电机的速度就通过这些时间间隔的大小调整。当需要加速时,减小每次的时间间隔,反之就是减速。X和Y轴驱动程序里分别注册了一个时钟中断处理程序,并在驱动里提供一个写函数控制实时时钟的计时大小和开始计时。当绣花程序启动,通过该驱动的写函数,启动实时时钟计时。当预定时间到达,中断产生,中断处理程序驱动电机步进一个相位,此时根据一个信号量来确定是否继续要驱动电机,如果需要继续驱动,则再次初始化实时时钟的计时。

2、Z轴电机的驱动开发:

  Z轴电机使用EraSoC-1000C的PWM进行控制。EraSoC-1000C的PWM驱动采用Linux通用的PWM驱动接口,所以我们只要在应用层开发相应的控制程序就可以了。

  例如,EraSoC的PWM驱动提供一个write函数给用户层,用户通过该函数的参数可以控制PWM的输出方波:

  3、显示屏驱动:

  EraSoC-1000C的Linux内核包含标准的framebuffer接口的LCD驱动程序,用户也只需按照标准的控制LCD的函数接口编写应用程序。通过open(“/dev/fb0, O_RDWR”)打开LCD显示设备,然后通过mmap函数将显存映射到用户空间,用户现在就可以通过简单的读写来控制显存,以达到控制LCD显示的目的。

  4、触摸屏驱动:

  EraSoC-1000C的Linux内核也已经包含触摸屏的标准驱动,采用SPI接口。用户只需在编译QT的时候将该触摸屏驱动加入,就可以直接在QT下使用。

  5、U盘驱动:

  EraSoC-1000C的U盘驱动也是标准的Linux驱动。用户只需简单的使用mount命令将U盘挂载,然后通过open, read, write等标准函数对U盘进行读写。

  6、NAND Flash驱动:

  EraSoC-1000C采用最新的Yaffs2文件系统管理NAND Flash。用户接口也是十分的简单,如同访问其他文件系统一样,可直接通过读写函数访问。

  7、蜂鸣器,断线,压脚,绕线检测等驱动:

  这些功能均使用GPIO实现,我们为这些功能分别实现了驱动,在驱动里提供一个读函数来控制。用户只需简单的使用open函数打开设备,就可以使用read函数读取这些传感器的状态。

  GPION是各GPIO的编号。

  上层应用:

  EraSoC-1000C的上层应用建立于基于Linux的软件平台Qtapia上。Qtapia是Linux软件厂商挪威奇趣科技公司(Trolltech,现已被诺基亚以1.5亿美元收购)专为手机等移动设备开发的产品,目前国内排名前十的手机生产商有7个已经选择了奇趣作为嵌入式Linux平台的合作伙伴。


  也正是因为Qtapia的使用环境已在不知不觉中被消费大众所熟悉,我们特意在此解决方案里采用了类似手机操作的图像化用户界面,就是为了让消费者在使用家用电脑绣花机时增加互动的体验,使得操作缝纫机不再是专业人员才有的技能。

  用户可以管理要刺绣的图案文档,系统也通过主窗口显示和触摸屏接收用户输入。当用户通过触摸屏点击窗口上的按钮,应用程序根据这些按钮分别调用底层的驱动程序完成绣花,绕线,读取花样等等功能。

  结束语

  作为第一台使用国产高性能处理器的电脑绣花机解决方案,中科亿芯的研发团队始终把“科技以人为本”的理念放在首位,那就是用业界领先的技术去创造大众可接受的电子产品。事实已证明,一颗EraSoC-1000C芯片可替代两颗基于ARM7内核的国外处理器或者是工控领域的DSP,同时也可节省相当数量的外设芯片。而且EraSoC-1000C的二次开发潜能巨大,其所具备的高速处理能力和丰富的片上设备,将带给缝制设备行业的工程师们无限的创意空间,让国产缝制设备能够真正意义上的国产化,让这些设备都跳动着一颗“中国芯”!

  欲了解EraSoC-1000C和聚芯其他系列芯片的详细规格和解决方案,请访问EraSoC和北京中科亿芯信息技术有限公司的官方网站:。同时可登陆网址:http:///programs/view/Ixiw9-BYvRQ/ 来观看家用电脑绣花机的实际工作视频,或登陆视频搜索网查询“电脑绣花机”。

  Reference:

  1.“Datasheet of EraSoC-1000C” / 《EraSoC-1000C数据手册》 (by Beijing ZhongKeYiXin)

  2.“Linux Device Drivers (2nd Edition)” / 《Linux设备驱动开发(第二版)》 (by Johathan Corbet, Alessandro Rubini & Greg Kroah-Hartman)

  3.“Embedded System Design based on EraSoC” / 《基于聚芯SoC的嵌入式系统设计》 北京邮电大学出版社

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭