3 软核CPU的构建
Altera推出的Nios/NiosⅡ系列嵌入式处理器扩展了目前世界上最流行的嵌入式软核处理器的性能,是Altera公司为其FPGA产品配套开发的软核CPU。在逻辑功能上,它们是32 b的精简指令集CPU,用户可以获得超过200 DMIPS(Dhrystone Millions of Instructions Per Sec—ond,百万条指令/秒)的性能,并从三种处理器(e型、s型、f型)以及超过60个的IP核中选择所需要的。NiosⅡ系统为用户提供了最基本的多功能性,设计师可以据此创建一个最适合他们需求的嵌入式系统。Nios及NiosⅡ处理器通过FPGA编程的方式实现用户所需,这是与传统的CPU的一个根本的差别。
SOPC系统的平台包括:Altera的Nios处理器、Aval—on总线,片内外存储器以及外设模块等。利用SOPCBuilder,用户可以很方便地将处理器、存储器和其他外设模块连接起来,形成一个完整的系统。其中,SOPC Build—er中已包含了Nios处理器和其他一些常用的外设IP模块。用户也可以设计自己的外设IP。
可见,利用SOPC的软核CPU技术在以下方面具有很大的技术优势:提高系统性能;更低的系统成本;应对产品的生命周期;功能强大、易用的开发工具等。
SOPC Builder是QuartusⅡ附带的一个用来开发基于处理器、外围以及存储器的片上可编程系统的开发工具。SOPC Builder可以根据用户的编辑实时地生成.ptf文件;系统PTF文件类似于一个数据库文件,它存储了系统模块列表,模块信息等。
在SOPC Builder环境里,用户可以直接调用软件提供的用于构建CPU的基本模块,也可以自定义模块。本课题需要的模块中,网络接口与语音处理接口需要自定义,在构建前必须有二者的源文件,设计采用了Verilog HDL书写源程序,事先写好了DM9000A.v和Open_I2C.v两个底层程序。
前述SDRAM接口、键盘输入接口、网络接口芯片接口、音频处理接口和I2C接口均连接到Avalon总线,相当于总线的外挂设备。构建完成,选择自动生成地址,其结果如图5所示。
构建完成后生成(Generate).bsf格式文件system.bsf,转到QuartusⅡ环境下可以直接调用,相当于一个自定义的控制器芯片。
4 接口电路的软件设计
4.1 软件设计
作为IP网络的一个端点,IP电话必须像其他IP终端一样,为其分配IP地址、子网掩码、缺省路由器、DNS(Do—main Name System,域名系统)等。同时它存在自动和人-工两种配置方式,自动方式的IP电话必须使能DHCP(Dynamic Host Configuration Protocol,动态主机分配协议),手动方式由用户对IP电话配置必要的信息。整个IP终端的软件设计包括了主控制器、网络接口、音频输入/输出口和可选择的存储器等部分的设计,其软件系统结构如图6所示。
首先使用SOPC Builder系统工具构建了一个NiosCPU作为整个系统的处理器核,它的Avalon总线对其他接口及控制器进行指令和数据传输,包括:由内部定时器控制的Avalon总线;为Nios CPU配置了JATG通用异步收发器UART;为可选择的片外存储器配备了专用存储器接口;控制语音输入输出的音频数据接口,实现语音编解码的控制和流处理;以太网接口负责CPU与DM9000A的数据收发和协议转换;