1625|0

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

串口扩展IC的物流POS机 [复制链接]

串口扩展IC的物流POS机
一、    背景
随着互联网技术的发展与进步,我们越来越多的工作都需要依赖电脑或者是电子设备,就连很多传统行业,也在“互联网+”的推动下发生了翻天覆地的变化,比如我们曾经的物流行业,现在物流行业的货物从邮寄放发出邮寄需求到收件人签收,我们都可以随时随地查询,那么这些信息是怎么实现实时传输到互联网的那?当然离不开我们功能越来越强大的智能手持终端。难道这不就是一个“互联网+行业智能硬件”的成功例子。当然,有这样需求的行业还有很多,比如电商、零售、政府部门等。
二、    行业概况
智能硬件终端在我们生活中越来越多的被应用于各个行业,同时也为了满足各个行业的实际需求,对于这些设计智能硬件中断行业也在不停的进步和探索新的需求。目前我们常见的智能硬件终端主要包括POS机、手持PDA等。下面我们就介绍一款基于串口扩展芯片WK2XXX的手持终端设备的设计。
现在越来越多的手持终端都会集成丰富的功能,所以也就会增加比较多的功能硬件模块,比如我们常见的读卡器模块、GPS模块、无线通信模块、打印头模块、扫描仪模块、指纹阅读器模块等。而这些模块通常都是用UART接口来实现和主CPU来实现通信。
我们通常的CPU自带2到3个UART,除了一个调试的uart,那么留个我们的UART
    接口就只有1个或者2个,那么我们就不得不扩展更多的串口来实现相关功能模块的加载。我们在考虑了国内和国外的一些串口扩展IC后,最终决定选着为开微电子有限公司的wk2xxx系里的串口扩展芯片,原因如下:wk2xxx系列串口扩展芯片的硬件收发缓存大,有超时中断等
三、    总体设计方案
1、    总体原理框图

 


    本设计采用了三星的S5PV210作为主控CPU,运行linux、安卓、wince7.0系统平台都可以,然后使用WK2204串口扩展芯片实现不同串口模块的搭载,具体的串口扩展模块包括读卡器、GPS、串口打印机、串口扫描仪等
2、    WK2204介绍
WK2204是首款具备256级FIFO的低功耗并支持 UART/SPITM/IIC位并行总线接口的4通道UART器件。可以通过模式选择使得该芯片工作于以上任何一种主接口模式,将选定的主接口扩展为4个增强功能的UART。
扩展的子通道的UART具备如下功能特点:
每个子通道UART的波特率、字长、校验格式可以独立设置,最高可以提供1.5Mbps的通信速率。
每个子通道可以独立设置工作在IrDA红外通信、RS-485自动收发控制、9位网络地址自动识别、软件/硬件自动流量控制等高级工作模式下。
每个子通道具备收/发独立的256 级FIFO,FIFO的中断可按用户需求进行编程触发点且具备超时中断功能。
WK2204采用QFN24绿色环保的无铅封装,可以工作在2.0V~3.6V的宽工作电压范围,具备可配置自动休眠/唤醒功能。

四、    硬件设计要点
1、本硬件设计主要介绍WK2204的相关外围电路和扩展UART的方式


     从上图我们可以看出,wk2204通过SPI接口和S5PV210实现数据通信,同时也把自身的中断信号输出到S5PV210的外部中断输入引脚,这样就可以通过中断快速的处理WK2204收到的相关数据。
    同时wk2204连接的4个串口设备读卡器、GPS、打印机、扫描仪通过UART和wk2204通信,最终实现和S5PV210通信。
五、    软件设计要点
本设计就也LINUX系统为例。像这种系统级的产品,主要包括驱动设计、系统移植、和应用APP设计。我们主要重点介绍WK2204在LINUX下的驱动程序设计。因为这也是本设计中的重点和难点。

1、    Wk2204总体驱动框架介绍
      嵌入式系统的驱动程序是linux系统内核和设备硬件之间的接口。他把系统调用映射到具体设备对于实际硬件的特定操作上,关系如下图所示:

通过这种方法,应用程序就可以像操作普通文件一样操作硬件设备,用户程序只需要关心这个抽象出来的文件,而一切同硬件打交道的工作都交给了驱动程序。比如我们要向屏幕输出一串字符串,我们只需要把字符串写到显卡所抽象出来的文件里,而真正把字符串传到显卡里的工作就是由驱动程序来完成的。
    在Linux下,驱动程序是内核的一部分,运行在内核态下,你可以将驱动静态的和内核编译在一起,这样的缺点是内核会比较大,而且如果驱动出错,会导致整个系统崩溃;也可以module的方式编译,在需要的时候动态的载入。
Linux3.0是目前应用较广的版本,易于开发驱动程序,也很方便移植到其它版本的Linux中。本软件产品就是基于S5PV210的Linux(linux3.0内核)平台,开发的WK2XXX系列串口扩展芯片的驱动软件 。

         在此我们不在对驱动的程序做详细的介绍,具体的驱动程序可以向为开微电子有限公司索取,他们都做好了相关的驱动
2、    系统调用
由于驱动最后在系统上体现都是一个个串口设备文件,那么我们在制作打印机、扫描仪相关应用程序的时候,那么就直接调用系统的串口设备文件,实现应用程序即可。

六、    总结
现在在互联网高速发展的年代,作为设备设计,我们首先是要了解市场需求和并把需求快速实现产品。这一切都需要产品设计的模块化设计,这样既可以减少开发时间,也可以增加系统的稳定性,并降低成本。串口设备越来越多的今天,我们选择一款好的串口扩展芯片可能就更加重要了。Wk2204从为开微电子的了解来看,已经实现量产,而且从市场的反馈来看产品稳定,而且比较好用也更加实用。
 

此帖出自Linux开发论坛
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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