【技术实现步骤摘要】
流量计与SD卡SPI通信接口设计与误差测试方法
[0001]本专利技术涉及仪器仪表测试
,具体地说,涉及流量计与SD卡SPI通信接口设计与误差测试方法。
技术介绍
[0002]目前国内技术还和国际先进水平有较大差距,高精度的超声波流量计还是国外品牌的天下,形成了低档产品过剩、高档产品依赖进口的局面,其中,基于集成电路、单片机和自动控制技术的高集成、多功能仪表,先进的控制理论和成熟的电路设计为流量计多种功能的实现有一定的基础,但是要提高流量的测量精度,必须进一步完善测量线路的设计,提高FPGA与SD卡SPI通信接口设计与便于误差测试。
技术实现思路
[0003]本专利技术的目的在于提供流量计与SD卡SPI通信接口设计与误差测试方法,以解决上述
技术介绍
中提出的问题。
[0004]为实现上述目的,提供了流量计与SD卡SPI通信接口设计与误差测试方法,包括如下步骤:
[0005]S1、设置SD卡控制模块,通过控制模块控制SD卡初始化;
[0006]S2、设置数据处理模块,通过数据处理模块控制SD卡的命令发送、数据读取;
[0007]S3、设置SPI通信模块,通过SPI通信模块上的SPI接口进行FRGA和SD卡之间数据或命令的传输;
[0008]S4、定义SPI通信模块的SPI接口通信协议,其中spi_cs_n是控制芯片是否被选中,spi_miso即主机的输入或者说是从机的输出,spi_mosi即主机的输出或者说是从机的输入,spi_clk是SPI同步时钟信号;r/>[0009]S5、对SPI通信模块接收到的数据进行误差分析。
[0010]作为本技术方案的进一步改进,所述数据处理模块设置有多个SD卡接口数据端,所述SD卡接口数据端由两个参数CPOL和CPHA进行数据表示。
[0011]作为本技术方案的进一步改进,所述S3中SPI通信模块缺省的命令结构/协议是CRC检测关闭,SD卡在SD总线模式下上电,CMD0紧跟着一个有效的CRC字节,SD卡在SPI模式下,默认将关闭CRC,SPI的时序模式为CPOL=1,CPHA=1,速率为25Mbit。
[0012]作为本技术方案的进一步改进,所述S1中SD卡初始化方法步骤如下:
[0013]S1.1、定义SD卡控制模块接口,spi_clk为SPI时钟信号,spi_miso为SPI主机输入从机输出数据信号,spi_mosi为SPI主机输出从机输入数据信号;
[0014]S1.2、延时等待SD就绪;
[0015]S1.3、发送74个spi_clk,且保持spi_cs_n=1,spi_mosi=1;
[0016]S1.4、发送CMD0命令并等待响应R1=8'h01,发送CMD1命令并等待响应R1=8'h00,发送CMD16命令并等待响应R1=8'h00。
[0017]作为本技术方案的进一步改进,所述S1.4中命令CMD发送方法包括如下步骤:
[0018]S1.4.1、发送8个时钟脉冲;
[0019]S1.4.2、SD卡片选CS拉低;
[0020]S1.4.3、连续发送8个字节命令;
[0021]S1.4.4、接收1个字节响应数据;
[0022]S1.4.5、SD卡片选CS拉高。
[0023]作为本技术方案的进一步改进,所述S2中SD卡数据读取方法包括如下步骤:
[0024]S2.1、发送命令CMD17;
[0025]S2.2、接收读数据起始令牌0xfe;
[0026]S2.3、读取512Byte数据以及2Byte的CRC。
[0027]作为本技术方案的进一步改进,S3.1、SD卡控制模块控制spi_cs_n信号;
[0028]S3.2、将待传输的数据放置到SPI数据发送寄存器spi_tx_db中;
[0029]S3.3、将SPI发送使能标志位spi_tx_en拉高,SPI发送功能被启动;
[0030]S3.4、标志位spi_tx_rdy被拉高,spi_tx_rdy为高电平;
[0031]S3.5、拉低spi_tx_en,SPI模块在spi_tx_en拉低后会清零内部的计数器;
[0032]S3.6、spi_tx_rdy复位。
[0033]作为本技术方案的进一步改进,所述S5中误差分析采用误差分析算法,其算法公式如下:
[0034]ΔX=x
‑
x0;
[0035][0036][0037][0038][0039]其中ΔX是绝对误差,x是测量值,x0是被测值的真值,e为相对误差,E
i
为第i次的测量误差,q
i
为第i次的流量计读数,q
ni
为第i次装置标准流量值,E为基本测量误差,E
r
为重复性,t
a
为置信度为0.95时的分布系数。
[0040]与现有技术相比,本专利技术的有益效果:
[0041]1、该流量计与SD卡SPI通信接口设计与误差测试方法中,使用了SD卡的SPI模式进行通信,当SPI通信模块接收到的数据后,SD卡在总线模式中唤醒,在接收复位命令时如果CS信号有效,那么将进入SPI模式,如果SD卡认为SD总线模式是必须的,那么它不会对命令做出响应并继续保SD总线模式,如果需要SPI模式,SD卡将切换到SPI模式并发出SPI模式下的R1响,从而提高流量的测量精度,进一步完善测量线路的设计。
附图说明
[0042]图1为本专利技术的整体步骤流程图;
[0043]图2为本专利技术的SD卡初始化方法步骤图;
[0044]图3为本专利技术的命令CMD发送方法步骤图;
[0045]图4为本专利技术的SD卡数据读取方法步骤图;
[0046]图5为本专利技术的SD卡数据接收方法步骤图。
具体实施方式
[0047]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0048]请参阅图1
‑
图5所示,提供了流量计与SD卡SPI通信接口设计与误差测试方法,包括如下步骤:
[0049]S1、设置SD卡控制模块,通过控制模块控制SD卡初始化;
[0050]S2、设置数据处理模块,通过数据处理模块控制SD卡的命令发送、数据读取;
[0051]S3、设置SPI通信模块,通过SPI通信模块上的SPI接口进行FRGA和SD卡之间数据或命令的传输;
[0052]S4、定义SPI通信模块的SPI接口通信协议,其中spi_cs_n是控制芯片是否被选中,spi_miso即主机的输入或者说是从机的输出,spi_mosi即主机的输出或者说是从机的输入,spi_clk是SPI同步时本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.流量计与SD卡SPI通信接口设计与误差测试方法,其特征在于,包括如下步骤:S1、设置SD卡控制模块,通过控制模块控制SD卡初始化;S2、设置数据处理模块,通过数据处理模块控制SD卡的命令发送、数据读取;S3、设置SPI通信模块,通过SPI通信模块上的SPI接口进行FRGA和SD卡之间数据或命令的传输;S4、定义SPI通信模块的SPI接口通信协议,其中spi_cs_n是控制芯片是否被选中,spi_miso即主机的输入或者说是从机的输出,spi_mosi即主机的输出或者说是从机的输入,spi_clk是SPI同步时钟信号;S5、对SPI通信模块接收到的数据进行误差分析。2.根据权利要求1所述的流量计与SD卡SPI通信接口设计与误差测试方法,其特征在于:所述数据处理模块设置有多个SD卡接口数据端,所述SD卡接口数据端由两个参数CPOL和CPHA进行数据表示。3.根据权利要求1所述的流量计与SD卡SPI通信接口设计与误差测试方法,其特征在于:所述S3中SPI通信模块缺省的命令结构/协议是CRC检测关闭,SD卡在SD总线模式下上电,CMD0紧跟着一个有效的CRC字节,SD卡在SPI模式下,默认将关闭CRC,SPI的时序模式为CPOL=1,CPHA=1,速率为25Mbit。4.根据权利要求1所述的流量计与SD卡SPI通信接口设计与误差测试方法,其特征在于:所述S1中SD卡初始化方法步骤如下:S1.1、定义SD卡控制模块接口,spi_clk为SPI时钟信号,spi_miso为SPI主机输入从机输出数据信号,spi_mosi为SPI主机输出从机输入数据信号;S1.2、延时等待SD就绪;S1.3、发送74个spi_clk,且保持spi_cs_n=1,spi_mosi=1;S1.4、发送CMD0命令并等待响应R1=8'h01,发送CMD1命令并等待响应R1=8'h00,发送CMD16命令并等待响应R1=8'h00。5.根据权...
【专利技术属性】
技术研发人员:朱长余,柳闯,
申请(专利权)人:安徽圣恩智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。