当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]SOPC(System On a Programmable Chip,可编程芯片系统)就是在一个可编程芯片上实现一个电子系统的技术。SOPC是可编程逻辑器件技术和SoC(System on Chip)技术发展与融合的产

SOPC(System On a Programmable Chip,可编程芯片系统)就是在一个可编程芯片上实现一个电子系统的技术。SOPC是可编程逻辑器件技术和SoC(System on Chip)技术发展与融合的产物[1?2]。

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

1 Avalon总线

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

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

表1 Avalon从端口信号

 


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

2 SHT11自定义IP核的开发

2.1 SHT11温湿度传感器

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

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

 


图1 系统结构图

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

2.2 接口模块的设计

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

moduleSHT11(

clk,//系统时钟

n_rest,//系统复位

data_i,//Avalon写数据总线

data_o,//Avalon读数据总线

wr,//Avalon写请求

rd,//Avalon读请求

sysclk,//系统时钟

addr,//Avalon地址总线

SCK,//时钟线输出

DATA,//数据输入输出(双向)

);

2.3 行为模块的实现

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

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

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

 


图2 状态机

通过rd和wr以及地址addr控制数据线的读写。当addr=1&&wr,则向数据线写数据(data_i),data_i 的输入格式是crc(1位)wr_data(16位)command(2位),当addr=0&&wr,进入状态机;当addr=2& amp; amp;&rd,从数据线读取数据data_o。

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

2.4 软件设计

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

 


图3 时序仿真图

 


图4 Avalon接口信号

由于在NiosII IDE 环境下可直接编写用户程序,所以可以不用编写驱动程序。在NiosII IDE 环境下,可直接调用函数IOWR (BASE,OFFSET,DATA) 和IORD(BASE ,OFFSET) 对内部寄存器进行读写。Avalon总线在wr和rd的控制下进行读写。

3 测试

农业智能大棚(该花卉的适宜温度是18 ℃,适宜湿度是58 RH),也就是棚内维持在作物适宜生长的温度、湿度等。若有变化,其将会调节相应的外围设备,来保持最佳环境。在大棚中,在测试节点上,SHT11监测实时的温度和湿度,将数据送到nRF24L01,数据通过基站最终到达终端虚拟控制中心。其所获得的数据变化曲线如图5、图6所示。

 


图5 温度随时间的变化曲线图  图6 湿度随时间的变化曲线图

结语

本文介绍了基于Avalon总线SHT11温湿度传感器自定义IP核的开发流程,利用有限状态机设计了驱动硬件逻辑,并且基于NiosII嵌入式处理器构建了一个用户定制的嵌入式系统。在SOPC中,设计人员可以灵活添加IP核,减轻设计负担,避免重复工作。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

传感器的DATA口需要接4.7K的上拉电阻。上拉电阻的作用是在单片机不进行输出以及传感器待机时,使得DATA口为高电平,当总线闲置时, 其状态为高电平。

关键字: dht11 温湿度传感器 上拉电阻

IP核,也被称为知识产权核或知识产权模块,是经过反复验证的、可以重复使用的集成电路设计宏模块,主要应用于专用集成电路(ASIC)或者可编辑逻辑器件(FPGA)。IP核主要分为软IP核和硬IP核。

关键字: MCU器件 IP核

温湿度传感器的应用非常广泛,在各种领域都有使用,尤其是在需要实时记录温湿度等参数变化的场所中最为明显。有了这样的温湿度传感器人们和各种系统就可以根据设备记录的内容,对其进行科学高效的管理,分析和控制,温度传感器按传感器与...

关键字: 温湿度传感器 温湿度监控系统

温湿度传感器是人们最常见到传感器之一。通过一定的检测装置测量空气中的温湿度,将温湿度转换为电信号或其他所需方式的信息导出,以满足用户的需求。因为温度和湿度与物理量本身和现实生活密切相关,所以温湿度集成的传感器会相应产生。...

关键字: 温湿度传感器 温湿度传感器原理

通过温湿度传感器可以测试出空间环境的相对湿度以及湿度、饱和湿度等,它对于许多行业具有重要意义。在选择该种设备时要注意外部材料是否具备防腐蚀性,同时要综合及抗震性、耐压性等进行选购。那么选择温湿度传感器还有哪些注意事项呢?

关键字: 温湿度传感器 温湿度传感器选型

温湿度传感器作为一种常见的传感器,主要作用是监测空气中的温湿度数值,并按照一定的规律转变成电信号或其他形式进行输出,帮助用户达到监测温湿度的要求。对比传统单一的温湿度测量器,温湿度传感器可依托于物联网技术实现远程监测,随...

关键字: 温湿度传感器 温湿度传感器应用

本文中,小编将对温湿度传感器予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 传感器 温湿度传感器

温度:度量物体冷热的物理量,是国际单位制中7个基本物理量之一。在生产和科学研究中,许多物理现象和化学过程都是在一定的温度下进行的人们的生活也和他密切相关。 湿度:湿度很久以前就与生活存在着密切的关系,但用数量来进行表示...

关键字: 温湿度传感器 温湿度传感器应用

产品基于LoRa®无线通信技术,具备本地存储功能,可存储高达3000条传感器数据,且支持断网数据重传与数据回传功能,确保信息可追溯,避免数据丢失。

关键字: 星纵物联 温湿度传感器 LoRa无线通信技术

领先的半导体IP核提供商Arasan Chip Systems今天宣布,其MIPI DSI-2、CSI-2和C-PHY/D-PHY Combo IP已在Testmetrix...

关键字: STM TEST AN IP核
关闭
关闭