根据提供的文件信息,我们可以归纳出以下几个关键的知识点: ### 1. DSP系统初始化与配置 #### 1.1 PLL 初始化函数 `PLL_Init` 在DSP(数字信号处理器)中,PLL(Phase-Locked Loop,锁相环)是用于调整时钟频率的重要组件。`PLL_Init`函数用于设置DSP的PLL参数,以确保DSP工作在一个合适的时钟频率下。 - **功能说明**:此函数接收一个整型参数`freq`,表示期望的输出时钟频率。 - **实现细节**: - 设置PLL的乘法因子(`pllmult`),计算方式为 `(freq * 2) / dspclk.clkin`。如果计算结果大于等于32,则取值为31。 - 修改寄存器值来配置PLL。 - 使用循环等待PLL稳定。 #### 1.2 SDRAM 初始化函数 `SDRAM_init` SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存取存储器)是DSP系统中常用的一种内存类型,用于存储程序和数据。 - **功能说明**:初始化SDRAM,配置相关的控制寄存器,以便使SDRAM能够正常工作。 - **实现细节**: - 配置各个控制寄存器(如`ebsr`, `egcr`, `emirst`, `sdc1`, `sdc2`, `init`等),以设置SDRAM的工作模式、地址映射等参数。 ### 2. LED 控制函数 `display_led2` #### 2.1 功能说明 `display_led2` 函数用于控制LED显示特定的数字或符号。该函数接受三个参数:`bit`(位位置)、`seg`(段位置)、`dotbit`(小数点位置)。 #### 2.2 实现细节 - 通过修改特定的寄存器(例如`LED3`)来控制LED的状态。 - 本例中使用了一个名为`display_buffer`的数组来存储待显示的数据。 ### 3. 延时函数 `Delay_ms` #### 3.1 功能说明 `Delay_ms` 函数用于实现软件延时,通常用于模拟硬件定时器的功能。 #### 3.2 实现细节 - 接受一个整型参数`nDelay`,表示需要延迟的毫秒数。 - 通过循环计数来实现延时效果。 ### 4. 主函数 `main` #### 4.1 功能说明 `main`函数是程序的入口点,负责调用上述各种初始化和控制函数。 #### 4.2 实现细节 - 调用`PLL_Init`函数进行PLL初始化,设置期望的时钟频率。 - 调用`SDRAM_init`函数初始化SDRAM。 - 使用`LED3`寄存器控制LED的初始状态。 - 进入一个无限循环,在循环中不断调用`display_led2`函数来滚动显示数字,并使用`Delay_ms`函数控制显示的时间间隔。 ### 5. 头文件与源文件 - **`func.h`** 和 **`util.h`**:这两个头文件包含了一些函数声明以及预处理宏定义,如`Delay_ms`, `display_led2`, `SDRAM_init`, `PLL_Init`等。 - **`myapp.h`**:可能包含了主函数和其他应用相关的函数声明和数据结构定义。 - **`util.c`**:实现了`func.h`和`util.h`中声明的函数。 - **`sdram_init.c`**:实现SDRAM初始化函数`SDRAM_init`。 - **`shumaguan.c`**:实现LED控制函数`display_led2`。 以上就是基于所提供的文件信息所整理的关键知识点。这些知识点涵盖了DSP系统中的基本初始化流程、SDRAM配置、LED控制以及延时函数等方面。

















void PLL_Init(int freq);
void Delay_ms(unsigned int nDelay);
void display_led2(unsigned int bit,unsigned int seg,unsigned int dotbit);
#include "func.h"
#include "util.h"
DSPCLK dspclk;
void PLL_Init(int freq)
{
int i;
DSPCLK dspclk;
ioport unsigned int *clkmd;
ioport unsigned int *sysr;
clkmd=(unsigned int *)0x1c00;
sysr=(unsigned int *)0x07fd;
dspclk.clkin=DSP_CLKIN;
dspclk.pllmult=(freq *2)/ dspclk.clkin;
if(dspclk.pllmult>=32)dspclk.pllmult=31;
*clkmd &= ~0x10;
for(i=*clkmd&1; i!=0 ;i=*clkmd&1);
*clkmd &= ~0x4000;
*clkmd |= 0x2000;
*clkmd &= ~0xc;
*clkmd |= 4;
*clkmd &= ~0x60;
*clkmd |= 0x20;
*clkmd &= ~0x0f80;
*clkmd|=0x10;
for(i=0;i<10;i++);
for(i=*clkmd&1; i!=1 ;i=*clkmd&1);
*sysr=1;
}
#define DSP_CLKIN 20
#define NULLLOOP_CLK 20
typedef struct {
int freq;
int clkin;
int pllmult;
int plldiv;
int clksperusec;
int nullloopclk;
} DSPCLK;
extern DSPCLK dspclk;
#include "myapp.h"
void SDRAM_init(void)
{
ioport unsigned int *ebsr =(unsigned int *)0x6c00;
ioport unsigned int *egcr =(unsigned int *)0x800;
ioport unsigned int *emirst=(unsigned int *)0x801;
ioport unsigned int *ce01 =(unsigned int *)0x803;
ioport unsigned int *ce11 =(unsigned int *)0x806;
ioport unsigned int *ce21 =(unsigned int *)0x809;
剩余11页未读,继续阅读


- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 在电子信息化环境下如何做好工程档案的归档工作.docx
- 专业技术人员公需科目-计算机网络信息安全与管理-试题及答案22.doc
- 上半年数据库系统工程师考试上午真题.docx
- 中国物联网芯片行业市场现状与竞争格局分析-前景广阔、力图冲破外资垄断.docx
- 4G无线网络安全的关键技术研究.docx
- PLC高楼变频恒压供水系统大学本科方案设计书.doc
- 案例教学法在技工院校计算机教学中的应用.docx
- yokingma-deepresearch-22520-1755765269457.zip
- 合作学习构建中职计算机应用基础教学探究.docx
- 市场对互联网+同城快递的需求分析.docx
- 企业IDRS网络视频集中监控解决方案-企业工厂.docx
- PHP计算机网络工程项目师简历表格.doc
- CDMA通信系统数据与语音传输设计王树伟陈阵汪亚文.doc
- 软件测试与软件质量关系的概述.docx
- 第一章信息技术与计算机.ppt
- 智慧农业物联网系统设计.doc


