如何说明中断驱动的进程?

时间:2014-07-03 14:20:27

标签: embedded uml microcontroller diagram

这个问题与绘制软件过程有关。作为一名电气工程师,我所做的大部分软件都是用于嵌入式微控制器。在学校,我们学会了使用流程图来说明我们的算法。然而,如今,我的许多嵌入式项目都是严重中断驱动的,其中主进程运行一些基本算法,各种中断源提供其刺激。所以,我的问题是,我可以使用哪些图表技术来说明我的流程,以便未来的开发人员能够轻松理解我在做什么并参与开发?

以下是我要寻找的一些重要功能:

  • 显示数据结构以及如何在进程之间传递数据&中断
  • 显示导致每个中断的条件
  • 显示如何收集数据并通过下行链路传递
  • 显示如何接收,解析和执行命令消息
  • 理想情况下,非常适合按细节级别划分为较小流程的层次结构

3 个答案:

答案 0 :(得分:12)

我总是看到中断时间如下:

interrupt timing diagram

或内联行:

inline timing

但我更喜欢前者,因为它为注释提供了更多空间。


在回复您的评论时,或许UML state machine图表(有一些改编)可能更适合您的目的:

UML state machine

答案 1 :(得分:4)

使用UML类图来显示数据结构。使用序列图来显示类和中断服务例程之间的交互(仅显示函数调用)。使用活动图来显示中断如何与进程交互(信号对此有利)。活动图还可用于显示接收数据,解析数据和调度数据的过程。这也可以通过包图表在静态视图中表示,其中命令处理程序在一个包中,而命令解析器在另一个包中,由依赖行连接。用例适用于高级功能视图。

重点是UML支持许多不同的视图(静态,动态,逻辑,部署)到您的系统中。不要试图一次表达所有内容。

下图显示了进程中断的示例。

Example interrupt (UML Signal)

答案 2 :(得分:4)

您可以在图表绘图中找到许多有趣的方法。我会在这里张贴一些。你会发现很多操作系统和架构的scpecific名称,如寄存器,事件,函数名称等。到目前为止,它更适合表示,对吧?所以我们是。

Let's begin with simple one

Just a little bit complicated than the previous one

The big one