您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子元器件>接口定义>

AT89C5131实现与DSP、PC通信的接口设计

2011年08月30日 12:17 本站整理 作者:刘王莹,董春曦 用户评论(0

  AT89C5131是一个基于52内核的单片机。AT89C5131的USB2.0全速从接口的结构如图3所示,其包括USB D+/D-的接口缓冲,数字锁相环,串行接口引擎(SIE)和通用功能接口(UFI)。其中数字锁相环以单片机的时钟为输入,产生了USB接口其他部分所需的48MHz时钟。串行接口引擎完成USB通信物理层NRZI码的编码与解码,CRC生成以及校验与纠错。通用功能接口包含了一个双端口的数据存储器,其一端与串行接口引擎链接,另一端通过数据总线与单片机相连接,使单片机可以通过特殊功能寄存器完成对USB2.0从接口的控制与通信。

  1 系统硬件设计

  基于AT89C5131的通信和控制模块主要完成以下功能:在通信方面,通过USB实现与计算机的通信,接收计算机对设备的控制命令和计算机发送的数据,并将设备的工作状态发送给计算机,同时将计算机传来的控制命令和数据通过SPI接口传送到其他设备模块,并收集其他设备模块的状态信息;在控制方面,AT89C5131负责收集设备控制显示面板的控制命令,更新设备显示状态等。由于采用USB通信系统,AT89C5131除了能够根据控制面板控制设备的运行,也能根据计算机的命令控制设备的运行,实现了对设备的双重控制。该系统中AT89C5131的外围连接如图1所示。

  

中AT89C5131的外围连接图

 

  1.1 AT89C5131的键盘端口特性及键盘设计

  AT89C5131拥有一个允许与8×n矩阵键盘连接的键盘接口,其输入均具有高或低电平可编程中断能力。键盘接口与C51内核的通信通过3个特殊功能寄存器实现,分别是键盘电平选择寄存器(KBLS)、键盘中断使能寄存器(KBE)和键盘标志寄存器(KBF)。

  AT89C5131的键盘输入被设计为分享同一个中断向量的8个独立的中断源,寄存器IEN1中的中断使能位KBD允许键盘中断全局的使能及不使能,根据KBLS每一位的值,每一个键盘输入都有检测出可编程电平的能力,然后键盘检测就被反应到KBF中,而通过软件使用KBE可以屏蔽中断标志KBF.正是这样的结构使得键盘排列可以从1×n延伸至8×n的矩阵,同时还使得P1输入用于其他用途。

  在该设计中,将4个键盘端口(P1.O,P1.2,P1.3,P1.4)及2个外部中断端口(P3.2,P3.3)与控制面板上的6个按键相连;实现系统的内外、启停、暂停继续控制及参数组的选择等功能。这6个端口都采用低电平触发产生中断。

  1.2 USB各端口的特性及USB通信设计

  AT89C5131的USB2.0全速从接口包含了7个终端点,其中0号终端点被配置成为默认的控制终端点。其他1~6号终端点都可以通过特殊寄存器配置为控制(Control),突发(Bulk),中断(Interrupt)和周期性(Isochronous)模式。由于每一个终端点都由一组独立的寄存器对该终端点进行控制、状态识别和数据的存取,则如果将这些寄存器直接映射到51单片机的特殊功能寄存器地址空间显然是容纳不下的。因此,这7个终端点的7组寄存器在单片机的地址空间中其实使用的是同一组寄存器的地址,而通过一个特殊功能寄存器(UEPNUM)来选择当前该组寄存器实际选择的是哪个终端点的寄存器组,这样就大大节省了所占用的地址空间,为集成其他特殊外设提供了可能。

  在该设计中,PC机将数据通过USB传给AT89C5131,传输完一次后AT89C5131向PC机回传数据传输正确与否的标志,PC机可以根据收到的标志进行相应的操作。PC机向AT89C5131传输的数据主要是参数和控制命令两种类型。为将其区分开来,使用USB的端口4和端口6接收这两种数据。其中,端口4用来接收控制命令;端口6用来接收参数。相应地,控制命令的回传使用端口5;参数的回传使用端口3.为简单起见,端口3~端口6均被配置为批量类型;端口3、端口5为IN端口;端口4、端口6为OUT端口。

  

    本文导航

    • 第 1 页:AT89C5131实现与DSP、PC通信的接口设计
    • 第 2 页:SPI通信设计

非常好我支持^.^

(1) 100%

不好我反对

(0) 0%

( 发表人:小兰 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!