刘彦文《基于ARM的嵌入式系统原理及应用》第10章_第1页
刘彦文《基于ARM的嵌入式系统原理及应用》第10章_第2页
刘彦文《基于ARM的嵌入式系统原理及应用》第10章_第3页
刘彦文《基于ARM的嵌入式系统原理及应用》第10章_第4页
刘彦文《基于ARM的嵌入式系统原理及应用》第10章_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

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

文档简介

1、 基于基于ARM的的 嵌入式嵌入式系统原理及应用系统原理及应用 刘彦文刘彦文 编著编著 2017年年2月月 第 第10章章 微处理器片内串行传输模块微处理器片内串行传输模块 高等院校信息技术规划教材高等院校信息技术规划教材 本课件的配套教材本课件的配套教材 基于基于ARM的的嵌入式嵌入式系统原理及应用系统原理及应用 刘彦文刘彦文 清华大学出版社 2017/2 第第10章章 微处理器片内微处理器片内 串行传输模块串行传输模块 10.1 UART 10.1.1 串行异步通信基础 串行、异步、全双工通信 并行通信与串行通信 n计算机与计算机、计算机与外设之间通信方式 可以分为并行通信与串行通信两种。

2、如图10.1 所示,并行通信在一个时间单位,或者说一次 传输,数据线D7-D0同时传输8位(bit)数据; 而串行通信一次传输,在发送数据线上只传输1 位(bit)数据。 图10.1 并行通信与串行通信 同步、异步传输 n串行通信分为同步传输、异步传输两种方式。 n同步传输要求在发送方和接收方使用同一个同 步时钟信号,也就是说每传送1位数据,需要使 用另外的同步线传输一次同步时钟信号。 n异步传输发送方和接收方没有共同的同步时钟 信号。发送方可以在任何时候随时发送,接收 方一直在监听并接收信息,双方各自使用自己 的时钟信号。由于异步传输电路实现相对简单, 使用较为广泛。 单工、半双工、全双工

3、n串行通信的三种传输方式,如图10.2所示。 n单工指的是数据传输方向是固定的,只能从一 方(A)送往另一方(B)。 n半双工双方均具备发送和接收数据的能力,但 只有一条传输线,尽管可以双向传输,但同一 时刻只能一方(A)发送,另一方(B)接收。 经过切换线路,然后才能由B方发送,A方接收。 n全双工指双方均具备发送、接收能力,发送和 接收的数据分别在两条不同的线路上传输。全 双工传输使用较为广泛。 图10.2 串行通信的三种传输方式 传输率、波特率、数据的帧格式 传输率、波特率 n传输率指每秒传输多少位(bit),传输率通常 也称波特率。在计算机中,传输率与波特率的 含义是相同的。但在最初的

4、定义上,传输率指 每秒传输多少位,而波特率是指每秒传输的离 散信号的个数。离散信号是指不均匀的、不连 续的、也不相关的信号。在计算机中,只有两 种离散信号0和1,所以波特率与每秒传输位数 相同。在某些采用脉冲调制的设备中,允许取4 种相位,这时传输率与波特率是不相同的。 常用的波特率有:9600、19200、38400波特等。 数据的帧格式 n串行异步通信数据的帧格式,也称数据格式、 字符格式,见图10.3。 n串行异步通信发送方和接收方,在开始通信前 要将双方的波特率设置为同一个数值,并且设 置数据的帧格式为相同格式,然后才能开始传 输数据。 n一帧数据通常由1位起始位(低电平)、58位 数

5、据位、1位奇校验/偶校验或无校验位、1位停 止位(高电平)组成。帧与帧之间的空闲位为 高电平。 图10.3 串行异步通信数据的帧格 式 n程序可以对通用异步收发器(UART)设置波特 率及数据的帧格式。假定此处设置波特率为 1200,数据位为7位,奇校验(1位),停止位 1位。那么一帧数据共10位(含起始位)。每一 位传输时长为1/1200,约为0.833ms。 nCPU将发送数据以字节为单位送往UART,UART 自动添加起始位、形成奇校验位后,连同7位数 据位按帧格式规定的次序1位1位发送,最后发 送停止位。 n在接收方,UART一直检测接收线路什么时间从 高电平(发送方停止位或空闲位)变

6、为低电平, 一但出现低电平,认为收到了发送方的起始位, 然后再次检测,又测到低电平,确认为起始位; 否则认为是干扰信号。如果是干扰信号,重新 开始检测。当确认为起始位后,每隔0.833ms 读取下一位,直到应该出现停止位的时间,检 测到高电平,表示一帧数据接收完毕。 n接收端总是在每一帧头部即起始位,进行一次 重新定位。 UART电路模块 n通用异步收发器(Universal Asynchronous Receiver and Transmitter,UART)电路模块, 有的集成在微处理器芯片内部,如S3C2410A中 包含了UART;有的集成为一个单独的芯片,如 Intel 8251A,与

7、8086/8088微处理器配套使用。 电平/逻辑转换 n如果将UART的TxD输出引脚由电缆直接连接到 另一个UART的RxD输入引脚,当电缆线长度大 于0.5m时,标准TTL的输出信号(TxD)传输到 对方(RxD)会变得不可靠,通常的方法是连 接线路驱动器(line driver),如MC1488发送 器及MC1489接收器、MAX3232收发器等。 n使用线路驱动器时,在20kbps的速率下,建议 最大传输距离不超过17m。 n使用线路驱动器连接两个UART的电路图,见图 10.4。 图10.4 线路驱动器的使用 n图10.4中,UART的输入、输出是TTL电平信号, 经过线路驱动器后,

8、变成RS-232C电平信号。 另外,RS-232C传输的信号是对UART信号经过 反相的信号。与RS-232C相关的内容详见10.1.3 节。 调制解调器 n在计算机网络普及以前,串行异步通信使用很 广泛。为了使串行异步通信信号能够远距离传 输,或者通过电话线传输,曾经广泛地使用过 调制解调器(modem)。调制解调器是由调制 器和解调器两部分组成的。图10.5是串行异步 通信使用MODEM互连的一个例子。 图10.5 串行异步通信使用MODEM互连举例 n用一个信号控制另一个信号的某个参数(例如: 幅值、频率、相位),使其随之变化的过程称 为调制。这两个信号分别叫做调制信号和被调 制信号。被

9、调制信号经调制后称为已调制信号。 从已调制信号中还原出被调制信号的过程称为 解调。 n对于发送,调制器把数字信号变成模拟信号 (例如,把数字“1”调制成2400Hz的正弦波 信号,把数字“0”调制成1200Hz的正弦波信 号)送到传输线路上。在接收端,解调器把模 拟信号还原成数字信号。 10.1.2 S3C2410A UART组成及操作 UART组成 n位于S3C2410A芯片内部的通用异步收发器提供 了三个独立的异步串行I/O(Serial I/O,SIO) 端口(或通道)。每个端口能够基于中断或基 于DMA方式操作。换句话说,UART能够产生中 断或DMA请求,用来在CPU(或内存)与UA

10、RT 之间传输数据。UART各通道也支持查询方式在 UART与CPU之间传输数据。使用系统时钟时, UART能够支持位传输速率最高达到230kbps。 如果外设为UART提供时钟UEXTCLK,那么 UART能够以更高的速度操作。 n每个UART通道含有两个16字节的FIFO(First In First Out,先进先出)寄存器,一个用于发 送数据,一个用于接收数据。 n可以对S3C2410A UART如下参数通过编程设置: 波特率;通常方式或红外(Infra Red,IR)发 送/接收方式;1位或2位停止位;58位数据位; 奇偶校验方式。 n如图10.6所示,每个UART通道含有一个波特率

11、 发生器,一个发送器,一个接收器和一个控制 单元。波特率发生器使用PCLK或UEXTCLK时钟。 发送器和接收器各有一个16字节的FIFO(即缓 冲区)寄存器和移位器。在FIFO方式,要发送 的数据先写入发送FIFO寄存器,然后自动复制 到发送移位器,通过发送数据引脚TxDn移位输 出;而接收数据从接收数据引脚RxDn输入并移 位,然后从接收移位器自动复制到接收FIFO寄 存器。 图10.6 带FIFO的UART框图 n图10.6中,在FIFO方式,每个缓冲区寄存器的 全部16字节用作FIFO寄存器。在非FIFO方式, 仅仅每个缓冲区寄存器中的1字节用作保持寄存 器。 n在非FIFO方式,要发

12、送的数据先写入发送保持 寄存器,然后自动复制到发送移位器,通过 TxDn引脚移位输出;要接收的数据通过RxDn引 脚输入并移位,然后从移位器自动复制到接收 保持寄存器。 S3C2410A中的UART有以下特点: RxD0、TxD0、RxD1、TxD1、RxD2、TxD2可 以基于中断或基于DMA方式操作,也可以基于 查询方式操作; UART通道0、1和2支持红外通信协议IrDA1.0、 以及16字节FIFO; UART通道0和1带有nRTS0、nCTS0、nRTS1和 nCTS1。 UART使用的引脚信号 UART主要操作 nUART主要操作包括数据发送、数据接收、RS- 232C接口、红外方

13、式等内容。 数据发送 n发送数据帧格式是可编程的。一帧数据由1位起 始位,58位数据位,1位可选择的奇/偶校验 位或无校验位、1位或2位停止位组成。 数据接收 n与数据发送一样,接收的数据帧格式也是可编 程的。由1位起始位,58位数据位,1位可选 择的奇/偶校验位或无校验位、1位或2位停止位 组成。接收器能够检测溢出错误(overrun error)和帧错误(frame error)。 溢出错误指示接收器收到的旧数据还没有被读 走,新收到的数据覆盖了这个旧数据。 帧错误指示收到的数据没有合法的停止位。 RS-232C接口 n如果用户要通过RS-232C连接UART到调制解调 器接口,nRTS、

14、nCTS、nDSR、nDTR、nDCD 和nRI信号是需要的,但是UART不支持这么多 的信号。在这种情况下,用户应该使用通用I/O 端口(GPIO),由软件控制产生这些信号。 红外方式 nS3C2410A UART模块支持红外(Infra Red,IR) 方式发送和接收数据,可以在UART线控制寄存 器ULCONn中通过设置红外方式位指定。图10.7 给出了红外方式功能模块图。图中编码器、解 码器集成在S3C2410A中。 图10.7 IrDA功能模块图 n在红外发送方式,当发送数据位是0时,发送脉 冲宽度是通常方式(非红外方式)串行发送一 位时长的3/16。在红外接收方式,接收器必须 检出

15、这个3/16的脉冲,并识别作为0,详见图 10.8、图10.9、图10.10。 图10.8 串行I/O帧定时图(通常方式) 图10.9 红外发送方式帧定时图 图10.10 红外接收方式帧定时图 10.1.3 S3C2410A UART与RS-232C接口连接举例 (见383-384) 10.1.4 S3C2410A UART与红外收发器连接举例 (见385-386) 10.2 IIC总线接口总线接口 10.2.1 IIC总线接口概述 n IIC(Intel Integrated Circuit)总线一般称为内 部集成电路总线,也写作I2C或I2C。IIC总线是 20世纪80年代初由飞利浦公司发

16、明的一种双向 同步串行总线,是目前较为常用的一种串行总 线。总线接口可以做成专用芯片,也可以集成 在微处理器内部,如S3C2410A微处理器内部就 集成了IIC总线接口模块。IIC总线可以与许多设 备连接,如图10.14所示。 图10.14 IIC总线连接示意图 nIIC总线数据传送速率在标准模式下为100kb/s; 快模式下为400kb/s;高速模式下为3.4Mb/s。 nIIC总线仅有两条信号线:SDA(Serial Data Line,串行数据线)是数据信号线,SCL (Serial Clock Line,串行时钟线)是时钟信号 线,另外设备之间还要连接一条地线,图10.14 中未画出地

17、线。 n与IIC总线连接的设备,使用集电级/漏级开路门 电路,以“线与”(Wired-AND)方式分别连 接到SDA、SCL线上,SDA和SCL线要外接上拉 电阻,如图10.14所示。 n连接到IIC总线上的设备可以分为总线主设备和 总线从设备。 n总线主设备是能够发起传输、发出从设备地址 和数据传输方向标识、发送或接收数据、能够 产生时钟同步信号、能够结束传输的设备。总 线主设备也称总线主、主设备。 n总线从设备是能被主设备寻址、接收主设备发 出的数据传输方向标识、接收主设备送来的数 据,或者给主设备发送数据的设备。总线从设 备也称从设备。 nIIC总线是一个真正的多主(multi-mast

18、er)总 线,总线上可以连接多个总线主设备,也可以 连接多个总线从设备,如图10.15所示。 n图10.15中没有画出上拉电阻,在实际使用IIC 总线时,应该连接上拉电阻。 n每一个连接在IIC总线上的设备,在系统中都被 分配了一个唯一的地址。地址用7位二进制数表 示。扩展的IIC总线允许使用10位地址。设备地 址用7位表示时,地址为0000000的一般用于发 出通用呼叫,也称总线广播。 图10.15 多主IIC总线结构 nIIC总线被设计成多主总线结构,多个主设备中 的任何一个,可以在不同时刻起到主控设备的 作用,因此不需要一个全局的主控设备在SCL上 产生时钟信号。只有传输数据的主设备驱动

19、SCL。 当总线空闲时,SDA和SCL同时为高电平。 nIIC多主总线接口中含有冲突检测机制,保证了 多个主设备同时要求发送数据时,只能有一个 主设备占有总线,不会造成数据冲突。 n当两个主设备试图同时改变SDA和SCL到不同电 平时,集电级/漏级开路门电路能够防止电路发 生错误,但是每一个主设备在传送时必须监听 总线状态,以确保传输数据之间不会互相影响。 n当一个总线主设备试图发送数据到一个从设备 时,主设备必须先送出从设备的7位地址和1位 表示传输方向的二进制数,0表示写,数据传输 方向是由主设备到从设备。 n当一个总线主设备试图读出一个从设备的数据 时,主设备必须先送出从设备的7位地址和

20、1位 表示传输方向的二进制数,1表示读,数据传输 方向是由从设备到主设备。 n总线主设备数据传输基本状态及转换如图10.16 所示。 图10.16 总线主设备数据传输基本状态图 10.2.2 S3C2410A IIC总线接口特点 IIC总线接口特点 nS3C2410A微处理器支持一个多主IIC总线串行 接口。一条双向串行数据线(SDA)和一条串 行时钟线(SCL),在连接到IIC总线上的总线 主设备和外部设备(总线从设备)之间传输信 息。S3C2410A片内IIC接口既可以作为总线主 设备,也可以作为总线从设备。SDA和SCL线是 双向总线。 n在多主IIC总线模式,多个S3C2410A芯片中

21、每一 个的IIC,能够接收由从设备发送来的串行数据, 或发送串行数据给从设备。主S3C2410A IIC能够 启动或停止IIC总线的数据传输。在S3C2410A中, 标准的总线仲裁过程用于IIC总线。 n当IIC总线空闲时,SDA和SCL两条线都应该是高 电平。 n当SCL稳定在高电平,SDA从高电平变到低电平, 能够启动开始条件;而SDA从低电平变到高电平 能够启动停止条件,参见图10.18。 n开始和停止条件总是由主设备产生。开始条件 之后总线上传输的第一字节数据中的7位是地址 值,能够确定总线主设备所选择的从设备,另 外一位确定传输的方向是读还是写,参见图 10.19。 n送到SDA线上

22、的每个数据以字节为单位,为8位。 在总线传输期间发送或接收的字节数没有限制。 数据先从最高有效位(Most-Significant Bit, MSB)发送,每一字节之后应该立即被跟随一 个响应(ACKnowledge,ACK)位,参见图 10.19。 IIC总线接口用到的S3C2410A引脚信号 nIIC总线接口用到的引脚信号有: IICSDA,IIC总线数据; IICSCL,IIC总线时钟。 10.2.3 S3C2410A IIC总线接口组成及操作方式中 的功能关系 IIC总线接口组成框图 nS3C2410A微处理器IIC总线接口组成框图见图 10.17。 nSDA数据线和SCL时钟线也称为

23、IICSDA和IICSCL。 nPCLK为系统时钟信号。IICCON、IICSTAT、 IICADD、IICDS均为特殊功能寄存器。 nS3C2410A微处理器IIC总线数据传输速率支持 标准模式和快模式。 图10.17 IIC总线接口组成框图 IIC总线接口操作方式中的功能关系 nS3C2410A IIC总线接口有4种操作方式,分别是 主/发送方式、主/接收方式、从/发送方式和从/ 接收方式。 n这些操作方式中的功能关系描述如下: 开始条件和停止条件 n当IIC总线接口处于非激活状态时,它通常处于 从方式。换句话说,在SDA线上检出开始条件 之前,接口应在从方式。当时钟信号SCL为高电 平,

24、SDA从高电平变为低电平,开始条件能够 被启动,接口状态被改变成主方式,在SDA线 上的数据传输能够被启动,并且SCL信号产生。 n开始条件(start condition)和停止条件(stop condition)见图10.18。 图10.18 开始条件和停止条件 n开始条件能够传输一字节串行数据通过SDA线, 而停止条件能够终止数据传输。停止条件是在 SCL为高电平,SDA从低电平变为高电平时出现。 开始和停止条件总是由主设备产生。当开始条件 被产生,IIC总线忙;当停止条件后几个时钟周 期之后,IIC总线被释放。 n当主设备启动开始条件后,它应该发送一个从设 备地址,用于通知从设备。一字

25、节的地址域由 7 位地址和1位传输方向标识(读或写)组成。 n主设备通过发送一个停止条件表示结束传输操 作。如果主设备要再次传输数据到从设备,它 应该产生另一个开始条件,并且含有从设备地 址和读写标识。 数据传输格式 n发送到SDA线上的每个字节长度是8位。每次传 输的字节数没有限制。第一字节跟随开始条件 并且含有地址和读写标识。地址和读写标识由 主设备发送。每字节后应跟随1位响应位ACK。 数据或地址的最高有效位MSB总是被首先发送。 n带有7位地址的IIC总线接口数据传输格式详见 图10.19。 图10.19 带有7位地址的IIC总线接口数据传输格式 n图10.19中S表示开始条件,P表示

26、停止条件,A 表示响应位ACK。图中浅色部分表示由主设备 传输到从设备,深色部分表示由从设备传输到 主设备。 n图10.20表示IIC总线上的数据传输过程。 图10.20 在IIC总线上的数据传输 ACK信号传输 n为了结束1字节传输,接收器应该发送1个ACK 位给发送器。ACK脉冲应该出现在SCL线上第9 个时钟脉冲期间。主设备产生这个时钟脉冲, 请求传送ACK位。在此期间发送器释放SDA线 (使SDA线为高电平),接收器驱动SDA线为低 电平,表示ACK信号。 nACK位传送功能能够被允许或禁止,可以通过 软件设置特殊功能寄存器IICCON的bit7实现。 n在IIC总线上的响应信号见图1

27、0.21。 图10.21 IIC总线上的响应信号 读写操作 n在发送方式,也就是写方式,一个数据被IIC总 线接口传输后,IIC总线接口将等待,直到多主 IIC总线发送/接收数据移位寄存器IICDS被CPU 写入新的数据。在新的数据写入之前,SCL线保 持低电平。新数据写入后,SCL线被释放。 S3C2410A通过中断识别当前数据传输是否完成。 CPU收到中断请求后,应该写一个新的数据到 IICDS寄存器。 n在接收方式,一个数据被IIC总线接口接收后, IIC总线接口将等待,直到IICDS寄存器被CPU读 出。在这个新的数据被CPU读出前,SCL线保持 低电平。CPU从IICDS寄存器读出这

28、个新的数据 后,SCL线被释放。S3C2410A通过中断识别新 的数据接收已经完成。CPU收到中断请求后, 应该从IICDS寄存器读出数据。 总线仲裁过程 n总线仲裁发生在SDA线上,用于阻止在总线上两 个主设备的竞争。如果一个主设备在SDA线上送 出高电平,并且这个主设备检测到另一个主设备 在SDA线上送出的是低电平,它将不启动数据传 输,因为当前在总线上的电平不代表它自己的电 平。仲裁过程将延续到SDA线变成高电平。 n当多个主设备同时在SDA线上送出低电平,每个 主设备应该评估主设备权是否分配给自己。为了 达到这个目的,每一个主设备应该检测地址位。 n由于每个主设备要送出一个从地址,它也

29、同时 检测在SDA线上的地址位信号。因为在SDA线上 保持低电平的能力比保持高电平的能力更强 (开路门电路线与的原因),所以如果一个主 设备在第一个地址位送出低电平,而另一个主 设备维持高电平,在这种情况下,两个主设备 都检测在总线上是否为低电平。这时发送地址 位为低电平并检测到低电平的主设备获得主设 备权,而发送地址位为高电平并检测到低电平 的主设备将不再传送。如果两个主设备送出的 第一位地址同时为低电平,则对第二位地址进 行仲裁,依此类推。 中止条件(abort condition) n如果一个从设备的接收器不能对从设备的地址 确认,没有产生响应信号ACK,并保持SDA线为 高电平,在这种

30、情况下,主设备应该产生停止 条件并且中止(abort)传输。 n如果主设备是接收方,主设备接收器要中止 (abort)传输,它应该发出信号,结束从设备 的传输操作。方法是在收到从设备最后一个字 节数据后不产生ACK信号应答,然后从设备发 送器应该释放SDA线,允许主设备产生停止条 件。 配置IIC总线 n为了控制SCL的频率,在IICCON寄存器中4位预 分频的值能被编程。另外,IIC总线接口地址被 存放在IIC总线地址寄存器IICADD中。 10.2.4 S3C2410A IIC总线接口4种操作方式 nS3C2410A微处理器IIC总线接口有4种操作方式: 主/发送方式; 从/接收方式; 主

31、/接收方式; 从/发送方式。 n在主/发送方式时,首先要指定从地址,即接收 方(从设备)的地址,这个地址要由主设备发 送出去,传送到从设备,所以在主/发送方式时, 首先要由处理器将从地址写入IIC总线发送/接收 数据移位寄存器IICDS中。 n在从/接收方式时,IIC总线地址寄存器IICADD 内容,是由处理器写入的,并且在从设备中保 存的,是从设备自己的地址。当处在从/接收方 式的设备,从IIC总线收到从地址时,保存在 IICDS寄存器中,与自己的IICADD寄存器中的 从地址比较,判断收到的地址是否是自己的地 址。如果是,该从设备接收由主设备发送来的 数据。 n在多主IIC总线系统中,主设

32、备也可以处在接收 方式,因此要指定的从地址是从设备发送方的 地址,这个地址要由主设备发送出去,传送到 从设备,所以在主/接收方式时,从地址要写入 IIC总线发送/接收数据移位寄存器IICDS中。 n当处在从/发送方式的设备,收到这个地址时, 保存在IICDS寄存器中,要与IICADD寄存器中 自己的地址比较,判断收到的地址是否是自己 的地址,如果是,从设备发送数据,主设备接 收数据。 10.3 IIS总线接口总线接口 10.3.1 常用IIS总线接口概述 n目前许多数字电子产品,如便携式CD机、手机、 MP3、VCD、DVD和数字电视机等,都使用了数 字音频系统。 nIIS(Intel-IC

33、Sound)总线一般称为集成电路 内部声音总线,也写作I2S或I2S(由于 S3C2410A英文资料中,IIS在相关引脚信号和 文字描述中使用了不同的写法,如IIS、I2S或 I2S,本章也沿用这些写法)。 nIIS总线源于SONY和PHILIPS等公司共同提出的 一个串行数字音频总线协议,许多音频编解码器 (CODEC)和微处理器都提供了对IIS总线的支 持。 nIIS总线只传输音频数据,其他信号(如控制信 号)必须另外单独传输。 n为了尽可能减少芯片引脚数,通常IIS只使用3 条串行总线(不同芯片可能会有所不同),3条 线分别是: 提供分时复用功能的数据线SD,SD传输数据时 由时钟信号同

34、步控制,且以字节为单位传输, 每字节的数据传输从左边的二进制位MSB开始; 字段选择线WS,WS为0或1表示选择左声道或 右声道; 时钟信号线SCK,能够产生SCK信号的设备称为 主设备,从设备引入SCK作为内部时钟使用。 nIIS总线接口支持通常的IIS和MSB-justified (MSB调整IIS)两种数据格式。 10.3.2 S3C2410A IIS总线接口概述 IIS总线接口应用举例 nS3C2410A内部集成了IIS总线接口模块,图 10.22是S3C2410A与PHILIPS公司数字音频串行 输入/输出接口芯片UDA1341TS连接的一个例子。 n图10.22中UDA1341TS

35、是一个低成本、小尺寸、 低功耗、高性能的立体声音频编解码器,支持 IIS和L3两种接口。片内有音频数据使用的A/D 转换器和D/A转换器。 n芯片提供了两个麦克风输入通道,分别连接到 VINL1和VINR1、VINL2和VINR2引脚。 n芯片提供了一路输出,通过VOUTR和VOUTL与 扬声器连接。 n片内配置了可编程增益放大器和自动增益控制 器,扬声器音量可以编程调节或进入静音状态; 在ADC路径上,还提供了可编程滤波器、混频 器等。 图10.22 S3C2410A与UDA1341TS连接 n图10.22中S3C2410A与UDA1341TS的连线由两 组接口组成。 n一组是IIS总线接口

36、,在S3C2410A端信号是: CDCLK(CODEC系统时钟); I2SSCLK(IIS总线串行时钟); I2SLRCK(IIS总线声道选择时钟); I2SSDI(IIS总线串行数据输入); I2SSDO(IIS总线串行数据输出)。 n另一组是L3总线接口,在S3C2410A端连接到 GPG10、GPG8、GPG9,在UDA1341TS端连接 到L3DATA(L3总线数据,输入/输出)、 L3MODE(L3总线模式,输入)、L3CLOCK (L3总线时钟,输入)。 S3C2410A IIS总线接口特点 nS3C2410A微处理器中的IIS总线接口能被用于 实现一个CODEC接口,连接外部带有

37、8位或16 位立体声CODEC IC,如mini-disc和其它便携的 设备。IIS支持IIS总线数据格式和MSB-justified 数据格式。IIS总线接口对FIFO存取提供了DMA 传输方式和通常传输方式。它能够同时发送和 接收数据,或只发送数据,或只接收数据。 IIS总线接口用到的S3C2410A引脚信号 n用到的引脚信号有:I2SLRCK、I2SSDO、 I2SSDI、I2SSCLK和CDCLK。另外,可以使用 GPIO中的GPG10、GPG8和GPG9引脚与L3总线 对应引脚连接,也可以使用其他端口引脚与L3 总线对应引脚连接,作为L3总线的信号线。 10.3.3 S3C2410A

38、 IIS总线接口组成和发送/接收方 式 IIS总线接口组成框图 nS3C2410A微处理器IIS总线接口组成框图见图 10.23。 n在图10.23中,BRFC表示总线接口、寄存器组 和状态机。总线接口逻辑和FIFO存取由状态机 控制。 nIPSR_A和IPSR_B是两个5位的预分频器。一个 用于IIS总线接口的主时钟发生器,另一个用于 外部CDCLK时钟发生器。 图10.23 IIS总线接口组成框图 n送数据时,数据被写入TxFIFO;接收数据时, 从RxFIFO读出数据。TxFIFO和RxFIFO长度各为 64字节。 nSCLKG称为主I2SSCLK产生器,在主方式时,串 行位时钟由主时钟

39、产生。 nCHNC表示声道发生器和状态机。由声道状态机 产生并控制I2SSCLK和I2SLRCK。 nSFTR表示16位移位寄存器。在发送方式,并行 数据被移位串行输出;在接收方式,串行数据 移位输入形成并行数据。 IIS总线接口发送/接收方式 只发送或只接收方式 只发送或只接收方式可以采用通常(normal)传 输方式或DMA传输方式。 通常传输方式 在IIS控制寄存器IISCON中,有两个标志位分别 表示发送FIFO准备好或接收FIFO准备好。这两 个标志位能够用于确定CPU写或读FIFO的时间。 当CPU以这种方式发送或接收FIFO数据时,串 行数据能被送出或接收。 DMA传输方式 在这

40、种方式下,由DMA控制器控制发送或接收 FIFO的存取。在发送或接收方式,DMA服务请 求自动地由发送或接收FIFO准备好标志去产生。 同时发送和接收方式同时发送和接收方式 在这种方式下,IIS总线接口能同时发送和接收 数据。 10.3.4 S3C2410A IIS音频串行接口数据格式 IIS总线格式 n与S3C2410A连接的IIS总线中,除了系统时钟 CDCLK外的4条线,分别是串行数据输入I2SSDI、 串行数据输出I2SSDO、左右声道选择时钟 I2SLRCK和串行时钟I2SSCLK。能够产生 I2SLRCK和I2SSCLK时钟信号的设备是主设备。 n串行数据以2的补码格式传输,先传送

41、MSB。先 传送MSB是由于发送器和接收器可能有不同的字 长。发送器无需知道接收器能够处理的位数,接 收器也无需知道发送器发送的位数。 n当系统的一个字的长度比发送器的一个字的长 度更长时,系统的数据中的每个字的低有效位 被截掉(低有效位数据被设置为0),作为发送 数据。如果接收器收到的位数,比接收器一个 字的长度更长时,接收器LSB(Least Significant Bit,最低有效位)以后的位被忽略。 如果接收器收到的位数比它的字的长度短,那 么缺省的位在内部被置为0。最高有效位有固定 的位置,而最低有效位取决于字长。在 I2SLRCK改变后经过1个时钟周期之后,发送器 发送下一个字的最

42、高有效位,见图10.24。 n串行数据通过发送器发送,虽然同步可以使用 时钟信号的后沿(从高到低)或前沿(从低到 高),然而在串行时钟信号的前沿,串行数据 必须被锁存到接收器。由于这个限制,传输数 据被同步只能使用时钟信号的前沿。 n左右声道选择线指示正在传输的数据所在的声 道。I2SLRCK能够在串行时钟信号的后沿或前 沿改变,而它的长度不需要对称。在从设备, I2SLRCK信号在时钟信号的前沿被锁存。 I2SLRCK在最高有效位被传送的前一个周期改 变。 MSB(LEFT)JUSTIFIED数据格式 MSB(left)justified数据格式与IIS总线有基本 相同的数据格式,与IIS总

43、线数据格式不同之处 是下一个字的最高有效位在I2S LRCK改变后发 送,见图10.24。 图10.24 IIS总线格式和MSB(left)justified数据格式 10.4 SPI总线接口总线接口 10.4.1 常用SPI总线接口概述 nSPI(Serial Peripheral Interface)一般称为串 行外设接口,是Motorola在其MC68HCxx微处理 器系列中定义的一种标准接口,实现了一个串 行同步协议,目前在嵌入式系统中得到了广泛 的应用。SPI采用同步、全双工串行传输技术, 业内也称为同步串行总线接口。 nSPI允许计算机与计算机、微处理器与外设之间 串行同步通信。可

44、以与SPI通信的外设有:ADC、 DAC、LCD、LED、外置闪存、网络控制器等等。 另外还有许多厂家生产的多种标准外围器件可 以与SPI接口。通信时,双方要规定好一个为主 设备,另一个(或多个)为从设备。主设备也 允许选择工作在主方式或从方式。当带有SPI接 口的两个计算机之间通信时,通常每个计算机 的SPI允许选择使用主方式或从方式。 n计算机与计算机、微处理器与外设使用SPI总线 连接举例见图10.25和图10.26。 图10.25 计算机与计算机使用SPI总线连接 图10.26 微处理器与外设使用SPI总线连接 n连接在SPI总线上的多个从设备,某一时刻只有 一个,即被主设备选中的那个从设备,能与主 设备通信。其他未被选中的从设备不能与主设 备通信。 n通信中主设备和被选中的从设备使用同一个时 钟,主设备创建并发送时钟信号(以下简称时 钟),从设备接收时钟,主设备和从设备使用 同一个时钟将数据送出和锁存。 nMotorola SPI总线通常包含4条I/O线。 nSS(Slave Select):从设备

温馨提示

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

评论

0/150

提交评论