【谁知道每天为什么会学这么多奇怪的东西之总线1553B】
【由于在工程中只用增强方式,在文章中不考虑非增强方式】
一共分为堆栈(存放指令字)、堆栈指针(占一个字节)、方式指令选择中断表(这是个啥)、方式指令数据()、查询表()、忙位查询表()、数据块以及指令非法表
名称 | 地址 | 定义 |
---|---|---|
堆栈 | 0000H | 描述符/指令堆栈,含块状态字/时间标识字/数据块指针和接收指令字 |
堆栈指针A | 0100H | 开始为堆栈的起始地址,在收到指令字后加4并以堆栈大小取模 |
堆栈指针B | 0104H | 堆栈大小可以用 #3.14和 #3.13指定,00为64,11为512 |
【图中地址均为偏移地址,1553B0基地址为0x40040000,RT的偏移为30000,1553B1基地址为0x40080000】
名称 | 寄存器 | 定义 |
---|---|---|
块状态字 | 消息结束/开始,错误类型等 | |
时间标识字 | #2.7-#2.9 设定分辨率 | NMbps传输速率 |
数据块指针 | – | 消息数据块的起始地址 |
指令字 | – | 接收的指令字 |
A和B区各有一个RT查询表
名称 | 定义 |
---|---|
接收数据块指针 | 子地址0:0140H, 子地址1:0141H等 |
发送数据块指针 | 子地址0:0160H, 子地址1:0161H等 |
广播数据块指针 | 子地址0:0180H, 子地址1:0181H等,可以存放于接收子地址的数据区,当分离广播数据时,RT才需要查询广播消息的数据块指针 |
子地址控制字 | 子地址0:01A0H,子地址1:01A1H等 |
单消息存储过程:数据块指针单元保持不变
双缓冲存储过程:交替工作的数据块指针bit5相反
循环缓冲存储过程:数据指针自动更新为缓冲下一单元
位 | 定义 |
---|---|
15 | 子地址全局性双缓冲使能 |
14 | 消息结束中断(发送) |
13 | 循环缓冲中断(发送) |
12-10 | 存储管理(发送)? |
9 | 消息结束中断(接收) |
8 | 循环缓冲中断(接收) |
7-5 | 存储管理(接收)? |
4-0 | 同上(广播) |
双缓冲使能 | 存储管理位 | 定义 |
---|---|---|
0 | 0 0 0 | 单消息存储管理 |
1 | 0 0 0 | 对接收或广播消息采用双缓冲存储管理 |
x | 0 0 1 | 128字,循环缓冲模式 |
x | 0 1 0 | 256字,循环缓冲模式 |
x | 0 1 1 | 512字,循环缓冲模式 |
x | 1 0 0 | … |
固定的数据访问单元
RT加电时默认指令非法化使能,CFG#3.15 = ‘1’ & CFG#3.7 = ‘1’,可以进制非法化指令
接收非法指令时,RT块状态字的bit6“非法指令字”置位‘1’
地址编号(h) | 定义 |
---|---|
0300 | 广播接收消息,子地址0,方式指令15-0 |
0301 | 广播接收消息,子地址0,方式指令31-16 |
… | … |
0340 | 广播发送消息,子地址0,方式指令15-0 |
0341 | 广播发送消息,子地址0,方式指令31-16 |
… | … |
共享RAM分为活跃区和非活跃区,任一时刻仅有一个堆栈指针、堆栈区、查询表和数据块指定为活跃。
发送存储管理机制:
接收存储管理机制:
双缓冲使能 | 存储管理位 | 定义 |
---|---|---|
0 | 0 0 0 | 单消息存储管理 |
1 | 0 0 0 | 对接收或广播消息采用双缓冲存储管理 |
x | 0 0 1 | 128字,循环缓冲模式 |
x | 0 1 0 | 256字,循环缓冲模式 |
x | 0 1 1 | 512字,循环缓冲模式 |
x | 1 0 0 | … |
1553B默认的存储管理模式,占用连续的32个字单元,每条消息后主机必须及时读取该消息数据或填写下一消息的发送数据。
注意:
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' |
‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" |
“Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash |
– is en-dash, — is em-dash |
一个具有注脚的文本。1
Markdown将文本转换为 HTML。
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::
这将产生一个流程图。:
我们依旧会支持flowchart的流程图:
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
注脚的解释 ↩︎