CN103218327A - 嵌入式系统多进程交互共用spi通讯总线的方法 - Google Patents

嵌入式系统多进程交互共用spi通讯总线的方法 Download PDF

Info

Publication number
CN103218327A
CN103218327A CN2013101545504A CN201310154550A CN103218327A CN 103218327 A CN103218327 A CN 103218327A CN 2013101545504 A CN2013101545504 A CN 2013101545504A CN 201310154550 A CN201310154550 A CN 201310154550A CN 103218327 A CN103218327 A CN 103218327A
Authority
CN
China
Prior art keywords
spi
message
communication bus
embedded system
processes
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.)
Granted
Application number
CN2013101545504A
Other languages
English (en)
Other versions
CN103218327B (zh
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.)
Huizhou Desay SV Automotive Co Ltd
Original Assignee
Huizhou Desay SV Automotive 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 Huizhou Desay SV Automotive Co Ltd filed Critical Huizhou Desay SV Automotive Co Ltd
Priority to CN201310154550.4A priority Critical patent/CN103218327B/zh
Publication of CN103218327A publication Critical patent/CN103218327A/zh
Application granted granted Critical
Publication of CN103218327B publication Critical patent/CN103218327B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了嵌入式系统多进程交互共用SPI通讯总线的方法,包括以下步骤:(1)系统初始化并创建进程;(2)系统为各种SPI消息进行一一标记;(3)进程向系统注册自身需要的SPI消息;(4)系统根据收到的SPI消息的标记将SPI消息发送给对应的进程。本发明具有以下有益效果应用层的进程有自己独立的SPI通信队列,可根据需要只注册自己关注的SPI消息,对其他SPI消息的交互无需做任何处理;单一进程的SPI通信不再受其他进程的限制,是否需要处理SPI消息完全不受其他进程的影响,进程的创建和退出也不会影响其他进程的SPI消息处理;某个进程的SPI消息队列堵塞,完全不会影响到其他进程的通信,系统的稳定性得到了提高。

Description

嵌入式系统多进程交互共用SPI通讯总线的方法
技术领域
本发明涉及一种嵌入式系统多进程交互共用SPI通讯总线的方法。 
背景技术
在现有技术中,交互式多进程嵌入式多媒体系统的SPI通信多采用如图1的系统设计方案: A系统是个没有显示设备的嵌入式系统,主要实现如Tuner芯片的驱动和管理、CD或者DVD机芯的驱动和管理、电源检测和管理、倒车的检测和管理等功能。而这些功能如果需要显示出来,则需要另外一个基于Arm的多进程多媒体嵌入式B系统来完成,嵌入式B系统需要,除了完成自己的任务之外,还需要显示和处理A系统的所有功能的显示任务。A系统和B系统之间的通信只有一条SPI 通信总线,也就是A系统和B系统之间交互的数据,全部只能够通过唯一的一条SPI 通信总线。传统的设计是因为A,B两个系统只有一条SPI通信总线,则B系统里面只能够有一个进程可以和A 系统进行通信。所以B系统的设计则往往是创建一个独立的通信进程和A系统进行通信, B系统的通信进程收到A系统的消息之后,广播给其它需要使用这条消息的进程,这种方法也能够达到一条消息同时给导航系统多个进程共享的目的。但是这种设计存在明显的设计缺陷,主要的缺点是下面几个:1、只有B系统的SPI通信进程可以接受和处理A系统的SPI消息,一旦通信进程出现异常不能正常工作,则这个系统将会瘫痪,系统的设计稳定性较差。2、B系统所有使用SPI消息的进程都需要时刻等待通信进程是否有SPI消息抛出,接收到之后还需判断是否是自己需要的数据,不是自己需要的数据则丢掉,因此整个系统的资源消耗会比较大,执行效率比较低,造成资源浪费。3、通信进程不能处理消息的优先级,收到消息之后按照收到的先后顺序向系统进行广播,无法满足单个消息使用进程自己定义自己的消息处理优先级。4、当某个SPI 处理线程比较繁忙的时候,则不能及时响应SPI处理进程的系统广播消息,此时又有另外的SPI消息广播,此时容易造成消息丢失,从而造成系统存在严重的质量缺陷。 
发明内容
为了解决上述现有交互式多进程嵌入式多媒体系统的SPI通信的问题,本发明提供一种嵌入式系统多进程交互共用SPI通讯总线的设计方案。 
嵌入式系统多进程交互共用SPI通讯总线的方法,包括以下步骤:(1)系统初始化并创建进程;(2)系统为各种SPI消息进行一一标记;(3)进程向系统注册自身需要的SPI消息;(4)系统根据收到的SPI消息的标记将SPI消息发送给对应的进程。 
所述步骤(2)所述标记的方法为:为每一个不同的SPI消息分配唯一的编号。 
步骤(3)的实现方法为:进程通过自身需要的SPI消息对应的编号向系统注册,系统将每个进程对应注册的SPI消息分别进行存储。 
步骤(3)还包括进程向系统申请单独的通信消息队列的步骤。 
步骤(4)的实现方法为:(41)系统接收到SPI消息,并查询其对应的编号;(42)根据编号查询所有对应的进程;(43)将SPI消息发送到所有对该消息注册的进程。 
所述步骤(43)的实现方法为:将SPI消息放入对应的进程向系统申请的消息队列中,并通知该进程。 
还包括SPI消息丢弃步骤:若查询不到任何进程注册所接收到的SPI消息,则将该SPI消息丢弃。 
还包括SPI消息注销步骤:若某进程不再需要其已注册的SPI消息或者进程退出时,则向系统发送注销请求,系统收到请求后将存储的相关记录删除。 
综上所述,本发明具有以下有益效果:(1)应用层的进程有自己独立的SPI通信队列,可根据需要只注册自己关注的SPI消息,对其他SPI消息的交互无需做任何处理;(2)单一进程的SPI通信不再受其他进程的限制,是否需要处理SPI 消息完全不受其他进程的影响,进程的创建和退出也不会影响其他进程的SPI消息处理;(3)某个进程的SPI消息队列堵塞,完全不会影响到其他进程的通信,系统的稳定性得到了提高。 
附图说明
图1为本发明所述嵌入式系统多进程交互共用SPI通讯总线的方法系统架构示意图; 
图2为本发明所述嵌入式系统多进程交互共用SPI通讯总线的方法实施流程示意图。
具体实施方式
为了让本领域的技术人员能够更好地了解本发明的技术方案,下面结合附图对本发明作进一步的阐述。 
如图1和图2所示,本发明揭示了一种嵌入式系统多进程交互共用SPI通讯总线的方法,包括以下步骤: 
(1)系统开机上电后,加载SPI 驱动程序初始化SPI通信设备和总线,实现系统与其他系统的SPI消息交互。SPI驱动加载完成之后,系统判断其SPI驱动是否加载成功,如果SPI 驱动加载失败,则重新加载SPI驱动程序,直到SPI驱动加载成功为止。SPI驱动加载成功后继续加载其他驱动模块,直到整个系统所有驱动初始化完成。系统初始化完成后便开始创建一些进程。
(2)系统为各种SPI消息进行一一标记,即为每一个不同的SPI消息分配唯一的编号。 
(3)进程创建时,通过自身需要的SPI消息对应的编号向系统注册,系统将每个进程对应注册的SPI消息分别进行存储;同时进程向系统请求单独的通信消息队列,用于缓存接收到的SPI消息。 
(4)系统根据收到的SPI消息的标记将SPI消息发送给对应的进程,系统接收到SPI消息,并查询其对应的编号,根据编号查询所有对应的进程,将SPI消息放入对应的进程向系统申请的消息队列中,并通知该进程。 
设嵌入式系统B中创建了三个进程A、B和C,嵌入式系统B接收到来自嵌入式系统A的SPI消息后,首先判断该SPI消息的编号,设本次嵌入式系统B接收到的SPI消息编号为1,嵌入式系统B会根据进程注册的SPI消息的信息查询进程A,B和C 哪个进程注册了消息1,经过查询发现有进程A和进程C注册了这条消息,则嵌入式系统B把该SPI消息分别放入A进程和C进程的通信消息队列里面,并通知进程A和进程C有相关的SPI消息需要它们来解析和处理,然后继续等待接收新的SPI消息。若嵌入式系统B查询不到任何进程注册了编号为1的SPI消息,则将所接收到的SPI消息丢弃。另外,若某进程不再需要其已注册的SPI消息或者进程退出时,则向嵌入式系统B发送注销请求,嵌入式系统B收到请求后将存储的相关记录删除。 
本实施例只是本发明的较优实施方式,未进行详细描述的部分均采用公知的成熟技术。需要说明的是,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些改变和变形都应属于本发明所附的权利要求的保护范围。 

Claims (8)

1. 嵌入式系统多进程交互共用SPI通讯总线的方法,其特征在于,
(1)系统初始化并创建进程;
(2)系统为各种SPI消息进行一一标记;
(3)进程向系统注册自身需要的SPI消息;
(4)系统根据收到的SPI消息的标记将SPI消息发送给对应的进程。
2. 根据权利要求1所述的嵌入式系统多进程交互共用SPI通讯总线的方法,其特征在于,所述步骤(2)所述标记的方法为:为每一个不同的SPI消息分配唯一的编号。
3. 根据权利要求2所述的嵌入式系统多进程交互共用SPI通讯总线的方法,其特征在于,步骤(3)的实现方法为:进程通过自身需要的SPI消息对应的编号向系统注册,系统将每个进程对应注册的SPI消息分别进行存储。
4. 根据权利要求3所述的嵌入式系统多进程交互共用SPI通讯总线的方法,其特征在于,步骤(3)还包括进程向系统申请单独的通信消息队列的步骤。
5. 根据权利要求4所述的嵌入式系统多进程交互共用SPI通讯总线的方法,其特征在于,步骤(4)的实现方法为:
(41)系统接收到SPI消息,并查询其对应的编号;
(42)根据编号查询所有对应的进程;
(43)将SPI消息发送到所有对该消息注册的进程。
6. 根据权利要求5所述的嵌入式系统多进程交互共用SPI通讯总线的方法,其特征在于,所述步骤(43)的实现方法为:将SPI消息放入对应的进程向系统申请的通信消息队列中,并通知该进程。
7. 根据权利要求1所述的嵌入式系统多进程交互共用SPI通讯总线的方法,其特征在于,还包括SPI消息丢弃步骤:若查询不到任何进程注册所接收到的SPI消息,则将该SPI消息丢弃。
8. 根据权利要求1所述的嵌入式系统多进程交互共用SPI通讯总线的方法,其特征在于,还包括SPI消息注销步骤:若某进程不再需要其已注册的SPI消息或者进程退出时,则向系统发送注销请求,系统收到请求后将存储的相关记录删除。
CN201310154550.4A 2013-04-28 2013-04-28 嵌入式系统多进程交互共用spi通讯总线的方法 Active CN103218327B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310154550.4A CN103218327B (zh) 2013-04-28 2013-04-28 嵌入式系统多进程交互共用spi通讯总线的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310154550.4A CN103218327B (zh) 2013-04-28 2013-04-28 嵌入式系统多进程交互共用spi通讯总线的方法

Publications (2)

Publication Number Publication Date
CN103218327A true CN103218327A (zh) 2013-07-24
CN103218327B CN103218327B (zh) 2016-08-10

Family

ID=48816137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310154550.4A Active CN103218327B (zh) 2013-04-28 2013-04-28 嵌入式系统多进程交互共用spi通讯总线的方法

Country Status (1)

Country Link
CN (1) CN103218327B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491280A (zh) * 2018-03-20 2018-09-04 南京丹迪克科技开发有限公司 一种进程间的数据交互方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1703676A (zh) * 2002-01-12 2005-11-30 英特尔公司 基于进程事件的信号量系统
CN101271438A (zh) * 2007-03-22 2008-09-24 Arm有限公司 用于在消息之间进行仲裁的数据处理装置和方法
US20110106979A1 (en) * 2009-11-05 2011-05-05 Electronics And Telecommunications Research Institute Data communication system
CN103034543A (zh) * 2012-05-29 2013-04-10 福建三元达通讯股份有限公司 多软件运行环境通信方法、使多软件运行环境通信的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1703676A (zh) * 2002-01-12 2005-11-30 英特尔公司 基于进程事件的信号量系统
CN101271438A (zh) * 2007-03-22 2008-09-24 Arm有限公司 用于在消息之间进行仲裁的数据处理装置和方法
US20110106979A1 (en) * 2009-11-05 2011-05-05 Electronics And Telecommunications Research Institute Data communication system
CN103034543A (zh) * 2012-05-29 2013-04-10 福建三元达通讯股份有限公司 多软件运行环境通信方法、使多软件运行环境通信的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
穆云丽: "基于WinCE智能车载终端的研究与应用", 《仪表技术与传感器》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491280A (zh) * 2018-03-20 2018-09-04 南京丹迪克科技开发有限公司 一种进程间的数据交互方法及装置
CN108491280B (zh) * 2018-03-20 2022-03-01 南京丹迪克科技开发有限公司 一种进程间的数据交互方法及装置

Also Published As

Publication number Publication date
CN103218327B (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
EP2648114B1 (en) Method, system, token conreoller and memory database for implementing distribute-type main memory database system
US9990306B2 (en) Inter-manycore communications method and system
JP5074516B2 (ja) ゼロ単一障害点ロード・バランサ(azerosinglepointoffailureloadbalancer)の装置および方法
CN103473318B (zh) 一种面向内存数据网格的分布式事务保障方法
CN103136110B (zh) 内存管理方法、内存管理装置及numa系统
WO2015096656A1 (zh) 线程创建方法、业务请求处理方法及相关设备
US20150103645A1 (en) Controller side method of generating and updating a controller assignment list
EP2902922B1 (en) Distributed file system and data backup method for distributed file system
CN103744719A (zh) 锁管理方法及系统、锁管理系统的配置方法及装置
CN103812929A (zh) 一种云数据中心管理平台双活方法
WO2013181939A1 (zh) 通信设备硬件资源的虚拟化管理方法及相关装置
CN103888501A (zh) 虚拟机迁移方法和装置
CN102769670A (zh) 虚拟机迁移方法、装置及系统
CN104967691A (zh) 一种分布式存储控制方法及系统
US20150220559A1 (en) Scalable File System
CN105515837A (zh) 一种基于事件驱动的高并发web流量产生器
EP3198361A1 (en) Hardware controlled power domains with automatic power on request
EP2252101A2 (en) Tolerant device licensing in a distributed environment
WO2016004826A1 (zh) 基于数字家庭中间件的居家养老健康服务系统容错的方法
CN103218327A (zh) 嵌入式系统多进程交互共用spi通讯总线的方法
TWI609595B (zh) 群組通訊系統中多媒體廣播多播服務載體設定
CN105338074A (zh) 合同网任务分配方法、获取方法、智能代理器及mas
CN112956247A (zh) 用于具有多个接入点的网络的业务指示符图
CN101321264A (zh) 应用于iptv平台面向服务的架构
CN102571595A (zh) 一种堆叠系统的路由转发信息同步方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 516006 Guangdong province Huizhou City Zhongkai high tech Zone and five West Road No. 103

Applicant after: HUIZHOU DESAY SV AUTOMOTIVE CO., LTD.

Address before: 516006 Guangdong province Huizhou City Zhongkai high tech Zone and five West Road No. 103

Applicant before: Huizhou Desay SV Auto. Electronics Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant