网站大量收购独家精品文档,联系QQ:2885784924

基于Cortexm3为内核开发板设计及制作.docx

基于Cortexm3为内核开发板设计及制作.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Cortexm3为内核开发板设计及制作.docx

基于Cortex一m3为内核开发板设计及制作 摘要:为了实现以CortexM3为内核制作一个实验开发板, 用于教学、竞赛、工控开发,通过一系列的模拟仿真和研究 分析,设计了开发板的电路原理图,分析了以太网的结构、 原理、初始化过程,USBOTG的设计思路、电路原理图和初始 化过程以及SD卡驱动电路的设计过程,并制作了可实际使 用的电路板。整个开发板主要能够为学生的课程设计、毕业 设计、创新活动提供良好平台。 关键词:CortexM3; LPC1768;以太网驱动电路;USBOTG 驱动电路;SD卡驱动电路 中图分类号:TN91934文献标识码:A文章编号:1004373X (2012)ARMCortexM3处理器是一款具有极高运算能力和中断响 应能力的处理器内核,能够实现8位和16位处理器级数的 代码存储密度。该内核体积很小,从而使它的封装更为小型, 成本更为低廉,应用更为广泛。NXP (恩智浦半导体)公司 的LPC1700系列ARM是基于CortexM3内核的微控制器,是 为嵌入式系统应用而设计的高性能、低功耗的32位微处理 器,适用于仪器仪表、工业通信、电机控制、灯光控制、报 警系统等领域。它的操作频率高达120MHz,采用3级流水线 和哈佛结构,带独立的本地指令和数据总线,代码执行速度 高达1.25MIPS/MHz,同时包含1个支持随机跳转的内部预取 指单元[1] o本文设计了以LPC1768为控制器核心的开发板, 完成了以太网、USBOTG、SD卡驱动等控制电路设计及程序驱 动设计。 1以太网驱动电路的设计 以太网模块包含一个功能齐全的10Mb/s或lOOMb/s以 太网MAC (媒体访问控制),以太网MAC通过使用DMA硬件加 速功能来优化其性能。以太网模块具有大量的控制寄存器 组,可以提供:半双工/全双工操作、流控制、控制帧、重 发硬件加速、接收包过滤以及LAN上的唤醒等。利用分散集 中式(ScatterGather) DMA进行自动的帧发送和接收操作, 减轻了 CPU的工作量[2]。 以太网模块是一个AHB主机,驱动AHB总线矩阵。通过 矩阵,它可以访问片上所有的RAM存储器。建议以太网使用 RAM的方法是专门使用其中一个RAM模块来处理以太网通信。 那么该模块只能由以太网和CPU,或许GPDMA进行访问,从 而获取以太网功能的最大带宽[3]。 以太网模块使用简化的媒体独立接口(RMII)协议和片 上媒体独立接口管理(MIIM)串行总线、还有管理数据输入 /输出(MDIO)来实现与片外以太网PHY之间的连接。本设 计以太网PHY所采用的芯片是KSZ8041TL [4]。 在以太网模块的初始化过程中,软件需完成: 将软件复位条件从MAC中移除; 通过MAC的MIIM接口配置PHY; 选择RMII模式; 配置发送和接收DMA引擎,包括描述符数组; 配置MAC中的主机寄存器(MAC1, MAC2等等); 使能接收和发送数据通道[5]。 软件通过对MAC的MCFG, MCMD, MADR寄存器进行编程 来读写PHY寄存器。写数据应该写入MWTD寄存器,读数据 和状态信息可以从MRDD和MIND寄存器中读取。以太网模块 支持RMIIPHYo在初始化过程中,软件必须通过对命令寄存 器进行设置来选择RMII模式[7]。 在切换到RMII模式之前,默认的软件复位(MAC1寄存 器的位15)必须失效。在该操作过程中需要运行 phy_ref_clk,且将其内部连接上。 设备驱动软件通过分配存储器中的“描述符数组”和 “状态数组”来完成对发送和接收DMA引擎的初始化。发送 和接收功能各自都有专门的描述符和状态数组。这些数组的 基 址 需 在 TxDescriptor/TxStatus 和 RxDescriptor/RxStatus寄存器中编程。数组中描述符的数 目要与数组中状态的数目相等[8]。 以太网控制器的初始化代码如下: 2USB0TG驱动电路设计 对于OTG功能,必须将OTG收发器连接到LPC1700系列 CortexM3微控制器设备,使用USB信号的内部USB收发器, 并仅使用OTG功能的外部OTG收发器(见图1)。该选项在 VP/VM模式下使用内部收发器。 电路给出了构建OTG功能时需要在基础USB外设上添加 的电路,电路中的通用串行总线控制器可以是LPC1768和 USBSIE (串口引擎);为总线提供电源的外部设备需要一路 3. 3V稳压输出供电电压,以便为逻辑电路和连接在D+, D— 引脚的1500Q电阻提供电源。通过D+, D—引脚上的上拉电 阻可向主机发出设备已连接的信号,并指示设备的工作速 度。电阻上拉至D+表示全速运行,电阻上拉至D—表示低速 运行。其他端点(包括D+和D—的15kQ下拉

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档