- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Nios II处理器的USB接口设计
摘要:本文以Nios?II嵌入式软处理器为核心,利用USB控制芯片CH372,设计了基于Nios?II嵌入式软处理器的USB通信接口。本文重点介绍了USB接口的硬件实现方案,分析了CH372的通信流程,并编写了下位机和上位机PC的通信程序。与传统的嵌入式设计方案相比,该方案的整体性更好,具有很强的扩展性和灵活性,降低了软件的开发成本以及硬件实现风险。 关键词:Nios?II;CH372;嵌入式处理器;可编程片上系统?
1 引? 言
高速化、便携化成为科学仪器的设计发展方向.而通用串行总线USB接口技术以其使用方便、速度快、成本低等特点,为用户和设计者青睐,大大促进了科学仪器在此方向上的发展。目前工业控制及教学、实验、科研中经常用到的数据传输系统,也越来越多的使用USB接口与主机相连。
本设计主要以Nios II嵌入式软处理器为核心,它是一个32位的处理器提供了USB接口具体的软、硬件设计方案。采用的FPGA(Field Programmable Gate Array)器件是Altera公司的Cyclone II系列EP2C20Q,嵌入式USB控制芯片是南京沁恒公司生产的CH372,实现了USB的通信设计。
2 系统结构设计
本文设计的USB接口用于汽车行业中硬件在回路仿真系统与上位PC机的数据传输。硬件在回路仿真系统的功能是对新开发的汽车防抱死制动系统(Antilock Braking System,(简称ABS))的电控单元(ECU)的性能指标进行测试。系统结构如图1所示。系统内运行汽车动力学模型,读取来自汽车ABS电子控制单元(ECU)的数据,进行处理,并实时改变轮子的速度。轮速的改变通过PWM模块输出至ECU,ECU根据当前的轮速发出相应的数据。如此循环,完成整个模型在刹车过程中的仿真。硬件在回路仿真器在整个仿真过程中的数据通过USB接口发送至上位PC机进行存储显示;上位PC机可以通过USB接口修改汽车动力学模型的各项参数。
系统主要包括以下几个模块:
l???????? CycloneII系列FPGA,型号为EP2C20Q,有18752个LEs,239616 bits的RAM, 4个PLLs. 在其内部配置Nios II软核处理器;
l???????? EPCS16,串行flash主要存放硬件的配置信息和程序代码,断电后可以保存数据;
l???????? SRAM采用双片IDT公司的IDT71V416,系统在SRAM内运行程序;
l???????? USB Interface提供了与外部USB控制芯片CH372的接口;
l???????? 在SOPC Builder中添加Avalon Tri-State Bridge, 它实现了SRAM,USB Interface与CPU内部Avalon总线的连接[1];
l???????? I/O口接受来自ECU的控制信号;
l???????? PWM模块根据本次仿真后的轮子速度发送相应频率的方波信号至ECU。
如图1所示,系统通过PLL锁相环把外部输入时钟倍频到所需的80.0MHZ;通过I/O口与其他设备交换需要处理的数据,把处理过后的数据通过CH372传递给上位机PC机显示。
图1 系统结构功能图
3 USB接口的硬件设计
CH372是一个USB总线的通用接口芯片,是同类产品CH375的功能简化版本,内置了USB1.1通讯中的底层协议,提供一对主端点和一对辅助端点.支持控制传输、批量传输和中断传输。CH372支持SLAVE设备方式(CH375还支持HOST主机方式及其模式下的串行通讯方式)。在本地端,CH372具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接至MCU的系统总线上。并且CH372所需外围电路十分简单,只需要一个晶振和两个电容,芯片的D+、D-引脚可直接与计算机USB接口的D+、D-信号线相连。
CH372内部集成了USB接口SIE、数据缓冲区、被动并行接口、命令解释器、电压调整器、控制传输的协议处理器、通用的固件程序等。芯片内部设置了5个物理端点:端点0是默认端点.支持上传和下传,上传和下传缓冲区各为8个字节;端点1包括上传端点和下传端点,每个端点缓冲区为8个字节;端点2也包括上传端点和下传端点,每个缓冲区为64个字节。芯片具有两种工作模式:内置固件模式和外置固件模式。内置固件模式下屏蔽了相关的USB协议.芯片自动完成标准的USB枚举配置过程.完全不需要本地端的MCU做任何处理,并且CH372自动处理默认端点0的所有事务.端点1的下传端点被禁止.端点1的上传端点为中断端点.端点2的上传端点作为批量数据发送端点,端点2的下传端点为批量数据的接受端点,本地端的MCU只是负责数据交换:在外置固件模式下,由外部MCU根据需要自行处理各种USB请求
文档评论(0)