CN104933004A - 使用spi总线扩展cpu模块的系统及方法 - Google Patents
使用spi总线扩展cpu模块的系统及方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus 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通信技术领域,具体是指一种使用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的中断寄存器的状态。
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)
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)
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 |
-
2015
- 2015-06-24 CN CN201510355832.XA patent/CN104933004A/zh active Pending
Patent Citations (3)
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)
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 |