0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

开发心得(2):Android智能硬件的关键——串口通信

机智云 2022-07-04 16:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

通过总结大大小小多个Andriod智能硬件开发项目,记录了智能硬件产品开发的全流程、智能硬件开发所涉及的技术体系概述的心得,并附上在主板选型、串口通信、屏幕显示、常用外接设备上一些品类的特点和差异,分析了我的开发流程习惯原因,以供交流。

1ba4acc8-fa28-11ec-a2f4-dac502259ad0.gif5.关于串口通信

串口通信是Android智能硬件开发所必须具备的能力,市面上类型众多的外设基本都是通过串口进行数据传输的,所以说不会串口通信根本就做不了智能硬件开发。

5.1 UART定义

通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种串行异步收发协议。

UART串口有三种工作方式:单工、半双工、全双工。硬件连接比较简单,仅需要3条线,注意连接时两个设备UART电平,如电平范围不一致请做电平转换后再连接,可参考此文章。

我们常见的串口通讯设置的界面如下所示,

1bb71e8a-fa28-11ec-a2f4-dac502259ad0.png

主要有下列几个参数;

Speed(baud) 波特率

Data bits 数据位

Stop bits 停止位

Parity 奇偶校验位

Flow Control 流控

我们的设置基本都是8位数据位,1位停止位,无校验无流控,就如上图所示。对于程序开发而言,主要关注的参数就是波特率。

另外,需要注意的是比特率、成波特率两者之间是有区别的。

波特率表示每秒钟传送的码元符号的个数,是衡量数据传送速率的指标,它用单位时间内载波调制状态改变的次数来表示。

在信息传输通道中,携带数据信息的信号单元叫码元,每秒钟通过信道传输的码元数称为码元传输速率,简称波特率。

1波特即指每秒传输1个码元符号(通过不同的调制方式,可以在一个码元符号上负载多个bit位信息)。

1比特每秒是指每秒传输1比特(bit)。单位“波特”本身就已经是代表每秒的调制数,以“波特每秒”(Baud per second)为单位是一种常见的错误。

按照上述的基本设置,其实一个码元总共传输了10个比特,1个起始位+1个停止位+8个数据位,如波特率为9600,那每秒一共传输了9600*10 = 96000个比特,换算成字节为12000 byte,约合11.72kb。

需要注意的是这12000byte指的是串口实际一共传输的数据位,但对于我们程序而言,真正能处理的数据就是除去起始位与停止位的数据位,对于传输8位数据位的设置而言,波特率是多少则传输的字节就是多少。如9600的波特率表示每秒传输9600个字节,每毫秒9.6字节。

安卓主板中一个串口端子的定义如下图所示

1bc5938e-fa28-11ec-a2f4-dac502259ad0.png

几乎所有安卓主板上的串口都是这种4pin的形式,这里有一个特别重要的点,就是对外设接线时,RX要对上外设的TX口,TX则对应RX口,否则是接收不到数据传输的。

在我所接触的众多外设中,安卓的常用串口有三种标准接口

RS232

RS485

TTL

UART所指的是硬件接口,是硬件层次的描述。而TTL与RS232、485则指的是数据传输的电平标准,计算机的存储单位是二进制位(bit),也就是0和1,而0和1怎么用电压来表示呢?不同的表示方法于是对应了不同的标准,这就是TTL、RS232这些电平标准之间的区别。

所有CPU芯片的UART数据传输的电平都是采用TTL标准的,我们所看到的安卓主板上RS232或485的接口都是要再需要经过一次电平转换才能与CPU进行通信的。可以这样说,安卓主板CPU直接引出来的串口管脚都是TTL标准的,如需要其它的接口则要中间再增加一个电平转换芯片以满足要求。

参考文章:

https://www.jianshu.com/p/f1bfc7f6059b

https://blog.csdn.net/zhuyongxin_6688/article/details/78001767

5.2 三种UART接口介绍

TTL

TTL(Transistor-Transistor Logic晶体管-晶体管逻辑),TTL电路的工作电压是5V,它的输出可以是高电平(3.6V)或者低电平(0.3V)。为了用这种模拟量的电压来表示数字量的逻辑1和逻辑0,TTL电平规定:

对于输出电路:电压大于等于(≥)2.4V为逻辑1;电压小于等于(≤)0.4V为逻辑0;

对于输入电路:电压大于等于(≥)2.0V为逻辑1;电压小于等于(≤)0.8V为逻辑0;

参考//blog.csdn.net/wofreeo/article/details/82389002

RS232

它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”,该标准规定采用一个25个脚的DB-25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。

后来IBM的PC机将RS232简化成了DB-9连接器,从而成为事实标准。而工业控制的RS-232口一般只使用RXD、TXD、GND三条线。如下图所示。

1bdae644-fa28-11ec-a2f4-dac502259ad0.jpg

采用负逻辑,规定逻辑“1”的电平为-5V~-15 V,逻辑“0”的电平为+5 V~+15 V。选用该电气标准的目的在于提高抗干扰能力,增大通信距离。RS -232的噪声容限为2V,接收器将能识别低至+3V的信号作为逻辑“0”,将高到-3 V的信号作为逻辑“1”。

全双工通信,传输距离较短,其通讯距离小于15 m,传输速率小于20 kb/s。

RS485

RS-485总线标准规定了总线接口的电气特性标准即对于2个逻辑状态的定义:正电平在+2V~+6V之间,表示一个逻辑状态;负电平在-2V~-6V之间,则表示另一个逻辑状态;

数字信号采用差分传输方式,即是A-B两者的电压差用以表示逻辑状态,能够有效减少噪声信号的干扰。

RS-485工业总线标准能够有效支持多个分节点和通信距离远,总共可接收32个设备,且对于信息的接收灵敏度较高,均采用屏蔽双绞线传输。采用半双工(两线制)最大传输距离约1219米,传输速度最高达10Mbps。

1bef7488-fa28-11ec-a2f4-dac502259ad0.jpg

原文地址:https://blog.csdn.net/pigdreams/article/details/104351352

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信
    +关注

    关注

    18

    文章

    6316

    浏览量

    139551
  • 硬件
    +关注

    关注

    11

    文章

    3555

    浏览量

    68736
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式开发关键点介绍

    。 嵌入式开发关键点: 1. 硬件限制: 嵌入式系统通常具有严格的硬件限制,例如处理器速度、内存和存储容量等。因此,嵌入式开发需要考虑这些
    发表于 11-13 08:12

    【道生物联TKB-623评估板试用】2-开发通信测试

    一、硬件连接以及基础入门 根据官方文档,硬件的连接方式如下: 1、将吸盘天线连接开发板的SMA 射频天线接口; 2、使用USB 转Type-C 连接线连接
    发表于 10-30 23:18

    基于FPGA开发板TSP的串口通信设计

    本文详细介绍基于Terasic FPGA开发板TSP(又名C5P和OSK)和其板载CP2102N USB-UART桥接芯片的串口通信系统设计与实现。系统采用Verilog HDL编写UART收发控制器,通过CP2102N实现FP
    的头像 发表于 10-15 11:05 4137次阅读
    基于FPGA<b class='flag-5'>开发</b>板TSP的<b class='flag-5'>串口</b><b class='flag-5'>通信</b>设计

    基于FPGA开发板DE23-Lite的串口通信设计

    DE23-Lite开发板提供了一个UART通信接口(物理接口是下图的Type C接口),用户能够通过主机与Agilex 3 FPGA进行串口通信
    的头像 发表于 10-15 10:57 3964次阅读
    基于FPGA<b class='flag-5'>开发</b>板DE23-Lite的<b class='flag-5'>串口</b><b class='flag-5'>通信</b>设计

    串口屏:重塑人机交互的开发革命

    智能设备蓬勃发展的今天,人机界面已成为产品差异化的关键。传统GUI开发需要耗费大量时间在底层驱动和图形算法上,而串口屏的出现,正在彻底改变这一现状。 技术突破:让交互
    发表于 08-28 14:56

    Air780EGH串口电路设计攻略:硬件工程师必知要点

    。 本文主要从硬件设计的角度,分享串口设计中的一些关键注意点,软件开发方面不做深入探讨。 一、串口相关管脚 Air780EGH支持3个
    的头像 发表于 08-14 17:53 607次阅读
    Air780EGH<b class='flag-5'>串口</b>电路设计攻略:<b class='flag-5'>硬件</b>工程师必知要点

    Air780EGH串口通信优化:硬件电路设计核心要素剖析

    硬件设计的角度,分享串口设计中的一些关键注意点,软件开发方面不做深入探讨。 一、串口相关管脚 Air780EGH支持3个
    的头像 发表于 08-11 15:44 530次阅读
    Air780EGH<b class='flag-5'>串口</b><b class='flag-5'>通信</b>优化:<b class='flag-5'>硬件</b>电路设计核心要素剖析

    串口网关是什么

    串口网关是什么? 串口网关(Serial Gateway) 是一种硬件或软件设备,用于将 串口通信协议 (如RS-232、RS-485、TT
    的头像 发表于 06-05 11:31 544次阅读

    【RA-Eco-RA4M2开发板评测】RA-Eco-RA4M2 串口通信

    信号,但不需要额外的起始、停止位,可以实现更快的传输速度。但SCI控制起来更复杂,因此本文主要讲解以异步通信,也就是UART。 2 串口硬件 串口
    发表于 04-27 23:23

    3.5英寸高清智能串口屏 8位MCU并口通信的COG裸屏 或带驱动板232串口通信智能

    3.5英寸高清智能串口屏 8位MCU并口通信的COG裸屏 或带驱动板232串口通信智能
    的头像 发表于 02-18 14:49 762次阅读
    3.5英寸高清<b class='flag-5'>智能</b><b class='flag-5'>串口</b>屏 8位MCU并口<b class='flag-5'>通信</b>的COG裸屏 或带驱动板232<b class='flag-5'>串口</b><b class='flag-5'>通信</b>的<b class='flag-5'>智能</b>屏

    瑞芯微开发板/主板Android调试串口配置为普通串口方法

    ​本文介绍瑞芯微开发板/主板Android调试串口配置为普通串口方法,不同板型找到对应文件修改,修改的方法相通。触觉智能RK3562
    的头像 发表于 02-11 11:57 1569次阅读
    瑞芯微<b class='flag-5'>开发</b>板/主板<b class='flag-5'>Android</b>调试<b class='flag-5'>串口</b>配置为普通<b class='flag-5'>串口</b>方法

    【正点原子STM32H7R3开发套件试用体验】按键、串口通信

    项目的应用开发设计具有重要意义。 原理图 硬件连接 使用 LED0 进行程序运行状态提示,其与 GPIO 的连接方式为 LED0 - PD14 使用串口 USART1 进行通信
    发表于 12-30 16:53

    串口通信原理解析 串口与并口的区别

    在计算机硬件通信领域,串口(Serial Port)和并口(Parallel Port)是两种常见的数据传输接口。它们在数据传输方式、速度、应用场景等方面有着明显的区别。 串口
    的头像 发表于 12-27 09:50 3242次阅读

    瑞芯微平台Android系统串口测试方法,触觉智能RK3562开发板演示

    瑞芯微方案主板Android系统串口测试方法,通用RK3568、RK3566、RK3588、RK3576等。触觉智能RK3562开发板演示
    的头像 发表于 12-24 11:51 1426次阅读
    瑞芯微平台<b class='flag-5'>Android</b>系统<b class='flag-5'>串口</b>测试方法,触觉<b class='flag-5'>智能</b>RK3562<b class='flag-5'>开发</b>板演示

    【米尔-紫光PG2L100H国产FPGA开发板试用】串口通信功能测试

    一、准备工作 硬件准备 PG2L100H FPGA开发板 USB Type-C数据线 12V电源适配器 USB转串口模块(板载) Windows 10电脑 软件环境 PDS
    发表于 12-06 10:51