基于FPGA的SOC外部组件控制器IP的设计

2012-01-19 17:23:13来源: elecfans
     1 引言

  本文侧重于介绍IP 模块中组件控制器的设计和实现。一个基于FPGA 的LCD 控制器设计作为例子被介绍。这个组件控制器设计属于固核IP 设计,也就是软硬结合的方法。设计内容主要包括电路结构、VHDL 框架和仿真结果。该设计实现了面向可重配置SOC 的单指令驱动LCD 操作。

  2 SOC 组件与组件控制器

  SOC 组件是SOC 为实现某种操作功能所需要的器件或设备。这些组件可以是内部的也可以是外部的,如LCD、键盘、设备驱动器等是外部组件,电子转换器、变换器、放大器等则属于内部组件。无论是内部,还是外组件,其控制单元都要被设计在SOC 内部。作为一个系统的核心,SOC要完成运行、操作或控制功能,必须有相应的组件配合。而多数组件,尤其是外部组件在SOC 内都要有一个对应的控制器。所以,为了实现应用对象操作,SOC 要设计相当数量的组件控制器。组件控制器的设计,对SOC 而言就是一些IP 模块的设计。

  SOC 与外部组件的基本关系见图1。相对于外部组件而言,SOC 由微处理器核MP(microprocessor)和相关的控制器IP 构成。为了得到最优的控制效率,SOC 的MP 常常被设计成可重配置(reconfigurable)的MP[5]。这意味着用户可对MP 的一些配置进行修改和添加以适应应用系统的需要,如用户可以对MP 的指令系统进行重新配置,设计加入用户需要的专用指令。为了区别于一般的MP,图1 中的给出了SOC-MP 来代表用于SOC 的MP 核

  

 

  图1 SOC 与外部组件的基本关系

  SOC的组件控制器与专用指令配合可以实现一些复杂操作的单指令运行,从而大大提高了SOC应用系统的操作速度和运行效率[6]。这也正是嵌入式系统的专用设计特性和高效控制优势的体现。

  尽管SOC 的IP 核分为硬核、软核、固核,对于非专业集成电路设计的用户来说,多数采用基于FPGA 的设计方法。实际上也就是软硬结合的IP 固核设计。本文介绍的是一种用VHDL 硬件描述语言在FPGA 上设计SOC 外部组件控制器IP 的方法。

  3 LCD 控制器的设计

  液晶显示器 LCD(Liquid Crystal Display)是SOC 的一种外部组件,会经常被用到。为了实现SOC 对LCD 的高效管理,要设计一个LCD 控制器IP 模块。这个模块被命名为lcd_fct。外部组件LCD 与SOC 的关系与控制结构可参考图2。

  对照图1 可以看出,图2 中的lcd_fct 是外部组件控制器IP,它位于LCD 和MP 之间,通过数据(data)、地址线(address)、控制(control, write_e)和信号线(lcd_busy)等与MP 和LCD 建立联系。

  

 

  图2 外部组件LCD 的SOC 控制结构

  在这个设计中对LCD 控制器lcd_fct 的要求是:lcd_fct 接受来自MP 的指令,如初始化、清屏和显示等。lcd_fct 按照指令的要求产生一系列控制信号和相应的时序来控制LCD 模块完成相应的操作。实际上,lcd_fct 对LCD 模块的操控主要包括LCD 初始化、清屏、传送显示数据和地址。

  当lcd_fct 的输入信号reset 是低电平时,复位电路(Reset Circuit)开始工作,进行初始化操作、对标志和状态清零、设定相关常数等。

  时钟调节电路(Clock Regulator)主要为定时器提供具有高质量波形的时钟。为满足运行中不同时序的需要, lcd_fct 中设计了微秒定时器(μs Timer)和毫秒定时器(ms Timer)。定时的时间常数被放在时间常数寄存器(Time Constant Register)中。

  从MP 来的地址(addrin)和控制(write_e)信息被送到译码器(Decoder)。译码器根据不同的地址和控制信息产生相应的指令标志,如复位、清零等。并把指令标志送给控制电路(Control Circuit)。

  控制电路(Control Circuit)是lcd_fct 的核心。它控制数据输入寄存器(Data_in Register)、数据输出寄存器(Data_out Register)、状态寄存器(State Register)、控制寄存器(Control Register)和时间常数寄存器(Time Constant Register)。控制电路根据指令标志和时序来操作不同的寄存器,实现lcd_fct 的管理和运行。

  数据输入寄存器接受来自MP 的数据并根据需要送数据到数据输出寄存器。数据输出寄存器把数据通过数据线lcd_db 送到LCD 模块的数据总线上。这个数据既可能是要显示的数据,也可能是指令。

  控制寄存器产生操作LCD 的控制信号,如LCD 中选信号(lcd_e)、LCD 内部寄存器选择信号(lcd_rs)和LCD 读写信号(lcd_r_w)。

  状态寄存器在LCD 处于工作下,会产生LCD 繁忙信号(lcd_busy)。这意味着,LCD 此时不会接受其它指令。与其它信号不同,lcd_busy 是发送给MP 的。

  实际上lcd_fct 的运行操作主要是对各种控制、状态和数据信号进行管理。

[1] [2]

关键字:FPGA  SOC外部组件控制

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2012/0119/article_2839.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
FPGA
SOC外部组件控制

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved