位置:51电子网 » 技术资料 » 嵌入式系统

嵌入式系统中可配置式GPIO模拟SPI总线方法

发布时间:2008/5/27 0:00:00 访问次数:568

  在嵌入式系统处理器中有相当一部分处理器不带spi接口,但基丁spi接口的设备非常丰富,此外,spi设备的不同以及处理器对gpio口位寻址是否支持各处理器各有不同,因而不同处理器中软件模拟gpio也各不相同。若能提供一种通用可配置可移植的gpio模拟spi总线的驱动则能很方便快捷的访问spi设备,从而提高整个嵌入式系统的开发效率。本文针对gpio口位寻址与否给出方面,给出了一种可配置gpio模拟spi总线的方法并详细介绍了其设计与实现过程,且具有代码小可移植性强使用方便等特点。

1 gpio规范

  spi是一个全双工的串行接口。它设计成可以在一个给定总线上处理多个互联的主机和从机。在一定数据传输过程中,接口上只能有一个丰机和一个从机能够通信。在一次数据传输中,主机总是向从机发送一个字节数据,而从机也总是向主要发送一个字节数据。可以使mcu与各种外围设备以串行方式进行通信以交换信息。由于spi总线一共只需3~4位数据线和控制线即可实现与具有spi总线接口功能的各种i/o器件进行接口,而扩展并行总线则需要8根数据线、8~16位地址线、2~3位控制线,冈此,采用spi总线接口可以简化电路设计,节省很多常规电路中的接口器件和i/o口线,提高设计的可靠性。在基于spi总线接口构成的通信网络中,通信可由主节点发起,也可由从节点发起。当主节点发起通信时,它可主动对从节点进行数据的读写操作。工作过程叙述如下:首先选中要与之通信的从节点(通常片选端为低有效),而后送出时钟信号,读取数据信息的操作将在时钟的上升沿(或下降沿)进行。每送出八个时钟脉冲,从节点产生一个中断信号,该中断信号通知上节点一个字节已完整接收,可发送下一个字节的数据。spi接口网络主从点需完成给出片选信号及时钟信号,它可主动的与各从节点进行信息的交流;而在从节点主动要求服务的情况下,它却是一种半主动的形式。由spi接口技术构成的网络接口信号线(clk、mosi、miso、/ss和int)如果辅之以相应完备的通信协议,其服务功能必然会增强,相比于485等主从式分布网络而言,其通信速率也应有较人的提高。

2 gpio模拟spl

2.1 spi硬件结构

  spi接口在内部硬件实际上足两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后,spi内部硬件结构如图1所示。

2.2 spi时序

  在sclk的下降沿上数据改变,同时一位数据被存入移位寄存器,spi时序如图2所示。

2.3 spi写过程模拟

采用掩码方式实现位控制。

3 可配置gpio设计与实现

  gpio端口可分为支持位寻址和不支持位寻址,需由程序移植人员根据处理器及编译器情况定义gpio对应的spi接口,相关文件在spihard.h中。

3.1 gpio配置


3.2 实现配置的可移植部分

与gpio口寻址方式无关性代码的实现。

  以上实现在epson s1c33l11、at89c52、spce061a及philips arm lpc2106上都得到验证。



  在嵌入式系统处理器中有相当一部分处理器不带spi接口,但基丁spi接口的设备非常丰富,此外,spi设备的不同以及处理器对gpio口位寻址是否支持各处理器各有不同,因而不同处理器中软件模拟gpio也各不相同。若能提供一种通用可配置可移植的gpio模拟spi总线的驱动则能很方便快捷的访问spi设备,从而提高整个嵌入式系统的开发效率。本文针对gpio口位寻址与否给出方面,给出了一种可配置gpio模拟spi总线的方法并详细介绍了其设计与实现过程,且具有代码小可移植性强使用方便等特点。

1 gpio规范

  spi是一个全双工的串行接口。它设计成可以在一个给定总线上处理多个互联的主机和从机。在一定数据传输过程中,接口上只能有一个丰机和一个从机能够通信。在一次数据传输中,主机总是向从机发送一个字节数据,而从机也总是向主要发送一个字节数据。可以使mcu与各种外围设备以串行方式进行通信以交换信息。由于spi总线一共只需3~4位数据线和控制线即可实现与具有spi总线接口功能的各种i/o器件进行接口,而扩展并行总线则需要8根数据线、8~16位地址线、2~3位控制线,冈此,采用spi总线接口可以简化电路设计,节省很多常规电路中的接口器件和i/o口线,提高设计的可靠性。在基于spi总线接口构成的通信网络中,通信可由主节点发起,也可由从节点发起。当主节点发起通信时,它可主动对从节点进行数据的读写操作。工作过程叙述如下:首先选中要与之通信的从节点(通常片选端为低有效),而后送出时钟信号,读取数据信息的操作将在时钟的上升沿(或下降沿)进行。每送出八个时钟脉冲,从节点产生一个中断信号,该中断信号通知上节点一个字节已完整接收,可发送下一个字节的数据。spi接口网络主从点需完成给出片选信号及时钟信号,它可主动的与各从节点进行信息的交流;而在从节点主动要求服务的情况下,它却是一种半主动的形式。由spi接口技术构成的网络接口信号线(clk、mosi、miso、/ss和int)如果辅之以相应完备的通信协议,其服务功能必然会增强,相比于485等主从式分布网络而言,其通信速率也应有较人的提高。

2 gpio模拟spl

2.1 spi硬件结构

  spi接口在内部硬件实际上足两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后,spi内部硬件结构如图1所示。

2.2 spi时序

  在sclk的下降沿上数据改变,同时一位数据被存入移位寄存器,spi时序如图2所示。

2.3 spi写过程模拟

采用掩码方式实现位控制。

3 可配置gpio设计与实现

  gpio端口可分为支持位寻址和不支持位寻址,需由程序移植人员根据处理器及编译器情况定义gpio对应的spi接口,相关文件在spihard.h中。

3.1 gpio配置


3.2 实现配置的可移植部分

与gpio口寻址方式无关性代码的实现。

  以上实现在epson s1c33l11、at89c52、spce061a及philips arm lpc2106上都得到验证。



相关IC型号

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!