引言
sopc(system on a programmable chip)称为可编程片上系统,它是基于用可编程逻辑器件(fpga或cpld)的可重构的片上系统(soc)。可编程片上系统(sopc)是al-tera公司提出的一种灵活、高效的soc解决方案。它将处理器、存储器、i/o口等系统设计需要的功能模块集成到一个可编程器件上,构成一个可编程的片上系统。sopc结合了soc和cpld、fpga各自的优点,具备有以下基本特征:至少包含一个嵌入式处理器内核;具有小容量片内高速ram资源;丰富的ip核资源可供选择;足够的片上可编程逻辑资源;处理器调试接口和fpga编程接口;包含部分可编程模拟电路;单芯片、低功耗、微封装。
温湿度是工农业生产、气象、环保、国防、科研、航天和科学实验中的重要参数,而温湿度自动控制系统广泛应用在工业生产、医药、农作物栽培和科学实验等许多领域。目前国内市场上大多数的温湿度自动控制系统是基于单片机或arm系列芯片来设计的。对比这两种设计,基于sopc的温湿度自动控制系统的集成度更高也更加轻便;比基于单片机的温湿度自动控制系统稳定度和精度更高,而比基于arm系列芯片的温湿度自动控制设计方式更方便,设计周期更短.成本价更有优势。
1 系统构成
温湿度自动控制系统的总体框图如图1所示。该系统从结构上分为两层:第一层是由pc机组成的,作为上位机;第二层是由nios系统和外围设备组成的,作为下位机,上位机与下位机之间采用rs485总线进行通信。
下位机结构框图如图2所示.它是由nios系统和执行机构及显示、输入、输出端口组成的。nios系统由cpu(nios)、片上ram、定时器、总线、异步串口uart和通用pio组成。其中.nios系统通过pio与a/d转换器、键盘、led显示器、执行机构等连接。
温湿度自动控制系统的工作过程是:首先通过温湿度传感器进行信息采集;其次是nios系统把采集到的信息通过uart接口传送至上位机.上位机对采集到的信息进行分析处理;最后,nios系统根据上位机的分析处理结果对终端控制设备输出决策的指令,如果温度或湿度超限,则显示并报警,同时驱动风扇或加热器等设备。该控制系统在下位机还增加了键盘输入,这样下位机可以单独使用,从而使下位机本身成为一个独立的控制系统。我们下面重点介绍下位机的设计过程。
2 系统下位机的硬件设计
sopc系统的硬件开发步骤如下:用sopc builder生成niosⅱ嵌入式处理器;用quartusⅱ将niosⅱ嵌入式处理器和其他逻辑电路结合进行设计输入;然后进行编译(包括分析综合和布局布线);最后通过下载电缆将硬件配置数据下载到fpga中。
本系统的下位机硬件设计采用altera公司的sopc开发工具(即sopc builder)进行设计。altera公司提供的sopc builder工具可以方便设计个性化的niosⅱ软核。裁剪掉不需要的外设以节省系统资源,增加需要的接口。利用sopc builder工具设计者可以很方便地把处理器,存储器、其它外设模块和必要的pio接口连接起来开发成一个完整的系统。在sopc builder。图形用户界面下,设计者还可以管理ip模块.设置系统参数并选择可用的端口和外设。完成设计之后,系统启动生成程序,就会生成大量的输出文件,包括hdl逻辑文件、程序的头文件和库文件等。这些文件都包含在niosii ide开发环境中,在此软件开发平台上就可以进行niosii的软件开发了。
2.1 niosⅱ软核处理器
niosⅱ软核处理器是altera公司推出的一种通用32位risc嵌入式处理器。它特别为可编程逻辑进行了优化设计,并配备有功能完善的开发套件。包括c/c++编译器、集成开发环境(1de)、jtag调试器等,是altera公司可编程单芯片系统解决方案的核心。
作为软核处理器。nios ii提供了可配置的硬件及软件调试特性.包括基本的jtag的运行控制(运行、停止、单步、存储器等)、硬件断点、数据触发、片内和片外跟踪、嵌入式逻辑分析仪。这些强大的工具可以在开发阶段使用,调试通过后便可以去掉,节省资源。niosⅱ处理器还提供了高、中、低三种不同性能的内核,通过与altera提供的超过60种ip核(如uart、时钟、dma、sdram、并行ipo等)结合使用,设计师可以方便地针对特定的应用创建一个在处理器、外设、存储器和pio接口方面都完美的方案。除此以外,niosli还有很多其他优秀的特性,如指令定制、硬件加速器等。
2.2 avalon总线
avalon总线是为了将片内处理器和外围设备连接成可编程片上系统(sopc)而设计的简单总线结构,该总线规定了控制器和从属组件间的端口连接以及组件问通信的时序。avalon总线的基本传输模式是在一个主外设和一个从外设之间进行单个字节、半字或字的传输。当一次传输结束后,不论新的传输过程是否还是在同样的外设之间进行,avalon总线总是可以在下一个时钟周期立即开始另一次传输。avalon总线支持多个总线主外设,允许单个总线事务中在外设之间传输多个数据单元。这一多主设备结构为构建sopc系统提供了极大的灵活性,并且能适应高带宽的外设。
2.3 外围设备
在该系统中.nios系统中包含有片上ram、定时器、异步串口uart和通用pio等外围设备。这些外围设备集成在sopc builder开发工具中,用户只要将需要的外围组件与cpu通过avalon总线集成在fpga中,就可以完成整个下位机硬件设计,从而缩短了设计周期。
2.4 温湿度传感器
该系统选用的温湿度传感器是shtll,该传感器是瑞士sensirion公司生产的具有pc总线接口的单片全校准数字式相对湿度和温度传感器。该传感器采用独特的cmosens tm技术,具有数字式输出、免调试、免标定、免外围电路及全互换的特点。
3 系统下位机的软件设计
系统下位机软件设计是在nios ide开发环境中进行的,在sopc builder生成的软件基础上,利用c/c++语言编写源程序,然后经过编译、连接、调试生成可执行文件.最后通过下载电缆对可执行程序进行调试和运行。系统下位机软件主要包括初始化、数据采集子程序、串口接收与发送子程序、温湿度控制子程序及显示子程序。在这里重点介绍温湿度控制子程序的流程图.如图3所示。
该温湿度自动控制系统的温度要求控制在5℃~30℃之间,若采集到的温度t》30℃,程序转向jw(降温处理程序),并发出报警信号;若t《5℃,则程序转向sw(升温处理程序)。并发出报警信号;若30℃》t》5℃,则程序转向显示子程序并返回主程序.湿度控制过程和温度类似。
结论
本系统利用sopc技术,将信号采集模块和微处理模块巧妙的集成到一片fpga内部.并利用可编程逻辑的灵活性和nios ii的强大处理能力,方便地实现了温湿度自动控制的功能。该系统的实现功能还是相对比较简单的,由于fpga内部还有大量的逻辑资源可以利用.因此可以实现更为复杂的功能。
实际结果表明:基于sopc的温湿度自动控制系统运行正常、数据传输可靠、操作管理方便,如果再配备上485总线。整个系统将如虎添翼。
由于fpga的可编程特性,可以在不改变任何外围电路的情况下对系统进行软硬件升级,大大延长了系统的寿命周期,这一点也是相对于其它控制系统的优势,采用sopc方案进行系统设计,正符合当今科技的发展方向。
最小次谐波振荡 飞兆推出两款单通道升压控制器
你是否有潜质成为谷歌开发者专家?加入 "GDE 成长计划",释放潜力!
受iPhone23出货强劲推动,供应商鸿海业绩倍增
中国移动正式公布了5G试验型终端第三批集采中标候选人结果
服务器常见专业术语大全(一)
SOPC技术下设计温湿度自动控制系统
松下推出了其新的Lumix DC-S5全画幅无反光镜相机
神级DIY:自制多功能游戏竞赛抢答器
电位器转0-10V电压强驱动模块GML002
沟通感应电动机的类型有哪些
电池的【电压】【 电流】【 容量】
快检查一下,你的手机是大核CPU吗
一文详解交叉极化干扰技术
拆分芯片生产业务,英特尔股价大涨 5% 八个月来最大涨幅
健康呼吸我们是认真的!制氧机如何选购?
如何找到连接到服务器的客户端计算机的IP地址
理想中的程序员
小米6明日公布发布时间,还会是1999元吗?
承德科胜MY-300纸张打码机|墨轮打码机|河北包装机
起亚KX7怎么样?车主总结出起亚KX7的优缺点,起亚KX7suv到底值不值得买?