- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
串行通信机理和应用
串行通信机理与应用 苏统华 tonghuasu@ May 5, 2006 概要 背景介绍 串行通信系统模型 串行接口配置 串行通信机理简介 多线程串行通信的编程 扩展的串行通信编程 背景介绍 串行通信是指计算机与其它外围设备以“位”为单位进行信息交换的过程。 串行通信应用的领域: 数据的采集与智能诊断 工业的检测及自动控制,eg.控制单片机、采集核探测数据、接收GPS数据等 集散控制环境(DCS:Distributed Control System) 无线调制环境 3D空间定位器 数据手套的发射器和接收器 串行通信系统模型 串行通信系统是一种典型的计算机数据通信系统。 抽象化的点-点计算机数据通信系统框图: 串行接口配置 RS-232C标准:它对串行通信接口的有关问题,如连接电缆和机械、电气特性、信号功能及传送过程都作了明确规定。 COM口一般是9脚的连接器,分成插针(Male)和插孔(Female)两类: 串行接口配置 DTE与DCE间的通信连接模型通常有3种,分别为: 最简3线交叉连接模型 近距7线交叉连接模型 远距7线对应模型 串行接口配置 最简3线交叉连接模型:应用于控制信号较少的场合 优点: 控制简单 节省线路 串行接口配置 近距7线交叉连接模型:用于控制信号较丰富的近距离通信场合 优点:这种方式省去了DCE 串行接口配置 远距7线对应模型:“豪华”配置,包含通信设备MODEM或其它数传设备 优点:适合远距离的通信任务 一个简单应用例子: 系统中采用PIC16C73单片机作为下位机,工业控制PC机为上位机,二者通过RS-232C串行口接收或上传数据和指令。RS-232C信号的电平和单片机串口信号的电平不一致,必须进行二者之间的电平转换。在此使用MAXIM公司的集成电平转换芯片MAX202E作为RS-232C和TTL间的电平转换芯片。 串行通信机理 目前,Windows系统下通过VC开发串行通信的常用方法可分成如下6类: 利用Windows API函数进行串行通信编程; 利用开发环境自带的ActiveX通信控件来构建串行通信应用: 利用VC的标准通信函数_inp,_outp等进行串行通信操作; 利用第三方提供的通信类(如Cserial类)、通信库(如DLL); 利用内嵌汇编直接操作通信端口来实现(只限Win9x下); 通过编写VxD(Virtual Device Driver)来实现。 串行通信机理 可编程通用异步收发器(UART:Universal Asynchronous Receiver and Transmitter)是PC内部一块单独的芯片,是实现数据“串-并”转换功能的电路。 发送数据时,UART会把CPU经由数据总线送来的字符数据保存到“数据输出寄存器”;随后,UART再按顺序把“数据输出寄存器”的内容送到“发送移位寄存器”转换成连续的串行位流,并在其中插入奇偶检验位、起始位和停止位;最后将位流传送出去。 接收数据的过程与上相反。串行的位流通过串口时,送入UART的“接收移位寄存器”;当“接收移位寄存器”中己接收完1个字符的各位后,数据就从“接收移位寄存器”进入“数据输入寄存器”,成为了一个字符大小的并行数据;最后就是数据经由数据总线上传给CPU。 串行通信机理 Windows系统为每个通信设备开辟了用户定义大小的接收和发送缓冲区,应用程序只需完成对接收和发送缓冲区操作就可以了。 通信的实际过程是每接收一个字符就产生一个低级硬件中断,Windows系统中的串行VxD取得控制权,将接收到的字符放入接收缓冲区,然后将控制权返给正在运行的应用程序. 在定义了硬件流控制的条件下,如果接收缓冲区数据已满,串行驱动程序用定义的流控制机制通知发送方停止发送数据。缓冲区内的数据按FIFO方式处理。 串行通信机理 Win32环境下的通信应用服务要依赖于虚拟通信驱动程序VCOMM。 VCOMM提供一条应用程序到硬件的保护模式代码通路,以实现可靠的高速数据传输。 VCOMM实质是一个VxD,它总是在Win32启动时载入。Win32为串口提供了端口驱动程序,端口驱动程序是动态装入VxD的,可由VCOMM调用来操作串口。 串行通信机理 通信API有一组基本的函数,它们为应用程序的编制提供了一个适于串行通信的接口,处理通信资源的打开、关闭、读写等操作。 通信API的扩展函数可为那些不为标准函数所支持的服务提供接口,这组扩展的函数允许用户使用仅为驱动程序专用的参数来配置,也允许用户调用驱动程序的专用函数。 串行通信机理 串行通信的公有的操作流程,大致四步: 打开串行口。这样做就是通知Windows本应用程序需要这个串口,并封锁之,使其它应用程序在该串口释放前不能使用它。 通信前,初始化这个串
文档评论(0)