欢迎光临开云全站app_全站登录网址官网!
全国咨询热线:17318037685
联系我们

开云全站app_全站登录网址

曾经理:17318037685

Q Q:3538504606

地址:深圳市光明区新湖街道楼村社区红银路46号C栋202

当前位置: 首页 > 云开全站网址

基于Avalon总线温湿度传感器自定义IP核的开发

产品详情


  SOPC的关键技术之一就是IP核,也就是知识产权核。所谓的IP核就是指将一些很复杂的功能模块,如音频编/解码、SDRAM等,设计成可以修改参数的模块,可以直接调用。实际的SOPC设计过程,用户常常有特殊的需求,而EDA厂商未提供该IP核。所以,在设计中添加用户自定义组件显得特别重要。

  SOPC组件通过Avalon交换架构或者Avalon总线连接在一起,SOPC系统的可定制特性要求Avalon总线也具备灵活的可定制特性。Avalon总线是一种协议较为简单的同步总线,有其规范及传输模式。

  Avalon总线是由Altera公司开发的一种专用的用于连接SOPC系统组件及从组件的内部连线技术,它是由SOPC Builder自动生成,是一种理想的用于系统处理器和外设之间的内连总线。通常用的是Avalon从端口。一个典型从端口包含的信号如表1所列。

  Avalon总线使用很少的逻辑资源支持数据总线复用、地址译码、产生等待周期和高级交换式总线传输。该总线为用户更好的提供很友好的接口,屏蔽搭建系统的细节,减轻了系统搭建的工作量。

  SHT11是瑞士Sensirion公司推出的SHTxx系列数字温湿度传感器。它是基于先进的CMOSens数字传感技术,具有极高的可靠性和长期稳定性。全量程标定,两线数字接口,快速缩短研发时间,简化外围电路并降低费用。此外,具有体积小、响应迅速、能耗低、可浸没、抗干扰能力强、温湿一体的特点,兼有露点测量,性能好价格低,使该产品能够适于多种场合的应用。SHT11的高级功能是通过状态寄存器来实现的[3]。

  图1为系统结构图。由图可知,系统大致上可以分为接口模块和行为模块,行为模块实现芯片的驱动逻辑功能,接口模块通过内部总线和Avalon总线相连,实现了对行为模块的控制。利用SOPC Builder建立系统,通过数据线 k的上拉电阻。

  采用自定义IP核的方式,也就是把SHT11看成外部存储器或者是I/O设备,将其作为从设备连接到Nios II嵌入式处理器的Avalon总线上,系统用访问I/O设备或者是读写寄存器的方式对其来控制。所以,编写自定义IP核的时候,根据实体SHT11的时序要求,编写驱动、接口等,灵活地控制并实现复杂的时序。其中可根据自己的需求灵活地定义状态、标志位、控制位等。设计完成后,独立添加到SOPC Builder,用户都能够直接用。该方法比单纯利用PIO内核更节省处理器的开销,充分的发挥了处理器的能力[4?6]。

  根据SHT11的描述,确定该模块与Avalon所需要的接口信号。利用较少的信号来处理读写。系统通过时钟线相连,根据时钟的时序向数据线通过数据线输出数据。设计模块的输入信号为:clk,sysclk, n_rest, data_i,data_o,wr,rd, addr。输出信号为:SCK,DATA(DATA是双向数据线)。端口信号的部分说明如下:

  行为模块实现的是SHT11的功能。该部分是整个设计的核心,实现对SHT11的控制。设计时必须根据驱动控制的规范以及时序的要求来编写。设计的过程中,信号的控制较为复杂,但在时序逻辑中,这又十分重要。可以设定一系列的寄存器,作为访问硬件的通道[7?8]。

  根据其驱动规范,不同的命令实现相应的功能。传输开始时,应该发出启动信号。启动信号包括时钟线为高,数据线由高变低,并在下一个时钟线为高的时候将数据线变高。当启动信号开始后,输入相应指令(包含3位地址和5位命令),通过数据线,确定接收到ACK信号后,表示SHT11已经正确接收命令。待一定的时间后,当数据线由高拉低后开始信号的传输。系统通过确认数据线上的ACK来确定每个字节的传输。数据传输完毕,进行CRC校验。校验完毕后,ACK为高,结束传输。

  在进行设计时,采用嵌套状态机来实现驱动逻辑。根据驱动控制器的读写命令及读写时序,采取不同状态机来实现,如图2所示。输入命令之后,根据不同的读写请求,进入不同的状态机。

  设内部寄存器command,根据不同的命令,进入不同的状态机循环:若command为01,通过数据线向寄存器写数据;若command为 10,通过数据线从寄存器读数据;若command为其他,则读取数据。当传送8位数据后,需判断双向数据线DATA的ACK信号的高低,当接收到ACK 信号时,再依据相应的命令,进行数据的传输。当数据传输完毕后,需要经行CRC校验。图3是仿真时序图,实现向寄存器写数据的功能。

  该部分可以直接在SOPC Builder 中添加设计好的IP核和Verilog HDL 语言描述的文件,并根据Avalon 总线传输规范设置好相关的信号线所示。这里要注意,使用的是从端口。完成后,将IP核添加至SOPC中,建立内嵌系统,并编译下载到FPGA 器件中。