基于NiosⅡ/SoPC的高精度温度传感显示设计
2010-09-07汤朝霞李洪群
汤朝霞 李洪群
(苏州工业职业技术学院电子工程系 江苏苏州 215104)
基于NiosⅡ/SoPC的高精度温度传感显示设计
汤朝霞 李洪群
(苏州工业职业技术学院电子工程系 江苏苏州 215104)
介绍了一种基于嵌入式NiosⅡ软核处理器的SoPC设计方法,实现了精确到万分之一的温度传感显示,本设计采用了软硬件协同设计的方案,实验效果好,实践效果切实可行。
FPGA/SoPC;NiosⅡ内核;软硬件协同;温度显示
0 引言
SoPC(System on Programmable Chip片上可编程系统)以其高速、高集成度、低功耗的特点成为现代电子技术的发展方向。SoPC技术的目标是将尽可能大而完整的电子系统在一块FPGA中实现,使得所设计的电路在规模、可靠性、体积、功能、性能指标、上市周期、开发成本、产品维护及其硬件升级等多方面实现最优化。本设计将温度传感器TMP100的温度变化模拟量转换为数字量,再通过I2C总线传输到FPGA,在FPGA片内运行NiosII CPU,通过I2C总线控制器IP核把TMP100上的数据读出来,具有数据显示精度高、软硬件协同设计集成度高、开发成本低等特点。
1 软硬件协同设计
SoPC设计包括以NiosII软核处理器为核心的嵌入式系统的硬件配置、硬件设计、IDE环境的软核设计、软件设计等。QuartusII用于完成NiosII系统的分析综合、硬件优化、配置文件编程下载等;SoPC Builder是NiosII软核处理器的开发包,用于实现NiosII系统配置、生成以及与NiosII系统相关的软件调试平台的生成。NiosII IDE用于完成基于Nios II系统的软件开发和调试。如图1所示为SoPC软硬件协同设计的基本流程,在顶层的SoPC Builder设计完成后,分别进入QuartusII进行硬件设计和NiosII IDE软件设计,然后再分别下载到平台执行。
图1 软硬件结合整体设计流程图
2 温度传感显示的软硬件协同设计方案
本设计采用具有I2C串行接口的数字温度传感器TMP100,而传统温度检测用的热敏电阻虽然成本较低,但需要后续信号处理电路,而且可靠性、准确度及精度都不够理想。设计中选用美国TI公司最新推出的TMP10O数字式温度传感器,它的性能指标优于传统热敏电阻,且能够直接读出被测温度,再通过软硬件结合的设计方案,温度值以小数点后4位的精确度在LCD上显示。结构框图如图2,TMP100可以把周围模拟的温度值,转换为数字量通过I2C总线输出,AD精度达到12 bit,能够显示小数点后4位,AD转换的数据以十六进制输出,高8位整数部分,低4位小数部分。
图2 结构框图
2.1 基于SoPC Builder的顶层系统模块架构
用SOPC Builder可以进行系统模块硬件设计和底层软件生成。进行硬件模块设计时,SOPC Builder提供图形化配置界面,备有一些常用外设的IP模块,如SRAM、Flash RAM、UART、LCD Interface、Parallel I/O等。用户还可以加入自己的外设设计文件。
本设计添加NiosII CPU、SDRAM contrller、Character LCD和I2C_master等IP核,另外再添加2个8 bit的输出PIO和6个8 bit输入PIO。其中,LCD contrller核带有Avalon接口的16207 LCD为NiosII处理器提供了它所需的硬件接口以及软件驱动,可以在面板上显示16x2的字符。NiosII使用标准ANSIC库文件比如printf()来让LCD显示字符。LCD控制器LCD controller核包括了两部分可视元件,即连接到16207 LCD面板上的11根信号线和提供了4个寄存器的Avalon Memory‐Mapped从机接口。本系统添加的IP核如图3。
图3 建构完成NiosII系统模块(IP核)
2.2 基于Quartus II硬件设计
本设计在以上建构完成的NiosII系统模块基础上,再添加锁相环PLL,进行管脚分配,完成的温度传感显示设计整体连接如图4。
图4 QuartusII中整体设计的连接图
2.3 基于NiosII IDE的软件设计
利用SoPC Builder开发工具创建专用的处理器系统的硬件后,SoPC Builder还为编写操作这些片上硬件的软件代码提供了一个NiosII集成开发环境(IDE),这个软件开发环境包括语言的头文件、外围接口的驱动以及实时操作系统的内核,可完成整个软件工程的编缉、编译、调试和下载等过程,极大地提高了软件的开发效率。
如图5,本设计实现的是温度传感器TMP100把温度变化的模拟量转换为12 bit十六进制(高8位整数,低4位小数)的数字量,再通过12C总线传输到FPGA,在FPGA内运行系统模块后,将十六进制数转换为ASCII码,然后发送到LCD上显示温度。本设计AD精确度达12 bit,能够显示精确到万分之一的温度值。设计方案实验验证如图6,手指放在温度传感器上,在LCD上能以小数点后4位的形式精确地显示相应温度值。
图5 十六进制转换ASCII码
图6 设计方案的实验验证
3 结束语
应用NiosⅡ/SoPC的高精度温度传感显示设计体现了软硬件协同开发方法的系统可定制、可修改、硬软件子系统并行、系统结构清晰等特点。与传统方法比较,该方法在降低嵌入式系统设计复杂性、缩短开发周期、降低开发成本、保证系统可靠性等方面具有明显优势。随着逻辑设计和EDA支持技术的发展,基于SoPC技术的软硬件协同设计方法正在成为嵌入式应用系统设计的必然。
[1] 宋跃,利剑清.基于Nios II/SoPC的嵌入式数字IC测试[J].仪表技术与传感器,2009(6):68-70.
[2] 舒斌,罗仁宇.基于Niosll的远程温度监控系统[J].成都信息工程学院学报,2008(12):65-67.
[3] 窦建华,耿锐.基于NIOS II实现的船载雷达监控系统设计[J].合肥工业大学学报:自然科学版,2009 (4):75-77.
[4] 包明,余成波.嵌入式处理器Nios II与液晶显示模块的接口及应用[J].电测与仪表,2006(1):53-56.
[5] 吴浩涵.基于SOPC技术的嵌入式系统设计[J].军事通信技术,2006(6):32-34.
Display Design of High-precision Temperature Sensing Based on NiosⅡ/SoPC
TANG Zhao-xia LI Hong-qun
(Department of Electronic Engineering,Suzhou Institute of Industrial and Technology,Suzhou 215104,China)
The article introduces an embedded NoisII soft-core processor based design which can achieve one ten-thousandth remote sensing temperature display accuracy.The design adopts co-design methodology of hardware and software.The experimental result is good and in practice,it is rational.
FPGA/SoPC;soft core NiosⅡ;co-design of SW and HW;temperature display
book=14,ebook=14
TP 212
A
1672-2434(2010)03-0013-03
2010-04-16
汤朝霞(1973-),女,讲师,硕士,从事研究方向:嵌入式技术和智能控制