一种具有串口的手持终端的制作方法

文档序号:12464373阅读:229来源:国知局
一种具有串口的手持终端的制作方法与工艺

本发明涉及电数字数据处理领域,特别是涉及一种具有串口的手持终端。



背景技术:

随着射频识别(RFID)应用的领域越来越多,更多的人感受到了RFID技术带来的便利与高效。很多场合下都使用到RFID手持终端,该终端配置3G、4G、WIFI、蓝牙、GPS等无线通讯模块构成整个RIFD应用系统,RFID模块作为手持终端的数据采集层模块。有的手持终端还需增加条形码扫描模块、红外通讯模块以及某些行业定制的模块。在上述的这些模块当中,RFID模块、蓝牙模块、GPS模块、条形码扫描模块、红外通讯模块以及部分特定行业定制的模块都是采用串口进行通讯。虽然目前主流的消费类硬件平台集成度相对较高,但是在产品设计中面对这么多的串口设备时也显得捉襟见肘。在主流的工业类硬件平台,特别是目前还提供WINCE系统支持的嵌入式硬件平台,集成度则相对较低。在产品设计时配置的外围模块对串口资源的需求较高。

在串口资源极其稀缺、而众多的串口外设又不能少的情况下,一种传统的做法是采用分时复用的方案。具体是根据已了解的应用选择不同的组合对同一串口进行分时复用,其中一个模块工作时,其他模块全部停止工作且通过电子开关断开与主控的物理连接。

然而上述方案在实际使用中存在以下问题:

1、最为直接的缺陷是,一个串口设备在使用时其他串口设备必须处于关闭状态,同时只能使用一个串口设备。在实际应用中受到很大的局限。

2、存在一个系统可靠性的问题,一个串口接多个串口设备,若一个串口设备出现故障可能直接导致与该设备并行的所有设备均无法正常使用。部分设计采用了电子开关将同一个串口上的设备进行隔离,防止一个串口设备出现故障直接导致其他串口设备无法正常使用,但是当一个设备出现故障时往往会影响电子开关的稳定性,在具体应用中经常出现一个设备在使用中突然出现串口通讯失败,重新启动又能正常使用的情况。



技术实现要素:

基于此,有必要针对现有的采用时分复用的串口方案的手持终端存在的问题,提供一种具有串口的手持终端。

一种具有串口的手持终端,包括具有串口的主控平台,所述手持终端还包括控制模块,所述控制模块与所述主控平台连接,用于将主控平台的一路串口扩展成多路子串口;所述控制模块包括:协议处理单元,用于对来自所述主控平台的串口信号进行命令侦听和解析,当解析出的命令为串口配置命令时,对命令指定的子串口进行配置,所述串口配置命令包括串口使能命令、串口数据长度设置命令、串口超时时间设置命令、波特率设置命令中的一种或多种;当解析出的命令为串口发送命令时,通过命令指定的子串口向外发送串口数据;数据接收单元,用于在子串口被串口使能命令使能后开启子串口的接收中断,并将子串口接收到的数据放入接收缓存中,在接收数据的子串口连续未接收到数据的时长大于配置的超时时间时,将所述缓存中接收到的数据打包成数据帧发送给主控平台;且在所述缓存中接收到的数据长度大于配置的数据长度上限时,也将缓存中接收到的数据打包成数据帧发送给主控平台。

在其中一个实施例中,所述控制模块为微控制单元。

在其中一个实施例中,所述控制模块包括复位电路和时钟电路,所述手持终端还包括用于给所述微控制单元提供工作电源的线性稳压器。

在其中一个实施例中,所述控制模块包括设于各子串口的静电释放保护电路。

在其中一个实施例中,还包括电平转换电路,用于将所述主控平台发出的串口信号的电压转换成所述控制模块的适用电压,以及将所述控制模块发送给主控平台的信号转换成所述主控平台的串口的适用电压。

在其中一个实施例中,所述控制模块的适用电压为3.3V,所述主控平台的串口的适用电压为1.8V。

在其中一个实施例中,所述协议处理单元在接收到串口发送命令时对发送缓存进行检查,如果检查出发送缓存无法放入发送内容,则向所述主控平台返回错误帧;否则将发送内容放入发送缓存中发送。

在其中一个实施例中,所述数据接收单元使用先入先出队列机制进行数据的接收,所述串口数据长度设置命令是设置先入先出队列的长度上限。

在其中一个实施例中,所述手持终端为具有射频识别功能的手持终端。

在其中一个实施例中,所述控制模块的子串口为通用异步收发传输器接口。

上述具有串口的手持终端,通过控制模块采用硬件方式将主控平台的串口扩展成多个子串口,各个子串口之间相互独立,因此这些子串口可以同时工作,一个子串口出现故障时也不会对其他子串口的工作造成影响。通过串口数据长度设置命令调整接收缓存中数据的长度上限,能够解决不同应用对串口的接收缓存要求不一致的问题。

附图说明

图1是一实施例中具有串口的手持终端的串口扩展方案示意图;

图2是一实施例中控制模块的电路原理图;

图3是一实施例中电平转换电路的电路原理图;

图4是一实施例中协议处理单元进行数据发送的流程图;

图5是一实施例中数据接收单元进行数据接收的流程图。

具体实施方式

中给出了本发明的首选实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。

需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“竖直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

图1是一实施例中具有串口的手持终端的串口扩展方案示意图。具有串口的手持终端包括具有串口的主控平台10和与主控平台10连接的控制模块20。控制模块20用于将主控平台10的一路串口信号扩展成多路子串口信号。控制模块20包括协议处理单元和数据接收单元,在本实施例中控制模块20为微控制单元(MCU)。在图1所示实施例中,是将主控平台10的一路串口扩展成三路子串口,在其他实施例中,可以根据手持终端的实际串口需求选用不同型号的MCU,以实现不同数量的串口扩展(即可以选择主控平台的一个串口扩展出的子串口数量)。

协议处理单元用于对来自主控平台的串口信号进行命令侦听和解析。当解析出的命令为串口配置命令时,对命令指定的子串口进行配置;当解析出的命令为串口发送命令时,通过命令指定的子串口向外(即向子串口连接的设备,例如图1中的设备1、设备2等)发送串口数据。串口配置命令包括串口使能命令、串口数据长度设置命令、串口超时时间设置命令、波特率设置命令中的一种或多种。

数据接收单元用于在子串口被串口使能命令使能后,开启该子串口的接收中断,并将子串口接收到的数据放入接收缓存中。当缓存中接收到的数据长度大于串口数据长度设置命令配置的数据长度上限时,数据接收单元将接收缓存中接收到的数据打包成数据帧发送给主控平台;且当接收数据的子串口连续未接收到数据的时长大于配置的超时时间时(代表数据已接收完毕),同样将接收缓存中接收到的数据打包成数据帧发送给主控平台。

上述具有串口的手持终端,通过控制模块20采用硬件方式将主控平台的串口扩展成多个子串口,各个子串口之间相互独立,因此这些子串口可以同时工作,一个子串口出现故障时也不会对其他子串口的工作造成影响。通过串口数据长度设置命令调整接收缓存中数据的长度上限,能够解决不同应用对串口的接收缓存要求不一致的问题。

在其中一个实施例中,手持终端为具有射频识别功能的手持终端。由于具有射频识别功能的手持终端集成的RFID模块、蓝牙模块、GPS模块、条形码扫描模块、红外通讯模块等多采用串口,因此该类手持终端对于串口的数量有较大的需求。

在图1所示实施例中,手持终端还包括电平转换电路30,用于将主控平台10发出的串口信号的电压转换成控制模块20的适用电压,以及将控制模块20发送给主控平台10的信号转换成主控平台10的串口的适用电压。

在一个实施例中,控制模块20还包括复位电路和时钟电路,手持终端还包括用于给微控制单元提供工作电源的线性稳压器。

在图1所示实施例中,每个子串口还设有匹配与保护电路40,用于对子串口进行保护,及保证子串口能够外接不同的串口设备。匹配与保护电路40可以包括静电释放保护电路,用于对各子串口进行静电释放(ESD)保护。

图2是一实施例中控制模块20的电路原理图。该实施例的控制模块20采用Atmel公司的SAM D20系列MCU。如图2所示,TP3、TP4、TP5、TP6、TP7五个信号测试点作为MCU的软件升级接口;电阻R2、电容C8构成简单的RC复位电路;晶振Y1、电容C1、电容C2构成时钟电路;MCU_3V3端口是手持终端的线性稳压器(LDO)向MCU提供工作电源的端口。SAM D20系列MCU的IO(输入输出)口可灵活配置为IIC、SPI、UART(通用异步收发传输器)等串行接口,在本实施例中将IO口配置为UART作为子串口。在其他实施例中,也可以通过软件不将MCU的IO口配置成高速串口,而配置成普通的IO口。

AM3715_TX1_3V3、AM3715_RX1_3V3为主控平台的串口信号经过电平转换电路30转换后的TTL电平信号。UART1_RX/UART1_TX、UART2_RX/UART2_TX、UART3_RX/UART3_TX信号为MCU扩展出来的三组子串口信号。电阻R3、电阻R4、电阻R5、电阻R6、电阻R7、电阻R8为外接的串口设备与各子串口的信号匹配电阻,ESD器件D1~D6用于防止静电将MCU损坏,这些电阻和ESD器件属于前述的匹配与保护电路40。

图3是一实施例中电平转换电路30的电路原理图。在本实施例中,主控平台10为TI公司的AM3715,AM3715主控制器的串口电平为1.8V,而控制模块20采用的MCU的IO电平通常有1.8V与3.3V两种,为了提高兼容性,本实施例中将主控平台10的串口输出的电平信号从1.8V转换成3.3V,电平转换电路30选用TI公司SN74LVC系列芯片,该系列芯片数据传输方向可调,电平转换标准可调,使用灵活。电平转换电路30的电压大小可通过芯片的VCCB与VCCA两个管脚所接电平确认;芯片使能可通过1OE与2OE管脚的电平控制;信号方向可通过芯片的1DIR与2DIR管脚电平控制。本实施例中由于是将电平信号从1.8V转换成3.3V,所以VCCB接1.8V电平,VCCA接3.3V电平。本实施例中将第一组信号方向设计为A端到B端,第二组信号方向设计为B端到A端,所以1DIR设置为高电平,2DIR设置为低电平;使能信号是低电平有效,通过主控的IO口根据应用灵活配置。

在一个实施例中,数据接收单元使用先入先出队列(FIFO)机制进行数据的接收,串口数据长度设置命令是设置FIFO的长度。

图4是一实施例中协议处理单元进行数据发送的流程图,包括下列步骤:

S410,对来自主控平台10的串口信号进行命令侦听。

MCU主循环中的协议处理逻辑会持续侦听主控平台10的串口发送过来的命令。在接收到来自主控平台10的命令时,进入步骤S420,否则继续进行命令侦听。

S420,解析命令。

解析出来的命令包括串口配置命令和串口发送命令。若为串口配置命令,则进入步骤S430,若为串口发送命令,则进入步骤S442。

S430,对命令指定的子串口进行配置。

串口配置命令包括串口使能命令、串口数据长度设置命令、串口超时时间设置命令、波特率设置命令等。根据具体接收到的串口配置命令对子串口进行相应的配置,配置后立即生效。配置完成后将结果返回主控平台10(步骤S450)。在本实施例中,串口数据长度设置命令是设置FIFO的长度上限。

S442,检查发送缓存是否能放入发送内容。

MCU解析出串口发送命令后首先会对发送缓存进行检查,若发送缓存无法放入发送内容,则进入步骤S450,向主控平台10返回错误帧;否则进入步骤S444。

S444,将发送内容放入发送缓存中发送。

如果发送缓存中能放入发送内容,MCU会利用串口驱动自动发送串口数据,并进入步骤S450,将结果返回给主控平台10。

协议处理单元完成上述步骤后,各个子串口会进行主动上报。

图5是一实施例中数据接收单元进行数据接收的流程图,包括下列步骤:

S510,判断是否接收到了串口使能命令。

若是,则开启子串口的接收中断;否则继续等待直到子串口接收到串口使能命令而被使能。

S520,子串口接收外部设备的数据。

将将子串口接收到的来自外部串口设备的数据放入接收缓存中。

S530,判断是否持续接收到外部设备的数据。

若是,则进入步骤S540,否则进入步骤S550。

S540,判断数据长度是否大于配置的FIFO上限。

判断接收缓存中的数据长度是否大于串口数据长度设置命令配置的FIFO上限,若是,则进入步骤S560,否则返回步骤S520,子串口继续接收外部设备的数据。

S550,判断子串口连续未接收到数据的时长是否大于配置的超时时间。

若是,则可以认为外部设备的数据传输已告一段落,进入步骤S560;否则返回步骤S520,子串口继续接收外部设备的数据。

S560,将接收到的数据打包成数据帧发送给主控平台。

根据前述,此步骤分为两种情况,一种是在接收缓存中的数据长度大于串口数据长度设置命令配置的FIFO上限时,将接收缓存中的数据打包成数据帧发送给主控平台;另一种是超时后,也会将接收缓存中的数据打包成数据帧发送给主控平台。

在一个实施例中,应用层中如果检测到休眠使能脚的休眠使能信号时,软件将控制手持终端在500毫秒内进入休眠状态,以便节能。在休眠状态下,当检测到休眠使能脚禁止使能时,将在200毫秒内停止休眠状态,进入正常工作状态。

在一个实施例中,上述具有串口的手持终端还具有数据校验功能,能够保障数据完整性;并具有主控平台未收到数据自动重发功能。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1