搜索
您的当前位置:首页串行A/D与8255A接口的设计与实现

串行A/D与8255A接口的设计与实现

来源:小侦探旅游网
维普资讯 http://www.cqvip.com 第23卷第3期 黄石理工学院学报 V01.23 NO.3 2007年6月 JOURNAL OF HUANGSHI INSTITUTE OF TECHNOLOGY Jun 20o7 文章编号:1008—8245(2007)03—0034—04 串行A/D与8255 A接口的设计与实现 黄志文 邓彬伟 (黄石理工学院电气与电子信息工程学院,湖北黄石435003) 摘 要:8255A并行接口芯片是一种十分通用的接口芯片,SPI总线作为一个全双工的串行接口,在工业控 制中得到广泛应用。文章给出了一种采用8086处理器控制8255A来模拟SPI总线,实现按字节传输数据,控 制MAXI270 A/D的设计方法,并给出了详细的设计与实现过程。 关键字:SPI总线;SPI总线模拟;8255A;8086;MAX1270 A/D 中图分类号: 74 文献标识码:A The Design and Implementation of The 8255A Access SPI D Huang Zhiwen Deng Binwei (School of Electric and Elcetronic Information En ̄neeifng,Huangshi Institute of Technology,Huangshi Hubei 435003) Abstract:The 8255 is an ordinary parallel interface chip and SPI,as a full duplex serial peripheral interface,is widely apphed in industry contro1.The design method about the 8255 stimulating SPI controlling MAX1270 A/D with 8086 CPU iS introducod in details. Key words:SPI;SPI Stimulate;8255A;8086;MAX1270 A/D SPI是一个同步串行外设接口,具有简单易实 现与具有SPI总线接口功能的各种I/O器件进行 现的特点。8255并行接口芯片是一种十分通用 连接,而扩展并行总线则需要8根数据线、8一l6 的接口芯片,价格低。采用8086控制8255A来 位地址线、2~3位控制线,因此,采用SPI总线 模拟SPI接口,可以方便地实现对各种SPI设备的 接口可以简化电路设计,节省很多常规电路中的 访问,使8255并行接口芯片更具生命力,且性价 接口器件和I/O口线,提高设计的可靠性…。在 比高。 基于SPI总线接口构成的通信网络中,通信可由 主节点发起,也可由从节点发起。当主节点发起 1 SPI总线标准 通信时,它可主动对从节点进行数据的读写操作。 工作过程叙述如下:首先选中要与之通信的从节 SPI是一个全双工的串行接口。它设计成可 点(通常片选端低电平有效),而后送出时钟信 以在一个给定总线上处理多个互联的主机和从 号,读取数据信息的操作将在时钟的上升沿(或下 机。在一定数据传输过程中,接口上只能有一个 降沿)进行。每送出八个时钟脉冲,从节点就产生 主机和一个从机能够通信。在一次数据传输中, 一个中断信号,该中断信号通知主节点1个字节 主机总是向从机发送一个字节数据,而从机也总 已完整接收,可以发送下1个字节的数据。SPI网 是向主机发送一个字节数据,可以使MCU与各种 络主从点需要完成的是给出片选信号及时钟信 外围设备以串行方式进行通信以交换信息。由于 号,它可以主动地与各从节点进行信息的交流;而 SPI总线一共只需3~4位数据线和控制线即可实 在从节点主动要求服务的情况下,它却是一种半 收稿日期:2007—03—06 作者简介:黄志文(1985一),男,福建漳州人,黄石理工学院2007届本科生。 维普资讯 http://www.cqvip.com 第3期 黄志文邓彬伟:串行A/D与8255A接口的设计与实现 35 主动的形式。由SPI接口技术构成的网络接口信 号线(CLK、MOSI、MISO、/SS和INT),其中CLK是 时钟信号引脚,MOSI(DOUT)是串行数据输出引 脚,MISO(DIN)是串行数据输入引脚,/SS是片选 ▲ MIS0 \ ▲ l 8位移位寄存器 \ 8位移位寄存器卜M0SI J 主机 引脚,INT为中断信号引脚。如果辅之以相应完 备的通信协议,其服务功能必然会大大的增强,相 SPI I l CLK l SPI 从机 比于485等主从式分布网络而言,其通信速率也 有较大的提高。 l SPI时钟发生器 1.1 SPI硬件结构 SPI接口在内部硬件实际上是两个简单的移 图1 SPI硬件结构 位寄存器,传输的数据为8位,在主器件产生的从 器件使能信号和移位脉冲下,按位传输,高位在 前,低位在后,SPI内部硬件结构如图1所示。 CLK /SS 1.2 SPI时序 在SCLK的下降沿上数据改变,同时1位数据 被存入移位寄存器,SPI时序如图2所示。 ] 图2 SPI时序 厂 输入 行的A/D转换芯片,MAX1270提供与SPI兼容的 2 MAX1 270简介 MAX1270芯片是MAX公司生产的8通道的 12位串行A/D转换芯片,可以采用内部或外部 电压参考,具有4个软件可编程的输入范围。模 接口,支持通过三线协议与处理器串行口或SPI 接口器件进行连接。作为一种支持SPI协议的芯 片,它的主要管脚有:①SCLK:串行时钟输入端;  ̄/cs:片选输入端,仅仅为低时数据才可以输 入;③DIN:串行数据输入端;④SSTRB:串行数据 输出选输出端。 拟输入通道共有8个,最大的采样率可以高达 1 10kbps,采样时钟内部或外部可选。作为一种串 MAX1270控制字定义如表1所示。 表1 MAX1270控制字 输入电压范围00— 一+5V 10 一+10V 01:±5V 11:±10V 00:内部时钟模式 01.夕 部时钟模式 10:待机状态 11:关机状态 3 采用8255实现SPI总线访问 MAX1270的设计 3.1 硬件电路 采用8086,8255A芯片对MAX1270进行访 问,8255模拟SPI电路如图3所示。 3.2地址及控制字设置 由图3可得8255寄存器地址及控制字分配 情况l 如下: 图3 8255访问MAX1270 A/D芯片 维普资讯 http://www.cqvip.com 黄石理工学院学报 2007正 8255A控制寄存器地址:0x03(A2A1A0= 011);8255A的Pc口地址:0x02,使用Pc口来控 制可直接按位控制输出0或1。PC VI高4位为1 组,使用其中3位作为输出,Pc口低4位为1组, 使用其中1位做输入,且采用工作方式0。由此 0时为0x0a,输出1时为0x0b;PC3输出0为 0x06,输出1为0x07。 根据MAX1270的控制字节可设控制字节为 0x81,即模拟对0通道的数据读取,采用外部时 钟,电压范围0一+5V。 可得到8255的控制字可为0x81,PC7设置为输 出0时置位/复位控制字为0x0e,PC7设置为输 出1时置位/复位控制字为0x0f;同理,PC6输出 0时,控制字为OxOc,输出1时为OxOd;PC5输出 3.3 程序设计 MAX1270外部时钟模式(18个时钟周期)时 序如图4所示。 /cs-l 厂 }.|——————一18字节—————— 图4 MAX1270外部时钟模式(18个时钟周期)时序 8086控制8255A模拟图4的SPI时序。 MOV BL,81H;MAX1270控制字节 MOV CL,08H;计数 SPIIN1: MOV AL,OCH;CLK=1 OUT 03H.AL 1 RCL BL.1 8255A首先模拟时序使/CS=0,然后模拟CLK时 钟,并同时模拟启动A/D即向DIN发送0x81。然 后发CLK并等待SSTRB中断的到来,在INT0中 断处理程序采用全局量FLAG表明A/D转化结 束,并在主程序中继续产生CLK并读取DOUT中 的数据,并通过对CLK的计数在第18个CLK后 再次发出启动A/D的0x81到DIN中依次实现对 A/D的控制和访问【引。8255A模拟SPI访问 MAX1270 A/D流程图如图5所示。 JNC out0 MOV AL,0FH;DIN=1 OUT 03H.AL 1 JMP NEXT Out0: MOV AL,0EH;DIN=0 nT TT 03H.A1 尉80x86汇编编写的部分关键代码:(向DIN 发送8位启动A/D控制字节) SPIIN1 PROr CALL Delay;延时 MOV AL,ODH;CLK=1 OUT 03H.AL DEC CL MOV AL,81H;设置8255A控制字 OUT 03H.AL 1 MOV AL,0AH;/CS=0 OUT 03H.AL1 MOV AL,ODH;CLK=1 OUT 03H.AL 1 JNZ SPIIN1 RET SPⅡN ENDP 维普资讯 http://www.cqvip.com 第3期 黄志文邓彬伟:串行A/D与8255A接口的设计与实现 37 图5 8255A模拟SPI访问MAX1270 A/D流程图 (上接第22页) [2] Blaze,M.,Feigenbaum,J.,Lacy,J.Decentra1. ized trust management[C].In:Dale,J.,Dinoh, G.,eds.Proceedings of the 17th Symposium on Security and Privacy.Oakland,CA:IEEE Comput— er Society Press,1996:164—173 [3] M Blaze,J Feigenbaum,J Ioannidis,et a1.The Key. Note Trust Ma—nagement System ve ̄ion 2[S]. RFC 2704,1999 [4] Y.H.Chu,J.Feigenbaum,B.LaMacchia,et a1.REFEREE:Trust Management for Web App ̄ca・ tions[J].In Wodd Wide Web Journal,1992 (2):127—139 [5] Carl Ellison,Bill Frantz,Buffer Lampson et a1. SPKI certiifcate theory[S].RFC 2693,IETF, 4 结束语 本文以8255A模拟SPI总线控制MAX1270 为例,详细介绍了根据SPI时序和控制字来实现 对A/D数据的访问,文中所介绍的设计和实现方 法是目前嵌入式系统硬件设计和无嵌入式操作系 统下驱动编程的重要方式,对于嵌入式系统低层 软件、硬件设计和软件模拟各种接口具有现实意 义。利用8255A模拟SPI角度出发进行的设计, 从实际使用中也可直接使用带有SPI功能的CPU 与外设,这样可简化电路设计。 参考文献 胡邦南.SPI总线——主多从方式的应用[J].宜春 学院学报(自然科学版),2006,28(6):58—60 [2] 周明德.微型计算机系统原理及应用[M].北京:清 华大学出版社,1998 [3] 孙冰洁,周洪利.SPI模式下单片机对MMC卡的读 写控制[J].电脑知识与技术,2006(5):154—155 September 1999 [6] 陈飞舟,王茜,朱庆生.SPKI证书结构及其应 用[J].重庆大学学报,2004(7):86—89 [7] Ninghui Li,Mitchell C J,Winsborough H W.De— sign of a Rolebased Trust—management Framework [c].In:Proceedings of 2002 IEEE Symposium on Security and Privacy,IEEE Computer S ̄iety Press, 2002(5):114—130 [8] Winsborough WH,Seamons KE,Jones VE.Auto- matde turst negotiation[c].In:DARPA l ̄orma. tion Survivabiliyt Conf.And Exposition.New York: IEEE Press,2000(1):88—102 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top