基于ARM7控制器的中英文翻译器的设计

发布者:MysticalSoul最新更新时间:2010-12-23 来源: 电子设计工程关键字:翻译器  LPC2214  硬件电路  软件算法 手机看文章 扫描二维码
随时随地手机看文章

    为了改进某焊接设备只能输出打印英文单据的情况,设计了由高性能ARM7控制器——LPC2214为核心的英文转中文翻译器,详细论述了具体的硬件电路和优化的软件算法的设计原理,实验结果表明,翻译器对输入的英文数据量的大小无任何限制,能够显著降低系统硬件资源需求且能大大提升打印速度。

  基于某焊接设备存储大量数据需要通过打印机输出,但由于该设备及其配套的微型热敏打印机只能英文打印,不能中文打印的问题,从而影响用户阅读。另外,原有的配套英文打印机具有打印速度缓慢、每一组数据间隔过大,浪费纸张等缺点。因此,为了解决上述问题,根据实际工程项目应用需要,提出一种基于ARM的英文转中文的翻译器设计方案,该设计是在原有设备和支持中文打印的热敏打印机之间增加一块以ARM为核心的电路板作为英文转中文的翻译器,接收设备传输的英文数据,然后通过优化算法转换成中文,能够边接收边打印输出。该系统设计从实验结果来看,打印输出效果良好,整个打印过程快速迅捷,每一组数据间隔可调,能够节省大量纸张。

  1 系统硬件电路设计

  翻译器的系统结构框图如图l所示,它主要包括供电电源、核心控制器LPC2214和双串口接口以及启动和ISP控制接口等电路。该系统设计采用优化的系统软件算法,能够节省大量硬件资源需求。由于数据量非常大且要求快速打印,通常情况会增加一块容量很大的SRAM来接收英文数据,然后再进行比较翻译打印输出。而本系统由于采用了环形接收/发送缓冲区以及前后台程序方式,这样就无需增加SRAM,能够实现边接收边打印,而且系统硬件电路设计简单明了。

  1.1 供电电源电路

  图2给出了系统的供电电源电路,从图中可看出电源输入端只需一种12 V左右的电压输入,经过7805首先降至5 V,以满足通常5 V供电,而且还满足低压差的稳压器SPXlll7的输入要求。由于LPC2214需要2组电源电压输入:3.3V和1.8V,因此,5 V电压再经过SPXlll7-3.3和SPXlll7-1.8分别输出3.3 V和1.8 V给LPC2214供电。另外,图2中的VDl二极管是为防止反接电源烧毁电路而设计的。

  1.2 LPC2214及其启动控制电路

  LPC2214是PHILIPS公司生产的一款基于ARM7核的32位高性能处理器,应用广泛。其内部包括256 KB的Flash和16KB的SRAM,片内的128位宽的存储器接口和独特的加速结构使得该处理器可以在高达60 MHz的工作频率下运行。此外,通过外部存储器接口可将存储器配置成4组,每组容量高达16 MB,此外,片内还集成了多种外设,包括双串口、8路A/D采集通道、I2C接口和SPI接口、支持32个中断请求的中断控制,以及多达112个通用I/O口。由于集成度非常高,所以不必像5l单片机那样需扩展很多的外部器件,大大简化了系统硬件电路设计。图3给出英文转中文翻译器的核心控制器LPC2214的启动控制电路。在图3中,LPC2214的P2.26和P2.27引脚均需外接一只上拉电阻,在系统复位后将从片内Flash的地址0x00000000处开始运行程序。另外P0.14引脚接有一只上拉电阻,用于禁止ISP(在系统编程),如果想要使能ISP,将跳线JP3短接即可。


   1.3 双串口接口电路

  LPC2214包含2个串行接口,分别为UART0和UARTl,恰好符合该系统设计应用要求,这2个串行接口分别与设备和打印机相连。由于设备和打印机都要求标准的RS232串行传输,而LPC2214是3.3V电平,所以使用了2片SP3232E进行RS232电平转换,如图4所示。LPC2214通过端子J2的CTSl信号检测打印机存在并通过端子Jl的DTR信号通知设备;而通过端子J2的RXDl(BUSY)信号检测打印机内部缓冲区是否溢出;当LPC2-214内部接收缓冲区存满时,通过端子J1的CTS信号通知设备暂停传输数据。

  2 系统软件算法

  由于数据量非常大,所以在软件设计方面进行了优化,主要包括中英文数据存储方式、环形接收和发送缓冲区算法、查找和翻译算法等3部分。

  2.1 中英文数据存储方式

  首先,英文转中文翻译器涉及到的问题是汉字在计算机内的存储问题,汉字在计算机内的存储是以机内码形式存储的,1个汉字占用2个字节,因此在LPC2214中可以直接定义与接收到的英文字符串相对应的汉字常量字符串作为翻译后的数据。其次,为了查找方便,对接收到的英文字符串分了3类,相应地汉字字符串也对应分为3类,如图5所示。其中,库l为包含“:”的英文行,对应的中文翻译只是翻译“:”前的英文,而“:”后的英文字符和数字不必翻译直接输出;库2为不包含“:”的英文行,直接将对应的中文库2输出即可;库3为含有多义语义的英文行库,在中文库3中再细分后输出。在具体编程时利用了二维数组结构存储中英文字库。

  2.2 环形接收和发送缓冲区算法

  设备传输的数据量很大,共有几百组数据,而每组数据又包含几十行英文字符和数字,如果采用全部接收完设备传输的数据后再查找对应的中文,找到后再依次控制打印机打印输出,则不但需要相当大的缓冲区用于存储,而且从接收数据开始到打印机输出打印要延误很长时间。因此,这里采用前后台程序方式即边接收、边查找、边打印,该方式既节省时间又节省存储空间。在系统中开一段存储空间作为接收缓冲区,如图6所示。设置2个指针:写指针和读指针,初始化时令这2个指针分别指向存储区的起始位置。接收设备数据采用UART0串口接收中断处理方式,以便不丢失设备发送的任何一个字符。在UART0每接收一行英文数据后,写指针加1,当写指针达到最大存储空间位置时,令写指针复位为起始存储位置,这样就形成一个环形缓冲区。当接收缓冲区非空,即有需要翻译的英文行数据时,读指针指向当前需要翻译的英文行数据,和写指针类似,每翻译一行数据后通过UARTl控制打印机输出打印且读指针加1,当读指针到达最大存储空间位置时,令读指针复位为起始存储位置。实验表明,设置成很少的几行接收和发送缓冲区都可以正常接收数据和打印数据。

  2.3 查找和翻译算法

  查找和翻译算法是在主程序中进行的,就是将接收和发送缓冲区中接收的每一行英文数据和三个英文库中的存储的英文行数据进行比较,如果一致,就返回所在当前英文库中的行号,然后根据行号再找到对应的中文库巾的数据行号即可,最后就可以控制打印机按一定格式输出打印。整个算法的流程如图7所示。

  3 实验结果

  图8给出了英文和中文打印效果的对比,由于数据量非常大,此处只是截取了很少的一段。可以看出中文打印输出翻译准确、格式整齐,字体大小合适。另外,由于选取了更快速的热敏打印机,从调试过程中可以明显看出中文打印的速度远远快于原来配套的英文打印速度。


  4 结论

  本系统实现的英文转中文翻译器在软硬件方面都采取较好的方案,硬件集成度高,电路板尺寸小,软件算法简洁,编程时除了启动代码采用汇编语言外其他大部分功能代码均采用了模块化的C语言编程,所以针对其他相关的应用领域,在硬件和软件上只需作相应改动即可方便实现。

关键字:翻译器  LPC2214  硬件电路  软件算法 引用地址:基于ARM7控制器的中英文翻译器的设计

上一篇:ARM920T的SMC接口研究与PC/104总线仿真
下一篇:14位A/DMAX194在ARM单片机系统中的设计

推荐阅读最新更新时间:2024-03-16 12:31

基于DSP的双频超声波流量计硬件电路设计
  1引 言   超声就是指频率高出可听频率极限(即在20 kHz以上的频段)的弹性振动,这种振动以波动形式在介质中的传播过程就形成超声波。超声波技术应用于流量测量的原理是:由超声换能器产生的超声波以某一角度入射到流体中,在流体中传播的超声波就载有流体流速的信息,利用接收到的超声波信号就可以测量流体的流速和流量。上世纪70年代以后,由于集成电路技术的迅猛发展,高性能、高稳定性的锁相技术的出现与应用,才使实用的超声波流量计得以迅速发展。超声波流量计结构简单,压力损失小,而且使用方便,因而得到了广泛的应用。   根据超声波声道结构类型可分为单声道和多声道超声波流量计;根据超声波流量计适用的流道不同可分为管道流量计、管渠流量计和
[单片机]
基于DSP的双频超声波流量计<font color='red'>硬件电路</font>设计
基于CAN总线控制器82527实现智能节点的软硬件电路设计
引言 CAN(Controller Area Network,控制局域网)属于工业现场总线,是德国Bosch公司20世纪80年代初作为解决现代汽车中众多的控制与测试仪器间的数据交换而开发的一种通信协议。1993年11月,ISO正式颁布了高速通信控制局域网(CAN)的国际标准(ISO11898)。CAN总线系统中现场数据的采集由传感器完成,目前,带有CAN总线接口的传感器种类还不多,价格也较贵。本文给出一种由8051单片机和82527独立CAN总线控制器为核心构成的智能节点电路,在普通传感器基础上形成可接收8路模拟量输入和智能传感器节点。 1 、独立CAN总线控制器82527介绍 82527是Intel公司生产的独立CAN总线控
[单片机]
基于CAN总线控制器82527实现智能节点的软<font color='red'>硬件电路</font>设计
通信电源监控系统下位机硬件电路的设计
   1 引言   通信电源通常被称为通信系统的心脏,其工作不正常,将会造成通信系统故障,甚至导致整个系统瘫痪。美国APC公司的一项调查结果表明,大约有75%以上的通信系统故障都是由于电源设备故障或者是电源设备不符和技术条件而引起的。同时随着通信电源向小型化、模块化发展、供电方式由集中供电向分散供电转变,以往的人工监控模式难以适应,从而使得可靠性更加难以保障。为此,我们研制了一套本地用通信电源监控系统,该系统采用模块化、通用化设计,从而具有较高商业价值和研究意义。   根据《通信电源和空调集中监控系统技术要求》中的定义,通信电源监控系统所要实现的基本功能有:一是对通信电源设备的监测与控制,主要由监控模块负责完成;二是对监测数据
[测试测量]
通信电源监控系统下位机<font color='red'>硬件电路</font>的设计
如何应对机器人设计开发中的三大挑战
  在几次顶级机器人设计展(无人车辆系统国际协会(AUVSI)和NIWeek 2009机器人峰会)中与无人系统设计的领导者会面后,我想和大家分享一下从机器人领域顶尖科学家和工程师那里了解到的当今最大的挑战。通过信息分享,机器人领域的研究人员能够携手应对挑战,推动机器人市场这个行业的发展,在2010年预计市场规模达到4700亿美元,并通过创新实现真正的生活改善。   最近,机器人领域的著名科学家David Barrett博士(曾任iRobot公司副总裁,迪士尼梦幻工程公司主管,现任Olin学院SCOPE项目主管)在2009年NIWeek图形化系统设计会议上发言,总结了当前我们面临的三大挑战。 • 创造更好的 (更小、更轻、更强大
[工业控制]
单片机监控系统中,哪几个主要原硬件电路需要设计?
单片机控制的一体化监视/控制系统中,哪几个主要原硬件电路需要设计? 需要设计的主要电路有: (1) 视频、音频同步切换电路; (2) 云台、摄像机控制电路; (3) 时间、字符发生器电路等。
[单片机]
基于LPC2214和μC/OS-II的家庭智能终端的设计与实现
智能家居是指利用先进的计算机技术、网络通信技术、综合布线技术,将与家居生活有关的名种子系统有机地结合,通过统筹管理,使家居生活更加舒适、安全、有效。作为小区智能化的重要组成部分,智能家居平台是通过其核心——家庭智能终端实现家居智能化。智能家居终端可实现系统信息的采集、信息输入、逻辑处理、信息输出、联动控制等功能。早期的家庭智能终端网络是基于电话网实现远程监控和远程控制。由于电话网络的带宽限制以及较高的使用成本,使得家庭智能终端无法推广。随着计算机技术和通信技术的发展,基于IP技术的远程通信已经成为家庭智能终端开发的重点。目前,基于8位单片机和TCP/IP协议的远程通信设备已大量出现。但是由于8位单片机工作频率和存储量的限制
[单片机]
基于<font color='red'>LPC2214</font>和μC/OS-II的家庭智能终端的设计与实现
一种新型商用空调逆变器硬件电路方案的研究
1. 引言   按照国际通用标准,商用 空调 是3HP以上空调机组的统称。近年来, 变频空调 技术已日趋成熟。随着永磁同步压缩机技术的发展,压缩机的单机功率呈现增长趋势,与之相应的空调变频化设计也从小功率的单相220V供电的 家用空调 系统,向较大功率的三相380V户用 中央空调 与商用空调系统延伸。尤其以多联机空调机组为代表,其变频率超过了90%。随着空调系统功率段的提升,对逆变器硬件电路的设计也提出新的要求与挑战。在中大功率的应用中,对功率器件的温度检测与系统可靠性的要求也随之提高。本文以用于10HP商用空调的压缩机逆变器为研究对象,设计了一种新的硬件电路实现方案,采用英飞凌公司的IGBT模块FP35R12KT4和磁隔离型驱
[家用电子]
一种新型商用空调逆变器<font color='red'>硬件电路</font>方案的研究
用AT89S51单片机控制16×16点阵显示器的硬件电路及工作
  现在就通过AT89S51 单片机 来控制16×16点阵显示器,其硬件接法原理图如下图所示,AT89S51单片机的P1.0~P1.3与74LS154的A、B、C、D输入端对应相连,作为行扫描信号输出控制,P2口的8位与两片74LS373的8位输入端相连,P3.0和P3.1分别与74LS373(1)的11脚和74LS373(2)的11脚相连,作为上半部和下半部的数据输入控制使能端。      下面以共阴极16×16点阵显示器显示一个静态汉字为例,介绍其工作原理与步骤。      1、要静态显示一个 大 字,先将 大 字的代码编好。如右图所示,上方是1~16行,左边是a~p16列;上8列是a~h,下8列是i~p,编写代码时,上8列a
[单片机]
用AT89S51单片机控制16×16点阵显示器的<font color='red'>硬件电路</font>及工作
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved