LPC178x/177x功能部件解析:E2PROM与外部存储器控制器
需积分: 45 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通信时。
456 浏览量
329 浏览量
921 浏览量
2022-03-01 上传
102 浏览量
2019-08-29 上传
214 浏览量
1200 浏览量
2022-03-14 上传
啊宇哥哥
- 粉丝: 35
- 资源: 3862
最新资源
- OpenCD:ПростоеприложениедляоткрытияизакрытияCD-иDVD-ROM'ов
- jQuery图片拖拽排序
- pdb2mdb.rar
- frontend-sass
- HouseMonitorPi:树莓派建造的家庭环境监控系统,可以监测室内温湿度,室内空气质量,甲醛浓度
- 今日家园商业街景观施工图
- 行业文档-设计装置-一种揿动圆珠笔.zip
- rt-thread-code-stm32f103-ys-f1pro.rar,stm32f103-ys-f1pro
- holbertonschool-low_level_programming:学习C和较低级别的编程
- django_project
- Gallager LDPC:常规LDPC结构-matlab开发
- pgame:受Self,Smalltalk等人启发,涉及游戏和基于原型的编程的一些想法。
- MinGW64离线安装包(gcc-5.3),适用于MATLAB R2017b and R2018a
- trueskill:适用于Python的TrueSkill评分系统的实现
- iOS Swift记忆益智游戏Memory Game完整源码
- 简单的订机票系统