F2812DSP的最小系统设计

1、          设计目的

数字信号处理器(Digital Signal Processor,DSP)是采用数字计算的方法对信号进行处理的专用芯片,具有精确、可靠性好、易于大规模集成等优点。近年来,它的应用范围遍及了整个信息技术领域。然而DSP系统设计过程往往很复杂,一次性设计往往不尽如人意,因此,模块化设计提供了一个很好的设计途径。对于DSP,设计一个核心组成部分能正常工作的最小系统显得尤为重要了。基于TMS320F2812设计的DSP最小应用系统的设计,不仅可以加深对DSP系统的学习和理解,同时也是对今后的科研实验也有着重要的应用价值。

2、          设计思路

一个典型的DSP 最小应用系统设计一般包括硬件设计和调试部分。硬件设计部分一般包括电源、复位电路、时钟电路、JTAG 电路和外部接口电路的设计,最小系统板作为DSP 控制系统的核心部件,在其外围接入扩展板,能够使系统实现相应的功能。图1所示的就是一个DSP最小应用系统结构框图。

图1 DSP最小应用系统结构框图

3、          详细设计步骤和原理

3.1电源电路

一个稳定可靠的电源是系统稳定工作的基础。考虑到DSP的内核工作电压为1.8V,其I/O的工作电压为3.3V,再者一般的外围器件工作电压为5V,所以需要提供这三种工作电压。首先,通过外部电源适配器获得+5V电压,考虑到电源工作的稳定性和可靠性,采用市场上现成的电源适配器;然后再采用的是TPS767芯片来进行电压的转换将5V电压转换成3.3V和1.8V。具体的连接如图2所示。

3.2 复位电路

TMS320F2812的复位管脚为/RESET,低电平有效。图3所示为DSP最小系统的复位电路。

3.3 时钟电路

锁向环(PLL)模块主要用来控制DSP内核的工作频率,外部提供一个参考时钟输入,经过PLL倍频或分频后提供给DSP内核。本系统采用基于PLL的晶体工作模式,通过外部无源晶体为芯片提供时钟基准,本文所选用的外部晶振是30MHz。具体电路如图4 所示。

3.4 JTAG接口电路

JTAG接口提供对DSP内部Flash的烧写和仿真调试,它所具备的这些能力需要软件的配合,具体实现功能则由具体的软件决定。JTAG接口是一个业界标准,这部分的引脚定义不要随意改变。本设计中将其设计成一个标准的14针插座,可以供仿真器调试目标板。具体的连接如图5所示。

3.5 外部接口电路

为了方便扩展及二次开发,将TMS320F2812的4个方向的各个主要引脚全部引出。

3.6外扩SRAM 电路

为了增加系统的程序存储空间,提高系统的工作效率,根据设计要求外扩了SRAM电路。选用的SRAM 型号为CY7C1041CY SDRAM,256KB×16bit大小。这里用了A0~A17 共18根地址线,最大为256KB;D0~D15 共16根数据线。具体连接如图6所示。

4、          演示程序代码

#include "DSP281x_Device.h"     // DSP281x头文件

#include "DSP281x_Examples.h"

#define RAMBASE6 0x00100000   //宏定义

#define RAMBASE2 0x00080000

#pragma CODE_SECTION(Test_SRAM,"ramfuncs");

void Test_SRAM(void);

// 全局变量:

Uint16 SRAM_err  = 0;          //SRAM存储单元损坏数目

Uint32 addr[1000];

Uint16 data[1000];

void main(void)

{

// 初始化:

DINT;                    //关中断

IER = 0x0000;

IFR = 0x0000;

InitSysCtrl();              //初始化时钟

Test_SRAM();            //SRAM 简单测试

}

void Test_SRAM(void)

{

Uint16 *rambase;

Uint16 i;

Uint32 offset;

Uint16 temp;

for(i=0;i<1000;i++)

{

addr[i] = 0;

data[i] = 0;

}

SRAM_err = 0;

rambase = (Uint16 *)RAMBASE6; //RAM基址

for(offset=0;offset<524287;offset++)

{

*(rambase + offset) = 0x0000;

temp= *(rambase + offset);

if(temp != 0x0000)          //如果读出的数与写入的不相等,则记录错误

{

SRAM_err++;

if(SRAM_err>1000) break;

addr[SRAM_err] = offset;

data[SRAM_err] = temp;

continue;

}

*(rambase + offset) = 0xffff;

temp=*(rambase + offset);

if(temp != 0xffff)               //如果读出的数与写入的不相等,则记录错误

{

SRAM_err++;

if(SRAM_err>1000) break;

addr[SRAM_err] = offset;

data[SRAM_err] = temp;

}

}

}

一个dsp最小系统至少要有_F2812DSP的最小系统设计相关推荐

  1. 一个dsp最小系统至少要有_DSP最小系统电路设计

    DSP 最小系统电路设计 第 1 章 绪论 DSP 有两种涵义, 一种是 Digital Signal Processing , 指的是数字信号处理技术: 一种是 Digital Signal Pro ...

  2. 一个dsp最小系统至少要有_DSP最小系统设计方案

    基于 TMS320F28335 的 DSP 最小系统设计 摘要 在各大院校的课程教学.实验教学.毕业设计以及电子设计竞赛中,需要应用 DSP 实验系统. 介绍了 TI 公司的 TMS320F28335 ...

  3. 一个dsp最小系统至少要有_DSP最小系统

    DSP ( Digital Signal Processor )是一种独特的 微处理器 ,是以 数字信号 来处理大量信息的器件. 其工作原理是接收 模拟信号 , 转换为 0 或 1 的 数字信号 . ...

  4. 用Altium Designer软件绘制一个stm32最小系统的电路原理图

    学习使用Altium Designer软件绘制一个stm32最小系统的电路原理图 一.stm32最小系统电路原理图 二.绘制stm32最小原理图 (一)新建工程 (二)添加新的Schematic(原理 ...

  5. 从一个空白芯片开始制作arduino uno最小系统板

    摘要:只用一个空白的芯片是无法实现在arduino 编程环境中编程的,芯片需要烧录arduino专用的bootloader才能使用.本文介绍如何从购买一个空白芯片开始,制作arduino uno 的最 ...

  6. 嵌入式电路设计(最小系统)

    [ 声明:版权所有,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 做嵌入式的同学应该有一个最小系统的概念.什么叫最小系统,顾名思义,就是系统里面的任何一个组件都是不可或缺的 ...

  7. 硬件电路设计-FPGA(EP4CE6)最小系统

    概述 本文选用的FPGA芯片是Intel(原Altera)的EP4CE6E22C8N,选它的原因是这个型号是个比较经典的型号,很多入门开发板都用它, 首先是老样子,先放上完整的参考原理图先,然后再一一 ...

  8. sap系统搭建教程_Nios ii最小系统搭建教程

    本教程以最小系统的概念为切入点,详细演示最小系统搭建的每一个步骤:外加嵌入式IP CORE详细的理论剖析和详细的实践演示,提供部分工程集源码下载链接.本手稿为实践总结,只是提供了一个思路,比如,驱动都 ...

  9. 单片机复位电路电容一定用电解电容_什么叫51单片机最小系统

    单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机.晶振电路.复位电路.下面给出一个51单片机的最小系统电路图. 复位 ...

最新文章

  1. mysql5.7.20安装红黑_Window环境安装MySQLServer5.7.21
  2. 视频监控软件 SecuritySpy 简介
  3. Android:Socket客户端开发,Android 的Socket客户端优化,Android非UI线程修改控件程序崩溃的问题
  4. 【深入Java虚拟机JVM 01】Java发展与展望概述
  5. 四大技巧轻松搞定云容器
  6. jQuery实现一个淡入淡出下拉菜单 非常简易
  7. uint8_t / uint16_t / uint32_t /uint64_t 的简单介绍
  8. [第5天]nginx环境下404问题
  9. Linux中级之负载均衡(lvs,nginx,haproxy)、中间件
  10. 【系统设计】大神三分钟搞懂领域驱动设计
  11. 电容器的 ESR 参数
  12. 基于 HTML5 WebGL 的 3D 水泥工厂生产线
  13. 供给云saas平台小程序赋能门店增加销售额
  14. LeetCode-1264. 页面推荐(中等)
  15. uniapp 微信小程序如何解决发版后,旧版本缓存问题
  16. 杭州高级建筑职称评审条件
  17. 自定义控件其实很简单 二
  18. 辨析 role、import_role、include_role
  19. #Codeforces Round #687 Div. 2 _D. XOR-gun
  20. Qt --- QTreeWidget 树形控件实例遇到的问题

热门文章

  1. C++中虚析构函数的作用及原理
  2. 计算机类两支柱专业,计算机通信跨入支柱行业阵营
  3. goto在Java中的替代(break和continue的进阶用法)
  4. 为什么阿里的程序员成长如此之快?最新BAT大厂面试者整理的Android面试题目模板,涨姿势了!
  5. 你的课本就是最好的词汇书
  6. Stream流使用方法总结
  7. error LNK2038、error LNK1123
  8. WebAssembly 能取代 Kubernetes 成为下一代云计算王者吗?
  9. 【MySQL从小白到高手】第六篇:事务和MySQL中的JDBC编程
  10. 切比雪夫不等式 大数定律 中心极限定理