ADSP-BF706简介 && 时钟配置

ADSP-BF706简介 && 时钟配置

针对需要注意的点,尽我知道的概括。
1、最大内核时钟400M,最大系统时钟200M,Core0最大运行时钟100M
2、其中外设EPPI最大采集数据时钟频率,50M。
3、若使用定时器产生PWM波,只有宽度和延时,无周期概念。
4、可进行同步触发操作。
5、外部flash可编程【进行编程时,flash相关文档很重要】。

一、先进行时钟配置,分别是内部时钟配置和外部PLL时钟配置,至于稳定性,可以用信号发生器产生一个标准正弦信号,再采集这个信号,分别使用内部时钟和外部时钟,对比实验可得其效果。

1、内部时钟配置:
这个可以直接用CCES里面example中的时钟配置:

#define DEV_NUM       (0)
#define MHZTOHZ       (1000000)
#define CLKIN         (25 * MHZTOHZ)
#define CORE_MAX      (400 * MHZTOHZ)
#define SYSCLK_MAX    (200 * MHZTOHZ)
uint32_t fcclk = 0u,fsysclk = 0, fsclk0 = 0, fsclk1 = 0, outclk=0;

void InitSystemClock(void)
{
	uint32_t result = 0;
	adi_pwr_Init(DEV_NUM,CLKIN);  //初始化外部输入频率
	adi_pwr_InstallCallback(DEV_NUM, PWRCallback); //设置回调函数,在频率或者模式改变之前和之后都会调用此回调函数,比如在进入内核休眠时的时钟频率的改变。
	adi_pwr_SetFreq(DEV_NUM, CORE_MAX, SYSCLK_MAX);        //设置核心频率和系统频率   如果要设置频率只需要在这里修改频率即可
	result = adi_pwr_GetCoreFreq(DEV_NUM, &fcclk);
	result = adi_pwr_GetSystemFreq(DEV_NUM, &fsysclk, &fsclk0, &fsclk1);
}

如此便设置了内部时钟,可以通过adi_pwr_GetSystemFreq()函数得到fsysclk=200M,fsclk0=100M。

2、外部时钟设置:
根据文档,需要配置OUTCLK作为外部时钟的输入,通过PLL时钟被倍频器得到想要的时钟输出:

/*************************pll时钟***************************************
 * pll时钟引脚初始化:
 * Output Frequency (MHz):50
 * Input Frequency (MHz):10
 * S1, S0:0,1;
 *
 *******************************************************************************/
#if 1
	adi_gpio_SetDirection(
		ADI_GPIO_PORT_C,
		ADI_GPIO_PIN_8|ADI_GPIO_PIN_9,
		ADI_GPIO_DIRECTION_OUTPUT);
	adi_gpio_Set(ADI_GPIO_PORT_C, ADI_GPIO_PIN_9);
	adi_gpio_Clear(ADI_GPIO_PORT_C, ADI_GPIO_PIN_8);
	adi_pwr_SetClkOutSelectRegister(DEV_NUM, ADI_PWR_CLKOUT_OUTCLK_PLLCLKF);                //OUTCLK
	adi_pwr_SetClkDivideRegister(DEV_NUM,ADI_PWR_CLK_DIV_OSEL,80);                      //OUTCLK=  PLLMAX / div  PLLMAX=800
	adi_pwr_GetOutClkFreq(DEV_NUM,&outclk);
#endif

基本步骤就是,配置引脚基本输出功能,设置倍频器中S0S1的倍频参数,上述我设置的 S1, S0:0,1,表示*5,也就是如果想要输出50M,那就需要设置输入频率50/5=10M。adi_pwr_SetClkDivideRegister(DEV_NUM,ADI_PWR_CLK_DIV_OSEL,80):
这个函数的意思是,我要配置10M,那第二参数分频,就是800/10=80;800是PLL最大的值,它等于: PLLCLK frequency = (SYS_CLKIN frequency / (DF+1)) * MSEL;其实这个800M是定义的, 而设置内部时钟时用的MSEL等分频/倍频参数都是通过已知算出来的。在706用户手册上写有:
在这里插入图片描述
相应的,在S1, S0: 0,1基础上,如果想设置频率为80M,则参数应该设置为800/(80/5)=50。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ADSP-BF531是一款由安富利(Analog Devices)公司生产的数字信号处理器(DSP)。要烧录ADSP-BF531,您需要以下步骤: 1. 准备烧录工具:您需要一个支持ADSP-BF531的烧录器。常见的烧录器包括ICE-1000、ICE-2000和USB-ICE等。 2. 准备烧录软件:您需要安装并配置适用于ADSP-BF531的烧录软件。安富利公司提供了VisualDSP++软件套件,其中包含了用于烧录和调试ADSP-BF531的工具。 3. 连接烧录器:将烧录器通过USB或JTAG接口连接到您的计算机。 4. 连接目标板:将烧录器通过JTAG接口连接到ADSP-BF531所在的目标板上。 5. 配置烧录软件:打开烧录软件,并根据软件的指导配置连接方式、目标板和目标设备等参数。 6. 选择程序文件:选择您要烧录到ADSP-BF531上的程序文件。这可以是编译后生成的可执行文件或者其他格式的固件文件。 7. 开始烧录:在烧录软件中点击开始烧录按钮,开始将程序文件烧录到ADSP-BF531芯片中。 8. 等待烧录完成:等待烧录过程完成,通常会有进度条或提示信息显示烧录进度。 9. 验证烧录结果:烧录完成后,您可以使用烧录软件提供的调试功能来验证程序是否正确烧录到了ADSP-BF531芯片中。 请注意,具体的烧录步骤可能会因为使用的烧录器和烧录软件而有所不同。建议您参考安富利公司提供的相关文档和指南,以确保正确地进行ADSP-BF531的烧录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值