rs232串口驱动_电脑主板RS232串口硬件设计

02f0fc4273418564caee7d00def93e8b.png

更多硬件设计培训视频, 欢迎加入微信公众号“陈苍硬件设计”


RS232属于一种电平标准,采用UART异步通信串行数据总线协议。工业电平标准RS422和RS485同样采用UART协议。具体uart的协议格式和RS232电平标准大家可回顾下《低速接口视频》。我们这里主要讲解RS232接口的电路设计。《低速接口视频》地址如下连接:

http://v.youku.com/v_show/id_XMjk5ODU5MTE2MA==.html?spm=a2hzp.8253869.0.0

5952735d198890613e4591cacbed3b7e.png

上图为uart全串口模式的原理图连接,采用GD75232作为转换电平芯片,总共用到8根信号线。我们常用的串口协议简化了部分控制线信号,只需要RX和TX 2根信号线就足够。这种情况只需要2个通道的电平转换芯片max232就可以了。

串口的硬件电路设计可以说是非常简单,但是串口调试电路也容易经常出问题。下面我们来介绍硬件设计需要注意的地方。

和大家强调一下,设计任何电路之前,要先搞清楚你设计的东西要达到什么标准,否则你无法判断设计出来的是否OK。

1.电平标准

通过GD75232将TTL电平转换为RS232电平。当然你也可以自己设计个电平转换电路。

RS232电平:逻辑1: -3~-15V,逻辑0:+3~+15V

TTL 电平: 逻辑1: >2.0V ,逻辑0:<0.8V

2.电源供电

串口接口不需要电源供电脚,但GD75232芯片需要供电+-12V供电,还有VCC 5V供电。而常用的MAX232只需5V,通过自身的电荷泵产生+-10V电源来驱动信号线。下面是MAX232芯片电荷泵的外围连接图。

582685a811ddcd03d8e417817bbfcd13.png

3.DB9接插座

DB9接插座有公口和母口2种;所以DB9连接线上的插座有公转母,公转公,母转母3种;连接线内部连接方式有交叉和直连2种(RX,TX是否交叉)。一共可能出现2*3*2=12种情况,所以大家设计RS232之前要先确定两边的连接方式。

7584e6165fa8c18b526079596fb0a645.png

4.RS232接口保护

大家还记得外漏的接口在过3C认证的时候都要做什么测试吗? -----ESD测试。

虽然GD75232支持2KV的ESD。但如果我们要过更高的等级如6K/8K,那么我们需要在信号接口添加ESD保护芯片。部分低成本方案采用信号线串联电阻防护,但这种不一定过得了ESD测试。

549cf5313a74b1112866d1ea56617853.png

5.芯片购买

MAX232等串口芯片市场上仿品太多,若不是通过原厂或代理购买的,买到假货的概率相当大,采购需谨慎。


更多硬件设计培训视频, 欢迎加入微信公众号“陈苍硬件设计”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428012.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue编写to-do list源码

前端重于积累&#xff0c;下次使用不迷路。 纯vue代码 话不多说,直接上效果图: 源码附上: <template><div class"bgBody"><!-- 卡片--><el-row :gutter"12" ><el-col :span"8" ><el-card shadow"hov…

vue积累——另一种走马灯

效果图: vue源码: <template><el-carousel :interval"1500" type"card" height"400px" ><el-carousel-item v-for"item in imgList" :key"item.id"><img :src"item.idView" class"im…

假设检验背后的逻辑

内容转自知乎相关问题答案&#xff0c;写的很清晰。 1. 概述逻辑&#xff1a; 全称命题只能被否证而不能被证明。这个道理很简单&#xff0c;个案当然不足以证明一个全称命题&#xff0c;但是却可以否定全称命题。 研究时&#xff0c;我们当然不希望否证自己的研究假设&#xf…

Arduino上U8g2库自制中文库

U8g2最新版的本身自带中文库&#xff0c;之所以需要自制&#xff0c;是为了减小内存&#xff1b; 文章最后会标一下u8g2自带的中文库不过有些板子不能用gb2312等大字体&#xff1b; 字体库需要的是需要的是下面的这种编码&#xff0c;而实现这种编码&#xff0c;就需要map文件…

数据库创建(利用写好的数据库表生成创建表的sql语句+利用生成的数据库创建表加同步数据sql)

一.利用写好的数据库表生成创建表的sql语句 1.简单创建一个数据库&#xff0c;并建一个表&#xff0c;并编辑数据。 a.建库 b.建表 c.编辑表&#xff0c;保存时输入表名 d.刷新一下&#xff0c;出来了 e.转存导出sql文件。 二.利用生成的数据库创建表加同步数据sql。…

字符串之字符判断以及字母的大小写转换

char c //给定字符c 1.isalpha© //判断是否是字母 2.isdigit© //判断是否是数字 3.islower© //判断是否是小写字母 4.isupper© //判断是否是大写字母 5.tolower© //转变成小写字母 6.touper© //转变成代写字母 至于说应用&#xff0c;看代码悟吧…

symfony api 错误响应_Postman for Mac(API管理开发软件)

Postman for Mac是一款可在Mac端运行的API管理开发软件&#xff0c;postman 下载 mac不仅可以调试简单的css、html、脚本等简单的网页基本信息&#xff0c;它还可以发送几乎所有类型的HTTP请求&#xff0c;用户可以利用Chrome插件的形式把各种模拟用户HTTP请求的数据发送到服务…

前端学习

学习整理了web缓存的一些策略&#xff0c;如有不正确的地方&#xff0c;欢迎指正。 浏览器端的缓存规则 对于浏览器端的缓存来讲&#xff0c;这些规则是在HTTP协议头和HTML页面的Meta标签中定义的。他们分别从新鲜度和校验值两个维度来规定浏览器是否可以直接使用缓存中的副本&…

string的反转输出以及char型字符串的反转输出

string str; //string型变量str char str1[]; //char型变量str string的反转输出: reverse(str.begin(),str.end()) char型的反转输出: strrev(str1); 实际应用看参考代码: #include<iostream> #include<bits/stdc.h> using namespace std; int main() {string s…

数据流图怎么画_概率图模型怎么画?5个步骤完成专业模型图

概率图模型是什么呢&#xff1f;概率图模型是用图形模式来表示各个变量概率相关关系以及与模型有关的变量的联合概率分布的一类模型。概率图理论可分为概率图模型表示理论、概率图模型推理理论和概率图模型学习理论三部分。概率图模型一般包括贝叶斯网络、马尔可夫网络和隐马尔…

res.status === 200含义

200本身就是http请求成功的响应值

process启动jar包判断成功_恒一广告助力2020年壹基金温暖包安康发放启动仪式成功举办...

有爱的冬天不会冷11月28日上午&#xff0c;由共青团安康市委、安康市教育体育局、安康市民政局、安康市关心下一代组委会、安康广播电视台、安康义工联合会主办的“壹家人温暖安康共青团助力脱贫攻坚暖冬行动”暨2020年壹基金温暖包安康发放启动仪式在安康市金州体育场成功举办…

pat(基本编程题集)6-2 多项式求值 (15 分)

这道题感觉有点狗&#xff0c;不难&#xff0c;但是第一次做的时候&#xff0c;运行超时错误让我很不解&#xff0c;一共才10个数大的数组&#xff0c;最坏情况也不过是10*10的时间复杂度O&#xff08;1&#xff09;。 但是限制就是辣么严&#xff0c;这个单层循环的优化有些类…

Zabbix Server设置主机监控

转载于:https://www.cnblogs.com/momenglin/p/8557447.html

C语言之double实数的自动四舍五入取整

之前学习C语言的时候一直没有注意到原来double类型的数据在C里通过取不同的小数位数&#xff0c;输出能够实现四舍六入。 指正: double型数据可以实现0到4的舍操作以及6到9的入操作&#xff0c; 在真值为5的时候&#xff0c;舍入并不确定。 这里通过一个案例&#xff0c;一看…

mysql修改字段默认值_MySQL增删改查操作

增删改查操作查询表中的所有的记录&#xff1a;select from 表名(xs)创建数据库&#xff1a;create database if not exists xsgl;8.2创建表&#xff1a;cerate table if not exists&#xff08;判断是否存在&#xff09; 表名&#xff08;xsb&#xff09;8.3删除&#xff1a;d…

三羊献瑞(暴力破解)

package 计蒜客;public class 三羊献瑞 {/*** param args*/public static void main(String[] args) {// TODO Auto-generated method stubfor(int i5000;i<9876;i){for(int j1023;j<9876;j){int kij;int ai/1000;int b(i/100)%10;int c(i/10)%10;int di%10;int ej/1000;…

回来来看初学C语言的一些有趣的图形的输出

现在再来看那些当初觉得困难的东西&#xff0c;经常都会一笑而过。 图1: a.源码: #include<iostream> using namespace std; int main() {int n;cin>>n;for(int i1;i<n;i){for(int j1;j<n-i;j){cout<<" ";}for(int k1;k<n;k){cout<&l…

视图添加字段_使用ExploreByTouchHelper辅助类为自定义视图添加虚拟视图

在安卓开发过程中&#xff0c;为了视觉和功能的需要开发者经常会使用自定义视图大多数的自定义视图是组合现有的控件来完成特定的功能但是&#xff0c;有一种自定义视图是通过画笔在画布上画出自定义的子视图的&#xff0c;例如日期控件&#xff0c;颜色选择面板等由于自定义视…

蓝桥杯第六届C语言B——积分之谜

一开始想口算的&#xff0c;后来发现高估自己了&#xff0c;仔细一想还是暴力枚举简单一些。 源码如下: #include<iostream> using namespace std; int main() {int a,b,c;for(a1;a<105;a){for(b1;b<42;b){for(c1;c<315;c){int n13*a7*bc;int n24*a10*bc;if(n1…