基于cortex—m3为内核开发板设计及制作

基于cortex—m3为内核开发板设计及制作

ID:33986030

大小:56.84 KB

页数:5页

时间:2019-03-03

基于cortex—m3为内核开发板设计及制作_第1页
基于cortex—m3为内核开发板设计及制作_第2页
基于cortex—m3为内核开发板设计及制作_第3页
基于cortex—m3为内核开发板设计及制作_第4页
基于cortex—m3为内核开发板设计及制作_第5页
资源描述:

《基于cortex—m3为内核开发板设计及制作》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于Cortex一m3为内核开发板设计及制作摘要:为了实现以CortexM3为内核制作一个实验开发板,用于教学、竞赛、工控开发,通过一系列的模拟仿真和研究分析,设计了开发板的电路原理图,分析了以太网的结构、原理、初始化过程,USBOTG的设计思路、电路原理图和初始化过程以及SD卡驱动电路的设计过程,并制作了可实际使用的电路板。整个开发板主要能够为学生的课程设计、毕业设计、创新活动提供良好平台。关键词:CortexM3;LPC1768;以太网驱动电路;USBOTG驱动电路;SD卡驱动电路中图分类号:TN91934文献标识码:A文章编号:1004373X(2012)

2、18001903ARMCortexM3处理器是一款具有极高运算能力和中断响应能力的处理器内核,能够实现8位和16位处理器级数的代码存储密度。该内核体积很小,从而使它的封装更为小型,成本更为低廉,应用更为广泛。NXP(恩智浦半导体)公司的LPC1700系列ARM是基于CortexM3内核的微控制器,是为嵌入式系统应用而设计的高性能、低功耗的32位微处理器,适用于仪器仪表、工业通信、电机控制、灯光控制、报警系统等领域。它的操作频率高达120MHz,采用3级流水线和哈佛结构,带独立的本地指令和数据总线,代码执行速度高达1.25MIPS/MHz,同时包含1个支持随机跳转

3、的内部预取指单元[1]o本文设计了以LPC1768为控制器核心的开发板,完成了以太网、USBOTG、SD卡驱动等控制电路设计及程序驱动设计。1以太网驱动电路的设计以太网模块包含一个功能齐全的10Mb/s或lOOMb/s以太网MAC(媒体访问控制),以太网MAC通过使用DMA硬件加速功能来优化其性能。以太网模块具有大量的控制寄存器组,可以提供:半双工/全双工操作、流控制、控制帧、重发硬件加速、接收包过滤以及LAN上的唤醒等。利用分散集中式(ScatterGather)DMA进行自动的帧发送和接收操作,减轻了CPU的工作量[2]。以太网模块是一个AHB主机,驱动AH

4、B总线矩阵。通过矩阵,它可以访问片上所有的RAM存储器。建议以太网使用RAM的方法是专门使用其中一个RAM模块来处理以太网通信。那么该模块只能由以太网和CPU,或许GPDMA进行访问,从而获取以太网功能的最大带宽[3]。以太网模块使用简化的媒体独立接口(RMII)协议和片上媒体独立接口管理(MIIM)串行总线、还有管理数据输入/输出(MDIO)来实现与片外以太网PHY之间的连接。本设计以太网PHY所采用的芯片是KSZ8041TL[4]。在以太网模块的初始化过程中,软件需完成:(1)将软件复位条件从MAC中移除;(1)通过MAC的MIIM接口配置PHY;(2)选择

5、RMII模式;(3)配置发送和接收DMA引擎,包括描述符数组;(4)配置MAC中的主机寄存器(MAC1,MAC2等等);(5)使能接收和发送数据通道[5]。软件通过对MAC的MCFG,MCMD,MADR寄存器进行编程来读写PHY寄存器。写数据应该写入MWTD寄存器,读数据和状态信息可以从MRDD和MIND寄存器中读取。以太网模块支持RMIIPHYo在初始化过程中,软件必须通过对命令寄存器进行设置来选择RMII模式[7]。在切换到RMII模式之前,默认的软件复位(MAC1寄存器的位15)必须失效。在该操作过程中需要运行phy_ref_clk,且将其内部连接上。设备

6、驱动软件通过分配存储器中的“描述符数组”和“状态数组”来完成对发送和接收DMA引擎的初始化。发送和接收功能各自都有专门的描述符和状态数组。这些数组的基址需在TxDescriptor/TxStatus和RxDescriptor/RxStatus寄存器中编程。数组中描述符的数目要与数组中状态的数目相等[8]。以太网控制器的初始化代码如下:2USB0TG驱动电路设计对于OTG功能,必须将OTG收发器连接到LPC1700系列CortexM3微控制器设备,使用USB信号的内部USB收发器,并仅使用OTG功能的外部OTG收发器(见图1)。该选项在VP/VM模式下使用内部收发

7、器。电路给出了构建OTG功能时需要在基础USB外设上添加的电路,电路中的通用串行总线控制器可以是LPC1768和USBSIE(串口引擎);为总线提供电源的外部设备需要一路3.3V稳压输出供电电压,以便为逻辑电路和连接在D+,D—引脚的1500Q电阻提供电源。通过D+,D—引脚上的上拉电阻可向主机发出设备已连接的信号,并指示设备的工作速度。电阻上拉至D+表示全速运行,电阻上拉至D—表示低速运行。其他端点(包括D+和D—的15kQ下拉电阻)用于检测上拉电阻的状态。由于USB设计需要提供热插拔功能。因此,其ESD保护电路主要用于为D+,D—和VBUS引脚提供保护⑻。以

8、下是OTG设备控制器的初

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。