BCM2835 ARM单板电脑处理器外围设备与接口详解

5星 · 超过95%的资源 需积分: 17 25 下载量 81 浏览量 更新于2024-07-28 收藏 1.42MB PDF 举报
本文档是关于BCM2835 ARM外设的详细指南,由英国的Broadcom Corporation提供。BCM2835是一款针对单板计算机设计的处理器,主要应用于教育、嵌入式系统和原型开发等领域。文档主要涵盖了四个核心部分:介绍、辅助接口(UART1 & SPI1, SPI2)、BSC(Base System Controller)以及DMA控制器。 1. **介绍**: - 提供了BCM2835的整体概述,强调其在Linux内核中的标准地址映射。 - 内容包括地址映射的图解概述,区分了ARM虚拟地址(适用于标准Linux内核)和物理地址,以及总线地址。 2. **辅助接口**: - UART1 & SPI1 和 SPI2 是文档的重点,涉及它们的功能、注册寄存器以及操作细节。 - MiniUART(一种简化版的UART)详细解释了其内部实现和寄存器结构,支持中断处理和长数据流传输。 - Universal SPI Master(双通道)则介绍了SPI接口的具体实现,包括中断机制、处理长位流以及相应的寄存器配置。 3. **BSC (Base System Controller)**: - BSC是BCM2835的核心组件之一,负责管理CPU与外设之间的通信。 - 文档提供了BSC的介绍和寄存器视图,10位地址寻址模式也是其中的一部分。 4. **DMA Controller**: - DMA控制器用于数据的高速传输,不占用CPU处理时间。 - 介绍部分概述了DMA的功能,随后详细列出了DMA通道寄存器的地址映射。 - 还讨论了AXI Burst技术,提高数据传输效率,并包含错误处理机制。 这篇文档为开发者提供了BCM2835处理器上关键外设的深入理解,包括地址映射、通信接口规范和硬件控制逻辑,有助于进行高效且兼容Linux的系统设计和开发工作。对于使用BCM2835的工程师来说,这是不可或缺的技术参考材料。
2016-01-06 上传
Table of Contents 1 Introduction 4 1.1 Overview 4 1.2 Address map 4 1.2.1 Diagrammatic overview 4 1.2.2 ARM virtual addresses (standard Linux kernel only) 6 1.2.3 ARM physical addresses 6 1.2.4 Bus addresses 6 1.3 Peripheral access precautions for correct memory ordering 7 2 Auxiliaries: UART1 & SPI1, SPI2 8 2.1 Overview 8 2.1.1 AUX registers 9 2.2 Mini UART 10 2.2.1 Mini UART implementation details. 11 2.2.2 Mini UART register details. 11 2.3 Universal SPI Master (2x) 20 2.3.1 SPI implementation details 20 2.3.2 Interrupts 21 2.3.3 Long bit streams 21 2.3.4 SPI register details. 22 3 BSC 28 3.1 Introduction 28 3.2 Register View 28 3.3 10 Bit Addressing 36 4 DMA Controller 38 4.1 Overview 38 4.2 DMA Controller Registers 39 4.2.1 DMA Channel Register Address Map 40 4.3 AXI Bursts 63 4.4 Error Handling 63 4.5 DMA LITE Engines 63 5 External Mass Media Controller 65 o Introduction 65 o Registers 66 6 General Purpose I/O (GPIO) 89 6.1 Register View 90 6.2 Alternative Function Assignments 102 6.3 General Purpose GPIO Clocks 105 7 Interrupts 109 7.1 Introduction 109 7.2 Interrupt pending. 110 7.3 Fast Interrupt (FIQ). 110 7.4 Interrupt priority. 110 7.5 Registers 112 8 PCM / I2S Audio 119 8.1 Block Diagram 120 8.2 Typical Timing 120 8.3 Operation 121 8.4 Software Operation 122 8.4.1 Operating in Polled mode 122 8.4.2 Operating in Interrupt mode 123 8.4.3 DMA 123 8.5 Error Handling. 123 8.6 PDM Input Mode Operation 124 8.7 GRAY Code Input Mode Operation 124 8.8 PCM Register Map 125 9 Pulse Width Modulator 138 9.1 Overview 138 9.2 Block Diagram 138 9.3 PWM Implementation 139 9.4 Modes of Operation 139 9.5 Quick Reference 140 9.6 Control and Status Registers 141 10 SPI 148 10.1 Introduction 148 10.2 SPI Master Mode 148 10.2.1 Standard mode 148 10.2.2 Bidirectional mode 149 10.3 LoSSI mode 150 10.3.1 Command write 150 10.3.2 Parameter write 150 10.3.3 Byte read commands 151 10.3.4 24bit read command 151 10.3.5 32bit read command 151 10.4 Block Diagram 152 10.5 SPI Register Map 152 10.6 Software Operation 158 10.6.1 Polled 158 10.6.2 Interrupt 158 10.6.3 DMA 158 10.6.4 Notes 159 11 SPI/BSC SLAVE 160 11.1 Introduction 160 11.2 Registers 160 12 System Timer 172 12.1 System Timer Registers 172 13 UART 175 13.1 Variations from the 16C650 UART 175 13.2 Primary UART Inputs and Outputs 176 13.3 UART Interrupts 176 13.4 Register View 177 14 Timer (ARM side) 196 14.1 Introduction 196 14.2 Timer Registers: 196 15 USB 200 15.1 Configuration 200 15.2 Extra / Adapted registers. 202