东南大学soc课件9 SoC各种接口模块(2学时)讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
USB工作原理
• USB技术和IP技术一样,都是基于分组传送方式的。 • 首先把数据分成若干块,然后在每块数据前面添上同步信号、包标识, 后面添上CRC校验,就形成了USB封包。 • 一个文件可能可能有多个封包。 • 全速USB总线把1毫秒作为一个时间帧,总线在一个帧内依次传送不同 文件的封包。因此从宏观上,就仿佛总线同时对不同的USB外设进行 数据传送。 • 根据信息包所实现的功能可分为3种类型:令牌包、数据包和握手包。 令牌包定义了数据传送的类型
• 作用:
– 用于异步串行收发 – 支持RS232传输方式 – 支持红外模式传输
APB Interf ace FIFO Tx IRDA Interfac e TXD RXD RTS CTS out_baud DTR DSR RI DCD OUT1 OUT2
FIFO
Rx
• 特征:
– 字符编码5-8位. – 可配置的奇偶校验(偶校验,奇校 验,或不用奇偶校验) – 对RTS,CTS信号提供硬件控制 流支持 – 对各种控制流和FIFO状态提供 各种状态标志 – 串行红外接口 – 发送FIFO空时可触发中断
目录
• 低速通信接口控制器
– UART – SPI
• 高速通信接口控制器
– USB
• 人机界面控制器
– LCDC – I2S
7
Biblioteka Baidu
串行外设接口 SPI总线接口
• Serial peripheral interface SPI: 是由Motorola公司开发的, 在微控制器和外设之间的一个简易接口标准 • 与UART不同,SPI是同步协议接口,所有的传输参照一个 共同的时钟 • 主从方式接口,可以一带多 • 简单实用:A/D, D/A,时钟芯片,串行存储器等外设
14
USB简介
• USB是Universal Serial Bus的缩写,中文意思就是“通用串行总线”, 是 连接有USB接口的计算机外围设备到计算机的一种计算机外部总线结构 • USB的开发背景 – 提供高带宽串行通信 – Plug-and-Play (即插即用)。 – 端口扩展。USB提供双向低成本低速到中速(USB 2.0 可达480Mb/s)的 通用外设总线适用于连接各种各样的外设并且易于扩展。
SPI和触摸屏的协同工作举例
中断 信号 G P I O 中断控 制器 A/D芯片中 断服务 中断 是 发数 据 触 摸 屏 电压 采集 A/D 芯片 S P I 否 挂起或 忽略
SEP4020
目录
• 低速通信接口控制器
– UART – SPI
• 高速通信接口控制器
– USB
• 人机界面控制器
– LCDC – I2S
MOSI MISO SCLK I/O GND SI SO CLK CS GND
8
SPI 控制器
• 作用:
– 在微控制器与外设之间进行并串转换的数据传输;其外 设传递方式:
• 全双工 • 同步 • 串行
总 接受 发送 ARM7TDMI 线 串转并 并转串
外部 串行 设备
9
SPI控制器和SPI外设的连接
SoC各种接口模块
1
目录
• 低速通信接口控制器
– UART – SPI
• 高速通信接口控制器
– USB
• 人机界面控制器
– LCDC – I2S
2
RS232接口
TXD --- 发送数据信号 RXD --- 接收数据信号 CTS --- The Clear To Send signal. 低电平有效。当此信号有效时,表示外部设备可以接收UART发送 的数据。 RTS --- The Request To Send signal. 请求发送信号。低电平有效。UART向外部设备发出的数据请 求信号。 DTR ---The Data Terminal Ready signal. 数据终端(DTE)准备好信号。 DSR --- The Data Set Ready signal. 数据设备准备好信号。是DTR信号的应答信号。 DCD --- The Data Carrier Detect signal. 接收线路载波检测信号。通知UART探测到载波,准备接受 数据。 RI --- The Ring Indicator. 震铃指示信号。低电平有效。数据设备(DCE)通知UART接收到一个电话 震铃。
BaudRate Generator Interrupt Generator
5
UART控制器模块中所设计的寄存器
• • • • • • • • 1、中断使能寄存器 2、中断识别寄存器 3、FIFO控制寄存器 4、线路控制寄存器 5、Modem控制寄存器 6、线路状态寄存器 7、Modem状态寄存器 8、Divisor Latches寄存器:用于设置传输的波特 率 • 9、接收FIFO • 10、发送FIFO
RS232帧格式
CTS
TXD T3
Start Tcyc
Stop T4
第一位为起始位 中间8位或者7位数据位 最后1或者2位停止位 11位的数据帧 奇偶校验
4
UART控制器
• UART(Universal Asynchronous Receiver/Transmitter)通用异步收发器, 是处理器总线与串行线(一般使用RS232信号协议)接口的外围设备
SPI主机和多个从机的连接
SPI接口的数据传输速度总体来说要比I2C接口快得多,单线数据线的传输速率可达 100Mbps,4线数据线的传输速度可达50MB/s。
SPI控制器支持的功能
• 符合AMBA 2.0接口标准 • 支持串行Master操作模式 • 中断可独立屏蔽,中断包括:发送FIFO溢出信号,发送FIFO空信号 ,接收FIFO满信号,接收FIFO下溢信号以及接收FIFO的溢出信号
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • USB协议中断寄存器:各个中断源的配置:RESET事务中断、SUSPEND事务中断、SETUP事务中断、IN事务中断、OUT事务中断、PING事务中断、 传输错误发生中断、ACK接收中断、统计寄存器溢出中断、控制传输发生错误; USB协议中断屏蔽寄存器:对于各个中断源进行屏蔽,配置各个中断源是否允许送到CPU USB协议中断类型控制器:配置中断类型控制,是电平触发中断还是上升沿触发中断 USB活动端点状态寄存器:对各个端点(端点号范围00-0x0F)配置端点传输方向是OUT还是IN USB配置属性寄存器:是否屏蔽远程唤醒功能;供电方式是采用自身供电还是总线供电 USB工作速度寄存器:配置USB的工作速度是High-speed、Full-speed还是Low-speed。 USB帧号寄存器:记录SOF包内的帧号,范围0x000-0x7FF USB传输次数寄存器地位:记录端点1-端点15下一帧要求的传输数是一次传输、两次传输还是三次传输。 USB接收包数寄存器:记录成功接收的包数量 USB丢失包数寄存器:记录丢失的包数量 USB CRC错误包数寄存器:记录CRC错误的包数量 USB位填充错误包数寄存器:记录填充错误的包数 USB PID错误包数寄存器:记录PID错误的包数量 USB帧错误包数寄存器:记录帧错误的包数量 USB发送包数寄存器:记录发送的包数量 USB统计溢出寄存器:查看接收包寄存器状态、丢失包寄存器状态、CRC错误寄存器状态、位填充错误寄存器状态、PID错误寄存器状态、帧错误寄存 器状态、发送包寄存器状态 USB IN传输事务包长度寄存器:记录IN传输事务包长度,以字节为单位 USB OUT传输事务包长度寄存器:记录OUT传输事务包长度,以字节为单位 USB唤醒寄存器:对该寄存器置1唤醒USB USB端点0地址寄存器:配置各端点号(范围为0x0-0xF)的端点方向为OUT还是IN。 USB端点0包尺寸配置寄存器:在Control、Isochronous、Bulk、Interrupt等情况下分别配置数据包的大小 USB端点0接口号配置寄存器:配置接口号(范围为0x0-0xF) USB端点0状态寄存器:是否有中断等待、传输零字节包、控制命令是否完成、是否有协议停止发生、端点是否活动、端点是否暂停等。 USB端点0 SETUP请求类型寄存器:方向是主机到设备还是设备到主机;类型为Standard、Class还是Vendor;接收者是设备、接口、端点还是其他。 USB端点0 SETUP请求内容寄存器:SETUP传输内容 USB端点0 SEPUP请求值寄存器 USB端点0 SETUP请求宽度寄存器 USB端点0 SEPUP请求长度寄存器 USB端点0同步帧号寄存器:记录帧号 USB端点1的相应寄存器 USB端点传输状态寄存器:是否收到一个0字节的OUT包、RX FIFO是否有数据要读走、TX FIFO是否可以接收数据、数据端口是否是通过DMA方式读 写
15
USB系统的级联星型拓扑结构
• • •
主机包含有主机控制器和根集线器(root hub),控制USB总线上的数据传输。USB系统只能有一个根集线 器,它连接在主机控制器上。主机有时也集成集线器,用于扩展主机的连接端口数量。 集线器是USB系统的特定组成,提供端口(Port)将功能设备连接到USB总线上,同时检测连接在总线上的 设备,并为这些设备提供电源管理,负责总线的故障检测和恢复。通过集线器,USB系统最多可以连接127 个功能设备。 功能设备通过端口与总线连接。集线器与功能设备可由主机通过USB总线提供能源,也可由自身提供能源( 通过自身外部电源接口)。需要注意的是,主机通过USB总线提供电源存在电流限制。USB总线可以提供 5V电源供连接的外设使用。USB总线提供的电流较低,100mA到500mA之间,对于鼠标、U盘等外设是足 够的,对于需要大电流的外设来说,需要自身供电。
• 串行接口协议:Motorola Serial Peripheral Interface (SPI) 四线全双 工串行接口协议。时钟相位、极性有四种组合方式,时钟相位、极性 的选择决定了传输是否以第一个发送时钟作为开始,停止时钟是否保 持为高电平等问题。National Semiconductor Microwire 半双工的串 口协议。采用控制字串行传输,来协调MASTER设备与SLAVE设备 的控制信息。
USB协议的发展 最大传输速率 USB1.0 USB1.1 USB2.0 USB3.0 低速(Low-Speed) 1.5Mbps(192KB/s) 全速(Full-Speed) 12Mbps(1.5MB/s) 高速(High-Speed) 480Mbps(60MB/s) 超速(Super-Speed) 5Gbps(640MB/s) 最大输出电流 500mA 500mA 500mA 900mA 协议推出时间 1996年1月 1998年9月 2000年4月 2008年11月
17
USB数据传输过程
• 主机控制器首先产生令牌包( token packet),表明传输类型 、传输方向(传输方向由主机的观 点决定,输出传输表明数据由主机 发往设备,输入传输表明数据由设 备发往主机)、以及目标设备的终 端地址。 • 目标设备接收令牌包后,根据令牌 包指定的传输方向,返回数据或是 接收来及主机的数据。 • 数据传输完成后,握手包用于表明 传输完成情况。对于输出传输,响 应信号由设备产生;对于输入传输 ,响应信号由主机产生。
USBD模块的连接
USB 1.1 Device 控制器
• • • • • • 48MHZ的系统时钟 支持USB1.1协议 USBD外挂FIFO,发送和接受FIFO都为128x16 一个配置,两个端点(Control端点和Bulk端点) DMA传输方式,支持部BURST传输方式 全部同步设计
20
USBD模块所设计的寄存器
• 时钟比特率(数据传输的串行比特率)动态控制,仅在串行MASTER 模式下进行的操作。
SPI控制器中所设计的寄存器
• • • • • • • • • • • • 控制寄存器0:控制帧大小、传输模式选择、串行时钟极性、串行时钟相位、 帧格式、数据帧长度等 控制寄存器1:数据帧数量 使能寄存器:使能SPI Microwire控制寄存器:Microwire握手、控制、传输模式 从设备使能寄存器 波特率选择寄存器 发送FIFO阈值寄存器、接收FIFO阈值寄存器、发送FIFO状态寄存器、接收 FIFO状态寄存器 SPI状态寄存器 中断屏蔽寄存器、中断最终状态寄存器、中断原始状态寄存器 发送FIFO上溢中断清除寄存器、接收FIFO上溢中断清除寄存器、接收FIFO 下溢中断清除寄存器、中断清除寄存器 DMA控制寄存器、DMA发送数据寄存器、DMA接收数据寄存器 数据寄存器