基于ARM的中英文翻译器设计

发布者:花海鱼最新更新时间:2023-03-20 来源: elecfans关键字:ARM  控制器 手机看文章 扫描二维码
随时随地手机看文章

  为了改进某焊接设备只能输出打印英文单据的情况,设计了由高性能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语言编程,所以针对其他相关的应用领域,在硬件和软件上只需作相应改动即可方便实现。


关键字:ARM  控制器 引用地址:基于ARM的中英文翻译器设计

上一篇:基于蓝牙的矿山车辆胎压监控系统设计
下一篇:浅析非对称双核MCU基础知识及核间通信

推荐阅读最新更新时间:2024-11-10 11:47

TI推出宽输入电压四开关降压-升压DC/DC控制器
2015年3月23日,北京讯--- 近日,德州仪器推出一款全新的宽VIN,四开关降压-升压控制器,此控制器可以通过减少电磁干扰 (EMI) 来达到最高功效。LM5175管理3.5V至42V之间的输入电压,并将输出电压稳定在0.8V至55V之间。借助其高灵活性,这款控制器能够为诸如工业PC、USB电力传输、车内无线充电、LED照明、电动汽车、电池充电和电信RF功率放大器等工业和汽车应用提供高性能设计。 最高电源转换性能 TI的LM5175 DC/DC控制器具备高度的灵活性,可用单个器件在宽泛的输出功率范围内解决降压、升压和降压-升压等多样化的应用需求。这些应用的输出功率从几瓦的到百瓦以上均可覆盖。
[电源管理]
ARM前CEO Warren East加入镁光董事会
Warren East目前已确认加入镁光董事会。 “Warren East在ARM担任CEO期间做出了非常卓越的贡献,我们也相信他能在美光董事会有巨大贡献。”美光CEO Mark Durcan 说。 Warren East于1994年加入ARM,之后成为负责业务运营的副总裁,在加入ARM之前,East就职于德州仪器。 “我非常荣幸能够有机会与美光的团队一起工作。”Warren East说道,“在对Elpida进行收购后,美光获得了足够的增长动力,它将进一步促进美光成为存储,移动,计算市场等领域的领导者。”
[手机便携]
力矩电机控制器输出电压是多少
根据国家电网各区域的情况有所不同,输出的电压亦各不相同。一般常用的有以下几种: (1)3AC220V50Hz/60Hz输入,输出3AC0~210V (2)3AC380V50Hz/60Hz输入,输出3AC0~370V (3)3AC400V50Hz/60Hz输入,输出3AC0~390V (4)3AC415V50Hz/60Hz输入,输出3AC0~400V (5)3AC420V50Hz/60Hz输入,输出3AC0~410V
[嵌入式]
ARM基于台积电10nm多核测试芯片问世
ARM宣布首款采用台积公司 10奈米FinFET制程技术的多核心 64位元 ARM v8-A 处理器测试晶片问世。模拟基准测试结果显示,相较于目前多用于多款顶尖高阶手机运算晶片的16奈米FinFET+ 制程技术,此测试晶片展现更佳运算能力与功耗表现。 此款测试晶片已成功获得验证(2015 年第 4 季已完成设计定案),为 ARM 与台积公司持续成功合作的重要里程碑。此一验证完备的设计方案包含了EDA工具、设计流程及方法,能够使新客户采用台积公司最先进的10奈米 FinFET 制程完成设计定案。此外,亦可供 SoC 设计人员利用基础 IP (标准元件库、嵌入式记忆体及标准 I/O) 开发最具竞争力的 SoC,以达到最高效能、最
[单片机]
仙知机器人|SRC核心控制器,轻松打造你的专属移动机器人
你觉得打造移动机器人难吗? 你想知道轻松如何打造移动机器人? 你想打造属于自己的专属移动机器人吗? 现在,给大家透露一下 轻松打造移动机器人的秘诀吧 它就是——SRC核心控制器 SRC核心控制器,它是移动机器人最强大脑,也是移动机器人最核心的控制元件,它为移动机器人提供最核心的地图构建、定位及导航等功能,配合功能强大的可视化操作软件Roboshop,可快速完成移动机器人的搭建。 SRC核心控制器拥有超强势适配性及强大功能,适配双轮差动、单舵轮、双舵轮、四驱麦克纳姆轮等多种运动车型,满足工业移动机器人、商用移动机器人、自动叉车的不同应用需求。 基于SRC的各类移动机器人 通过SRC核心控制器,便能轻松打造你的专属移动机器人。下面
[机器人]
ARM裸机篇--串口UART实验
串口应该都很熟悉了,具体通信原理我就不提了,这个百度上都很多讲的,然后就直接看函数了。 void Uart_SendByte(int data)//这个函数是发送整型数据,参数为data { if(whichUart==0)//这个是选中串口0 { if(data=='n')//然后判断数据不为空 {       /*寄存器的原始宏定义,       #define rUTRSTAT0 (*(volatile unsigned *)0x50000010) //UART 0 Tx/Rx status*/ while(!(rUTRSTAT0 & 0x2));/*这个就是查询串口
[单片机]
<font color='red'>ARM</font>裸机篇--串口UART实验
快速学Arm——存储器加速模块(MAM)2
我们再来看一下LPC2300 ARM的MAM工作模式.LPC2300系列ARM允许用户设置MAM的加速级别,使芯片应用于某些对功耗和可预见性有要求的场合.MAM定义了如下的三种工作模式: 从图中可以看出MAM功能会使系统耗费更多的能量,但预见性会提高. MAM部分使能: CPU顺序执行时所需要的代码由缓冲区提供,但是成像跳转后需要对Flash进行读操作.此外,若数据缓冲区中的数据可用,则从其中获取数据.但是,为了保证可预见性,同时也为了不增加功耗,MAM还是会虚拟一次对Flash的读操作.该模式下,CPU具有较好信号,较低的功耗,数据的可预见性也比较好.至于是如虚拟的,我目前还不清楚. MAM完全使能: CPU
[单片机]
快速学<font color='red'>Arm</font>——存储器加速模块(MAM)2
7.ARM处理器的工作模式
ARM七种工作模式:图1-1: 图1-1 上面的七种工作模式可以在cpsr设置:如下的M =Mode number。 图1-2 之所以要有这么多种模式,是为了避免致命的错误。例如我们写的应用程序运行在User模式,操作系统的运作在比较高的模式。 User模式:普通程序运行的模式。 FIQ:快速中断运行的模式 RIQ:普通中断运行的模式 Supervisor:特权模式 Abort:访问内存异常等 Undefined:未定义模式,数据未定义。 System:系统模式 Linux对于用户程序是运行在User模式,内核运行在Supervisor模式。
[单片机]
7.<font color='red'>ARM</font>处理器的工作模式
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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