CN109491728A - 基于有限状态机的软件架构*** - Google Patents
基于有限状态机的软件架构*** Download PDFInfo
- Publication number
- CN109491728A CN109491728A CN201811249976.7A CN201811249976A CN109491728A CN 109491728 A CN109491728 A CN 109491728A CN 201811249976 A CN201811249976 A CN 201811249976A CN 109491728 A CN109491728 A CN 109491728A
- Authority
- CN
- China
- Prior art keywords
- state machine
- audio
- video
- software architecture
- architecture system
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4498—Finite state machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/162—Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种基于有限状态机的软件架构***。所述基于有限状态机的软件架构***通过基于Matlab的Stateflow状态机模型实现,所述Stateflow状态机模型包括:状态机控制Matlab模型、核心层状态机生成程序、核心层与用户层的接口程序以及核心层与芯片业务层的接口程序。本发明能够实现一个可配置化、自动生成的、具备扩展性、统一函数接口的音视频核心层处理架构,以适配不同厂家的芯片。
Description
技术领域
本发明涉及音视频传输技术领域,尤其涉及一种基于有限状态机的软件架构***。
背景技术
在传统的音视频传输领域中,尤其是HDMI/DisplayPort(简称DP)/Ethernet等接口的音视频传输领域中,针对多样化的音视频协议的传输控制逻辑软件编写,基本都使用了控制逻辑软件与业务逻辑软件混合在一起的编写模式。这对于大规模的多输入多输出端口的音视频矩阵控制软件而言,造成了软件资源浪费和调试难度增加。某些大规模的音视频矩阵开发,因为控制逻辑与业务逻辑的混淆,甚至导致了在数年调试之后,产品因软件调试难度过大而最终被放弃。随着新的更高速度的音视频协议不断被推出,音视频控制软件的编写变得越来越复杂,继续沿用原有的软件编写模式,极大的制约了开发效率。
当前的音视频媒介传输领域,众多的音视频传输芯片以及处理芯片的提供商,都会提供一套基于厂商自己芯片的配套推广软件。而基于推广芯片的目的,这些软件都是针对单颗芯片进行设计的。在真正的商业应用中,往往会有同一套软件控制多家厂商的多颗芯片的需求。但是,由于缺乏一个统一的控制逻辑平台,缺乏能将各家芯片集成的统一接口,目前来看,集成不同芯片厂商的软件到同一嵌入式***中,是非常棘手的问题。
发明内容
本发明提供的基于有限状态机的软件架构***,能够实现一个可配置化、自动生成的、具备扩展性、统一函数接口的音视频核心层处理架构,以适配不同厂家的芯片。
第一方面,本发明提供一种基于有限状态机的软件架构***,所述软件架构***通过基于Matlab的Stateflow状态机模型实现,所述Stateflow状态机模型包括:状态机控制Matlab模型、核心层状态机生成程序、核心层与用户层的接口程序以及核心层与芯片业务层的接口程序。
可选地,所述Stateflow状态机模型至少包括以下8个子状态机模型:音视频接收状态机、HDCP加解密控制状态机、HDMI/DP发送接口状态机、HDMI/DP接收接口状态机、CEC状态机、视频处理模块状态机、以太网音视频发送状态机和以太网音视频接收状态机。
可选地,所述音视频接收状态机用于检测输入端口的当前状态,并根据输入端口的状态来判断解析输入信号的时机,仅在输入端口的信号稳定之后,解析实际收到的音视频信息的内容。
可选地,所述HDCP加解密控制状态机用于控制HDCP的上下游之间按照HDCPRepeater或HDCP Receiver的方式来完成链路音视频数据的加密和解密。
可选地,所述HDMI/DP发送接口状态机用于控制发送接口兼容各种接收设备,正确地将音视频信息按照HDMI/DP的协议规定格式传输出去。
可选地,所述HDMI/DP接收接口状态机用于控制接收接口兼容各种发送设备,正确地将音视频信息接收并解析到软件可读的结构中。
可选地,所述CEC状态机用于控制CEC接口按照CEC协议的标准来正确地发送和响应命令。
可选地,所述视频处理模块状态机用于控制***内部的视频处理模块按照状态机跳转的方式来实现从输入到输出的数据流控制。
可选地,所述以太网音视频发送状态机用于控制以太网发送接口按照规定格式发送音视频数据,并与下游的以太网接收接口进行沟通。
可选地,所述以太网音视频接收状态机用于控制以太网接收接口按照规定格式接收音视频数据,并与上游的以太网接收接口进行沟通。
本发明实施例提供的基于有限状态机的软件架构***,对抽象的音视频接口的处理流程的编辑和修改,全部在Stateflow中完成,然后借助于Matlab环境下的C代码自动生成功能,由Stateflow自动生成的代码会直接作为核心层的状态机函数文件来使用。核心层与用户层的接口函数,核心层与芯片业务层的接口函数所对应的文件都可以自由的被状态机函数文件中的函数调用。这样就既实现了通过修改抽象的状态机模型就可以控制整个软件***的调度流程,又保证了自动生成的状态机控制代码本身不会遇到任何程序调试问题。而对于芯片应用层的程序,只要保持函数的名称和形式参数相同,不同的厂家芯片或者同一厂家不同代的芯片可以使用不同的底层实现,有效实现重载,提供了很好的扩展性和可复用性。
附图说明
图1为本发明实施例提供的基于有限状态机的软件架构***的结构示意图;
图2为本发明实施例提供的Stateflow状态机模型的示意图;
图3为本发明实施例提供的软件核心层的音视频接收状态机模型的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种基于有限状态机的软件架构***,如图1所示,所述软件架构***通过基于Matlab的Stateflow状态机模型实现,所述Stateflow状态机模型包括:状态机控制Matlab模型、核心层状态机生成程序、核心层与用户层的接口程序以及核心层与芯片业务层的接口程序。
本发明实施例提供的基于有限状态机的软件架构***,软件对抽象的音视频接口的处理流程的编辑和修改,全部在Stateflow中完成,然后借助于Matlab环境下的C代码自动生成功能,由Stateflow自动生成的代码会直接作为核心层的状态机函数文件来使用。核心层与用户层的接口函数,核心层与芯片业务层的接口函数所对应的文件都可以自由的被状态机函数文件中的函数调用。这样就既实现了通过修改抽象的状态机模型就可以控制整个软件***的调度流程,又保证了自动生成的状态机控制代码本身不会遇到任何程序调试问题。
如图2所示,当前的Stateflow状态机模型共包含但不限于8个子状态机模型,分别是音视频接收状态机、HDCP(High-bandwidth Digital Content Protection,高带宽数码内容保护)加解密控制状态机、HDMI(High-Definition Multimedia Interface,高清晰度多媒体接口)/DP(Display Port显示端口)发送接口状态机、HDMI/DP接收接口状态机、CEC(Consumer Electronics Control,消费类电子控制)状态机、视频处理模块状态机、以太网音视频发送状态机和以太网音视频接收状态机。根据实际的端口具备的属性,来给该端口分配对应的状态机变量和模型的使用权。例如,对于一个支持加密的HDMI输出口,应当包含HDMI/DP发送接口状态机、CEC状态机和HDCP加解密控制状态机。
所述音视频接收状态机用于检测该输入端口的当前状态,并根据输入端口的状态来判断解析输入信号的时机,仅在输入端口的信号稳定之后,解析实际收到的音视频信息的内容,例如InfoFrame/Packet/视频格式/音频格式等。这就避免了因为输入信号不稳定导致的音视频信息的解析错误。
所述HDCP加解密控制状态机用于控制HDCP的上下游之间能够按照HDCP Repeater或HDCP Receiver的方式来完成链路音视频数据的加密和解密。灵活的进行HDCP版本转换也是状态机的控制内容之一。
所述HDMI/DP发送接口状态机用于控制发送接口能够兼容各种接收设备,正确的将音视频信息按照HDMI/DP的协议规定格式传输出去。
所述HDMI/DP接收接口状态机用于控制接收接口能够兼容各种发送设备,正确的将音视频信息接收并解析到软件可读的结构中。
所述CEC状态机用于控制CEC接口能够按照CEC协议的标准来正确的发送和响应命令。
所述视频处理模块状态机用于***内部的视频处理模块按照状态机跳转的方式来实现从输入到输出的数据流控制。
所述以太网音视频发送状态机用于控制以太网发送接口能够按照规定格式发送音视频数据,并与下游的以太网接收接口进行沟通。
所述以太网音视频接收状态机用于控制以太网接收接口能够按照规定格式接收音视频数据,并与上游的以太网接收接口进行沟通。
从图2可以看出,本发明的软件架构方案的在HDMI/DisplayPort/Ethernet等接口的音视频传输领域中具有一定的通用性,可以采用不同的状态机自动生成相应的软件架构及实现。以图3音视频接收状态机模型为例,音视频接收状态机可以检测该输入端口的当前状态,并随时监测复位变量是否有效,如果有效,则进入复位状态,调用接收成员变量复位函数,而复位无效,进入检测状态后,仅在输入端口的信号稳定之后,解析实际收到的音视频信息的内容,例如InfoFrame/Packet/视频格式/音频格式等。从而有效避免了输入信号不稳定导致的音视频信息解析错误的问题。
由于对抽象的音视频接口的处理流程的编辑和修改,全部在Stateflow中完成,然后借助于Matlab环境下的C代码自动生成功能,由Stateflow自动生成的代码会直接作为核心层的状态机函数文件来使用。核心层与用户层的接口函数,核心层与芯片业务层的接口函数所对应的文件都可以自由的被状态机函数文件中的函数调用。这样就既实现了通过修改抽象的状态机模型就可以控制整个软件***的调度流程,又保证了自动生成的状态机控制代码本身不会遇到任何程序调试问题。而对于芯片应用层的程序,只要保持函数的名称和形式参数相同,不同的厂家芯片或者同一厂家不同代的芯片可以使用不同的底层实现,有效实现重载,提供了很好的扩展性和可复用性。
本发明实施例提供的基于有限状态机的软件架构***,采用基于优先状态机的独特调试机制,极大地简化了音视频***的编程工作,通过参数化配置来高效的自动生成框架代码。以16×16的视频矩阵软件开发为例,原来基于event(事件)驱动的开发程序,往往需要1人/年左右的时间,而采用该基于有限状态机的软件架构***之后,仅仅需要2人/周的时间,而且可以快速进行重构,配置成32×32或其它的视频矩阵,快速生成新的软件程序。此外,本软件架构***还通过抽象提取音视频***的运行特性,采用分层插件的方式,将软件自顶而下分为用户层API(Application Program Interface,应用程序接口)、核心层API及芯片业务层API,从而只需修改底层的芯片业务层API调用的较为有限的程序,从而解除对不同芯片厂商应用程序的依赖性,就可以适配不同的基本功能类似不同厂家的芯片,极大地减少了软件开发人员的工作量,也可以有效降低***商采购芯片的成本。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种基于有限状态机的软件架构***,其特征在于,所述软件架构***通过基于Matlab的Stateflow状态机模型实现,所述Stateflow状态机模型包括:状态机控制Matlab模型、核心层状态机生成程序、核心层与用户层的接口程序以及核心层与芯片业务层的接口程序。
2.根据权利要求1所述的基于有限状态机的软件架构***,其特征在于,所述Stateflow状态机模型至少包括以下8个子状态机模型:音视频接收状态机、HDCP加解密控制状态机、HDMI/DP发送接口状态机、HDMI/DP接收接口状态机、CEC状态机、视频处理模块状态机、以太网音视频发送状态机和以太网音视频接收状态机。
3.根据权利要求2所述的基于有限状态机的软件架构***,其特征在于,所述音视频接收状态机用于检测输入端口的当前状态,并根据输入端口的状态来判断解析输入信号的时机,仅在输入端口的信号稳定之后,解析实际收到的音视频信息的内容。
4.根据权利要求2所述的基于有限状态机的软件架构***,其特征在于,所述HDCP加解密控制状态机用于控制HDCP的上下游之间按照HDCP Repeater或HDCP Receiver的方式来完成链路音视频数据的加密和解密。
5.根据权利要求2所述的基于有限状态机的软件架构***,其特征在于,所述HDMI/DP发送接口状态机用于控制发送接口兼容各种接收设备,正确地将音视频信息按照HDMI/DP的协议规定格式传输出去。
6.根据权利要求2所述的基于有限状态机的软件架构***,其特征在于,所述HDMI/DP接收接口状态机用于控制接收接口兼容各种发送设备,正确地将音视频信息接收并解析到软件可读的结构中。
7.根据权利要求2所述的基于有限状态机的软件架构***,其特征在于,所述CEC状态机用于控制CEC接口按照CEC协议的标准来正确地发送和响应命令。
8.根据权利要求2所述的基于有限状态机的软件架构***,其特征在于,所述视频处理模块状态机用于控制***内部的视频处理模块按照状态机跳转的方式来实现从输入到输出的数据流控制。
9.根据权利要求2所述的基于有限状态机的软件架构***,其特征在于,所述以太网音视频发送状态机用于控制以太网发送接口按照规定格式发送音视频数据,并与下游的以太网接收接口进行沟通。
10.根据权利要求2所述的基于有限状态机的软件架构***,其特征在于,所述以太网音视频接收状态机用于控制以太网接收接口按照规定格式接收音视频数据,并与上游的以太网接收接口进行沟通。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811249976.7A CN109491728A (zh) | 2018-10-25 | 2018-10-25 | 基于有限状态机的软件架构*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811249976.7A CN109491728A (zh) | 2018-10-25 | 2018-10-25 | 基于有限状态机的软件架构*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109491728A true CN109491728A (zh) | 2019-03-19 |
Family
ID=65691852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811249976.7A Pending CN109491728A (zh) | 2018-10-25 | 2018-10-25 | 基于有限状态机的软件架构*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109491728A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176724A (zh) * | 2019-10-18 | 2020-05-19 | 华为技术有限公司 | 一种软件架构分析的计算机实现方法及其装置 |
CN114816355A (zh) * | 2022-06-24 | 2022-07-29 | 基石酷联微电子技术(北京)有限公司 | 基于端口结构体的软件架构*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101859118A (zh) * | 2010-06-01 | 2010-10-13 | 北京航空航天大学 | 小型人工生态***气体平衡调节的鲁棒控制器 |
CN102314373A (zh) * | 2011-07-07 | 2012-01-11 | 李鹏 | 一种基于虚拟化技术实现安全工作环境的方法 |
CN102497515A (zh) * | 2011-12-07 | 2012-06-13 | 青岛艾孚高清技术有限公司 | 一种单路输入多路输出式hdmi分配器装置 |
CN103581681A (zh) * | 2012-07-26 | 2014-02-12 | 安凯(广州)微电子技术有限公司 | 一种视频解码装置及解码方法 |
US20160132455A1 (en) * | 2014-11-07 | 2016-05-12 | Realtek Semiconductor Corp. | Control method applied to operating-mode finite-state-machine and computer readable media |
-
2018
- 2018-10-25 CN CN201811249976.7A patent/CN109491728A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101859118A (zh) * | 2010-06-01 | 2010-10-13 | 北京航空航天大学 | 小型人工生态***气体平衡调节的鲁棒控制器 |
CN102314373A (zh) * | 2011-07-07 | 2012-01-11 | 李鹏 | 一种基于虚拟化技术实现安全工作环境的方法 |
CN102497515A (zh) * | 2011-12-07 | 2012-06-13 | 青岛艾孚高清技术有限公司 | 一种单路输入多路输出式hdmi分配器装置 |
CN103581681A (zh) * | 2012-07-26 | 2014-02-12 | 安凯(广州)微电子技术有限公司 | 一种视频解码装置及解码方法 |
US20160132455A1 (en) * | 2014-11-07 | 2016-05-12 | Realtek Semiconductor Corp. | Control method applied to operating-mode finite-state-machine and computer readable media |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176724A (zh) * | 2019-10-18 | 2020-05-19 | 华为技术有限公司 | 一种软件架构分析的计算机实现方法及其装置 |
CN111176724B (zh) * | 2019-10-18 | 2022-06-28 | 华为云计算技术有限公司 | 一种软件架构分析的计算机实现方法及其装置 |
CN114816355A (zh) * | 2022-06-24 | 2022-07-29 | 基石酷联微电子技术(北京)有限公司 | 基于端口结构体的软件架构*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11115617B2 (en) | Audio device for HDMI | |
CN104604208B (zh) | 用于使用无线对接简档进行无线对接的***和方法 | |
CN104618793B (zh) | 一种信息处理方法及电子设备 | |
US8886846B2 (en) | Flexible implementation of serial bus support over display interface | |
CN103176789A (zh) | 一种实现开放平台功能扩展的方法及*** | |
US20140092004A1 (en) | Audio information and/or control via an intermediary device | |
US20140132835A1 (en) | Electronic device with thunderbolt interface, connecting method thereof, and docking apparatus | |
CN103686369A (zh) | 一种基于Android平台的电视信源切换方法和装置 | |
CN109491728A (zh) | 基于有限状态机的软件架构*** | |
EP2610744A1 (en) | Electronic system, control method thereof, display apparatus, upgrade apparatus, and data input/output processing method of display apparatus | |
WO2018133571A1 (zh) | 一种基于移动智能终端的分布式pc*** | |
CN103813122A (zh) | 影像装置控制***、影像装置串接设备及影像装置控制方法 | |
CN202940850U (zh) | 多平台无线数据传输*** | |
CN101218558A (zh) | 编解码器控制 | |
WO2011038622A1 (zh) | 视频监控编码器中间件通用***及信息传递方法 | |
CN106210817A (zh) | 一种可定制的模块电视***及其控制方法 | |
CN102221953A (zh) | 一种透明用户界面视频播放器的实现方法及其播放器 | |
CN105912351A (zh) | 一种由pc向移动设备导流应用程序的方法及pc客户端 | |
CA2732781C (en) | Method and apparatus for selecting video channel, video device and tv device | |
CN104094219B (zh) | 用于音频分布的方法和装置 | |
CN104284099A (zh) | 一种基于多通道输入大屏显示的方法及*** | |
CN203457237U (zh) | 基于hdmi的信号分配器 | |
US10382827B2 (en) | Control method for media playing, media source equipment, media playing equipment and system | |
CN103391475A (zh) | 显示装置及智能装置 | |
CN103312718A (zh) | 一种设备控制方法、装置和多媒体设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20220909 |
|
AD01 | Patent right deemed abandoned |