方彦军 第7章 通信接口设计_第1页
方彦军 第7章 通信接口设计_第2页
方彦军 第7章 通信接口设计_第3页
方彦军 第7章 通信接口设计_第4页
方彦军 第7章 通信接口设计_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统原理与设计

第七章通信接口设计本章简介计算机与外界的信息交换称为通信。基本的通信方式有两种,即并行通信和串行通信。并行通信是指数据的各位同时进行传送(发送或接收)的通信方式。串行通信指数据是一位一位按顺序传送的通信方式。I2C接口本章提要1324串行接口

Ethernet以太网接口USB接口

7.1串行接口许多I/O接口器件与CPU交换信息或计算机与计算机之间交换信息,都是通过一对导线或通信来传递信息,这时数据时一位一位进行传输的,每一位都占据一个规定长度的时间间隔,这样数据一位位顺序传递的通信方式称为串行通信。

完成串行通信任务的接口称为串行通信接口。本节首先介绍串行通信中的一些基本概念及串行通信接口的设计方法。1.数据传送方式串行通信时,数据在两个站(或设备)A与B之间传送,按数据流方向的不同可分为单工、半双工、全双工和多工等几种传送方式。

单工(Simplex)方式只允许数据按一个固定的方向传送。采用这种方式时,就已经确定了通信双方中的一方为接收端,另一方为发送端。这种确定方式是不可以改变的。如图7.1(a)现在把这种通信方式称为单向通信。

7.1.1串行通信概述

半双工(HalfDuplex)通信是指信息的发送和接收要同时公用一条线,在半双工方式中,数据可在两个设备之间任一个方向传输,但两个设备之间只有一根传输线,故同一时间内只能在一个方向上传输数据,不能同时收发,故在通信换向时接口部分要靠电路转换,如图7.1(b)。7.1.1串行通信概述

全双工(FullDuplex)通信是指接口对接收和发送的信息用不同的通道供信息的发送和接收可同时进行,这就意味着工作于全双工方式下的串行通信信息的传递要用两条线即发送线、接收线,如图7.1(c)。7.1.1串行通信概述

多工方式下采用的多路复用技术主要有时分复用TDM和频分复用FDM两种。在计算机串行通讯中主要使用半双工和全双工方式。7.1.1串行通信概述2.异步通信和同步通信方式同步通信(Asynchronous):同步通信是将所要发送信息组成一个信息组(通常称为帧),在每帧信息的开始要有同步字符(1~2)个,在数据线上要保持连续的字符,没有信息时也要填上专用空字符,因为同步传输不允许在传输一帧信息时出现间隙。特点:传送信息量大,数度高,适宜于快速传递,灵活性差。异步通信(Synchronous):异步通信时,在字符开始要有起始位,一个字传输的结束要用间隔位进行字间隔。通常一组数据由多个字符组成,而字符是若干数码位的集合。特点:灵活性好,便于处理实时性强的串行数据;速度低,仅适宜于中低速率传输。7.1.1串行通信概述3.波特率和传输速率(1)传输速率串行通信中,可用传速率衡量通信设备传输数据快慢,传输速率定义为每秒钟传输的字符帧数(2)波特率串行中每秒钟传送二进制数码的位数称为波特率。波特率的单位bps,即位/秒(BitperSecond)。7.1.1串行通信概述7.1.1串行通信概述4.出错校验在单片机系统的数据通信中常用的校验方法有奇偶校验、累加和校验以及CRC冗余校验(CyclicalRedundancyCheck)。奇偶校验:通过检验被传送的二进制数据中0或1位数的奇偶性,来判断数据在传送过程中是否出错。累加和校验:如果要对有n个字节的数据块进行校验,则可以采用累加和校验方法。CRC循环冗余校验:将一个数据块看成一个很长的二进制数。在重要数据传送时经常采用较为复杂的CRC循环冗余校验。表7.1RIA制定的传送电气规格5.电气特性RS-232C是由美国电子工业协会EIA于1969年制定并采用的一种串行通信接口标准,后来被广泛采用,发展成为一种国际通用的串行通信接口标准。表7.1即为RIA制定的传送电气规格。状态L(Low)H(High)电压范围-25V~-3V+3V~+25V逻辑10名称SPACEMARK7.1.1串行通信概述RS-232C标准采用的接口是9芯或25芯的D型插头为例,各引脚定义如表7.2所示。引脚名称功能描述1DCD数据载波检测2RXD数据接收3TXD数据发送4DTR数据终端准备好5GND地6DSR数据设备准备好7RTS请求发送8CTS清除发送9RI振铃指示表7.29芯D型插头引脚信号描述7.1.1串行通信概述7.1.2串行接口设计实例由于RS-232C标准所定义的高、低电平信号与S3C4510B系统的LVTTL电路所定义的高、低电平信号完全不同,两者间要进行通信必须经过信号电平的转换,目前常使用的电平转换电路为MAX232,其引脚分布如图7.2。图7.2MAX232引脚分布7.1.2串行接口设计实例图7.3为MAX232的常见应用电路图,C1、C2、C3、C4用于电平转换,其典型值为0.1uF。图7.3MAX232的常见应用电路

通过此MAX232电路,S3C4510B的UART0与PC机的串口1建立连接,S3C4510B的UART1与PC机的串口2建立连接。S3C4510B的UART单元特性包括:波特率可编程支持红外发送与接收1~2个停止位5、6、7或8个数据位奇偶校验

7.1.2串行接口设计实例7.2.1接口概述

总线是嵌入式系统中常用的网络接口,它常用于将微控制器连接到系统的总线。1.I2C总线数据传送格式在I2C总线上传送信息时的时钟同步信号是由挂接在SCL时钟线上的所有器件的逻辑“与”完成的。在I2C总线技术规范中,开始和结束信号(也称做启动和停止信号)的定义如图7.4所示。7.2.1接口概述

当时钟线SCL为高电平时,数据线SDA由高电平跳变为低电平,定义为“开始”信号。当SCL线为高电平时,SDA线发生低电平到高电平的跳变,定义为“结束”信号。开始和结束信号都是由主器件产生的。

图7.4开始和结束信号的定义2.I2C总线数据传送过程I2C总线传送数据时,每次都是先传送最高位,通常从器件在接收到每个字节后都会做出响应,即释放SCL线返回高电平,准备接收下一个数据字节,主器件可继续传送。如果从器件正在处理一个实时事件而不能接收数据时,则可以使时钟SCL线保持低电平,从器件必须使SDA保持高电平,此时主器件产生1个结束信号,使传送异常结束,迫使主器件处于等待状态。当从器件处理完毕时将释放SCL线,主器件继续传送。7.2.1接口概述3.总线竞争和仲裁机制总线上可能挂接有多个器件,有时会发生两个或多个主器件同时想占用总线的情况。当多个主器件同时想占用总线时,如果某个主器件发送高电平,而另一个主器件发送低电平,则发送电平与此时SDA总线电平不符的那个器件将自动关闭其输出级。7.2.1接口概述

7.2.2接口设计实例图7.5AT24C01应用电路

本实例介绍一种常见的存储器AT24C01在S3C4510嵌入式系统的设计和应用编程方法。7.2.2接口设计实例S3C4510B片内的I2C总线控制器具有如下重要特性:(1)仅需要两根传输线。(2)连接到总线上的每一个设备都可以通过一个主控器使用唯一的地址进行软件寻址。(3)支持8位、双向、串行数据传输。(4)连接到I2C总线的器件数目仅受到最大总线电容

(400PF)的限制。7.2.2接口设计实例

图7.6为S3C4510BI2C总线控制器的功能模块。

图7.6S3C4510B总线控制器的功能模块图

7.2.2接口设计实例S3C4510B的I2C总线控制器为一个串行I2C总线主控器。可通过设置预分频寄存器(PrescalerRegister,IICPSR)对串行时钟频率进行编程。串行时钟频率可由下式计算:MCLK/(16×(预分频寄存器的值+1)+3)写数据的操作:先设置控制状态寄存器的BF位,然后写入数据到移位缓冲寄存器。移位缓冲寄存器无论是被读还是写,BF位均会自动清零。若要进行连续的读/写操作,必须设置控制状态寄存器的ACK位。读数据的操作:在设置控制状态寄存器的BF位以后,可以进行读数据的操作,当读/写完最后一个字节时,可对ACK位进行复位,通知发送器/接收器读数据操作的结束。7.3Ethernet以太网接口

随着网络技术的发展以及嵌入式系统的广泛应用,传统基于总线的控制技术也将朝着网络化的方向发展。为使嵌入式系统可以接入Internet就必须做好两个方面的准备:(1)在硬件上,要给嵌入式系统设计一个以太网接口电路;(2)在软件上,要提供相应的通信协议。7.3.1Ethernet接口概述1.以太网工作原理以太网/IEEE802.3通常使用专门的网络接口卡或通过系统主电路板上的电路实现。以太网采用广播机制,所有与网络连接的工作站都可以看到网络上传递的数据。以太网采用CSMA/CD介质访问技术,任何工作站都可以在任何时间访问网络。作为一种基于竞争机制的网络环境,以太网允许任何一台网络设备在网络空闲时发送信息。7.3.1Ethernet接口概述2.以太网的传输编码以太网的传输编码是曼彻斯特编码和差分曼彻斯特编码,编码方式如图7.7所示。图7.7数字编码7.3.1Ethernet接口概述3.以太网帧格式以太网(特指10Mbps的以太网)协议有两种。一种是IEEE802.2/IEEE802.3,另一种是以太网帧的封装格式,以太网帧封装格式位定义如表7.3所示。字段同步位分隔位目的地址源地址类型/长度数据段填充位FCS长度56848481646~1500X327.3.2以太网控制器RTL80197.3.2以太网控制器RTL8019RTL8019是高度集成的以太网控制器,为即插即用式NE2000兼容网络适配器提供了简易的解决方案。RTL8019的寄存器如表7.4所示。

地址Page0Page1Page2Page3RWR/WRRR/W00CRCRCRCRCRCR01CLDA0PSTARTPAR0PSTART9346CR9346CR02CLDA1PSTOPPAR1PSTOPBPAGEBPATGE03BNRYBNRYPAR2NONFIG004TSRTSRPAR3TPSRCONFIG1CONFIG17.3.2以太网控制器RTL801905NCRTBCR0PAR4CONFIG2CONFIG206FIFOTBCR1PAR5CONFIG3CONFIG307ISRISRCURRTEST08CRDA0RSAR0MAR0CSNSAV09CRDA1RSAR1MAR1HLTCLK0x0A8019ID0RBCR0MAR20x0B8019ID1RBCR1MAR3INTR0x0CRSRRSRMAR4RCRFMWP0x0DCNTR0TCRMAR5TCR0x0ECNTR1DCRMAR6DCR0x0FCNTR2IMRMAR7IMR[0x10:0x17]DMA端口[0x18:0x1F]复位端口7.3.2以太网控制器RTL80191.RTL8019的复位RTL8019的复位引脚RSTDRV是高电平有效的复位信号,高电平时间长度需大于800ns,通常在RSTDRV从高电平回到低电平之后的100ms时,再对RTL8019进行读写操作,以确保完全复位。18h~1Fh的8个地址,为复位端口,对该端口的偶数地址读或写入任何数,都会引起以太网控制器的复位,这种方式称为热复位。

7.3.2以太网控制器RTL8019表7.5中断状态寄存器(ISR)位符号描述0PRX表示数据包被无错接受1PTX表示数据包被无错发送2RXE如果在接受数据中发生CRC错误、帧对齐错误和包丢失时,该位置13TXE如果在数据发送过程中发生了过多的冲突,发送就会停止,且该位置14OVW如果接受缓冲器溢出,该位置15CNT如果1个或多个网络标签计数器的最高位置1,该位置16RDC如果远程DMA操作完成7RST如果NIC进入复位状态,该位置1;在启动命令写入命令寄存器CR时,该位清0;在接受缓冲区溢出时该位置1,如果一个或多个包从缓冲区中读出,该位清0。7.3.2以太网控制器RTL80192.RAM空间结构CURR和BNRY寄存器是以太网数据收发中用到的两个最主要的寄存器,它们的工作原理如下。(1)CURR是以太网控制器写接收缓冲区的指针。(2)BNRY指向接收缓冲区中已经被读取的最后一个页。(3)CURR和BNRY主要用来控制缓冲区的存取过程,保证能顺次写入和读出。3.网卡的物理地址

要对网卡的物理地址进行设置,就必须知道网卡的物理地址是多少。RAM地址中的0x0000~0x000B的12字节是网卡的物理地址。

7.3.3Ethernet接口设计实例

常规的网卡设计思路不同的是,在嵌入式系统中,系统的精简一直是个主要的原则。据此原则本例采用RTL8019AS作为网卡芯片,以S3C44B0作为处理器设计设计以太网接口。以太网模块与处理器的接口电路如图7.8所示。图7.8以太网模块与处理器的接口电路7.3.3Ethernet接口设计实例(5)通过RTL8019传输数据

RTL8019作为一个集成的以太网芯片,数据的发送校验、总线数据包的碰撞检测与避免是由芯片自己完成的,只需要配置发送数据的物理地址的原地址、目的地址、数据包类型以及发送的数据就可以进行数据发送了。在RTL8019的初始化程序中已经设置好了接收缓冲区的位置,并且配置好了中断的模式。当有一个正确的数据包到达的时候,RTL8019会产生一个中断信号,在ARM中断处理程序中,接收数据。数据的接收比较简单,即通过远端DMA把数据从RTL8019的RAM空间读回ARM中处理。

7.4USB接口由于USB接口技术在最近几年已成为计算机领域发展最快的技术之一,几乎所有的外设都可以借助USB接口轻易地与PC机相连。许多嵌入式系统生产厂商都尝试在自己的平台上应用USB接口技术。因此,掌握USB接口技术的概念、原理以及应用对嵌入式系统设计者来说就是必要的。7.4.1USB接口概述一个USB系统由USB主机、USB设备和USB互连构成。(1)USB设备USB设备分为Hub(集线器)和Function(功能)两大类。USB设备应具有标准的USB接口。(2)USB主机在任一个USB系统中只有一个主机,到主计算机系统的USB接口被称作主控制器。(3)USB互连USB互连指的是USB设备与主机的连接和通信方式,它包括总线拓扑结构、内层关系、数据模型和USB调度表。7.4.1USB接口概述1.USB的电气特性

USB传送信号和电源是通过一种四线的电缆收发,图7.9中的两根线用于信号发送。存在两种数据传输率:图7.9USB的电缆电缆中包括VBUS、GND两条线,向设备提供电源。VBUS使用+5V电源。

7.4.1USB接口概述2.USB的数据传输类型

在主控制器上,可以连接许多USB设备,这些设备与主机之间有四种可能的通信方式,即同步数据(Isochronous)传输方式、中断数据传输方式(Interrupt)、控制数据传输方式(Control)和批量数据(Bulk)传输方式。

(1)控制数据传送当USB设备初次安装时,USB系统软件使用控制数据对设备进行设置,设备驱动程序通过特定的方式使用控制数据来传送,数据传送是无损性的。7.4.1USB接口概述(2)批量数据传送批量数据是由大量的数据组成,如使用打印机和扫描仪时,批量数据是连续的。(3)中断数据传输中断数据是少量的,且其数据延迟时间也是在有限范围内的。(4)同步传输同步数据的建立、传送和使用是连续且实时的,同步数据是以稳定的速率发送和接收实时的信息,同步数据要使接收者与发送者保持相同的时间安排。7.4.1USB接口概述3.USB的数据传输原理

USB主控制器使用间隔为1ms的帧来实现数据传输。USB设备最大的特点就是即插即用,之所以能够这样,是因为USB协议规定在主机启动或是USB设备插入系统的时候都要对设备进行配置。4.USB总线协议

USB是一种查询(Polling)总线,由主控制器启动所有的数据传输。USB上所挂连的外设通过由主机调度的(Host-Scheduled)、基于令牌的(Token-Based)协议来共享USB带宽。7.4.1USB接口概述5.USB设备开发

USB设备开发的一般步骤如下:(1)根据所要开发的设备的功能需要,进行电路设计。(2)编写固件程序。(3)根据所用设备是否为标准USB设备,来决定是否另外编写驱动,还是使用操作系统自带的驱动程序来访问USB设备。(4)把编写好的固件程序载入USB设备,并将USB设备插入主机总线。(5)按需要调试和重复以上步骤。7.4.2USB接口设计实例

以Philips公司生产的USB接口芯片PDIUSBD12设计S3C4510B的USB接口为实例,介绍USB的工作原理和设计方法。

1.PDIUSBD12的主要特性(1)符合通用串行总线USB1.1版规范;(2)高性能USB接口器件集成了SIEFIFO存储器、收发器以及电压调整器;(3)符合大多数器件的分类规格;7.4.2USB接口设计实例(4)可与任何外部微控制器/微处理实际高速并行接口2MB/s;(5)完全自治的直接内存取DMA操作;(6)集成320字节多结构FIFO存储器;(7)主端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传送;(8)在批量模式和同步模式下均可实现1MB/s的数据传送速率;7.4.2USB接口设计实例(9)具有良好EMI特性的总线供电能力;(10)在挂起时可控制LazyClock输出;(11)可通过软件控制与USB的连接;(12)采用GoodLink技术的连接指示器,在通信时使LED闪烁;(13)可编程的时钟频率输出;7.4.2USB接口设计实例(14)符合ACPI、OnNOW和USB电源管理的要求;(15)内部上电复位和低电压复位;(16)工业级操作温度-40℃~+85℃;(17)具有高错误恢复率(>99%)的全扫描设计确保了高品质;(18)双电源操作3.30.3V或扩展的5V电源,范围为3.6~5.5V;(19)多中断模式实现批量和同步传输。7.4.2USB接口设计实例图7.10PDIUSBD12的引脚PDIUSBD12采用28PIN引脚模式(有SO28和TSSOP28两种封装),如图7.10所示。各个引脚功能如表7.6所示。7.4.2USB接口设计实例管脚符号类型描述1DATA<0>IO2双向数据位02DATA<1>IO2双向数据位13DATA<2>IO2双向数据位24DATA<3>IO2双向数据位35GND

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论