首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
一种机载TM总线接口设计
来源:本站整理  作者:佚名  2010-04-14 11:55:45




    POWERUP2_00为上电后或复位后的状态;XFERl6_1X~XFER00_1X为数据传送状态;WAIT_00为出错状态,该状态结束的条件是MCTL与MMD发生传输冲突消失且消息传送结束;在PAUSE_01状态下插入等待;EOM_00为消息传送的起始和结束状态。主/从两个状态机合为一个状态机后,MCS和主权控制状态机控制作何种状态机运行[M1,M2,M3]控制主状态机的状态转换,从状态机的状态转换由MCTL和MMD控制。
2.4 USB接口设计
   USB接口芯片采用了ISP1581。ISP1581是Phil-lps 公司提 不应求的高速USB接口芯片,符合USB2.0规范。它的内部集成了数据收发器、串行接口引擎(SIE)、并行接口引擎(PIE)、FIFO存储器(8 KB)、存储管理单元(MMU)、微控制器接口和DMA(直接内存访问)管理器。外部电路接口简单,因ISP1581内部不带有微控制器,需外接。本文的微控制器采用AT89C52单片机。USB硬件模块主要包括ISP1581,AT89C52,总体框架结构如图5所示。


    ISP1581通过16位数据总线与FPGA相连,AT89C52负责控制数据的DMA传输。ISP1581与微控制器的通信通过一个高速(15 MB/s或15 Mword/s)的通用并行接口AD[7:O]实现,并具有高速DMA接口。
2.4.1 USB接收数据模块实现
    本文采用的USB器件是带有DMA控制器的ISP1581,为了简化电路,采用ISP1581的DMA主控制器方式。如图6所示,当FPGA的FIFO满标志为1时,单片机给ISP1581发送请求有效信号、写信号和写周期信号,给FIFO发送读请求信号和读周期信号,当读出的数据达到预定的数目时,单片机把ISP1581请求信号设置为无效,等待下一组存储数据。


2.4.2 读数据和并/串转换
    单片机把接收的控制信号通过DMA传输通道把数据传到FIFO中,其DMA传输过程和图6相似,只要把DIOW改成DIOR,把rdreq改成wreq就可以了,然后通过FPGA的内部逻辑取出16位并行数据进行并/串转换。

3 系统软件设计
3.1 USB固件(Firmware)程序开发
    固件其实就是单片机的程序文件,主要完成设备初始化、USB协议标准请求处理以及其他应用程序。一般来说,固件程序的软件结构可设计为基于中断的分层结构,如图7所示。

    在固件程序中,后台的中断服务例程(ISR)负责从ISP1581收集数据,当ISR收集到了足够的数据时,通知前台主程序循环数据已经准备好,由主程序循环进行数据的处理。以的批量传输端点为例,当从主机收到一个数据包,就会向为控制器产生一个中断请求,微控制器立即响应中断。在中断服务例程中,固件程序将数据包从内部数据缓冲区转移到循环数据缓冲区,然后将数据缓冲区清零以使该端点可以接收新的数据包,这时微控制器可以继续执行当前更为紧急或者还未处理完的任务,例如读取采集数据,然后返回到主循环中检查循环缓冲区是否有新的数据,并进行处理。
3.2 USB设备驱动程序开发
   驱动程序的基本功能是建立应用程序与USB接口之间的数据通讯。本设计采用Driver Works开发USB驱动程序。

上一页  [1] [2] [3] [4]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:84,019.53000 毫秒