ECP协议及在SX52BD与PC机间通信的实现
摘要:介绍一种快速的并行协议――ECP协议在高速单片机与PC机间通信的应用。高速单片机采用SX52BD,并用虚拟外设实现。
关键词:ECP协议互锁握手 虚拟外设
引言
扩展能力端口模式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个操作阶段。①模式商议阶段。主机把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为低应答,进入反应空闲阶段。
看上去相当复杂,但PC端操作却很简单,仅需对后面介绍的寄存器读写即可。单片机端略微复杂,但也只需对I/O口置位、复位、读取,编程并不难。2 SX52BD单片机简介
SX52BD片内程序存储器容量为4096字节,数据存储器容量为2628位。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)
名 称地址偏移读 写大 小功 能ecpAFifo0x000W-R/W大小地址寄存器dsr0x001R字节状态寄存器dcr0x002R/W字节控制寄存器ecpDFifo0x400R/W双字节数据寄存器ecr0x402R/W字节扩展控制寄存器其中状态寄存器dsr位定义如图1,控制寄存器dcr的位定义如图2。扩展控制寄存器ecr中定义了ECP对FIFO、DMA的使用,在速度要求较高时才对其操作。
下面列出了实现简单的ECP协议。图3为SX52BD端的程序流程图,图4为PC机端的程序流程图。
结语
总体来说,由于ECP协议功能完善而且实现简单,对时间要求也不是很严格,在许多传输速率要求不是特别高的场合中应用价值很高。另外,SX系列单片机的虚拟外设具有很广泛的应用。
关键词: SX52BD
您可能也感兴趣:
为您推荐
厦门开展银行保险业消保教育宣传周活动 促进行业数字化创新
友邦保险去年业绩亮眼 新业务价值上升18%至33.66亿美元
陕西省将加大财政投入力度 推动农业保险持续“扩面”
排行
最近更新
- ECP协议及在SX52BD与PC机间通信的实现
- 光敏电阻器的主要参数
- 低音炮音箱的制作原理及相关电路介绍
- 一个电子工程师的经验之谈!
- 财富管理成蓝海,市场前景得到广泛认可
- 防止髋骨摔伤,信安智囊气囊马甲有妙招
- 北京顺义区优化无人配送产业管理方案 多企业开展商业化试运行
- 言归“证”传,上“警快办” | 驾驶证业务办理看过来
- 被骗后,骗子最最最希望你做这些事!
- 远离消费陷阱,这份“避坑指南”请收藏
- 期待!2022生活将有这些新变化
- 思鸿网校学会计:小规模纳税人最常用的16笔会计分录!
- 思鸿网校每日一练:2022初级会计备考专项练习
- 主播直播造假、水军操纵口碑……3·15重拳砸向互联网经济乱象
- 云南昨日新增本土确诊病例6例、本土无症状感染者32例
- “海基一号”建造完工 为亚洲首例300米级深水导管架
- 我科研团队发现新冠肺炎潜在治疗靶点
- 思鸿教育提醒警惕诈骗:有考生报名被取消?!
- 「权威解读」有效投资精准发力 投资实现良好开局
- 思鸿网校财税每日Q:固定资产2022年可否选择一次性扣除?
- 理清“症结” 让患者免受过度医疗侵害
- 「权威解读」1—2月份消费市场回升向好
- 三心服务让装修更省心!业之峰“2022新年第一签”来了
- 布兰妮冰淇淋作为新手创业项目,靠谱吗?
- 富创精密回复科创板问询连遭23问:客户A收入占比超过六成 上...
- 西贝员工跳楼自杀:家属质疑曾受到领导打压,创始人曾鼓吹“7...
- 投资理财这些陷阱,老年朋友不得不防
- 扫码点餐过度索权仍存,你授权的手机号、位置被用在了何处?
- 3·15曝山药粉条“木薯粉”造,涉事淘宝店铺和工厂已关停
- 促进家政服务业提质扩容