第十三章 S3C2410的I2C总线控制
- 格式:ppt
- 大小:886.50 KB
- 文档页数:40


第5章_基于S3C2410的系统硬件设计
5.1引言
在第4章中,我们介绍了S3C2410处理器的特性和功能。本章将介绍基于S3C2410的系统硬件设计。具体而言,我们将讨论系统的主要硬件模块,包括处理器的外围设备、存储器、输入输出接口等。
5.2系统总体设计
__________________________________________________
S3C241
_________________________________________________
Flash 存储
_________________________________________________
RAM存储
_________________________________________________
LCD显示
_________________________________________________
输入设
_________________________________________________
在这个系统中,S3C2410作为处理器负责控制整个系统的工作。Flash存储器用于存储程序代码和数据,RAM存储器用于存储运行时数据。LCD显示屏用于系统的图形界面显示,输入设备用于用户与系统的交互。 5.3处理器的外围设备
S3C2410处理器的外围设备包括:
-时钟模块:提供处理器时钟信号。
-外部中断控制器:负责处理外部中断信号。
-DMA控制器:用于数据的直接内存访问。
-UART接口:用于串行通信。
-USB接口:用于连接外部USB设备。
-SPI接口:用于串行外围设备的通信。
-I2C总线:用于连接各种外围设备。
-GPIO控制器:用于控制通用输入输出。
5.4存储器
系统中的存储器主要包括Flash存储器和RAM存储器。
Flash存储器是非易失性存储器,用于存储程序代码、数据和系统配置信息。在系统启动时,处理器从Flash存储器中加载程序代码,并将其存储到RAM存储器中执行。
第一章 嵌入式系统概论
1. 嵌入式系统的定义是什么?
答:以应用为中心,以计算机技术为基础,硬件、软件可裁剪,功能、可靠性、成本、体积、
功耗严格要求的专用计算机系统。
2. 简述嵌入式系统的主要特点。
答:(1)功耗低、体积小、具有专用性 (2)实时性强、系统内核小
(3)创新性和高可靠性
(4)高效率的设计
(5)需要开发环境和调试工具
3. 嵌入式系统一般可以应用到那些领域?
答:嵌入式系统可以应用在工业控制、交通管理、信息家电、家庭智能管理系统、网络及电
子商务、环境监测和机器人等方面。
4. 简述嵌入式系统的发展趋势
答:(1)嵌入式应用的开发需要强大的开发工具和操作系统的支持
(2)连网成为必然趋势
(3)精简系统内核、算法,设备实现小尺寸、微功耗和低成本
(4)提供精巧的多媒体人机界面
(5)嵌入式软件开发走向标准化
5.嵌入式系统基本架构主要包括那几部分?
答:嵌入式系统的组织架构是由嵌入式处理器、存储器等硬件、嵌入式系统软件和嵌入式应
用软件组成。嵌入式系统一般由硬件系统和软件系统两大部分组成,其中,硬件系统包括嵌
入式处理器、存储器、I/O系统和配置必要的外围接口部件;软件系统包括操作系统和应用
软件。
6.嵌入式操作系统按实时性分为几种类型,各自特点是什么?
答:(1)具有强实时特点的嵌入式操作系统。
(2)具有弱实时特点的嵌入式操作系统。
(3)没有实时特点的嵌入式操作系统。
第二章 嵌入式系统的基础知识
1.嵌入式系统体系结构有哪两种基本形式?各自特点是什么?
答:冯诺依曼体系和哈佛体系。冯诺依曼体系结构的特点之一是系统内部的数据与指令都存
储在同一存储器中,其二是典型指令的执行周期包含取指令TF,指令译码TD,执行指令TE,
存储TS四部分,目前应用的低端嵌入式处理器。
哈佛体系结构的特点是程序存储器与数据存储器分开,提供了较大的数据存储器带宽,适用
于数据信号处理及高速数据处理的计算机。 2.在嵌入式系统中采用了哪些先进技术?
s3c2410 有三个时钟FLCK 、HCLK 和PCLK (这3个时针都是核心时针)
s3c2410 芯片有这么一段话:
FCLK is used by ARM920T ,内核时钟,主频。
HCLK is used for AHB bus, which is used by the ARM920T, the
memory controller, the interrupt controller, the LCD controller, the
DMA and USB host block. 也就是为AHB总线上的外设提供时钟信号,包括USB时钟。 AHB总线用于连接高速外设。
PCLK is used for APB bus, which is used by the peripherals such as
WDT, IIS, I2C, PWM timer, MMC interface,ADC, UART, GPIO, RTC
and SPI. 也就是为APB总线上的外设提供时钟信号,即IO接口时钟,串口的时钟设置就是从PCLK来的。APB总线用于连接低速外设。
The S3C2410X supports selection of Dividing Ratio between FCLK,
HLCK and PCLK. This ratio is determined by HDIVN and PDIVN of
CLKDIVN control register.
s3c2410可通过设置CLKDIVN控制寄存器的HDIVN位(第1位)和PDIVN位(第0位)来改变FCLK, HLCK 和 PCLK的比率。
那么如何获取FCLK, HLCK 和 PCLK的时针频率呢?
可先通过clk_get获取一个clk结构体
de
* 输入参数dev: 可以为NULL
* 输入参数id: 时针名称,如fclk、hclk、pclk等 * 返回值: 返回该时钟的clk结构体
linux下S3C2440–I2C驱动学习之四“i2c
我们进入I2C驱动的最后一个小节,在这个小节里,我们主要探讨 i2c_algorithm 数据结构和i2c-core.c 的一些主要函数及其作用。
i2c_algorithm 结构体
struct i2c_algorithm {
int (*master_xfer)(struct i2c_adapter *adap, struct i2c_msg
*msgs,
int num);
int (*smbus_xfer) (struct i2c_adapter *adap, u16 addr,
unsigned short flags, char read_write,
u8 command, int size, union i2c_smbus_data *data);
u32 (*functionality) (struct i2c_adapter *);
};
一个 i2c 适配器上的i2c 总线通信方法由其驱动程序提供的i2c_algorithm 数据结构描述,由algo 指针指向。i2c_algorithm 数据结构即为i2c_adapter 数据结构与具体i2c 适配器的总线通信方法的中间层,正是这个中间层使得上层的i2c 框架代码与与具体i2c 适配器的总线通信方法无关,从而实现了i2c 框架的
可移植性和重用性。当安装具体i2c 适配器的驱动程序时由相应驱动程序实现具体的i2c_algorithm 数据结构,其中的函数指针指向操作具体i2c 适配器的代码。
master_xfer/smbus_xfer 指针指向i2c 适配器驱动程序模块实现的i2c 通信协议或者smbus 通信协议。在用户进程通过i2c-dev 提供的/dev/i2c/%d 设备节点访问i2c 设备时,最终是通过调用
master_xfer 或者smbus_xfer 指向的方法完成的。