版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于传感器的智能秤数字电路设计分析案例目录TOC\o"1-3"\h\u26090基于传感器的智能秤数字电路设计分析案例 186251.1数字电路设计方法 1138321.1.1寄存器传输级设计 1129751.1.2有限状态机的优势 275941.1.3逻辑综合技术 2205061.2FPGA资源介绍 2235751.3数据缓冲逻辑顶层框图 356051.4SPI通信接口的设计 3143641.4.1SPI的工作模式 3265671.4.2时钟分频器设计 4179851.4.3SPI主机设计 543681.5数据的组织与存储 7127651.5.1数据的组织方式 7286621.5.2数据的存储方式 7101451.6A/D控制模块设计 7287821.7数据缓冲逻辑顶层设计 11数字电路设计方法在本文中,将使用VerilogHDL进行可综合的寄存器传输级逻辑设计。寄存器传输级设计硬件描述语言(HDL)的基本功能是描述可综合的逻辑电路,常被用来完成数字电路的设计和验证工作。目前使用广泛的有VerilogHDL和VHDL两种硬件描述语言,其中VerilogHDL支持开关级、门级、寄存器传输级、行为级和系统级的电路建模[39]。寄存器传输级(RTL)建模是一种描述各个寄存器之间逻辑功能的电路建模方式,这种设计层次不需要考虑寄存器自身和其它组合逻辑电路的细节,在满足功能的情况下RTL设计主要讲究速度和面积的平衡。通常情况下,速度和面积是相互制约的关系,逻辑综合工具会根据时序和面积等约束将RTL设计翻译为网表并完成逻辑优化[40]。有限状态机的优势FSM既有限状态机,是逻辑设计的重要内容,在数字设计中有着广泛的应用,且多数EDA工具都有针对有限状态机的优化策略,合理使用有限状态机进行逻辑电路设计有很多优势[41,42]。有限状态机的思想更容易让人接受,更贴合人类思维,使用有限状态机描述逻辑电路可以使得复杂的工作变得简单化。有限状态机的编写较为简单,具有比较固定的格式,调试更为方便,也更有利于维护。对于数字电路而言,简单如序列检测电路或复杂如微控制器设计都离不开有限状态机的思想。FSM可以分为莫尔(Moore)型和米利(Mealy)型两种类型,其基本都要素包含状态、输入和输出。不同的是,莫尔型FSM的输出只由当前的状态决定,而米利型FSM的输出由当前输入以及当前状态共同决定[40]。主流的FSM描述方式有一段式、两段式和三段式,其中三段式FSM最为流行。虽然三段式结构的代码复杂了些,但是拥有同步寄存器输出的优势,有效避免了组合逻辑输出的毛刺等隐患,也更方便利用时序路径分组等优化策略[43]。逻辑综合技术EDA工具将硬件描述语言翻译为由基本逻辑单元组成的网表的过程称为逻辑综合[40]。在这个翻译的过程中EDA工具会根据约束条件完成网表优化,以便满足设计目标。对于FPGA数字电路设计,逻辑综合需要使用芯片厂家提供的开发工具完成,而对于数字ASIC设计,逻辑综合工具主要使用Synopsys和Cadence的相关工具,并且需要提供所采用工艺的相关文件以便针对特定工艺进行时序、面积和功耗的优化。随着逻辑综合技术的发展,其网表优化能力越来越强,但是良好的RTL设计能力依然是整个电路性能的可靠保障。FPGA资源介绍本文的FPGA芯片选择了赛灵思(Xilinx)公司设计的Artix-7系列XC7A35T-2FGG484I,该系列以高性能、低功耗和小尺寸著称,不仅成本较低,而且应用场景广泛,拥有丰富的接口。该芯片的技术参数如下:根据需要可用于实现分布式RAM的六输入查找表(LUT)FPGA逻辑,主要用来实现组合逻辑。拥有1.8MbitBRAM,可用于片上数据缓冲。其BRAM为双端口RAM,自身支持同步或者异步FIFO逻辑。端口引脚可配置为单端或差分形式,最大支持1.25Gb/s的数据传输。集成了由锁相环和混合模式时钟管理器组成的多功能时钟管理器(CMT),可以给用户提供高精度、低抖动的时钟。数据缓冲逻辑顶层框图图31数据缓冲逻辑顶层框图上图是本章数据缓冲逻辑的顶层框图,数据缓冲逻辑包含了同步FIFO、A/D控制模块和数据发送模块,通信接口方面包含两个SPI主机通信接口。SPI通信接口的设计SPI的工作模式SPI是串行外设接口,是由摩托罗拉公司首先提出,并在A/D转换器和EEPROM等设备上广泛使用的接口协议,是一种高速,时钟同步的全双工串行通信总线[44]。根据SPI通信的时钟来源可以划分为SPI主机和SPI从机:提供通信时钟的一方是SPI主机,接收通信时钟的一方是SPI从机。在一个系统中,同一时间只允许一个主机存在,从机的数量只受主机寻址能力的限制[45]。根据协议,一个完整的SPI接口包含四个端口,分别为CS、SCLK、MOSI和MISO。其中CS是由主机提供给从机的单向片选端口,当CS端口为低电平时表示主机和该从机既将进行数据交换(在只有一个从机的情况下,主机可以不提供CS);SCLK(只可以由主机提供给从机)为数据交换过程中进行数据位同步的时钟端口,根据工作模式和SCLK可以确定数据的发送时间点和采样时间点;MOSI既是主机输出端口,也是从机输入端口;MISO既是从机输出端口,也是主机输入端口。根据SPI同步通信时钟的极性(CPOL)和相位(CPHA)的差异,可以将SPI通信分为四种工作模式:模式0、模式1、模式2和模式3[46]。极性代表SPI在空闲状态下的SCLK电平:SPI空闲状态下时钟SCLK为高电平时极性为1,低电平时极性为0。相位代表数据采样时间点,相位为0代表数据采样发生在SCLK的第一个跳变沿,相位为1代表数据采样发生在SCLK的第二个跳变沿。由于本文选用的A/D转换器工作在模式1,因此数据缓冲逻辑的SPI工作模式应与之保持一致。表31SPI模式表SPI模式CPOLCPHA空闲时钟采样沿000低电平第1个101低电平第2个210高电平第1个311高电平第2个时钟分频器设计SPI通信时钟SCLK的实现由系统时钟分频产生,本文设计了一种时钟分频电路,可以满足任意整数分频的需求。图32时钟分频器端口时钟分频器的端口如上图所示,各端口功能如下:div_factor端口提供了本模块的时钟分频系数。rst_n端口是全局复位端口。en端口是本模块的时钟输出使能端口,其为高电平时启动工作。clk_i端口是时钟输入端口。clk_o端口是时钟输出端口。图33时钟分频器仿真图图33是时钟分频器的仿真图。如图所示,周期为20ns的时钟经过5分频后输出了占空比为50%,周期100ns的时钟信号。SPI主机设计由于本文中A/D转换器的SPI接口只支持模式1,所以只针对模式1进行了SPI主机的数字逻辑设计。图34SPI主机端口SPI主机的端口如上图所示,各端口功能如下:spi_rstn端口是SPI主机的全局复位端。当其为低电平时,SPI同步时钟将会拉低而停止输出,片选信号将会失效拉高,其他寄存器则会恢复初始值。clk端口是系统时钟输入端。系统时钟将经过分频产生SPI同步时钟。spi_start端口是SPI通信使能端。当需要传输一个字节的数据时,需要将该端口电平拉高以触发传输(传输过程中保持高电平),一个字节数据传输完成后拉低。data_tx寄存器端口是需要传输的字节数据,该数据需要在一次传输触发前提供。LSB或者MSB优先需要与从机的协议保持一致。miso端口是SPI从机到主机的数据传输端口。sclk端口是SPI通信的同步时钟,由SPI主机(本模块)提供。本文在SPI主机中实例化了一个时钟分频器以实现sclk输出,可以实现50%占空比的任意整数分频。cs_n端口是输出的从机片选信号。mosi端口是SPI主机到从机的数据端口。寄存器data_rx是主机接收到的字节数据。spi_valid端口是字节数据交换完毕的指示信号,完成一个字节的数据交换就会拉高一个clk周期;idle是SPI模块的空闲提示。当检测到spi_start维持一段时间的低电平后,idle便会输出高电平。本文SPI主机设计的仿真如图35所示。图中虚线位置是SPI主机对来自从机(ADS1261)数据端口miso的采样点。如图所示,随机二进制数据0111_1110被SPI主机采样得到0x7e,之后spi_valid拉高一个clk周期表示此时SPI交换字节数据结束。图35SPI主机仿真数据的组织与存储数据的组织方式A/D转换器的转换数据是24位补码的形式。这些数据并不是直接获取的,在设计中必须通过SPI接口读取A/D数据帧,数据帧为5到9字节不等,长度取决于用户配置。在读取一帧数据之后,通过已知的数据帧结构截取3字节的A/D转换数据。转换数据的形式是24位二进制补码,因此在数据流中需要将每次转换的数据扩充为32位二进制原码,既整型数据。数据的存储方式FPGA将采集到的转换数据组织为整型数据并存储在同步FIFO结构的缓冲区。FIFO是一种先进先出的存储结构,其数据具有顺序性,可以保证不会被意外覆盖或者误读。FIFO可以分为同步FIFO和异步FIFO。其中,同步FIFO的工作方式比较简单,不存在跨时钟域处理,读写操作工作在一个时钟域内,而异步FIFO的工作方式较为复杂,读写操作分别在各自的时钟域内完成,且必须将读写地址传递到另一个时钟域进行比较才可以判断存储空间的占用状态,常被用于实现跨时钟域的多bit数据传输[47,48]。鉴于FIFO结构的成熟性,本文FIFO的仿真不再单独进行,第3.7节的顶层仿真可以说明本文的FIFO满足功能要求。A/D控制模块设计为了配置A/D转换器的工作模式和数据帧结构,需要设计一个模块对A/D转换器进行配置和数据读取。图3-6是本文A/D控制模块的端口情况。图36A/D转换器控制模块端口A/D转换器控制模块的端口功能如下:clk和rst_n是系统时钟信号和复位信号。rd_en端口是读使能信号。该端口是微控制器指示FPGA读取A/D转换数据的指示信号,由STM32提供。adc_pin_drdy端口是来自ADS1261的新数据提示信号。该端口出现下降沿时说明一次A/D转换完成,有新数据可以读取。adc_pin_dout端口是SPI主机的数据输入端,用于SPI主机接收来自A/D转换器的数据。sclk端口是SPI的同步时钟端口,cs_n端口是由SPI主机选择从机的单向片选端口,adc_pin_din端口是SPI从机接收主机数据的端口。本文中这三个端口均由A/D控制模块提供给数字化模块。adc_pin_rst是A/D控制模块提供给转换器的复位端口,该端口为高电平时A/D转换器将会复位。adc_pin_start是A/D控制模块提供给转换器的启动端口,该端口高电平时会启动A/D转换。寄存器data用于临时存储接收到的数据。fifo_wr_en是A/D控制模块提供给FIFO的写使能端口,高电平时FIFO将进行写操作。图37A/D控制模块状态转移图图37是本文A/D控制模块的FSM状态转移图,其工作流程大致可以划分为模式配置和数据读取两部分:在上电后需要先初始化A/D转换器,可以通过SPI接口发送命令(0x0600)或者将A/D转换器的复位引脚(adc_pin_rst)拉低实现。之后是对一系列A/D转换器内部寄存器的配置命令(格式为两字节),其中第一字节为40h+rrh(rrh为寄存器地址),第二字节为需要写入的寄存器数据。这里通过寄存器mode0配置A/D转换器的数据率,数据率可配置为2.5SPS到40000SPS。通过寄存器mode1配置的工作模式为两线交流激励模式以输出全桥斩波模块的控制信号,数据转换模式配置为连续转换,转换起始延迟为50微秒。通过寄存器ref配置A/D转换器参考电压的输入端口为图219所示的AIN0和AIN1。通过寄存器pga配置A/D转换器内部可编程放大器的增益,可选范围为1到128倍。通过寄存器input_mux配置A/D转换器的差分信号输入端口为图219所示的AIN7和AIN6。上述寄存器配置完成后通过拉高adc_start端口或者发送启动命令开始A/D转换,启动转换后进入空闲状态等待转换完成。本文的A/D转换器控制模块会对A/D转换器的数据就绪信号DRDY进行下降沿检测来判断是否有新数据可供读取,边沿检测相比电平检测有更好的防毛刺效果,可以提高系统稳定性[40,49]。在数据组织和存储状态下,A/D转换的数据被组织为32位整型数据,然后存储到FIFO中。之后,FSM会转移到空闲状态,空闲状态下根据来自微控制器的指示信号来决定是否进行状态转移。如图38仿真波形所示,本模块通过给相应寄存器写入数据来配置A/D转换器工作模式。如图所示,A/D转换器的写寄存器命令的格式是两字节,由sclk的时钟波形可以看出SPI接口共配置了五个A/D内部寄存器。图38写A/D寄存器的仿真波形由前面所述,本设计的SPI应该工作在模式1,根据图39所示的细节可知,sclk在SPI空闲状态下是低电平,那么SPI的采样时间应该是同步时钟sclk的下降沿,故而SPI主机应该在同步时钟sclk的上升沿将数据放在MOSI端口(这里是adc_pin_din)。图中SPI接口给A/D发送的命令为二进制的01000010_01001000,既0x42_0x48,因此所配置的寄存器地址为0x02,写入该寄存器的数据为0x48。由ADS1261用户手册可知,地址为0x02的寄存器为MODE0,0x48代表采样率为1200SPS。可见本模块可以正常地对A/D转换器进行配置。图39写A/D寄存器的仿真细节图38和图39是A/D转换器控制模块在配置其寄存器时的仿真波形及其细节,我们主要关心命令是否正常发送给A/D转换器。根据ADS1261用户手册,读A/D命令的返回数据帧的长度为五字节,其中MSB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 木管乐器制作工岗前深度考核试卷含答案
- 《培养中国强势品牌》课件
- 甲基氯硅烷生产工岗前深度考核试卷含答案
- 宝石琢磨工保密测试考核试卷含答案
- 焦炉调温工岗前技术应用考核试卷含答案
- 斫琴师岗前时间管理考核试卷含答案
- 殡仪服务员技能认知知识考核试卷含答案
- 《客户销售技巧》课件
- 中药材生产技术员岗前基础操作考核试卷含答案
- 化纤组件清理工操作管理评优考核试卷含答案
- 2026年浙江省选调生笔试《综合能力测试》真题及答案解析
- 2026-2030中国制冷和空调压缩机行业市场发展趋势与前景展望战略分析研究报告
- 2026江西遂川抽水蓄能有限公司第一批次招聘5人笔试历年参考题库附带答案详解
- 第5课 从小爱劳动 第1课时 课件+视频 2025-2026学年道德与法治三年级下册统编版
- GB/T 10801.2-2025绝热用挤塑聚苯乙烯泡沫塑料(XPS)
- 七年级英语第一次月考卷(全解全析)(仁爱版2024)
- 2025年大学天文学(天体物理基础)试题及答案
- 2026年天津大学管理岗位集中招聘15人备考题库及参考答案详解1套
- DB21∕T 1564.1-2007 岩土工程勘察技术规程 标准贯入试验规程
- DB23T 3439-2023 梭鲈人工繁殖技术规程
- 眼科查体流程
评论
0/150
提交评论