基于单片机软核的SOPC系统设计与实现
时间:08-31
来源:互联网
点击:
2 系统设计方法与关键技术
2.1 系统设计方法
系统设计采用的核心工具软件:设计输入编程器及仿真工具——ActiveHDL6.1,逻辑综合工具——Synplify Pro 7.6结构综合工具——QuartusII v4.1,仿真工具——Modelsim 6.0 SE。Active DHL+Synplify+Quartus I工具链提供了从源代码输入到FPGA实现整个流程的核心开发平台。
SOC的设计、仿真和验证确实是一个纷繁复杂的过程。在实际运行中,采用IP核分别设计然后再整合在一起的方法来进行:先进发单个IP核,仿真、下载到FPGA板进行测试,所有的IP核均满足设计要求后,再挂接到WISHBONE总线上进行仿真与验斑点。由于整体仿真成功的几率太小,而且每次仿真占用的时间太长,因此设计中采用循序渐时的方法。实际上,每个IP核都有自身的特殊性,分别开发也是必然的。例如开发USB IP核时,就要单独开发主机端(PC机)驱动程序及8051汇编接口。
2.2 关键技术
2.2.1 系统集成时仿真时间过长的解决
SOC的仿真一直是该技术实现中耗时最长的。在用SOPC实现系统集成时,由于多个IP核集成后系统仿真时间延长,占用了系统宝贵的开发时间,而USB IP核仿真时占用时间最长,因此开发两个模型:一个是USB HOST端的HDL行为模型,这个模型模拟了一个真实HOST的行为过程,如上电检测、速度识别、标准设备请求等过程,并且可以检测USB设备应答数据是否正确。另一个是8051 IP核的行为模型,用于仿真8051核的行为。把这两个模型与USB IP连接,在Modelsim软件包中进行仿真。实验证明效果很好,与直接用IP核集成方式仿真相比,时间减少了80%以上。
2.2.2 MC8051 IP核数据传输端口的选取
在考虑如何选取MC8051 IP核的数据传输端口时,有两种方案可供选择:一种是利用四组8位并行I/O端口作为主设备(MASTER)数据传送信号端口,它们的编程方式、时序、功能与8051单片机的四个并行口p0、p1、p2、p3相似;另一种方案是利用该核特有的用于与RAM存储器传送数据的端口作为主设备端口;同时把RAM存储器接在WISHBONE总线的从设备端口,以使从设备与8051 IC核进行数据传输。后一种方案与前一种方案相比,优点是当设备已经被选中处于就绪状态时,只需要一条MOVX指令就可以完成对从设备的仿问(读、写操作)。而第一种方案至少需要先通过并行I/O端口输出地址、再输出数据或读入数据,至少需要两条以上传送指令,增加了数据传送时间。通过对代码的分析和仿真可以知道,使用第二种方案大大提高了运行速度(约为前一种的三倍),同时方便了系统的开发。
2.2.3 系统软件的运行方式
由于8051 IP核的指令执行从ROM中的0地址开始,因此需要把ASM51汇编程序先编译生成HEX文件,再把这个文件与硬件一起综合、映射、下载,这样该HEX文件就可以作为初始文件保留在ROM中,用来实现软硬件协同仿真。
2.2.4 仿真库的选取
有些软件包不含所有的FPGA器件的单元库(Logic Cell Library),如ActiveHDL6.1。因此仿真时常报库单元不存在错。设计中采用的办法是用Modelsim仿真,并且提前编译好的仿真用的单元库。这样就很好地完成了逻辑门级仿真和时序级(布局布线后)仿真。
3 系统新增重要部分的设计及创新之处
由于水文测报的特殊性,常常需要传送大容量的文件,如图片、实时数据采集包等,同时有些数据需要备份、上传。原单片机PCB板有UART、I2C等通信功能块,本文的SOPC集成除了开发上述功能模块IP核外,还增加了USB IP核的设计。在实际测试中,USB接口的使用大大提高了系统的数据传输速度,而且更方便、更灵活,大大提高了系统功能。
USB协议结构复杂,涉及的面很广,IP核的开发难度最大,同时考虑到USB IP核在整个系统中的特殊性,下面将详细说明USB IP核的设计与集成过程。
3.1 USB IP核设计基本原理及框图
USB IP核的设计原理图如图5所示。USGB主控制器为USB主机端(通常安装在计算机内),负责主机与USB设备间的物理数据传输,即将客房软件启动的数据传输转化为USB总线上的实际串行数据流,经USB传输线传输。收发器将收到的数据转换成数字CMOS串行数据流,然后通过USB核控制逻辑传输到设备端点(图中的E0~E6),最后通过DMA接口传送到8051 IP核或存储在SSRAM中。

按照USB协议,USB提供三种速度传输模式:低速的1.5Mbps、全速的12Mbps、高速的480Mbps。根据设计要求,USB IP核的传送速率应当在全速以上。因此,设计USB核时,采用全速的USB设备标准,同时增设DMA接口和DMA控制器IP核,以保证升级成高速设备时USB IP核的可复用性。
实际上,USB IP核采用的主频是48MHz,而8051 IP核的时钟只有12MHz,两者主频不同,必然产生时钟不同步问题。由于8051核的主频只有USB核的四分之一,大大低于USB设备的速度,因此,当数据传送到设备端大大低于USB设备的速度。当数据传送到设备端点时,8051 IP核与USB IP核的通信将成为速度瓶颈。
2.1 系统设计方法
系统设计采用的核心工具软件:设计输入编程器及仿真工具——ActiveHDL6.1,逻辑综合工具——Synplify Pro 7.6结构综合工具——QuartusII v4.1,仿真工具——Modelsim 6.0 SE。Active DHL+Synplify+Quartus I工具链提供了从源代码输入到FPGA实现整个流程的核心开发平台。
SOC的设计、仿真和验证确实是一个纷繁复杂的过程。在实际运行中,采用IP核分别设计然后再整合在一起的方法来进行:先进发单个IP核,仿真、下载到FPGA板进行测试,所有的IP核均满足设计要求后,再挂接到WISHBONE总线上进行仿真与验斑点。由于整体仿真成功的几率太小,而且每次仿真占用的时间太长,因此设计中采用循序渐时的方法。实际上,每个IP核都有自身的特殊性,分别开发也是必然的。例如开发USB IP核时,就要单独开发主机端(PC机)驱动程序及8051汇编接口。
2.2 关键技术
2.2.1 系统集成时仿真时间过长的解决
SOC的仿真一直是该技术实现中耗时最长的。在用SOPC实现系统集成时,由于多个IP核集成后系统仿真时间延长,占用了系统宝贵的开发时间,而USB IP核仿真时占用时间最长,因此开发两个模型:一个是USB HOST端的HDL行为模型,这个模型模拟了一个真实HOST的行为过程,如上电检测、速度识别、标准设备请求等过程,并且可以检测USB设备应答数据是否正确。另一个是8051 IP核的行为模型,用于仿真8051核的行为。把这两个模型与USB IP连接,在Modelsim软件包中进行仿真。实验证明效果很好,与直接用IP核集成方式仿真相比,时间减少了80%以上。
2.2.2 MC8051 IP核数据传输端口的选取
在考虑如何选取MC8051 IP核的数据传输端口时,有两种方案可供选择:一种是利用四组8位并行I/O端口作为主设备(MASTER)数据传送信号端口,它们的编程方式、时序、功能与8051单片机的四个并行口p0、p1、p2、p3相似;另一种方案是利用该核特有的用于与RAM存储器传送数据的端口作为主设备端口;同时把RAM存储器接在WISHBONE总线的从设备端口,以使从设备与8051 IC核进行数据传输。后一种方案与前一种方案相比,优点是当设备已经被选中处于就绪状态时,只需要一条MOVX指令就可以完成对从设备的仿问(读、写操作)。而第一种方案至少需要先通过并行I/O端口输出地址、再输出数据或读入数据,至少需要两条以上传送指令,增加了数据传送时间。通过对代码的分析和仿真可以知道,使用第二种方案大大提高了运行速度(约为前一种的三倍),同时方便了系统的开发。
2.2.3 系统软件的运行方式
由于8051 IP核的指令执行从ROM中的0地址开始,因此需要把ASM51汇编程序先编译生成HEX文件,再把这个文件与硬件一起综合、映射、下载,这样该HEX文件就可以作为初始文件保留在ROM中,用来实现软硬件协同仿真。
2.2.4 仿真库的选取
有些软件包不含所有的FPGA器件的单元库(Logic Cell Library),如ActiveHDL6.1。因此仿真时常报库单元不存在错。设计中采用的办法是用Modelsim仿真,并且提前编译好的仿真用的单元库。这样就很好地完成了逻辑门级仿真和时序级(布局布线后)仿真。
3 系统新增重要部分的设计及创新之处
由于水文测报的特殊性,常常需要传送大容量的文件,如图片、实时数据采集包等,同时有些数据需要备份、上传。原单片机PCB板有UART、I2C等通信功能块,本文的SOPC集成除了开发上述功能模块IP核外,还增加了USB IP核的设计。在实际测试中,USB接口的使用大大提高了系统的数据传输速度,而且更方便、更灵活,大大提高了系统功能。
USB协议结构复杂,涉及的面很广,IP核的开发难度最大,同时考虑到USB IP核在整个系统中的特殊性,下面将详细说明USB IP核的设计与集成过程。
3.1 USB IP核设计基本原理及框图
USB IP核的设计原理图如图5所示。USGB主控制器为USB主机端(通常安装在计算机内),负责主机与USB设备间的物理数据传输,即将客房软件启动的数据传输转化为USB总线上的实际串行数据流,经USB传输线传输。收发器将收到的数据转换成数字CMOS串行数据流,然后通过USB核控制逻辑传输到设备端点(图中的E0~E6),最后通过DMA接口传送到8051 IP核或存储在SSRAM中。

按照USB协议,USB提供三种速度传输模式:低速的1.5Mbps、全速的12Mbps、高速的480Mbps。根据设计要求,USB IP核的传送速率应当在全速以上。因此,设计USB核时,采用全速的USB设备标准,同时增设DMA接口和DMA控制器IP核,以保证升级成高速设备时USB IP核的可复用性。
实际上,USB IP核采用的主频是48MHz,而8051 IP核的时钟只有12MHz,两者主频不同,必然产生时钟不同步问题。由于8051核的主频只有USB核的四分之一,大大低于USB设备的速度,因此,当数据传送到设备端大大低于USB设备的速度。当数据传送到设备端点时,8051 IP核与USB IP核的通信将成为速度瓶颈。
电子 FPGA Altera 单片机 电路 USB 总线 LTE VHDL 连接器 仿真 Quartus 51单片机 PCB 收发器 CMOS MCU 嵌入式 集成电路 相关文章:
- 变革电信网网络安全框架 (01-03)
- 浅谈IPv6技术的若干问题(01-09)
- LG电子低成本CDMA手机的设计原则剖析 (01-12)
- 专家教你做个病毒高手(04-30)
- 数据库归档要考虑的四大问题(05-26)
- 5个步骤成功加密电子邮件(07-18)
