首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于OR1200的嵌入式SoPC硬件平台设计之二

基于OR1200的嵌入式SoPC硬件平台设计之二

          完整的板级系统的组成框图如图3所示,它除了基本系统以外,还包括1片10Mbps/100Mbps自适应以太网PHY芯片、320×240彩色STN LCD、10位×3通道视频DAC和2个PS2接口。使用以上完整的板级系统可以实现简单的网络和人机界面应用,再配以μClinux操作系统即可实现一个完整的计算机系统。


         3 内核的集成、仿真与验证




      内核的集成、仿真与验证是建立本平台的难点。要实现上述所有功能,除了OpenRISC1200 CPU外,至少还需要以下IP:
  ·Wishbone总线互连;
  ·CPU Debug模块;
  ·通用I/O控制器;
  ·片内高速RAM控制器;
  ·16550兼容UART控制器;
  ·Memory控制器;
  ·10Mbps/100Mbps自适应以太网MAC控制器;
  ·VGA/LCD控制器;
  ·8042兼容PS/2控制器。



        以上多数IP可以从OpenCores获得,像通用I/O控制器和片内高速RAM控制器这类简单的IP,可以自己编写。不过需要注意的是,为了使系统能够正确地运行或者获得更好的综合效果,多数IP在集成时都要进行修改。需要修改的IP及其修改内容如下:


·OR1200:通用寄存器组、缓存、MMU使用的RAM块需要针对Synplify进行修改,以便能够综合到M4K RAM块中,MMU、DSP MAC单元根据需要决定是否在配置中去掉,以提高速度,减少逻辑资源的占用;
  ·Wishbone总线互连:添加空穴地址空间的访问处理;
  ·UART控制器:数据接收和发送FIFO需要针对Synplify进行修改,以便能够综合到M4K RAM块中;
  ·Memory控制器:添加复位后的默认值配置,以便系统可以选择从Flash或者SRAM启动;
  ·以太网控制器:控制寄存器和FIFO需要针对Synplify进行修改,以便能够综合进M4K RAM块中,并且需要添加对不支持Burst模式的Wishbone总线互连接口的支持;
  ·VGA/LCD控制器:显示FIFO需要针对Synplify进行修改,以便能够综合进M4K RAM块中,并且需要修改对扫描时钟输出的控制。



使用以上IP构建的系统内核的结构框图如图4所示。中间模块是Wishbone总线互连IP,它有8个主设备、8个从设备接口。OR1200的指令和数据接口各占用了一个主设备接口。Debug模块需要访问存储空间,因此也用了一个主设备接口。以太网控制器使用主存储器来存储、获得数据,VGA/LCD控制器使用主存储器获得显示缓冲数据,因此它们也都占用了一个主设备接口。以太网、VGA/LCD和Memory控制器的控制寄存器空间各占用了一个从设备接口,Memory控制器的存储器空间占用了一个从设备接口,其余的UART、PS/2、I/O和片内RAM控制器各占用了一个从设备接口。




  为保持软件的兼容性,在设置Wishbone总线互连IP各个主设备和从设备的地址以及分配中断号时,需要符合ORP标准。ORP(OpenRISC Reference Platform)是一个对基于OpenRISC处理器的系统的定义,它包括存储器空间、外围设备的地址定义和中断向量的分配。其作用是标准化基于OpenRISC的硬件和软件的设计,提高软件可重用性并缩短硬件设计的验证时间。



         在进行完各个IP的单独测试后,使用OR1200的软件开发包GCC对系统引导程序和μClinux进行编译,并将得到的二进制文件嵌入到存储器仿真文件中,对系统的初始化、引导和操作系统的启动进行仿真。


        在仿真成功后,进行了下载验证。由于使用的EP1C12器件的逻辑容量有限,无法同时实现以上所有功能,因此设计了两个配置方案,分别面向网络和个人终端。前者具备以太网功能,但是没有PS/2和VGA/LCD控制器,后者相反。使用Synplify和QuartusII软件对个人终端配置的系统进行综合、布局布线后,系统速度和各模块所占逻辑单元LEs(Logic Elements)的情况如表1所示。

        实际下载验证证明,以上两种配置都可以40MHz的速度运行μClinux系统。目前,已经选定使用该系统作为基于SoPC的数控系统的基础实现平台。
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表