赞
踩
最近使用Arinc429协议中,由于之前一直是逻辑实现的功能,但最近外接项目原因使用hi3593芯片,发现网络上关于这一款芯片的资料较少,可能会给很多刚工作的工程师,照成一定的使用困难;虽然官方的数据手册已经很完整了,鉴于针对技术的普及以及讨论,故针对此芯片做讨论交流。
支持lable过滤功能,支持32个Arinc429的数据,支持lable标签,支持传输和发送功能,支持10M SPI协议。
从特性参数里面可以提取出相关的信息,hi3593芯片做的功能大概就是SPI转Arinc429。根据标准的Arinc 429协议可以知道,100K为最大的传输速率,SPI的速率远远大于Arinc429的速率,所以可以不断去查询FIFO中数据的状态。(我们自己设计的Arinc429功能设备,支持标准和非标的Arinc429速率)。
根据上图可以知道,hi3593芯片支持2个Arinc 429接收功能,以及1个Arinc429发送功能。根据A/B-40可以确认实际上hi3593芯片支持链路备份功能。SPI interface模块中可以窥见发送buffer和接收buffer都是通过SPI控制,且控制通过statue及control寄存器基进行控制。
同时,需要注意ACLK,这里存在一个参考时钟,且参考时钟可以分频使用,所以应该还存在一个分频寄存器可以配置。
在图的右侧,存在一些FLAG信号以及INT信号,可以通过图示观察到这两个信号连接到Arinc429接收数据buffer中,那么这两个信号极有可能是用于告知主机buffer中数据的数量状态的信息。
在图的右侧,存在FULL/EMPTY信号,根据信号的连接状态,可以明确信号可以告知主机发送buffer的情况。
其他的功能,读者可以自行推测一下信号的功能。
通过2.1的分析,我们已经掌握了大部分hi3593芯片的功能,分析得出SPI协议是控制整体功能的必要途径,那么肯定是开始分析手册的SPI协议。
通过SPI协议,读者是否发现什么有用信息;是的,SPI协议的运行结果,但是图中只描述了数据的高低位,且只有8位,这个时候,根据2.1中的信息,怎么得出寄存器访问功能呢,这个地方肯定还有描述,且往下看。
刚刚带有疑问的东西,在这里已经明了了,先发起一个opcode的信息,然后数据就有效了,但opcode是什么东西呢?必然是找到opcode的定义处;
由图可以得知,opcode实际上就是编码,和别的spi芯片类似,也相当与一个地址的概念,但是后面data bytes发现每个opcode的数据长度不一定,现在就会给很多人带来困难,不定长的SPI协议,网上开源的信息很少啊。
没关系,我写了;
但是刚刚了解了SPI协议,但是实际使用过程中,大家知道的,SPI协议肯定会有时序,所以重要内容不能错过;
网络上和知网已经有了参考依据,这里可以参考相关的网络资料;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。