转自http://blog.chinaunix.net/uid-24856020-id-2559044.html
前段时间做的一的项目需要用到cdma模块,cdma模块通过串口与PC机或是mcu通讯,控制使用AT指令。串口通讯过程中涉及到了一些串口硬件流控制的知识。上网查了一下串口相关的知识,其中串口、RS232、UART、贺氏modem接口等概念比较纠缠不清,其中关于RTS和CTS等的定义也各不相同。在这里理顺一下,方便以后记忆。
    首先要说的是RS232,也是最早出现的一个名词。在计算机还未出现时,当时的电传打印机、工控测量设备等之间需要进行通讯,这时EIA组织便制定了RS232的串口标准,当时是规定了25口的接口,也是DB25。
    后来计算机出现了,RS232自然被加入到了计算机的接口中。但是DB25接插件过大,当时硬件提供商更加倾向于将计算机做的更小,成本更低,于是慢慢将DB25中未使用和支持同步的信号去掉,留下了其中的9根线,继而接插件换成了DB9。这时该接口仍然被称为RS232。下图是一个DB9的公型接插件,图中各个引脚的定义如下:
1 载波检测(DCD) 
2 接受数据(RXD) 
3 发出数据(TXD) 
4 数据终端准备好(DTR) 
5 信号地线(SG)
6 数据准备好(DSR)
7 请求发送(RTS)
8 清除发送(CTS)
9 振铃指示(RI)
    以上都是在RS232标准中各脚的定义。由于现在使用真正符合的RS232的设备已经越来越少,因此其中RTS和CTS的具体用法也不说了。
 
    后来随着串口设备的越来越多,其中更多的设备是属于非RS232标准的,即不完全符合RS232各脚定义的设备。这时候为了适应这种变化,计算机厂商便把RS232标准转换为UART标准,U即为通用的意思。原来9根线都有明确定义的RS232总线变成了即可以接受RS232标准又可以接受不符合RS232标准的串口设备了。比较常用的是仅仅用到其中三根线的通讯,即RXD、TXD、GND,这也是在我们嵌入式开发中经常遇见的三根线的UART接口,而其他的线则经常没有再被使用。
    
    当然,在非RS232标准的设备中不仅仅只是用到3根线的设备,还有接下来要介绍的贺氏modem的协议。自从贺氏(Hayes)公司推出了聪明猫(SmartModem),他们制定的MODEM接口就成了业界标准。而项目中用到得GSM、CDMA模块就是符合这个标准的。连AT指令都与贺氏的一样。
   
    下面说一下贺氏标准中RTS和CTS硬件流控制的作用和使用。在说到这个之前,先要提到PC中串口的电平标准(一般称为RS232电平标准)和嵌入式开发中UART的TTL电平标准。
    RS232电平标准中分为正负电平,PC机一般输出+15V和-15V。而RS232规定的电平范围如下:
    代表“0”,有效:+3V -- +15V
    代表“1”,无效:-15V -- -3V
    一般的电平需要输出在正负6V以上,这样才能更好的去除干扰。   
    而TTL电平标准中定义如下:
    代表“0”,有效:0V -- 0.3V
    代表“1”,无效:3.3V/5V
   
    接下来是RTS和CTS的作用。在我使用的中兴公司MC8331A的CDMA模块中,其中对模块的RTS和CTS引脚定义如下:
    /RTS:输出,模块允许用户(PC机或MCU)发送数据,低电平有效。
    /CTS:输入,用户允许模块发送数据,低电平有效。
    通过模块引脚的定义的阅读,我们其实就能很清楚的知道RTS,CTS硬件流控制时的作用了。要注意的是上面的/RTS、/CTS都是从模块的角度而言的。
    对于MCU或PC机而言,RTS同样也是输出,当有效时表示PC机马上要向模块发送数据标识,“0”时有效。CTS是输入,有效时表示模块马上要向PC机发送数据了,同样“0”时有效。
    通过上面分析,我们不难得出当PC机(或MCU)与CDMA模块RTS、CTS硬件流控制相连时的硬件连接图如下,即交叉相连:
   

要值得注意的是,如果MC8331A模块的RTS和CTS均未接出来的时候,CTS默认是低电平的,即有效状态。这样不管模块是否使用RTS、CTS硬件流控制,通讯都是能够正常完成的。这也是为什么MC8331A的出厂设置中有RTS/CTS硬件流控制,在硬件电路设计中没有把这两个脚接出来但同样也是可以进行通讯控制的原因。

CDMA、GSM模块串口RTS和CTS硬件流控制小结 【转】相关推荐

  1. RS232及RTS和CTS

    EIA RS-232-C标准 EIA RS-232-C是由美国电子工业协会EIA制定的串行通信物理接口标准.最初是远程数据通信时,为连接数据终端设备DTE(Data Terminal Equipmen ...

  2. RTS与CTS的含义

    一.RS232标准中的RTS与CTS RTS,CTS------请求发送/清除发送,用于半双工时的收发切换,属于辅助流控信号.半双工的意思是说,发的时候不收,收的时候不发.那么怎么区分收发呢?缺省时是 ...

  3. RS232中RTS和CTS的作用

    RS232中RTS和CTS的作用 转载  2011年12月26日 23:21:06 1149 0 0 RS232中RTS和CTS的作用  问: 以前挺明白的,今天一下子觉得以前的理解都不对了,以下三种 ...

  4. RS232标准中的RTS与CTS

    一.RS232标准中的RTS与CTS RTS,CTS--请求发送/清除发送,用于半双工时的收发切换,属于辅助流控信号.半双工的意思是说,发的时候不收,收的时候不发.那么怎么区分收发呢?缺省时是DCE向 ...

  5. RS232 RTS和CTS是什么意思

    34RTS和CTS是什么意思? 解释一:RTS:终端我准备发数据给你,快用CTS应答,准备好没? CTS:好了,来吧 解释二:CTS:主机,我有数据,请求接收 RTS:我是主机,就绪,请求发送. SI ...

  6. 单片机与gsm通信c语言,gsm模块如何与单片机通信?

    51单片机与GSM模块实现通信 1.检测串口线的好坏 1)将串口线插在电脑上,用短路子短接串口的2脚和3脚 2)打开串口调试助手 3)点击自动发送,在自动发送的窗口中随便发个数据,看看能不能接收到若能 ...

  7. 单片机与gsm通信c语言,实现51单片机与GSM模块通信介绍

    51单片机与GSM模块实现通信 1.检测串口线的好坏 1)将串口线插在电脑上,用短路子短接串口的2脚和3脚 2)打开串口调试助手 3)点击自动发送,在自动发送的窗口中随便发个数据,看看能不能接收到若能 ...

  8. STM32:UART中的硬件流控RTS与CTS

    UART中的硬件流控RTS与CTS 最近太忙了,没时间写对Ucos-II的移植,先将工作中容易搞错的一个知识点记录下来,关于CTS与RTS的. 在RS232中本来CTS 与RTS 有明确的意义,但自从 ...

  9. UART中的硬件流控RTS与CTS

    在RS232中本来CTS 与RTS 有明确的意义,但自从贺氏(HAYES ) 推出了聪明猫(SmartModem)后就有点混淆了,不过现在这种意义为主流意义的,各大芯片制造厂家对UART控制器的流控基 ...

最新文章

  1. 好玩,新版微信除了“炸屎”,还可以和她亲亲
  2. HDU 4001 To Miss Our Children Time(2011年大连网络赛 A 贪心+dp)
  3. 火山引擎视频云:坚持基础技术创新,打造极致用户体验
  4. docker 修改阿里镜像源_Jetson Nano 修改源镜像
  5. php 获取流文件大小,php获取文件大小详解
  6. TortoiseGit 基础5部曲
  7. 【BZOJ2243】[SDOI2011]染色 树链剖分+线段树
  8. Trie树---前缀最相似匹配
  9. 用java开发的软件_java开发需要用到的软件有哪些
  10. 智能硬件开发怎么做?机智云全套自助式开发工具助力高效开发
  11. 万能声卡驱动win10_主流最新驱动程序下载地址分享 和垃圾驱动下载软件说再见...
  12. SuperMap三维复杂模型建模之3D极坐标建模——基础篇
  13. 计算机组成原理保姆级复习资料
  14. 使用python的requests模块实现百思不得其姐抓取(多线程版)
  15. Vue Cli webpack打包出现Waring :Critical dependency: the request of a dependency is an expression
  16. PVE booting from Hard Disk
  17. 常见随身WiFi设备总结
  18. 同步等待 异步等待_异步/等待与承诺互操作性
  19. Matlab--k-means聚类算法实现
  20. 微服务项目-常见问题-启动前端renrenfast报错

热门文章

  1. 明日书苑:12个毛笔字落款细节,可以看出一个人的书法水准!
  2. GNSS主要构成是各个全球卫星导航系统分类,全球,区域,增强类型
  3. elmentUI 表格模板(1)
  4. XLSX ZIP数据流格式说明
  5. 说说 Java 的静态内部类
  6. Ueeshop:外贸网站报价,从免费到数十万是怎么回事?
  7. 读书笔记: 博弈论导论 - 08 - 完整信息的动态博弈 可信性和序贯理性
  8. vscode修改左侧资源管理器字体大小
  9. 集群和负载均衡的简单介绍
  10. Andorid Tools--强大的Apk反编译,Rom提取工具,从此告别枯燥的命令