在嵌入式系统处理器中有相当一部分处理器不带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上都得到验证。
关键字:接口 控制 地址 寄存
引用地址:
嵌入式系统中可配置式GPIO模拟SPI总线方法
推荐阅读最新更新时间:2024-05-02 20:38
高度集成可编程电源控制器【Exar】
Exar公司为其可编程数字电源芯片 PowerXR 家族再添新军。XRP7724是一款高度集成可编程电源控制器,拥有业界超高的设计能力,超强性能和最灵活的设计环境。通过扩展的电压和电流范围,兼容SM总线I2C接口和独立的控制通道频率,XRP7724具有足够的灵活性来处理最苛刻的应用,包括从移动设备到工控产品以及高性能计算机。专利的数字脉冲频率调制(DPFM)技术帮助降低待机电流,使系统设计人员能满足严苛的绿色电源的需求! “XRP7724对扩展 PowerXR 家族贡献巨大,它给予了系统设计方案的架构师们更多的功能,特别是针对不断增长的高级移动应用市场 。”Exar公司电源产品线副总裁,Dave Matteucci表示:
[电源管理]
丰桥技术科学大学开发出新AI模型 可同时处理自动驾驶车辆感知和控制
据外媒报道,丰桥技术科学大学(Toyohashi University of Technology)计算机科学工程系主动智能系统实验室(AISL)博士生Oskar Natan及其导师Jun Miura教授开发出可以同时处理自动驾驶车辆感知和控制的AI模型。 该AI模型通过完成多个视觉任务来感知环境,同时让车辆沿着一系列路线点行驶。该模型可以在各种场景下的各种环境条件下安全驾驶车辆。在点对点导航任务下进行评估时,该AI模型在标准模拟环境中实现了部分最新模型的最佳驾驶性能。 自动驾驶是一个复杂的系统,由多个处理多项感知和控制任务的子系统组成。然而,部署多个任务特定模块仍然需要大量配置来形成集成的模块化系统,因此成本高且效
[汽车电子]
基于USB2.0接口的生物阻抗分析仪的研制
引言 生物阻抗技术是一种无损伤的技术,测量时对人体没有任何伤害和副作用,是人体医学发展的一个方向之一 。生物阻抗分析仪的机理 在于:生物组织对外加电流场具有不同导电作用,当在人体表面加一固定频率的低电平电流时,含水 70 %以上的肌肉组织是良好导体,而含水较少的脂肪组织近似为绝缘体,因此通过测出阻抗值可用于计算出身体成份以及电阻抗的医学成像 。 目前市场上已经有多种生物阻抗分析仪器,但成本昂贵,使用烦琐,设计复杂,难以在家庭保健方面得到普及。因此,本设计提出了新的思路并研制出一种高性能的小型生物阻抗分析仪,可以多频点测量人体各区间段的阻抗模值和相位信息。该仪器具有集成度高,成本较低,使用方便,安全可靠的优点。 1
[单片机]
基于51单片机的温湿度控制系统
一.硬件方案 本设计采用51单片机每2秒钟从DHT11温湿度传感器中读入温度和湿度,在液晶屏上即时显示。液晶屏上同时显示温湿度上限值,该上限值保存外外部EEPROM存储器中,掉电不失,并且可以通过四只按键上调或下调。当温度或湿度值超过上限值时,报警信号点亮相应报警灯。该报警信号可以通过三极管驱动继电器,以控制外部风机或加热器。 主要由51单片机+最小系统+LCD1602液晶显示模块+温湿度采集模块+继电器驱动模块+风扇模块+LED指示灯模块+按键模块+AT24C02存储模块+蜂鸣器报警模块;如图: 二.设计功能 (1)AT24c02芯片掉电存储设置的上下限。 (2)四个按键为设置、加、减、确定,实现了阀值的调节。 (3)L
[单片机]
矢量控制高压变频器的过流保护
在6kV 1400kW的一次风机上使用的是变频控制,其中一台运行一年后发生“IOC”信号,高压变频器跳闸。对此我们进行研究解决方法。 该高压变频器采用的是矢量控制模型,目前高压变频器大多使用矢量控制方式来控制感应电机及同步电机。图1-1给出了一种高压变频器的矢量控制算法简图。它由以下几个基本模块组成:马达模型、电流调节器、磁通与速度调节器及前馈补偿环节。
图1-1感应电机及同步电机矢量控制框图
图 1-2 更换浪涌吸收器前FluxDS 波形
从图1-2 可以看出,FluxDs根本就不是常数,波动非常大。 用示波器观测电机电压波形发现有些
[嵌入式]
移相控制的全桥PWM变换器的电路及元件详解
移相控制的全桥PWM变换器是最常用的中大功率DC/DC变换电路拓扑形式之一。移相PWM控制方式利用开关管的结电容和高频变压器的漏电感或原边串联电感作为谐振元件,使开关管能进行零电压开通和关断,从而有效地降低了电路的开关损耗和开关噪声,减少了器件开关过程中产生的电磁干扰,为变换器提高开关频率、提高效率、减小尺寸及减轻质量提供了良好的条件。然而,传统的移相全桥变换器的输出整流二极管存在反向恢复过程,会引起寄生振荡,二极管上存在很高的尖峰电压,需增加阻容吸收回路进行抑制,文献提出了两种带箝位二极管的拓扑,可以很好地抑制寄生振荡。本文采取文献提出的拓扑结构,设计了一台280 W移相全桥软开关DC/DC变换器,该变换器输入电压为194~31
[电源管理]
SPI接口的出错分析及其改进
单片机(MCU)系统为了与SPI标准外围接口器件进行通信,必须使用SPI( Serial Peripheral Interface,串行外设接口)总线。SPI总线系统是Motorola提出的一种同步串行外设接口,有信号线少、协议简单、传输速度快的特点,因此有不少外围器件都采用SPI总线,如Flash RAM、A/ D转换器、LED显示器、MCU以及计算机网络等。MCU中的SPI接口通过配置可与各个厂家生产的多种标准外围器件直接连接。 对于那些没有SPI接口功能的MCU来说,SPI接口的功能靠软件控制MCU的I/O口的方法来模拟。不过,用软件来模拟SPI接口的功能,工作速度非常慢,并且需要主从器件的软件之间配合得非常好。
[单片机]
51单片机温度控制电路
51单片机温度控制电路 单片机硬件系统框图
[单片机]