位置:51电子网 » 技术资料 » 嵌入式系统

Blackfin及嵌入式ktClinux在数据采集系统中的应用

发布时间:2008/5/27 0:00:00 访问次数:543

前言

在数据采集系统中,数字处理是系统核心内容之一;然而随着科技发展,越来越多的功能需求使得采集系统的外设也越来越复杂,外设通讯和驱动编写成为一项复杂和繁琐的工作。以应用为中心的嵌入式系统为此类需求提供了一个良好的解决方案,能够适应实际应用中对功能、可靠性、成本、体积、功耗的严格要求。adi公司的blackfin系列处理器将嵌入式微控制器和dsp融为一体,取二者之长,提高了系统工作效能,大大降低了成本。同时,多线程的实时嵌入式操作系统也可增强采集系统的实时性、稳定性。对开发者来说,blackfin处理器和μclinux的结合很有吸引力。

系统结构及硬件平台

本数据采集系统主要由2个数据采集通道、1个触发通道、adc转换及存储电路、dsp及fpga控制部分组成,并包含有以太网、rs232接口、usb、tft液晶显示部分。系统硬件平台原理框图如图1所示。

信号从采集通道进入,经过信号调理电路进入adc,被转换后的数字信号即进入fpga、dsp进行数字控制处理。经过dsp处理过的信号,可送至其它外设以显示、存储,或通讯。

bf531为系统的核心部分之一,供电电压3.3v,内核电压1.2v,为了使系统能够开机自动从flash中启动,设置。bmode为00,即从外部存储器启动。fpga、片外sdram、flash,以及usb和液晶直接和bf531通过地址线、数据线相连。

系统中应用了tft lcd液晶显示模块fg050605dnc:,该lcd控制简单,只有rgb每色5个共15个信号,以及数据使能、数据时钟和行频、场频控制信号。lcd晶直接由dsp控制,dsp的timerl、timer2提供行、场频信号,ppi口传输数据,由fpga提供时钟,配置μclinux开辟一块framebuffer作为显示数据存储区,配合linux下的液晶驱动,即可工作。

软件设计

由于dsp中运行的是基本上已经成熟的算法和控制流程,所以软件设计的主要工作为在dsp中嵌入操作系统。

u-boot的移植

u-boot的移植主要分为两个层面,一个是对cpu的移植,一个是针对board的移植。u-boot中已经有大量可直接下载到某些开发板上的程序,为了减小工作量,可选一个最接近自己设计的开发板来进行修改。本设计中采用了stamp目标板。

具体如下:

(1)拷贝board下面的文件夹stamp,重命名为mybf531,作为即将要修改配置的目标板。拷贝cpu下面的文件夹bf533,重命名为bf531,作为将要修改的cpu bf531。再将board和bf531文件夹中所有关于stamp板的文件名及包含头文件等改为mybf531;将所有关于bf533的文件名及包含头文件等改为bf531。注意文件间的依赖关系,确定是该添加文件还是修改文件,并记录文件改动。

(2)makefile文件

在u-boot根目录下的makefile文件中添加bf531和mybf531的编译规则,如下:

ifeq($(cpu),bf531)

objs+=cpu/$(cpu)/start 1.0

objs+=cpu/$(cpu)/interrupt.0

0bjs+=cpu/$(cpu)/cache.0

objs+=cpu/$(cpu)/cplbhdlr.0
objs+=cpu/$(cpu)/cplbmgr.o

objs+=cpu/$(cpu)/flush.o

objs+=cpu/$(cpu)/

init sdram.o

endif

mybf531_config: unconfig

@./mkconfig$(@:_config=)

blackfin bf531 mybf531

(3)include/configs/mybf531.h

板子的功能配置信息大都在include/configs/mybf531.h中,故拷贝stamp.h并修改其中的启动信息和配置信息。重点修改部分如下:

时钟信息:

#define config clkin hz

11059200

#deftne config vco mult

36

#deftne config sclk div

5

flash信息:

#deftlie cfg max

flash sect 67

#define cfg env addr

0x20004000

#defilie cfg env size

0x2000

#deftne cfg env sect size

0x2000

#defi!qe cfg flash erase

tout 30000

#define cfg flash erase

tout 30000

sdram信息:

#define config mem size

128

#define config mem add

wdth 11

#deftlie config mem

mt48lc64m4a2fb 7e 1

其它配置信息

#defilie ambctloval

0xbbc3bbc3

#define ambctl 1 val

0x99839983

#define vdsp--entry--addr

0xffa00000

并将板子上不需要的功能的宏定义作相应设置。

(4)board的移植

检查board/mybf531/中所有文件,首先将board和cpu的相关stamp.h、stamp.c改为bf531.h和mybf531.c,并检查其

前言

在数据采集系统中,数字处理是系统核心内容之一;然而随着科技发展,越来越多的功能需求使得采集系统的外设也越来越复杂,外设通讯和驱动编写成为一项复杂和繁琐的工作。以应用为中心的嵌入式系统为此类需求提供了一个良好的解决方案,能够适应实际应用中对功能、可靠性、成本、体积、功耗的严格要求。adi公司的blackfin系列处理器将嵌入式微控制器和dsp融为一体,取二者之长,提高了系统工作效能,大大降低了成本。同时,多线程的实时嵌入式操作系统也可增强采集系统的实时性、稳定性。对开发者来说,blackfin处理器和μclinux的结合很有吸引力。

系统结构及硬件平台

本数据采集系统主要由2个数据采集通道、1个触发通道、adc转换及存储电路、dsp及fpga控制部分组成,并包含有以太网、rs232接口、usb、tft液晶显示部分。系统硬件平台原理框图如图1所示。

信号从采集通道进入,经过信号调理电路进入adc,被转换后的数字信号即进入fpga、dsp进行数字控制处理。经过dsp处理过的信号,可送至其它外设以显示、存储,或通讯。

bf531为系统的核心部分之一,供电电压3.3v,内核电压1.2v,为了使系统能够开机自动从flash中启动,设置。bmode为00,即从外部存储器启动。fpga、片外sdram、flash,以及usb和液晶直接和bf531通过地址线、数据线相连。

系统中应用了tft lcd液晶显示模块fg050605dnc:,该lcd控制简单,只有rgb每色5个共15个信号,以及数据使能、数据时钟和行频、场频控制信号。lcd晶直接由dsp控制,dsp的timerl、timer2提供行、场频信号,ppi口传输数据,由fpga提供时钟,配置μclinux开辟一块framebuffer作为显示数据存储区,配合linux下的液晶驱动,即可工作。

软件设计

由于dsp中运行的是基本上已经成熟的算法和控制流程,所以软件设计的主要工作为在dsp中嵌入操作系统。

u-boot的移植

u-boot的移植主要分为两个层面,一个是对cpu的移植,一个是针对board的移植。u-boot中已经有大量可直接下载到某些开发板上的程序,为了减小工作量,可选一个最接近自己设计的开发板来进行修改。本设计中采用了stamp目标板。

具体如下:

(1)拷贝board下面的文件夹stamp,重命名为mybf531,作为即将要修改配置的目标板。拷贝cpu下面的文件夹bf533,重命名为bf531,作为将要修改的cpu bf531。再将board和bf531文件夹中所有关于stamp板的文件名及包含头文件等改为mybf531;将所有关于bf533的文件名及包含头文件等改为bf531。注意文件间的依赖关系,确定是该添加文件还是修改文件,并记录文件改动。

(2)makefile文件

在u-boot根目录下的makefile文件中添加bf531和mybf531的编译规则,如下:

ifeq($(cpu),bf531)

objs+=cpu/$(cpu)/start 1.0

objs+=cpu/$(cpu)/interrupt.0

0bjs+=cpu/$(cpu)/cache.0

objs+=cpu/$(cpu)/cplbhdlr.0
objs+=cpu/$(cpu)/cplbmgr.o

objs+=cpu/$(cpu)/flush.o

objs+=cpu/$(cpu)/

init sdram.o

endif

mybf531_config: unconfig

@./mkconfig$(@:_config=)

blackfin bf531 mybf531

(3)include/configs/mybf531.h

板子的功能配置信息大都在include/configs/mybf531.h中,故拷贝stamp.h并修改其中的启动信息和配置信息。重点修改部分如下:

时钟信息:

#define config clkin hz

11059200

#deftne config vco mult

36

#deftne config sclk div

5

flash信息:

#deftlie cfg max

flash sect 67

#define cfg env addr

0x20004000

#defilie cfg env size

0x2000

#deftne cfg env sect size

0x2000

#defi!qe cfg flash erase

tout 30000

#define cfg flash erase

tout 30000

sdram信息:

#define config mem size

128

#define config mem add

wdth 11

#deftlie config mem

mt48lc64m4a2fb 7e 1

其它配置信息

#defilie ambctloval

0xbbc3bbc3

#define ambctl 1 val

0x99839983

#define vdsp--entry--addr

0xffa00000

并将板子上不需要的功能的宏定义作相应设置。

(4)board的移植

检查board/mybf531/中所有文件,首先将board和cpu的相关stamp.h、stamp.c改为bf531.h和mybf531.c,并检查其

相关IC型号

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!