0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >通信与网络 > 基于SX52BD单片机实现接口通信系统的设计方案

基于SX52BD单片机实现接口通信系统的设计方案

来源: elecfans
2021-05-06
类别:通信与网络
eye 16
文章创建人 拍明

原标题:基于SX52BD单片机实现接口通信系统的设计方案

  引言

  扩展能力端口模式ECP(Extented Capability Port)是一种IEEE 1284标准的工作模式之一。它能实现双向数据传输,具有DMA传输、数据RLE压缩、双向寻址等功能。它要求主机外设双方的硬件都必须实现状态机的功能,即自动产生各种控制信号。ECP模式是唯一定义了寄存器实现的IEEE 1284传输协议。在计算机端操作ECP并行协议,仅需对相应的寄存器进行读写就会触发硬件完成各种时序。ECP模式的数据传输率可以达到 2~4MB/s。

  SX52BD是SX系列产品,是采用CMOS工艺制造的、可配置的通信控制器。它是一种高速单片机,指令大都是单周期的,其工作频率可达到50MHz。由于其特有速度,设备可实现虚拟外设(软件代替硬件的功能)。本文讲述的通信就是基于此完成的。

  1 ECP协议

  ECP传输通过标准并行端口实现。其DB25接口的引脚定义如下:

  1—HostClk; 2~9—双向D1~D8;

  10—PeriphClk; 11—PeriphAck;

  12—nAckReverse; 13—Xflag;

  14—HostAck; 15—nPeriphRequest;

  16—nReverseRequest; 17—IEEE1284Active;

  18~25—各信号地。

  ECP模式分以下8个操作阶段。

  

o4YBAGCH2TaADWlbAADmhM_U-jE173.png


  ① 模式商议阶段。主机把ECP的能力请求值放到数据总线上,然后置IEEE 1284 Active为高,HostAck为低。外设应该置PeriphClk为低,nPeriphRequest为高,Xflag为高,nAckReverse 为高。主机置HostClk为低,然后置HostClk和HostAck为高,表示已经确认了一个兼容于ECP模式的外设。接着,外设置 nAckReverse为低,PeriphAck为低,Xflag为高,PeriphClk为高。接口进入设置阶段。

  ②ECP设置阶段。主机置HostAck为低,外设置nAckReverse为高,响应主机。接口进入正向空闲阶段,可以开始传输数据。

  ③正向空闲阶段。外设置PeriphAck为低,主机检测到此信号可开始传输数据。

  ④ECP正向传输阶段。主机将数据放到数据总线上,置HostClk为低。外设置PeriphAck为高,应答。主机置HostClk为高,外设接收数据并置PeriphAck为低,完成这次传输。

  这种握手方式即互锁握手(interlocked handshake)。互锁握手是指每一个控制信号的跳变都由接口对方相互应答。使用这种方式,外设可以控制传输的时间以满足它进行操作的需要。

  ⑤ECP正向到反向转换阶段。在正向空闲阶段,主机置8位数据总线为高阻状态,并设置HostAck为低。为等待最小建立时间后,置nReverseRequest为低。外设置nAckReverse为低应答,进入反应空闲阶段。

  

pIYBAGCH2S-AGE0YAACuRTImeJ4169.png


  2 SX52BD单片机简介

  SX52BD片内程序存储器容量为4096字节,数据存储器容量为262×8位。SX52BD具有5个8位I/O端口A、B、C、D、E,2个带8位预定标器的16位定时器,1个带预定标器通用8位定时器,1个模拟比较器,1个brownout检测器及看门狗定时器,1个内部RC振荡器。端口 A、B、C为双向I/O口;端口B可作为唤配置、比较器、定时器1的输入;端口C可作为定时器2的输入;端口D、E仅做输入用。

  SX52BD有3种不同的寻址方式:间接寻址、直接寻址、半直接寻址。对寄存器寻址模式的选取依赖于指令中5位“fr”的值。

  *间接模式:fr=00h

  *直接模式:(fr bit 4=0)fr=01h~0Fh

  *半直接模式:(fr bit 4=1)fr=10h~1Fh

  由于SX52BD运行速度可达50MHz,由指令运行产生时序完全可达到ECP协议的时序时间要求,并且它的I/O口驱动能力满足PC机要求。因此,不用使用任何额外的硬件电路产生时序,这就是虚拟外设的概念。

  3 ECP通信在SX52BD与PC机间的实现

  由于采用了虚拟外设,因此硬件电路结构极其简单:将SX52BD单片机的25个双向I/O口接入PC机即可。

  ECP通信的实现由软件完成。主机设置好BIOS后,可通过操作寄存器直接产生硬件所需时序。寄存器定义如表1。

  表1 寄存器定义(基址0x378)

  

o4YBAGCH2QiAbwHVAAAvJTpTI8o239.png


  其中状态寄存器dsr位定义如图1,控制寄存器dcr的位定义如图2。扩展控制寄存器ecr中定义了ECP对FIFO、DMA的使用,在速度要求较高时才对其操作。

  下面列出了实现简单的ECP协议。图3为SX52BD端的程序流程图,图4为PC机端的程序流程图。

  结语

  总体来说,由于ECP协议功能完善而且实现简单,对时间要求也不是很严格,在许多传输速率要求不是特别高的场合中应用价值很高。另外,SX系列单片机的虚拟外设具有很广泛的应用。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案