LPC178x/177x功能部件解析:E2PROM与外部存储器控制器

需积分: 45 28 下载量 29 浏览量 更新于2024-08-06 收藏 18.87MB PDF 举报
"LPC178x系列微控制器在USB设备配置中的端点与描述符长度宏定义" 在LPC178x微控制器的USB设备应用中,正确配置端点(Endpoint)与描述符(Descriptor)的长度是至关重要的。程序清单10.22展示了如何定义这些长度,确保USB设备能够正确地被主机识别和通信。 首先,`#define NUM_ENDPOINTS 1` 定义了设备使用的端点数量为1个。在USB通信中,端点是设备和主机之间数据传输的逻辑通道。每个端点有其特定的用途,例如控制传输、批量传输、中断传输或同步传输。 接下来的`#define CONFIG_DESCRIPTOR_LENGTH`宏定义了配置描述符的总长度。配置描述符包含了设备的所有配置信息,包括接口数、总电流需求、设备类、子类、协议等。这里的长度计算方式如下: - `sizeof(USB_CONFIGURATION_DESCRIPTOR)` 是配置描述符本身的大小。 - `sizeof(USB_INTERFACE_DESCRIPTOR)` 代表接口描述符的长度,用于描述设备中的一个接口,比如HID(Human Interface Device)接口。 - `sizeof(USB_HID_DESCRIPTOR)` 是HID设备描述符的长度,它提供了HID设备的具体信息,如报告描述符的索引等。 - `(NUM_ENDPOINTS * sizeof(USB_ENDPOINT_DESCRIPTOR))` 计算所有端点描述符的总长度,由于这里只有一个端点,所以只乘以1。 `extern const INT8U Mouse_Descr[ ];` 是对外部定义的鼠标描述符数组的声明,这通常包含设备的HID报告描述符,定义了设备可以发送和接收的数据格式。 在LPC178x系列微控制器中,E2PROM(电可擦可编程只读存储器)和外部存储器控制器(EMC)也是重要的功能部件: 5.16章节介绍了E2PROM存储器,它允许非易失性数据存储,即使在断电后也能保持数据。E2PROM具有以下特性: - 描述:E2PROM是一种可以进行电子擦除和重写的数据存储器,常用于存储配置参数、用户数据或固件更新。 - 特性:可能包括快速擦写时间、多次擦写耐久性和较低的功耗。 - 寄存器描述:涉及到E2PROM的控制和状态寄存器,如地址寄存器、数据寄存器和控制寄存器,通过这些寄存器实现对E2PROM的操作。 - E2PROM操作:包括读取、写入和擦除过程,以及相关的命令序列和时序要求。 5.17章节涉及外部存储器控制器(EMC),它是连接和控制外部RAM、SRAM、NAND Flash、Nor Flash等不同类型的外部存储器的关键部件: - 概述:EMC提供了一个灵活的接口,以适应多种存储器类型和速度要求,使得LPC178x能扩展其存储容量。 - 特性:可能包括支持不同的存储器模式、高速数据传输、地址线和数据线的分时复用等。 这些功能部件的详细理解和有效利用对于开发基于LPC178x的嵌入式系统至关重要,特别是在处理数据存储、设备配置和USB通信时。