基于USB/RS232的无线通讯终端系统设计

2016-10-07来源: eefocus关键字:USB  RS232  无线通讯终端
  1.引言

  目前仪器设备多数采用RS232接口与计算机通信,但是随着计算机技术的发展,支持热插拔的USB标准接口将取代RS232接口,因此计算机将越来越少配置甚至不配置RS232接口。

    本文详细介绍了一种采用USB通信接口设计的无线数据通讯终端系统。此系统以高速、可 靠、可在线编程的STM32F103C6T6为主控制器件,实现了通过计算机与其他终端之间数据及文件的无线传输功能。实验证明,该系统的设计具有低成 本、高集成度和设计简单等优点,实现无线联网和组网功能,适于便携式电子设备的文件远端下载和上传,为诸如无线切割机、各类物联网掌上终端等设备的数据传输提供了解决方案。

  RS232接口与USB接口虽然都属于串行接口,但它们的数据格式、通信协议、信号电平以及机械连 接方式则不同。这样计算机不能控制现有仪器设备,解决这一问题就得把现有的仪器设备的RS232接口转换成USB接口。实现这种转换可以采用 USB/RS232桥接器件如CP2102,CP2103进行设计,计算机通过USB接口虚拟一个RS232接口,与传统设备器件连接,设备对计算机接口 的形式为USB接口。

  2.无线数据通讯终端系统的接口设计

  无线数据通讯终端系统系统包括:CP2102USB转RS232模块,STM32F103C6T6控制模块,NRF2401+无线发送模块。结构框图如图1所示:

关键字:USB  RS232  无线通讯终端

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/qrs/article_2016100730809.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:RS485收发连接器参考电路设计大全
下一篇:PLC编程口RS232的一次意外烧毁的原因分析

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM32F1系列单片机USB外设相关寄存器的定义

Keil MDK网站上下载的Keil.STM32F1xx_DFP.2.2.0.pack包中的stm32f10x.h头文件里面没有USB_TypeDef的定义,只有寄存器位的定义,是不完整的头文件。没有USB的数据结构就会给访问USB寄存器带来一定的困难。虽然可以参照STM32参考手册中的USB register map自己编写出USB_TypeDef结构体,但是这样比较麻烦。不过,STM32CubeMX工具生成的STM32F103工程中的头文件stm32f103xe.h中就有完整的USB数据结构,该头文件的版本是V4.2.0,日期为31-March-2017,作者仍然是Keil里面的MCD Application Team
发表于 2019-07-19

新版USB Type-C新规范出炉,可直接支持HDMI输出

 USB Type-C接口有可能成为未来多数笔记本电脑、智能手机的唯一数据接口,但这些仅支持USB接口的设备仍必须与那些非USB接口的设备进行交互,比如显示器、电视机等。因此,设计人员需要考虑如何在单个连接器中实现USB和其他高速接口的转换,其中涉及到切换引脚功能、提供诸如ESD的外部瞬变保护以及维护信号质量等问题。USB Type-C标准通过定义备用模式(Alt Mode)来满足这些需求,这种方法能够动态地更改引脚的功能,从而支持非USB的数据传输协议。 本文对各类标准进行了介绍,有了这些标准,USB Type-C才能连接到HDMI或其他非USB形式的数据接口。本文中还包含将HDMI备用模式增加到USB
发表于 2019-07-19
新版USB Type-C新规范出炉,可直接支持HDMI输出

STM32开发笔记17: 解决使用--CPP11编译USB驱动报错问题

单片机型号:STM32L053R8T6    项目希望使用C++语言进行程序设计,在Keil中使用C++语言的方法,我已经在在Keil中使用C++进行程序设计进行介绍过,不过对于STM32CubeMX生成的STM32L0XX相关文件进行编译时,提示如下图所示的错误。    仔细分析可以看出,所有的错误都集中在usbd_conf.c文件,定位错误的具体语句,如下所示。USBD_StatusTypeDef USBD_LL_DeInit(USBD_HandleTypeDef *pdev){  HAL_StatusTypeDef hal_status = HAL_OK; 
发表于 2019-07-17
STM32开发笔记17: 解决使用--CPP11编译USB驱动报错问题

STM32开发笔记21: USB驱动的移植

单片机型号:STM32L053R8T6    现在使用的STM32L053R8T6单片机带有USB接口,原先一直使用UART转USB芯片来完成USB功能的支持,现在这款单片机带了就希望使用以下。由于已经建立了自己的工程目录,再重新使用STM32CubeMX生成的工程文件,重新建立是不显示的,所以本文探索将USB驱动文件移植到自己项目中的方法,我使用的是USB的CDCD类,步骤如下:    1、使用STM32CubeMX使能USB,如下图所示:    2、设置时钟,USB需要48M时钟,使用内部和外部均可,我这里使用外部时钟。    3、生成工程文件
发表于 2019-07-16
STM32开发笔记21: USB驱动的移植

STM32开发笔记33:解决USB CDC “该设备无法启动”问题

单片机型号:STM32F401    调试STM32的USB CDC设备已经有好多次了,可以看一下前面写的日志,针对不同的STM32 MCU都进行了调试。原本以为STM32F4会很简单,可处处是坑,已经调到半夜才解决问题,把问题重新梳理。    我现在使用的芯片时STM32F401,在STM32CubeMX中,按照以下步骤设置。    1、设置为全速从设备,不做USB电源检测。    2、使能CDC,其它采用默认设置。    按照上述设置生成的程序,下载到芯片后,接入计算机,默认是这样的    仔细查看细节问题
发表于 2019-07-16
STM32开发笔记33:解决USB CDC “该设备无法启动”问题

STM32开发笔记34:USB CDC驱动程序的详细移植过程

单片机型号:STM32F401      本文详细介绍USB CDC驱动程序的移植过程。    1、按照STM32F4 开发笔记8:解决USB CDC “该设备无法启动”问题介绍的过程生成驱动程序后,找到如下图所示的文件加入到自己的项目工程中。    2、打开usbd_cdc_if.c文件,可以看到其中有,如下4个函数,其中Init、DeInit和Control函数都不需要改变,关键是Receive函数。static int8_t CDC_Init_FS(void);static int8_t CDC_DeInit_FS(void);static
发表于 2019-07-16
STM32开发笔记34:USB CDC驱动程序的详细移植过程

小广播

何立民专栏

单片机及嵌入式宝典

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

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