A2B总线是高级可编程的,可以处理许多用例。A2B系统很容易配置,基于系统、节点和外设的知识。准确的系统配置可以通过从每个从属服务器单独收集信息来获得。例如,相同的A2B模块可以由不同的供应商提供,每个模块都有独特的寄存器编程要求。一个模块可以使用TDM4作为音频接口,而另一个模块使用TDM8。一个模块可以提供两个上游通道,而另一个模块可以提供三个上游通道,所有这些通道的主机事先都不知道连接了多少节点。     注意:确保寄存器编程的结果是有效的系统配置。     AnalogDevices提供免费的SigmaSt...

  qrJHiMhufrJ3   2023年11月13日   38   0   0 音频AudioLinuxA2B音视频

5、GPIO远距离 该特性允许在初始编程后在A2B总线上进行GPIO通信,而无需主机干预。主机只需要通过使用虚拟端口初始化GPIO远距离特性即可。GPIO超距离功能具有以下功能: 1、8个并行的1位虚拟端口,由主节点管理。主节点可以在A2B_GPIODDAT寄存器中读取每个虚拟端口的状态。 2、GPIO引脚到虚拟端口07的灵活映射方案。 3、GPIO引脚可以配置为更新A2B_GPIODDAT寄存器内容的输入,也可以配置为反映A2B_GPIODDAT寄存器内容的输出。       4、当多个虚拟端口映射到一个GPIO输出引脚时,这些值被...

  qrJHiMhufrJ3   2023年11月13日   43   0   0 音频AudioA2B音视频AD2428W

1、修改的发现流程         在修改后的发现流程图中,所有从节点都会被发现并立即按顺序初始化,从0号从节点到系统中最后一个可用的从节点。         在发现并编程所有节点之后,就不再需要总线管理了。但是中断服务例程可以用来响应特殊事件(例如,来自诊断的IRQ事件)。IRQ引脚可以用来发出这样一个事件的信号。另外,可以轮询A2B_INTTYPE寄存器来监视中断事件。 ModifiedDiscoveryFlow 2、优化发现流程...

  qrJHiMhufrJ3   2023年11月13日   34   0   0 音频AudioLinuxA2BAD2428W

特定于模块的描述符信息保存在存储设备(EEPROM或类似的设备)中,通过I2C直接连接到A2B收发器,并通过A2B总线作为外围设备访问。这种I2C连接的存储设备使用设备地址0x50(7位)。这个配置内存包含模块ID信息和可选的配置块。 1、内存配置 没有配置块的配置内存的内容显示在没有配置块的内存内容表中。 没有配置块的内存内容         在发现过程中和发现后,主机可以根据表中的约定唯一地识别从节点模块。该信息允许主机查找所有存储的配置设置和软件驱动程序,以自动配置A2B系统、对A2B节点编程和初始化外围设...

  qrJHiMhufrJ3   2023年11月13日   27   0   0 AudioLinuxA2B音视频AD2428W

本文介绍A2B系统中主机对中断的处理流程。 1、主运行中断 如主运行中断图所示,触发器(主IRQ引脚)是在主节点锁定锁相环到SYNC信号后或发现线路故障后断言的。 注意:MSTR_RUNNING(A2B_INTTYPE=0xFF)是一个仅主用中断。 主运行中断 读取A2B_INTSRC和A2B_INTTYPE寄存器,继续发现从节点或处理线路故障。注意,对主A2B_INTTYPE寄存器的主机读将清除中断。 2、发现完成中断 如发现已完成中断图所示,触发器(主IRQ引脚)是在主节点看到从节点发现的响应之后断言的。DSCDONE(A2B_INTTYPE=0x18)是一个仅主中断。 发现已完成中断...

  qrJHiMhufrJ3   2023年11月13日   31   0   0 音频LinuxA2B音视频AD2428W

  A2B_RESPCYCS寄存器用于设置从控制帧(SCF)开始到最后一个slave响应响应帧(SRF)的相对时间。寄存器设置定义了A2B网络中较早的节点在超帧的上游部分何时应该期望来自最后一个从节点的响应。如果最后一个节点没有响应,则在假定的最后一个节点之前的节点会响应。以下部分提供了关于如何对主节点和从节点A2B_RESPCYCS寄存器进行编程的信息。 1、配置主节点响应周期   主节点响应周期示意图描述了主响应周期值是如何确定的。 主节点响应周期示意图   在主节点响应周期图中:     1、主最小响应周期计数由下游数据的长度、最小总线周转时间和从节点的数量决定。     2、主最...

  qrJHiMhufrJ3   2023年11月13日   36   0   0 AudioLinuxA2B音视频AD2428W

  当你意识到管家模式是一种非常可靠的消息代理时,你可能会想要使用磁盘做一下消息中转,从而进一步提升可靠性。这种方式虽然在很多企业级消息系统中应用,但我还是有些反对的,原因有:     1、我们可以看到,懒惰海盗模式的client可以工作得非常好,能够在多种架构中运行。唯一的问题是它会假设worker是无状态的,且提供的服务是幂等的。但这个问题我们可以通过其他方式解决,而不是添加磁盘。     2、添加磁盘会带来新的问题,需要额外的管理和维护费用。海盗模式的最大优点就是简单明了,不会崩溃。如果你还是担心硬件会出问题,可以改用点对点的通信模式,这会在本章最后一节讲到。   虽然有以上原因,但还是...

  qrJHiMhufrJ3   2023年11月13日   34   0   0 ZMQ通信技术中间件

  上文那种实现管家模式的方法比较简单,client还是简单海盗模式中的,仅仅是用API重写了一下。我在测试机上运行了程序,处理10万条请求大约需要14秒的时间,这和代码也有一些关系,因为复制消息帧的时间浪费了CPU处理时间。但真正的问题在于,我们总是逐个循环进行处理(round-trip),即发送-接收-发送-接收……ZMQ内部禁用了TCP发包优化算法(Nagle'salgorithm),但逐个处理循环还是比较浪费。   理论归理论,还是需要由实践来检验。我们用一个简单的测试程序来看看逐个处理循环是否真的耗时。这个测试程序会发送一组消息,第一次它发一条收一条,第二次则一起发送再一起接收。两次...

  qrJHiMhufrJ3   2023年11月13日   61   0   0 ZMQ通信技术中间件

一、引言   我们讲了那么多关于中间件的示例,好像有些违背“ZMQ是无中间件”的说法。但要知道在现实生活中,中间件一直是让人又爱又恨的东西。实践中的很多消息架构能都在使用中间件进行分布式架构的搭建,所以说最终的决定还是需要你自己去权衡的。这也是为什么虽然我能驾车10分钟到一个大型商场里购买五箱音量,但我还是会选择走10分钟到楼下的便利店里去买。这种出于经济方面的考虑(时间、精力、成本等)不仅在日常生活中很常见,在软件架构中也很重要。   这就是为什么ZMQ不会强制使用带有中间件的架构,但仍提供了像内置装置这样的中间件供编程人员自由选用。   这一节我们会打破以往使用中间件进行可靠性设计的架构,...

  qrJHiMhufrJ3   2023年11月13日   31   0   0 ZMQ通信技术中间件

1、Linux下搭建Rust开发环境 1.1、使用Rustup安装   执行如下命令 curl--proto'=https'--tlsv1.2-sSfhttps://sh.rustup.rs|sh   执行结果如下:   在这里使用默认的安装,执行结果如下: 1.2、配置Rust环境变量   当出现Rustisinstallednow.Great时执行如下命令配置Rust环境变量 source$HOME/.cargo/env   在Rust开发环境中,所有工具都安装在/.cargo/bin目录中,您可以在这里找到包括rustc、cargo和rustup在内的Rust工具链。 1.3、验...

  qrJHiMhufrJ3   2023年11月13日   42   0   0 LinuxrustVScode

1、简介   设计模式(Designpattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 2、设计模式的六大原则 2.1、开闭原则(OpenClosePrinciple)   开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。 2.2、里氏代换原则...

  qrJHiMhufrJ3   2023年11月13日   18   0   0 设计模式

前言   回顾一下,前面点亮led灯我们都进行了哪些操作。   首先需要看电路图,然后找到led灯的控制引脚,然后了解了控制引脚的方法是通过操作相应的物理地址,接着知道了可以映射物理地址也就是寄存器,通过寄存器来去配置,最后我们通过去查找芯片手册,了解各个寄存器的功能,对需要的寄存器进行配置,实现点亮led灯的功能。   到这里,我们成功将一大串的地址转化成可读性更好的寄存器,但是寄存器的操作相对于大部分人来说仍然是太复杂,大部分人只需要点亮灯,并不想知道它需要用到哪些寄存器,更不想去进行复杂的位操作,大家更希望能将寄存器的这些功能再一次进行封装打包,最好是进行一些简单的传参就可以将这个引脚配...

  qrJHiMhufrJ3   2023年11月13日   34   0   0 嵌入式单片机函数库stm32

1、前言   在嵌入式学习里,点亮LED灯的地位就如同编程语言学习里的“helloworld”,是每个初学者都必须经历的一关,因为点亮了LED灯,至少可以说明几件事:     1.开发环境没问题,包括软件,硬件都没问题。     2.能正常烧写代码,烧写工具没问题。     3.软件的基础框架没问题。   有了这几点的基础,我们就可以去一点点去学习更多好玩的事,从而过关斩将,完成小白到大神的变化。那么接下来先做第一件事,就是安装keil5. 2、环境搭建 2.1、安装keil5   keil5是一款编程软件,可以编写代码,烧写代码,仿真调试,十分适合嵌入式开发,所以我们用它来作为我们开发的软件...

  qrJHiMhufrJ3   2023年11月13日   38   0   0 嵌入式LED单片机stm32

1、前言   上篇《嵌入式开发学习之--点亮LED灯(上)》我们主要学习的是环境搭建和实际操作,这篇详细记录一下整个思考的过程。 2、LED点亮的原理   首先,我们需要想一个问题,这个灯为什么会亮?   物理上来说,LED灯属于发光二极管,只要有正确的电压就会发亮。也就是说,我们烧写的代码,让led灯有了电压,那么电压又是如何形成的呢?我们来看一下原理图。   通过原理图我们可以看到,有三个灯,分别标识着是R(red)/G(green)/B(blue)红绿蓝三种颜色。他们的左端连接在一起,通过一个跳线帽连接在了3.3V电源上,另一端各自经过一个电阻,分别连接在了单片机的PH10,PH11,P...

  qrJHiMhufrJ3   2023年11月13日   36   0   0 嵌入式LED单片机stm32

1、什么是ZMQ   ZeroMQ(也称为ÖMQ、0MQ或zmq)看起来像是一个可嵌入的网络库,但它的作用类似于一个并发框架。它为您提供了在进程内、进程间、TCP和多播等各种传输中传递原子消息的套接字。您可以使用扇出、发布订阅、任务分发和请求回复等模式将套接字N到N连接起来。它的速度足以成为集群产品的结构。它的异步I/O模型为您提供了可扩展的多核应用程序,构建为异步消息处理任务。它有许多语言API,并在大多数操作系统上运行。   ZeroMQ(也拼写为ÖMQ、0MQ或ZMQ)是一个高性能异步消息传递库,旨在用于分布式或并发应用程序。它提供了一个消息队列,但与面向消息的中间件不同,ZeroMQ系...

  qrJHiMhufrJ3   2023年11月13日   26   0   0 ZMQ通信技术中间件

本篇文章致力于从开发的角度思考问题,而不是搞学术的东西。 文章目录 前言   在点亮led灯之后,接连写了两篇理论,更多的是力求自己学习旅程的完整吧,总觉得没多大意义。从今天开始,结合开发板开始搞实验,毕竟实战是检验一切的标准。一起学习的小伙伴如果有什么好的想法,可以留言,我们一起来完成。 一、项目概况 1.1、项目需求   根据输入的情报,让蜂鸣器按照摩斯码的加密方式发出声音,用户通过蜂鸣器发出的声音能准确的写出输入的情报,就算成功。 1.2、项目来源   作者脑洞。 1.3、项目开发环境   软件:keil5;  硬件:野火挑战者开发板。 1.4、项目意义   为情报人员传递信息,...

  qrJHiMhufrJ3   2023年11月13日   34   0   0 蜂鸣器单片机摩斯码stm32

1、使用Rustup安装        执行如下命令 curl--proto'=https'--tlsv1.2-sSfhttps://sh.rustup.rs|sh        执行结果如下:         在这里使用默认的安装,执行结果如下: 2、配置Rust环境变量       &...

  qrJHiMhufrJ3   2023年11月13日   30   0   0 开发语言Linuxrust后端

提示:本章主要学习IIC协议,了解其原理以及使用方法。 文章目录 ​​前言​​ ​​一、IIC协议简介​​ ​​1.1、IIC物理层​​ ​​1.2、协议层​​ ​​1.2.1、I2C基本读写过程​​ ​​1.2.2、通讯起始和终止信号​​ ​​1.2.3、数据有效性​​ ​​1.2.4、地址及数据方向​​ ​​1.2.5、响应​​ ​​总结​​ 前言   IIC协议的思想很厉害,对比串口三根线且只能点对点连接,它实现了一根时钟线一根数据线,理论上来说可以无限挂载设备。但是根据工作经验来看,其可靠性并不高,传输距离有限且易受干扰,而且固定设备号这一点也是很别扭,相对来说...

  qrJHiMhufrJ3   2023年11月13日   33   0   0 嵌入式I2C单片机EEPROMstm32

提示:本篇来做一个关于串口的输入输出实验。 文章目录 前言 一、项目概况 1.1、项目需求 1.2、项目来源 1.3、开发环境 1.4、项目意义 1.5、项目代码链接 1.6、项目效果展示 二、开发步骤 2.1、涉及硬件电路 2.2、项目代码 2.2.1、串口配置 总结 前言   前一篇文章我们介绍了串口的几种类型以及串口标准库的一些配置参数,这一篇结合之前的摩斯密码代码来实战一下。 ​​提示:以下是本篇文章正文内容,下面案例可供参考​​ 一、项目概况 1.1、项目需求   1.通过电脑串口助手输入消息,机器通过蜂鸣器来转换成摩斯码输出。  2.led灯同步蜂...

  qrJHiMhufrJ3   2023年11月13日   28   0   0 嵌入式单片机UART串口stm32

提示:本章主要学习几种常见的存储器 文章目录 前言 一、存储器的分类 二、RAM存储器 2.1、DRAM 2.1.1、SDRAM 2.1.2、DDRSDRAM 2.2SRAM 2.3、SRAM与DRAM应用场合 三、非易失性存储器 3.1、ROM存储器 3.1.1、MASKROM 3.1.2、OTPROM 3.1.3、EPROM 3.1.4、EEPROM 3.2、FLASH存储器 总结 前言   前面学习了串口通信,以及一种特殊通信方式DMA,都是对信息的传递,这篇来了解一下信息的存储。   ​​提示:以下是本篇文章正文内容,下面案例可供参考​​ ...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~