CN104933004A - 使用spi总线扩展cpu模块的系统及方法 - Google Patents

使用spi总线扩展cpu模块的系统及方法 Download PDF

Info

Publication number
CN104933004A
CN104933004A CN201510355832.XA CN201510355832A CN104933004A CN 104933004 A CN104933004 A CN 104933004A CN 201510355832 A CN201510355832 A CN 201510355832A CN 104933004 A CN104933004 A CN 104933004A
Authority
CN
China
Prior art keywords
cpu
module
spi
spi bus
host cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510355832.XA
Other languages
English (en)
Inventor
吴智立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Gongjin Communication Technology Co Ltd
Original Assignee
Shanghai Gongjin Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Gongjin Communication Technology Co Ltd filed Critical Shanghai Gongjin Communication Technology Co Ltd
Priority to CN201510355832.XA priority Critical patent/CN104933004A/zh
Publication of CN104933004A publication Critical patent/CN104933004A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明涉及一种使用SPI总线扩展CPU模块的系统,所述的系统包括主CPU以及数个从CPU,主CPU包括主SPI接口,从CPU包括数个模块及从SPI接口;主CPU通过SPI总线与从CPU进行数据通信,从CPU的模块与外界模块相连接,主CPU的时钟端分别与从CPU的时钟端相连接,所述的主CPU数个片选管脚与所述的数个从CPU各自的片选管脚相连接,所述的主CPU的数个中断管脚与所述的数个从CPU各自的中断管脚相连接;本发明还涉及一种使用SPI总线扩展CPU模块的方法。采用该种结构的使用SPI总线扩展CPU模块的系统及方法,灵活度高,功能强大,扩展路数在SPI总线数度允许的情况下,可无限扩展。

Description

使用SPI总线扩展CPU模块的系统及方法
技术领域
本发明涉及通信技术领域,尤其涉及SPI通信技术领域,具体是指一种使用SPI总线扩展CPU模块的系统及方法。
背景技术
SPI(Serial Peripheral Interface,串行外设接口)是由Motorola首先在其MC68HCXX系列处理器上定义的一种高速、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,占用PCB空间少、主从器件间的互联简单,正是出于这种简单易用的特性,如今在通信设备领域的应用越来越广泛。
SPI接口通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。
UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工发送和接收。
如今近年来,具有完整的测量或控制功能的智能模块不断涌现,而此类模块均需通过RS-232S或RS-485串行口与上位单片机或微机进行通信,以构成分级分布式测控系统,而现阶段的大部分单片机的UART串口数不会超过两个,很难满足既与智能模块通信又与上位微机进行通信的要求。
为了实现扩展多个UART接口,通常使用的方案是利用专用的UART多串口扩展芯片,但是这种芯片的价格普遍较高,且扩展路数有限(常见的是四路),功能单一。使用从CPU扩展UART接口,灵活度高,功能强大,扩展路数在SPI总线数度允许的情况下,可无限扩展,还可以在扩展了UART功能的同时,额外扩展从CPU的所有外设接口,包括EEPROM,FLASH,实时时钟,AD转换器,电源管理,显示,GPIO等。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种能够实现的使用SPI总线扩展CPU模块的系统及方法。
为了实现上述目的,本发明的使用SPI总线扩展CPU模块的系统及方法具有如下构成:
该使用SPI总线扩展CPU模块的系统,其主要特点是,所述的系统包括主CPU以及数个从CPU,所述的主CPU包括主SPI接口,所述的从CPU包括数个模块及从SPI接口;所述的主CPU通过SPI总线与所述的从CPU进行数据通信,所述的从CPU的模块与外界模块相连接,所述的主CPU的时钟端分别与所述的从CPU的时钟端相连接,所述的主CPU数个片选管脚与所述的数个从CPU各自的片选管脚相连接,所述的主CPU的数个中断管脚与所述的数个从CPU各自的中断管脚相连接。
进一步地,所述的模块为UART接口、存储模块、时钟模块、AD转换模块、电源管理模块、显示模块或者GPIO模块。
本发明还涉及一种使用SPI总线扩展CPU模块的方法,其主要特点是,所述的主CPU描述多个模块与外界模块的通信以及主CPU与多个从CPU的SPI通信,所述的方法包括以下步骤:
当主CPU访问某一个模块时:
(1.1)所述的主CPU通过与所述的模块相对应的从CPU的片选管脚选择该从CPU;
(1.2)所述的主CPU通过SPI总线与该模块进行数据通信,且其余从CPU不能检测主CPU的时钟变换及主SPI总线上的通信数据;
当从CPU接收到某一模块的数据时:
(2.1)所述的从CPU在其中断寄存器中产生中断数据;
(2.2)所述的主CPU接收中断数据并通过所述的SPI总线读取所述的从CPU的中断状态以确定接收数据的模块,从而通过SPI总线与该模块进行数据通信。
进一步地,在主CPU运行过程中,所述的方法还包括以下步骤:
所述的主CPU实时地监测所述的从CPU的中断寄存器的状态
采用了该发明中的使用SPI总线扩展CPU模块的系统及方法,灵活度高,功能强大,扩展路数在SPI总线数度允许的情况下,可无限扩展,还可以在扩展了UART功能的同时,额外扩展从CPU的所有外设接口,包括EEPROM、FLASH、实时时钟、AD转换器、电源管理、显示、GPIO等。
附图说明
图1为本发明的使用SPI总线扩展CPU模块的系统的第一实施例的结构示意图。
图2为本发明的使用SPI总线扩展CPU模块的系统的第一实施例的软件分层图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
图1为本发明的使用SPI总线扩展CPU模块的系统的第一实施例的结构示意图。它包括一个主CPU(带有SPI总线)和多个从CPU(包含多UART接口和SPI总线),从CPU一方面通过主SPI接口(Master SPI)与主CPU的从SPI接口(Salve SPI)相连接,另一方面通过从CPU的UART接口分别与各种串行模块相连接;主从CPU之间的控制信号连接,除了片选线CS连接外,还需要一根中断线INT连接;即主CPU与其中一个从CPU之间的连接,不仅需要3根复用的SPI总线(SDI、SDO、SCLK),还需要一根中断线INT和一根片选线CS。若接入N个从CPU,每个从CPU都有M个UART接口,那么就可以扩展M×N个串口。此外,需要说明的是本系统功能扩展性好,除UART接口外,从CPU上的存储、时钟、AD转换器、电源管理、显示,GPIO等模块也都可以通过此SPI总线扩展,在此不再赘述。
该方法的软件分层模块,如图2所示:
主CPU上运行LINUX操作系统,在UART驱动接口框架中嵌入SPI的驱动接口,这样一来,对于上层应用来说,仅仅需要调用相应的TTY节点来读写数据,简化了上层应用开发难度。
从CPU上需要运行的FIRMWARE用于监控SPI、UART和其它扩展外设的消息,向主CPU输出对应中断信号,触发SPI消息交互。
本实施例中的使用SPI总线扩展UART的实现方法具体包括以下步骤:
步骤1、使用主CPU监控中从CPU接入的中断信号,并控制片选管脚CS与指定的从CPU进行SPI数据通讯。
步骤2、使用从CPU描述多个UART接口与外部串行模块通讯,同时描述一个SPI接口与主CPU通讯。
步骤3、当接入N个从CPU时,每个从CPU有M个串口控制器,主CPU就可以通过一个SPI接口扩展M×N个UART接口。
步骤4、当主CPU需要访问众多UART接口中的某一个时,需要先通过主CPU拉低对应UART接口的从CPU的片选线CS,然后再通过SPI接口输出正常的访问指令即可;此时只有片选线CS为低电平的那个从CPU对应的SPI控制器能检测到主CPU主SPI接口时钟线上高低电平的变化,而其他的SPI从器件由片选线CS恒为高而无法触发其与主CPU的SPI接口的通信,从而在各个从CPU与主CPU的SPI接口之间通信不会造成冲突。
步骤5、当从CPU收到某一UART接口数据时,首先触发从CPU中断管脚INT,主CPU收到中断信号,通过SPI总线读取从CPU上的中断状态寄存器,此时主CPU就知道是哪一个UART接口的数据,通过SPI总线接收数据后,传给对应驱动端口处理。
采用了该发明中的使用SPI总线扩展CPU模块的系统及方法,灵活度高,功能强大,扩展路数在SPI总线数度允许的情况下,可无限扩展,还可以在扩展了UART功能的同时,额外扩展从CPU的所有外设接口,包括EEPROM、FLASH、实时时钟、AD转换器、电源管理、显示、GPIO等。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

Claims (4)

1.一种使用SPI总线扩展CPU模块的系统,其特征在于,所述的系统包括主CPU以及数个从CPU,所述的主CPU包括主SPI接口,所述的从CPU包括数个模块及从SPI接口;所述的主CPU通过SPI总线与所述的从CPU进行数据通信,所述的从CPU的模块与外界模块相连接,所述的主CPU的时钟端分别与所述的从CPU的时钟端相连接,所述的主CPU数个片选管脚与所述的数个从CPU各自的片选管脚相连接,所述的主CPU的数个中断管脚与所述的数个从CPU各自的中断管脚相连接。
2.根据权利要求1所述的使用SPI总线扩展接口的系统,其特征在于,所述的模块为UART接口、存储模块、时钟模块、AD转换模块、电源管理模块、显示模块或者GPIO模块。
3.一种基于权利要求1所述的系统实现使用SPI总线扩展CPU模块的方法,其特征在于,所述的主CPU描述多个模块与外界模块的通信以及主CPU与多个从CPU的SPI通信,所述的方法包括以下步骤:
当主CPU访问某一个模块时:
(1.1)所述的主CPU通过与所述的模块相对应的从CPU的片选管脚选择该从CPU;
(1.2)所述的主CPU通过SPI总线与该模块进行数据通信,且其余从CPU不能检测主CPU的时钟变换及主SPI总线上的通信数据;
当从CPU接收到某一模块的数据时:
(2.1)所述的从CPU在其中断寄存器中产生中断数据;
(2.2)所述的主CPU接收中断数据并通过所述的SPI总线读取所述的从CPU的中断状态以确定接收数据的模块,从而通过SPI总线与该模块进行数据通信。
4.根据权利要求3所述的使用SPI总线扩展CPU模块的方法,其特征在于,在主CPU运行过程中,所述的方法还包括以下步骤:
所述的主CPU实时地监测所述的从CPU的中断寄存器的状态。
CN201510355832.XA 2015-06-24 2015-06-24 使用spi总线扩展cpu模块的系统及方法 Pending CN104933004A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510355832.XA CN104933004A (zh) 2015-06-24 2015-06-24 使用spi总线扩展cpu模块的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510355832.XA CN104933004A (zh) 2015-06-24 2015-06-24 使用spi总线扩展cpu模块的系统及方法

Publications (1)

Publication Number Publication Date
CN104933004A true CN104933004A (zh) 2015-09-23

Family

ID=54120174

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510355832.XA Pending CN104933004A (zh) 2015-06-24 2015-06-24 使用spi总线扩展cpu模块的系统及方法

Country Status (1)

Country Link
CN (1) CN104933004A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550147A (zh) * 2015-12-11 2016-05-04 上海华冠电子设备有限责任公司 一种spi总线扩展系统及其通讯方法
CN108132896A (zh) * 2018-01-17 2018-06-08 西安闻泰电子科技有限公司 数据传输方法和装置
CN108205443A (zh) * 2016-12-16 2018-06-26 北京视联动力国际信息技术有限公司 一种多核设备引导程序和文件系统的烧写方法和装置
CN110262993A (zh) * 2019-06-11 2019-09-20 浙江华创视讯科技有限公司 输入信息的读取方法及电路、存储介质、电子装置
CN111427821A (zh) * 2020-03-19 2020-07-17 深圳震有科技股份有限公司 双核amp系统共用spi接口的方法、系统及存储介质
CN111427806A (zh) * 2020-03-23 2020-07-17 深圳震有科技股份有限公司 一种双核amp系统共用串口的方法、存储介质及智能终端
CN111427817A (zh) * 2020-03-23 2020-07-17 深圳震有科技股份有限公司 一种amp系统双核共用i2c接口的方法、存储介质及智能终端
CN112269338A (zh) * 2020-10-23 2021-01-26 阳光电源股份有限公司 基于gpio的数字控制器通信方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1983222A (zh) * 2005-12-17 2007-06-20 鸿富锦精密工业(深圳)有限公司 Spi设备通信电路
CN101866328A (zh) * 2010-04-01 2010-10-20 和记奥普泰通信技术有限公司 一种自动访问的串行总线读写控制方法
US20120131247A1 (en) * 2010-11-22 2012-05-24 Samsung Electronics Co., Ltd. Apparatus for peripheral device connection using spi in portable terminal and method for data transmission using the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1983222A (zh) * 2005-12-17 2007-06-20 鸿富锦精密工业(深圳)有限公司 Spi设备通信电路
CN101866328A (zh) * 2010-04-01 2010-10-20 和记奥普泰通信技术有限公司 一种自动访问的串行总线读写控制方法
US20120131247A1 (en) * 2010-11-22 2012-05-24 Samsung Electronics Co., Ltd. Apparatus for peripheral device connection using spi in portable terminal and method for data transmission using the same

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550147A (zh) * 2015-12-11 2016-05-04 上海华冠电子设备有限责任公司 一种spi总线扩展系统及其通讯方法
CN105550147B (zh) * 2015-12-11 2018-04-24 上海仪电楼宇科技有限公司 一种spi总线扩展系统及其通讯方法
CN108205443A (zh) * 2016-12-16 2018-06-26 北京视联动力国际信息技术有限公司 一种多核设备引导程序和文件系统的烧写方法和装置
CN108132896A (zh) * 2018-01-17 2018-06-08 西安闻泰电子科技有限公司 数据传输方法和装置
CN108132896B (zh) * 2018-01-17 2020-06-09 西安闻泰电子科技有限公司 数据传输方法和装置
CN110262993A (zh) * 2019-06-11 2019-09-20 浙江华创视讯科技有限公司 输入信息的读取方法及电路、存储介质、电子装置
CN111427821A (zh) * 2020-03-19 2020-07-17 深圳震有科技股份有限公司 双核amp系统共用spi接口的方法、系统及存储介质
CN111427821B (zh) * 2020-03-19 2021-10-01 深圳震有科技股份有限公司 双核amp系统共用spi接口的方法、系统及存储介质
CN111427806A (zh) * 2020-03-23 2020-07-17 深圳震有科技股份有限公司 一种双核amp系统共用串口的方法、存储介质及智能终端
CN111427817A (zh) * 2020-03-23 2020-07-17 深圳震有科技股份有限公司 一种amp系统双核共用i2c接口的方法、存储介质及智能终端
CN111427817B (zh) * 2020-03-23 2021-09-24 深圳震有科技股份有限公司 一种amp系统双核共用i2c接口的方法、存储介质及智能终端
CN112269338A (zh) * 2020-10-23 2021-01-26 阳光电源股份有限公司 基于gpio的数字控制器通信方法及系统

Similar Documents

Publication Publication Date Title
CN104933004A (zh) 使用spi总线扩展cpu模块的系统及方法
CN100568211C (zh) 用可编程器件实现访问多个i2c从器件的方法及装置
CN105051706A (zh) 用于具有pcie协议栈的低功率phy的操作的设备、方法和系统
CN101499046A (zh) Spi设备通信电路
CN103454996A (zh) 主从机系统及其控制方法
CN105718408A (zh) 可热插拔的计算系统、计算机实施方法及系统
CN103902488A (zh) 基于Android系统的利用USB-OTG扩展其他接口的方法和系统
CN105446930A (zh) 一种单选择端spi主从式多机双向通信方法
CN104090857A (zh) 一种扩展智能终端外部接口的系统及方法
CN109388526A (zh) 一种控制电路及复位操作的方法
CN105243044A (zh) 基于串口的管理系统及管理方法
CN105335548A (zh) 一种用于ice的mcu仿真方法
CN102662383B (zh) 用于控制链条系统的控制链条实现方法
CN102445981B (zh) 数据传输系统以及数据传输方法
CN202838317U (zh) 总线装置及背板系统
CN102508799B (zh) 自动控制方法、系统及usb设备
CN107370651B (zh) 一种spi从机之间的通信方法
CN107239423A (zh) 一种基于扩展iic接口的装置
CN112965927B (zh) 一种基于spi设备的信号驱动系统及方法
CN103106174A (zh) 一种复杂soc的片上通信方法
CN103869883B (zh) 一种扩展主板及扩展系统
CN104409090A (zh) Usb接口转换模块
TWI417728B (zh) 串列週邊介面設備通訊電路
CN105718231A (zh) 一种刀片式服务器kvm冗余管理系统及管理方法
CN202495661U (zh) 一种usb转换装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150923

WD01 Invention patent application deemed withdrawn after publication