导航菜单

一种基于NIOS II处理器的串口通讯实现

张洪峰

(中国电子科技集团公司第三十八研究所,安徽 合肥 230031)

【摘 要】与传统的仅采用基于微处理器的软件设计或者采用FPGA的硬件实现相比,SOPC的软硬件协同设计方法完全不同。它可根据应用系统的不同要求,适当的划分软硬件的功能,以求得最佳的性价比。同时,相比于传统的PC104系列计算机,SOPC系统在环境适应性有明显的提高。简易介绍了基于NIOS的SOPC构建、以及串口通讯软件的设计。

教育期刊网 http://www.jyqkw.com
关键词 NIOS;串口通讯;微处理器

0 引言

随着集成电路自身的不断发展、器件尺寸的不断缩小、集成度的不断提高、多种工艺水平的突飞猛进,将整个系统集成到一个芯片上变得可能,于是SOC(system on chip)的概念应运而生。采用SOC设计技术,可大幅度提高系统的可靠性、减小系统的面积、降低系统成本和功耗、极大的提高性价比。过去,altera作为可编程器件供应商,他提供PLD器件。如今。Altera又是系统方案的供应商,他现在为客户提供的服务是如何把一个系统所需的嵌入式功能块,也就是IP核,放到可编程逻辑器件上组成系统,这就是SOPC(system on programmable chip)技术。

1 NIOS II 软核SOPC系统及组件

NIOS II处理器系统包含一个或多个可配置NIOS II CPU软核、与CPU相连接的片内存储器、以及与片外存储器和外设相连的接口等。所有的组件在一个FPGA芯片上实现。所有NIOS II处理器系统使用统一的指令集和编程模型。

一个典型的NIOS II处理系统如图1所示。

图1中,CPU、外设、外设接口,如SDRAM控制器、片内ROM/RAM、三态桥、UART、定时器、LCD显示驱动电路、通用I/O、以太网接口和Compactflash等都是牺牲FPGA内部的逻辑资源为代价的。因此,在进行具体的软核架构时,可对不必要的外设进行缩减,以满足低成本的小型系统设计。

2 基于NIOS II处理器的串口通讯实现

2.1 软核架构

本软核相对比较简单,包含一CPU处理器、片上ROM、JTAG UART、RS232串口、定时器、一组位宽都是16bit的地址、数据总线以及相应的读写控制信号。图2给出了本系统的软核架构。

2.2 软件设计

2.2.1 设计流程

本程序在eclipce环境下,采用c语言编写,本软件主要完成的各项功能包括:

①系统的初始化,包含定时器、串口中断的初始化;

②解析串口收到的协议数据包;

③对满足协议的数据包给出反馈,完成系统间的握手通讯。同时,按照约定的协议,将数据分发到本地的各地址端口。图3给出了本软件的设计框图。

2.2.2 部分软件源码

软件代码主要包括三部分:初始化函数、串口数据接收函数、以及数据包解析函数。

2.3 设计结果

不妨假定系统间的通讯协议格式如下

基本格式为:

借助于串口调试助手软件,按照通讯协议要求,手动将一组满足协议的数据包发送给NIOS,NIOS解析数据后,反馈相应的数据实时打印在串口调试界面上,从而成功完成了握手通信。

3 结语

本文介绍了一种基于NIOS II处理器的串口通讯实现,阐述了如何进行软核构建、给出了软件设计流程以及部分代码,同时介绍了怎样验证软件设计的正确与否。本设计已经成功应用于多种型号产品中,性能稳定,可靠性高,在工程应用中具有一定的参考价值。

教育期刊网 http://www.jyqkw.com
参考文献

[1]李兰英,等.Nios II嵌入式软核SOPC设计原理及应用[M].北京:北京航空航天大学出版社,2006,11.

[责任编辑:汤静]

下载文本