与计算机接口设计优秀PPT.ppt
《与计算机接口设计优秀PPT.ppt》由会员分享,可在线阅读,更多相关《与计算机接口设计优秀PPT.ppt(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、与计算机接口设计第1页,本讲稿共59页是时间上还需要额外的开销。而串行通信的突出的优点是仅仅需要数量很少的传输线,特别适合远距离传输。此外,对于PIC单片机而言,串行通信的另一个优点就是,需要占用的引脚的资源较少。PIC16F87X单片机内部集成了两个类型不同的串行通信模块,即通用同步/异步收发器USART(Universal Synchronous/Asynchronous Receiver Transmitter)模块和主控同步串行端口MSSP(Master Synchronous Serial Port)模块。前者的主要应用目标是系统之间的远距离串行通信,此项技术的应用历史比较久远。而后
2、者的主要应用目标是系统内部近距离的串行扩展。串行通信的实现,在制式、种类、形式、规范、标准、编码、检错、纠错、帧结构、组网方式、调制方式等方面,存在着多种类型、变化、选择和解决方案。例如,Philips公司发明的I2C总线,Intel等公司提出的SMBUS总线,Freescale公司首先应用的SPI接口,美国国家半导体公司(NSC)公司首先应用的MicroWire接口,达拉斯公司推出的1-Wire总线,美国电子工业协会推荐标准RS-232、RS433、RS-485接口,Intel等公司提出的USB总线,苹果公司提出的IEEE-1394总线,博世公司提出的CAN总线,现场总线基金推出的FF总线,
3、Motorola公司联合东芝公司共同开发的LONworks总线等,都是用来实现与串行通信功能相关的技术和规范。第2页,本讲稿共59页8.1 标准串行接口RS-232C接续 串行通信是指单片机或者计算机和外设之间使用一根数据信号线,数据串行通信是指单片机或者计算机和外设之间使用一根数据信号线,数据在一个数据信号线上一位一位地进行传输,每一位数据都占据一个固定地时在一个数据信号线上一位一位地进行传输,每一位数据都占据一个固定地时间长度,串行通信的特点是使用的数据线少,其传输的速度比较慢。串行通间长度,串行通信的特点是使用的数据线少,其传输的速度比较慢。串行通信的优点也正体现在远程通信和上下位机通信
4、中,随着新的串行数据协议的信的优点也正体现在远程通信和上下位机通信中,随着新的串行数据协议的诞生,速度和距离都有了较大提高。诞生,速度和距离都有了较大提高。一个完整的串行通信系统如图一个完整的串行通信系统如图8.18.1所示,该通信系统包括数据终端设备所示,该通信系统包括数据终端设备(DTEDTE)和数据通信设备()和数据通信设备(DCEDCE)。)。1 1数据通信设备数据通信设备DTEDTE:DTEDTE是产生二进制信号的数据源,也是接收信息的目是产生二进制信号的数据源,也是接收信息的目的,是由数据发送器或接收器或兼具两者组成的设备,它可以是一台计算机。的,是由数据发送器或接收器或兼具两者组
5、成的设备,它可以是一台计算机。2 2数据通信设备数据通信设备DCEDCE:DCEDCE是一个使传输信号符合线路要求,或者满足是一个使传输信号符合线路要求,或者满足DTEDTE要求的信号匹配器,它是提供数据终端设备与通信线路之间通信的建立、维持和要求的信号匹配器,它是提供数据终端设备与通信线路之间通信的建立、维持和终止连接等功能的设备,同时执行信号变换与编码,它可以是一个终止连接等功能的设备,同时执行信号变换与编码,它可以是一个MODEMMODEM。第3页,本讲稿共59页图8.1 串行通信系统 在数据通信、计算机网络以及分布式工业控制系统中,经常采用串行通信来交换数据和信息。1969年,美国电子
6、工业协会(EIA)公布了RS-232C作为串行通信接口的电气标准,该标准定义了数据终端设备(DTE)和数据通信设备(DCE)间按位串行传输的接口信息,合理安排了接口的电气信号和机械要求,在世界范围内得到了广泛的应用。但它采用单端驱动非差分接收电路,因而存在着传输距离不太远(最大传输距离15m)和传送速率不太高(最大位速率为20Kb/s)的问题。远距离串行通信必须使用Modem,增加了成本。在分布式控制系统和工业局部网络中,传输距离常介于近距离(20m)和远距离(2km)之间的情况,这时RS-232C(25脚连接器)不能采用,用Modem又不经济,因而需要制定新的串行通信接口标准。第4页,本讲稿
7、共59页 1977年EIA制定了RS-449。它除了保留与RS-232C兼容的特点外,还在提高传输速率,增加传输距离及改进电气特性等方面作了很大努力,并增加了10个控制信号。与RS-449同时推出的还有RS-422和RS-423,它们是RS-449的标准子集。另外,还有RS-485,它是RS-422的变形。RS-422、RS-423是全双工的,而RS-485是半双工的。RS-422标准规定采用平衡驱动差分接收电路,提高了数据传输速率(最大位速率为10Mb/s),增加了传输距离(最大传输距离1200m)。RS-423标准规定采用单端驱动差分接收电路,其电气性能与RS-232C几乎相同,并设计成可
8、连接RS-232C和RS-422。它一端可与RS-422连接,另一端则可与RS-232C连接,提供了一种从旧技术到新技术过渡的手段。同时又提高位速率(最大为300Kb/s)和传输距离(最大为600m)。RS-485为半双工的,当用于多站互连时可节省信号线,便于高速、远距离传送。许多智能仪器设备均配有RS-485总线接口,将它们联网也十分方便。串行通信由于接线少、成本低,在数据采集和控制系统中得到了广泛的应用,产品也多种多样。8.1.1 RS-232C接口规格接口规格 RS-232C其中RS是Recommended Standard的缩写,代表标准,232是标识符,C代表RS-232的最新一次修
9、改(1969年),在这之前,有过RS-232A、RS-232B标准,它规定连接电缆和机械、电气特性、信号功能及传送过程。现在,计算机上的串行通信端口(RS-232)是标准配置端口,已经得到广泛应用,目前计算机上一般都12个标准RS-232C串口,即通道COM1和COM2。第5页,本讲稿共59页1RS-232C标准的电气特性 EIA-RS-232C对电器特性、逻辑电平和各种信号线功能都作了明确规定。在TXD和RXD引脚上电平定义:逻辑1(MARK)-3V-15V;逻辑0(SPACE)315V 在RTS、CTS、DSR、DTR 和DCD等控制线上电平定义:信号有效(接通,ON状态,正电压)+3V+
10、15V;信号无效(断开,OFF状态,负电压)=-3V-15V 对于数据(信息码):逻辑“1”的传输的电平为-3V-15V,逻辑“0”传输的电平为+3V+15V;对于控制信号;接通状态(ON)即信号有效的电平为+3V+15V,断开状态(OFF)即信号无效的电平为-3V-15V,也就是当传输电平的绝对值大于3V 时,电路可以有效地检查出来;而介于-3+3V之间的电压即处于模糊区电位,此部分电压将使得计算机无法准确判断传输信号的意义,可能会得到0,也可能会得到1,如此得到的结果是不可信的,在通信时候体现的是会出现大量误码,造成通信失败。因此,实际工作时,应保证传输的电平在(315)V 之间。目前,大
11、部分计算机的RS-232C通信接口都使用了DB9连接器,主板的接口连接器有9根针输出,也有些比较旧的计算机使用DB25连接器输出,表8.1为RS-232C串口引脚定义表。第6页,本讲稿共59页表8.1 RS-232C串口引脚定义表第7页,本讲稿共59页 RS-232C 规定的逻辑电平与一般微处理器、单片机的逻辑电平是不同的,例如RS-232的逻辑“1”是以-3-15V来表示的,而单片机的逻辑“1”是以+5V来表示的,两者完全不同。因此,单片机系统要和电脑的RS-232接口进行通信,就必须把单片机的信号电平(TTL电平)转换成计算机的RS-232C电平,或者把计算机的RS-232C电平转换成单片
12、机的TTL电平,通信时必须对两种电平进行转换。实现这种转换的方法可以使用分立元件,也可以使用专用RS-232电平转换芯片。目前较为广泛地使用专用电平转换芯片,如MC1488、MC1489、MAX232等电平转换芯片来实现EIA到TTL电平的转换。下面介绍MAXIM公司的单电源电平转换芯片MAX232及接口电路。如图8.2中所示,MAX232是单电源双RS-232发送/接收芯片,采用单电源(+5V)供电,外接只需4个电容,便可以构成标准的RS-232通信接口,硬件接口简单,所以被广泛采用。图8.2 MAX232实物及芯片引脚排列第8页,本讲稿共59页8.1.2 接续方法 单片机和计算机RS-23
13、2接口电路如图8.3所示,图中的C1、C2、C3、C4是电荷泵升压及电压反转部分电路,产生V+、V-电源供EIA电平转换使用,C5是VCC对地去耦电容,其值为0.1UF,电容C1C5安装时必须尽量靠近MAX232芯片引脚,以提高抗干扰能力。图8.3 采用MAX232CPE 芯片的PC机与单片机串行通信接口电路第9页,本讲稿共59页 图8.4是一个采用分立元件构成的简易RS-232串行通信接口电路,使用三极管进行电平转换,由于简单的通信,对于通信稳定性要求较高的应用,不建议使用分立元件,因为分立元件电路的稳定性,误码率较高,不能完全满足RS-232C的全部技术指标。分立元件组成的电路优点是成本低
14、廉,部分网站上介绍的产品就分立元件构成。图8.4 采用分立元件的简易RS-232C通信接口电路第10页,本讲稿共59页8.1.3 PIC串行通信设计实例串行通信设计实例 当 PIC单片机不具备片上硬件 USART或者USART不够用时,可以利用软件模拟实现异步串行通信。Microchip公司推出的 PIC系列单片机PIC16C711具有运行速度快、低功耗、价格低、体积小等优点。因为,不具备硬件 USART时需要用一般 I/O口来模拟串行口。1串行接口硬件电路串行接口硬件电路 如图 8.5所示,RB0为接收脚,RB5为发送脚。RB0除作为一般 I/O引脚外,还可以作为外部中断输入引脚,引起中断的
15、方式分为上跳沿和下跳沿两种方式。设置下跳沿引起中断。当起始位到来时,RB0上出现下跳沿,引起中断,如果不是干扰信号则开始接收数据。RS-485标准的特点是抗干扰能力强,传输速率高、传送距离远。它规定了双端(平衡式)电气接口特性。当单片机与具有 RS-485接口的PC机通信时,需要进行信号形式的转换。从单片机发送到 PC机的信号首先转换成平衡信号,再送往 PC机。从PC机发送到单片机的信号先转换成非平衡信号,再输入单片机。信号形式的转换工作由RS-485接口芯片 SN75176完成。SN75176差分总线收发器工作在半双工方式,当工作于发送方式时,发送使能引脚DE为高电平,接收使能引脚RE也为高
16、电平。当工作于接收方式时,发送使能引脚 DE为低电平,接收使能引脚RE也为低电平。这样,可以将 DE与RE连接在一起,由 RB6引脚输出控制信号,控制 SN75176的发送和接收使能。为了减少线路上信号的反射,需要匹配线路的特性阻抗。由于通信载体是双绞线,它的特性阻抗为120左右,所以线路设计时,在 RS-485网络传输线的始端和末端各应接1只 120的匹配电阻,R1为单片机一侧的匹配电阻。由于 RS485芯片的特性,接收器的灵敏度为 200mV,即差分输入端 VA-VB200mV时,输出逻辑“1”;VA-VB-200 mV时,输出逻辑“0”。当VA-VB200 mV时,输出不确定。因此,当
17、A、B无信号输入时,可能造成接收引脚R上出现低电平,这会误认为通信帧起始位到来而引起工作不正常。第11页,本讲稿共59页为了避免这种情况发生,可以人工的让 A端电位高于 B端电位,使 R引脚在RS485总线不发送期间呈现唯一的高电平,单片机不会被误中断而接收到乱字符。通过在 A、B接上拉、下拉电阻 R3、R2可解决这个问题。图 8.5PIC16C711与 PC机之间的接口电路2单片机通信程序框图单片机通信程序框图 PIC单片机与 PC机之间的通信方式为半双工方式。一帧数据包括一位起始位、8位数据位、一位停止位和无奇偶校验位。设发送和接收数据的波特率为9600 b/s,则每一位占用的时间td为1
18、9600s,约为104s。单片机晶振频率为 4MHz,单片机执行一条指令耗费时间 1s。单片机接收数据程序框图 PIC16C711单片机的 RB0引脚具备外部引脚跳变沿中断功能,向 RB0引脚送一个上跳沿或下跳沿信号,则 INTCON寄存器的外部引脚跳变沿中断标志位 INTF被置 1。如果总中断和外部引脚跳变沿中断都使能,并且此时单片机没有执行其他中断服务子程序,程序进入 INT中断服务子程序。根据异步串行通信的特点,通信线路空闲时单片机接收的是第12页,本讲稿共59页高电平,起始位到来时单片机接收到低电平,因此空闲位和起始位之间是一个下跳沿。单片机接收到下跳沿即起始位后,马上进入中断服务子程
19、序,准备接收一帧数据。因此在主程序中设置由下跳沿引起外部引脚跳变沿中断。下面将主要分析接收子程序即中断服务子程序。单片机接收数据程序框图如图8.6所示。进入中断服务子程序后,首先保护中断现场,然后检测起始位是否是“真的”。由于可能存在的各种干扰,PIC单片机有可能接收到的干扰信号正好是一个下跳沿,而实际上此时根本没有数据到来,从而造成误接收数据。因此检测起始位的真实性是有必要的。采取的方法是在52s(起始位的中点)后,检测一次 RB0上的信号。程序框图中是延时47s后检测 RB0上的信号,原因是保护中断现场的几条指令要耗费几个s。如果是低电平,则起始位是“真的”,否则为干扰信号,单片机清 IN
20、TF标志位,然后退出中断服务子程序,回到主程序。若起始位是“真的”,则准备接收数据。设计规定数据位为 8位,故首先设置接收计数器R_CNT内容为 8。然后将 STATUS寄存器中的 C位清零,并右移接收数据寄存器RCV_R。C的内容即 0移入 RCV_R最高位,接下来接收数据位。为尽量保证数据的准确性,应该在每位数据的中点检测该位数据。因此,检测第一位数据的时刻距离检测起始位的时刻应该是一位数据所占的时间即 104s,此后的每一位数据检测时刻之间也是如此。此时又要用到延时程序。因为每两次检测时刻之间除了延时之外,指令(C清零、右移等指令)还要占用时间,这些指令占用 56s,因此,为了尽量保证在
21、每一位的中心位置检测数据,延时时间定为 98s。如果检测得到的数据位为1,则置 RCV_R最高位为 1。如果数据位为 0,则不必改变最高位,因为 C为 0且已经移入 RCV_R的最高位。然后,将接收计数器内容减 1。8位数据接收完毕后,清 INTF标志。最后,退出中断服务子程序。至此,8位数据接收全部存放于 RCV_R中。第13页,本讲稿共59页 单片机发送数据程序框图 用RB5引脚作为发送引脚,单片机发送数据程序框图如图8.7所示。当有数据要从单片机发往PC机时,单片机调用发送子程序。在发送子程序中,首先设置发送计数器内容为 8,然后发送起始位,起始位应持续 104s。因此要调用延时子程序,
22、延时子程序执行完后,RB5上的信号并未立刻变成第一位数据的值,这是因为还要执行几条指令,如右移 TRS_R、置位等 RB5上的信号才会变化。假设延时 104s,那么加上几条指令的执行时间,起始位就比 104s宽了。因此,延时子程序少于 104s,根据具体的程序定为 97s。然后,右移发送数据寄存器 TRS_R,将其最低位即要发送的数据位移入 C中,再根据 C中的内容将RB5清零或置 1,然后将发送计数器内容减 1,并判断其是否为 0。若为 1,则说明未发送完毕,继续发送;否则,发送停止位。最后,退出发送子程序。第14页,本讲稿共59页图 8.6单片机接收数据程序框图 图 8.7单片机发送数据程
23、序框图第15页,本讲稿共59页8.2 PIC的USART应用 8.2.1 PIC16F8778.2.1 PIC16F877非同步通信功能(非同步通信功能(USARTUSART接口)接口)通用同步通用同步/异步接收发送模块(异步接收发送模块(USARTUSART)是两个串行通信接口之一,)是两个串行通信接口之一,USARTUSART又称又称为为SCISCI(Serial Communication InterfaceSerial Communication Interface)。)。USARTUSART可以设置为全双工异步串行通信可以设置为全双工异步串行通信系统,这种方式可以与个人计算机系统,这
24、种方式可以与个人计算机PCPC或串行接口或串行接口CRTCRT等外围设备进行串行通信。也可以等外围设备进行串行通信。也可以设置为半双工异步串行通信系统,与串行接口的设置为半双工异步串行通信系统,与串行接口的A/DA/D或或D/AD/A集成电路、串行集成电路、串行EEPROMEEPROM等器件连接。等器件连接。USARTUSART是二线制串行通信接口,它可以被定义如下三种工作方式:全双工是二线制串行通信接口,它可以被定义如下三种工作方式:全双工异步方式、半双工同步主控方式、半双工同步从动方式。为了把异步方式、半双工同步主控方式、半双工同步从动方式。为了把RC6RC6和和RC7RC7分分别设置成串
25、行通信接口的发送别设置成串行通信接口的发送/时钟(时钟(TX/CKTX/CK)线和接收)线和接收/数据(数据(TX/DTTX/DT)线,必须首)线,必须首先把先把SPENSPEN位(位(TCSTATTCSTAT的的RD7RD7)和方向寄存器)和方向寄存器TRISCTRISC的的D7D7:D6D6置置1 1。USARTUSART功能模块含有两个功能模块含有两个8 8位可读位可读/写的状态写的状态/控制寄存器,它们是发送状态控制寄存器,它们是发送状态/控制控制寄存器寄存器TXSTATXSTA和接收状态和接收状态/控制寄存器。控制寄存器。第16页,本讲稿共59页 USART带有一个8位波特率发生器B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 接口 设计 优秀 PPT
限制150内