欢迎来到天天文库
浏览记录
ID:39382634
大小:2.70 MB
页数:97页
时间:2019-07-02
《《串行通信》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章串行通信一、通信概念介绍二、简单的单工串行通信举例三、UART异步串行接口应用四、SPI串行接口应用五、I2C串行总线应用六、附录--RS-232标准和RS-485标准一、通信的基本概念微处理器与外设交换数据的过程中可选择以下两种方式:并行通信:数据的各个数位同时传送;传输速度快,信息率高;占用的引脚资源多,需要的电缆多,成本高;远距离通信时数据的可靠性和抗干扰性下降。串行通信:数据按照位顺序一位一位传送。传输距离长,抗干扰性强;占用的引脚资源少,成本低。1.1串行通信方式通信双方只要约定好通信格式和通信速度
2、即可通信。串行通信方式可分为两类:异步通信:在异步串行通信中没有同步时钟信号。同步通信:在同步串行通信中数据传送受到同步时钟的控制。1.2异步通信异步通信中,微处理器与外设之间必须有两项规定。第一项规定:双方通信时采用怎样的数据格式。例如UART串行通信双方规定:用ASCII编码,字符为7位,加一个偶校验位、一个起始位以及一个停止位,则一个字符总共由10位组成,形成的数据格式如图所示。第二项规定:即双方通信过程中每发送一个数位需要多长的时间。在有些场合也称之为波特率,即每秒钟传送的二进制位数(bps)。数据传送的速
3、率为120字符/秒,每一个字符是10位,则波特率为1200bps。PC串口:115200bps921600bpsModem:19200bps工业场合:4800bpsUART和1-Wire通信标准就是常见的异步通信。在异步通信中发送器和接收器不必用同一个时钟,只要求各局部时钟同一标称频率(波特率)。1.3同步通信在大量数据传送时,采用通信双方(发送器、接收器)在同一个时钟控制下传输数据的同步通信。同步通信是先将许多的字符聚集成一字符块,再将每块信息(常称为信息帧)之前加上1~2个同步字符,接着再加适当的错误检测数据到
4、字符块,最后才传送出去。注意:在同步通信时,数据上没有字符传输时,必须发送专用的空闲字符或是同步字符。冗余:把传输的数据位当做被除数,发送器本身产生一个固定的除数,前者除以后者得到的余数即为冗余字符。1.4串行通信制式在单工制式下,数据只能从发送站向接收站传送。如图:在半双工制式下,数据能双向传送,但是不能同时在两个方向上传送。如图:全双工制式下,接收数据和发送数据占用不同的线路。全双工通信可以同时发送和接收。如图:在串行通信中数据是在两个站之间进行传送的,按照数据传送方向,串行通信可分为单工、半双工和全双工3种制
5、式。1.5串行通信分类串行通信标准有许多,下面仅对部分常见的串行通信标准进行简单介绍。串行通信标准引脚引脚说明通信方式通信制式UARTTXD、RXD、GND(三线)TXD:发送端RXD:接收端异步全双工1-WireDQ(一线)DQ:发送/接收端异步半双工SPISCK、MISO、MOSI(三线)SCK:同步时钟MISO:主机输入,从机输出MOSI:主机输出,从机输入同步全双工I2CSCL、SDA(二线)SCL:同步时钟SDA:数据输入/输出端同步半双工二、最简单的单工串行通信举例与外设串行通信过程中,数据是一位一位依
6、次顺序传送的;而在微处理器内部,数据是并行处理和传送的。当微处理器发送数据到外设时,必须要先把并行的数据转换为串行数据再传送;当微处理器接收来自外设的数据时,必须要先把接收到的串行数据转换为并行数据才能处理。这种并/串之间的转换既可用硬件实现也可用软件实现。本小节以74LS164芯片为例,介绍如何用软件方法实现数据的串→并转换。(ARM与74LS164之间的串行通信)1.1实验目的与内容实验目的:学会用软件方法模拟串行通信的时序,完成串行通信;深刻理解串行通信的原理,掌握时序分析的基本方法。实验内容:完成ARM芯片
7、与74LS164芯片之间的串行通信,利用LED灯显示传输的数据;在完成基本通信的实验基础上,实现流水灯效果。1.2.1实验原理分析A、B:串行数据输入端。Clock:时钟输入端。Clear:清零端。低电平有效。QA~QH:数据输出引脚。1.2.274LS164真值表输入输出ClearClockABQAQB···QHLXXXLLLHLXXH↑HHHHHH↑LXLLLH↑XLLLL74LS164的时钟是由ARM处理器产生,每来1个上升沿74LS164就接收1位数据。假设要使QA~QH=10110011,则ARM要发送一
8、串数据10110011给A、B输入端,并产生相应的时钟信号。如下图:1.3电路原理图#defineLS164_DATA(1<<25)//LS164_DATA=0x02000000#defineLS164_CLK(1<<29)//LS164_CLK=0x20000000#defineLS164_CLR(1<<17)//LS164_CLR=0x000200007
此文档下载收益归作者所有