DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 219|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 18:47:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                      摘要:为了改进某焊接设备只能输出打印英文单据的情况,设计了由高性能ARM7控制器——LPC2214为核心的英文转中文翻译器,详细论述了具体的硬件电路和优化的软件算法的设计原理,实验结果表明,翻译器对输入的英文数据量的大小无任何限制,能够显著降低系统硬件资源需求且能大大提升打印速度。
  基于某焊接设备存储大量数据需要通过打印机输出,但由于该设备及其配套的微型热敏打印机只能英文打印,不能中文打印的问题,从而影响用户阅读。另外,原有的配套英文打印机具有打印速度缓慢、每一组数据间隔过大,浪费纸张等缺点。因此,为了解决上述问题,根据实际工程项目应用需要,提出一种基于ARM的英文转中文的翻译器设计方案,该设计是在原有设备和支持中文打印的热敏打印机之间增加一块以ARM为核心的电路板作为英文转中文的翻译器,接收设备传输的英文数据,然后通过优化算法转换成中文,能够边接收边打印输出。该系统设计从实验结果来看,打印输出效果良好,整个打印过程快速迅捷,每一组数据间隔可调,能够节省大量纸张。
  1 系统硬件电路设计
  翻译器的系统结构框图如图l所示,它主要包括供电电源、核心控制器LPC2214和双串口接口以及启动和ISP控制接口等电路。该系统设计采用优化的系统软件算法,能够节省大量硬件资源需求。由于数据量非常大且要求快速打印,通常情况会增加一块容量很大的SRAM来接收英文数据,然后再进行比较翻译打印输出。而本系统由于采用了环形接收/发送缓冲区以及前后台程序方式,这样就无需增加SRAM,能够实现边接收边打印,而且系统硬件电路设计简单明了。





  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短接即可。





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





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





  4 结论
  本系统实现的英文转中文翻译器在软硬件方面都采取较好的方案,硬件集成度高,电路板尺寸小,软件算法简洁,编程时除了启动代码采用汇编语言外其他大部分功能代码均采用了模块化的C语言编程,所以针对其他相关的应用领域,在硬件和软件上只需作相应改动即可方便实现。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-12-30 04:28 , 耗时 0.236321 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表