五、设计描述
设计描述分硬件和软件两个部分。硬件部分主要包括GPRS功能模块、IC卡读卡器模块、SRAM和Flash芯片以及各种接口等;软件部分主要完成检测IC卡,连接网络服务器,通过人机界面进行实时信息交互等。
整个系统通过Nios II软核处理器控制,SOPC Builder’负责添加各种外设、逻辑模块,并分配地址空问、中断优先级,采用全新的具有Windows界面风格的Nios II集成环境IDE开发和调试软件程序,极大地简化了系统设计。
1.硬件部分
(1)GPRS功能的实现:采用了市售的通用带GPRS功能的GSM模块,具体为Telit公司的GM862模块;GSM模块和Nios处理器之间的通信采用AT命令,这样可以简化产品设计。
(2)SRAM和:Flash的选用:SRAM选用了SOPC Builder标准配置的两片IDT71V416,Flash也选用SOPC Builder中原有的AMD系列的AM291N017D。
(3)以太网芯片的选用:以太网芯片采用DVICOM的DM9000,这与SOPC Builder。中提供的以太网接口芯片不兼容,为此.我们自行编写了该芯片的驱动程序。
(4)IC卡读卡器及显示接口:使用FPGA中的逻辑单元自行设计硬件接口模块,其中读卡器接口模块中成功地设计了曼切斯特解码模块;显示接口电路也采用通用逻辑单元设计,包括对显示器接口已有字库的处理。
(5)扫描手柄及键盘:扫描手柄使用UART接口,键盘采用PIO接口,这些都是通过SOPC BuildeI软件提供的IP核来实现的。
2.软件部分
六、系统特点
(1)SOPC Builder中IP核的使用。我们在设计过程中,尽量使用SOPC Builder中已有的标准配置IP核,如UART、Flash、SRAM等,这样可以缩短开发时间,提高系统可靠性。但考虑到实际情况,我们又不得不参照SOPC中提供的类似IP来自行设计一些自己需要的IP核,如以太网接口部分、显示接口部分。从设计成果来看,自行设计的IP核还是比较成功的。
(2)轻便和便携特性。采用AITERA公司的嵌入了Nios软核处理器的FPGA开发的产品具备高度集成的特点,在一块Cyclone芯片中我们不仅集成了一个CPU,而且CPU周边的硬件逻辑也可以一块集成进去。我们还利用该芯片内的逻辑单元设计了曼切斯特解码模块以及显示接口模块等,从而使该芯片的外围接口电路尽可能减少,达到高度集成的日的使该产品突出了便于携带的特性。
(3)低成本,高性价比特性。由于我们在产品的FPGA中采用了性价比极高的Cyclone芯片,再加上NiosII嵌入式处理器的完美结合,大大降低了该产品核心处理器部分的成本,而且该产品其他模块及芯片同样采用高性价比产品,这样就能在不改变设备功能的基础上降低设备成本,提高整机性价比。
(4)有线和无线通信方式兼备。在设计之初,我们考虑了两种与服务器的通信方式,即以太网方式和GPRS方式,以方便用户因地制宜,择优选用。在有以太网的条件下选用以太网连接,可以提供相对较高的传输速率和可靠的连接;在没有以太网连接的条件下选用GPRS连接进行通信,可以使该产品在有移动网络信号覆盖的区域内随时随地进行通信,突破了该产品使用地点的限制。
(5)良好的系统扩展和升级空间。我们采用的ALTERA公司的可编程逻辑器件本身就具有易于扩展和升级的固有特性,现在我们把可编程逻辑的固有优势集成到嵌入式处理器的开发流程中,于是开发出了非常成功的产品。这些特性为该产品的升级和扩展提供了广阔的窄问。我们不仅可以对系统集成的软件程序进行更新升级,而且还可以根据我们的需要在条件允许的情况下更改FPGA内部的设计,更有利于产品的更新。
七、总结
在参加这次比赛之前,我们一直使用ALTERA公司的FPGA和CPLD开发相关的产品,对Nios处理器的了解只停留在ALTERA公司的网站以及骏龙公司的宣传卜。本次Nios设计大赛给我们创造了一个良好的增强对Nios处理器感性认识的机会。通过本次比赛,我们对Nios的全新的设计理念和特性有了深刻的体会。
1.处理器体系和开发流程
基于Nios处理器的系统采用新的处理器和新的设计流程。嵌入设计者采用C指令集作为嵌入设计的事实标准。ALTERA和Cygnus(现归RedHat所有)密切合作定义指令集体系,这样Cygnus可以很容易地导入和优化他们的GNUPro Toolkit,这是绝大部分设计者非常熟悉的标准GNU环境。
现成的微控制器提供了定义明确的外设组,由制造商集成处理器和外设。町配置处理器让设计者自行创建总线体系,定义存储器映射和分配中断优先级,非常自由地完成更多的T作。ALTERA相信SOPC的优势会吸引嵌入设计者,条件是它的需求最小,风险很低。
2.SOPC BUilder
我们认为减轻设计者负担的最佳途径是把所有与处理器子系统相关的底层详细资料集中到单个工具中,这个工具就是SOPC Builder’,它必须:第一,具有直观的图形用户接口(GUI),便于设计者准确地添加和配置系统所需的外设,包括存储器、定制外设和IP模块:第二,自动完成系统集成工作,这样我们就可以不必拘泥于定义存储器映射、中断控制和总线控制这样的“制造商工作”。
GUI是更大的问题。它必须是直观的,允许设计者配置复杂的系统。除了提供软件和集成的OS之外,还包括定义具有多总线主设备、总线仲裁和DMA控制的系统。我们幽默地称之为“库一表接口”,它能自动地把部件添加到系统中,用户从有效外设厍中进行选择。
3.自动生成和集成软、硬件
当用户点击“Generate”按钮时,SOPC Builder会生成每个硬件部件以及连接部件的片内总线结构、仲裁和中断逻辑。SOPC Builder’也会产生系统可仿真的RTL描述,以及为特定硬件配置设计的测试平台,能够(可选)把硬件系统综合到单个网表中。
拥有了这些合适的部件,我们对自动硬件生成过程基本满意,但是我们还需要满足软件设计者的要求。利用设计过程中采集的信息,我们设计的SOPC Builder?能够生成C和汇编头文件,这些头文件定义了存储器映射、中断优先级和每个外设寄存器窄间的数据结构。这样的自动生成过程帮助软件设计者处理硬件潜在的变化性。如果硬件改变了,SOPC Builder会自动更新这些头文件。SOPC Builder也会为系统中现有的每个外设生成定制的C和汇编函数库。例如,如果系统包括一个UART,SOPC Builder-就会访问UART的寄存器定义一个C结构,生成通过UART发送和接收数据的C和汇编例程。
4.系统扩展
为了允许第三方(如提供Nios相关产品的产商)像ALTERA一样有效地管理SOPC部件,ALTERA不是把处理器简单地接到SOPC Builder提供的标准外设上,而是开放了SOPCBuilder流程的硬件和软件接口。
ALTERA围绕着开放可扩展标准重新设计SOPC Builder,这个标准能够生成和连接定制模块,我们称之为“部件”。在这个标准下,ALTERA定义了系统配置文件格式,叫做System PTF文件。该文件是系统的配方,它定义了SOPC Builder生成完整系统必需的详细信息。ALTERA还定义了部件专用信息的文件格式,叫做Class PTF文件。Class PTF包含SOPC Builder配置和生成部件所需的详细信息。
配置的另一部分是系统配置,用户提供的有关处理器配置、外设连接等数据写入System PTF中。当这两部分配置都完成后,SOPC Builder进入到生成阶段,生成设计的输出文件。SOPC Builder查阅每个Class PTF文件,允许相关的部件生成程序,它们会正确地输出特定系统配置的硬件和/或软件文件。
简单的部件生成程序可能每次都会输出相同的文件:更多的可配置部件根据用户输入会生成完全不同的结构。例如,Nios处理器中包括的UART可以配置为软件控制波特率,以更多门换取更大的灵活性。这种配置选项由用户在部件配置阶段进行设置,根据这个设计,UART生成程序产生所需UART。的硬件描述。在生成阶段的最后一步,SOPC Builder创建适合于系统部件的总线结构,把所有的部件连接在一起。
5.Nios II集成环境(IDE)的应用
本次设计采用全新的Nios II集成环境IDE,与原先的开发环境相比,所有的寄存器操作更简单明了,使用和调试环境更加方便。而且原来的开发工具下载、调试过程不方便,一是程序通过串口下载速度太慢:二是不具备图形化的编译、调试环境。Nios lI IDE就可以通过JTAG—UART下载和调试,兼具Windows界面风格。
用户377235 2013-1-4 20:22
3145891527926