如果使用外接晶振,那么X1和X2之间接一个无源晶振,且X1和X2通过电容接到引脚VSSOSC上,引脚VDDOSC接3.3VS,对吗?我现在的情况是,X1和X2接VSSOSC的话程序烧写有error,但如果X1和X2接信号地的话,烧写没有错误。
如果使用内部晶振,那么X1连信号地,X2不连,引脚VSSOSC连信号地,引脚VDDOSC接3.3VS,这样烧写程序没有error。
虽然这两种方法下程序都能烧写,但是我测了DSP芯片的XCLKOUT引脚,发现此引脚无时钟信号(是一个近似50HZ的脉冲波形),又在程序中配置某个GPIO口置1,但实际测得的GPIO引脚没有置1,也是一个近似50HZ的脉冲波形,我也测了其他没有定义的引脚,都是一个近似50HZ的脉冲波形,这是怎么回事呢?
Green Deng:芯片手册的66页有介绍接法,你可以参考一下:www.ti.com.cn/…/tms320f28377s.pdf
如果使用外接晶振,那么X1和X2之间接一个无源晶振,且X1和X2通过电容接到引脚VSSOSC上,引脚VDDOSC接3.3VS,对吗?我现在的情况是,X1和X2接VSSOSC的话程序烧写有error,但如果X1和X2接信号地的话,烧写没有错误。
如果使用内部晶振,那么X1连信号地,X2不连,引脚VSSOSC连信号地,引脚VDDOSC接3.3VS,这样烧写程序没有error。
虽然这两种方法下程序都能烧写,但是我测了DSP芯片的XCLKOUT引脚,发现此引脚无时钟信号(是一个近似50HZ的脉冲波形),又在程序中配置某个GPIO口置1,但实际测得的GPIO引脚没有置1,也是一个近似50HZ的脉冲波形,我也测了其他没有定义的引脚,都是一个近似50HZ的脉冲波形,这是怎么回事呢?
dirtwillfly:无源晶振的负载电容要根据数据手册选择合适。
XCLKOUT引脚要输出时钟信号,需要配置好相应的寄存器。
你测量到的50Hz的信号,我猜测是工频干扰。
如果使用外接晶振,那么X1和X2之间接一个无源晶振,且X1和X2通过电容接到引脚VSSOSC上,引脚VDDOSC接3.3VS,对吗?我现在的情况是,X1和X2接VSSOSC的话程序烧写有error,但如果X1和X2接信号地的话,烧写没有错误。
如果使用内部晶振,那么X1连信号地,X2不连,引脚VSSOSC连信号地,引脚VDDOSC接3.3VS,这样烧写程序没有error。
虽然这两种方法下程序都能烧写,但是我测了DSP芯片的XCLKOUT引脚,发现此引脚无时钟信号(是一个近似50HZ的脉冲波形),又在程序中配置某个GPIO口置1,但实际测得的GPIO引脚没有置1,也是一个近似50HZ的脉冲波形,我也测了其他没有定义的引脚,都是一个近似50HZ的脉冲波形,这是怎么回事呢?
user5342636:
您好!使用内部晶振的话,硬件上,X1连信号地,X2不连,引脚VSSOSC连信号地,引脚VDDOSC接3.3VS,请问对吗?
软件上,只需要在Sysctrl.c文件中把InitSysPll(XTAL_OSC,IMULT_20,FMULT_0,PLLCLK_BY_2)改成InitSysPll(INT_OSC1,IMULT_20,FMULT_0,PLLCLK_BY_2);就可以产生10M的内部时钟信号INTOSC1以及100M的PLLSYSCLKOUT了?还是有其他的寄存器也需要配置?
如果使用外接晶振,那么X1和X2之间接一个无源晶振,且X1和X2通过电容接到引脚VSSOSC上,引脚VDDOSC接3.3VS,对吗?我现在的情况是,X1和X2接VSSOSC的话程序烧写有error,但如果X1和X2接信号地的话,烧写没有错误。
如果使用内部晶振,那么X1连信号地,X2不连,引脚VSSOSC连信号地,引脚VDDOSC接3.3VS,这样烧写程序没有error。
虽然这两种方法下程序都能烧写,但是我测了DSP芯片的XCLKOUT引脚,发现此引脚无时钟信号(是一个近似50HZ的脉冲波形),又在程序中配置某个GPIO口置1,但实际测得的GPIO引脚没有置1,也是一个近似50HZ的脉冲波形,我也测了其他没有定义的引脚,都是一个近似50HZ的脉冲波形,这是怎么回事呢?
user5342636:
回复 Green Deng:
谢谢您的回复,我看了66页,但是只有外部晶振的接法,如果使用内部晶振的话,有推荐的引脚接法吗?比如X1,X2,VDDOSC,VSSOSC这些引脚应该接什么呢?谢谢。
如果使用外接晶振,那么X1和X2之间接一个无源晶振,且X1和X2通过电容接到引脚VSSOSC上,引脚VDDOSC接3.3VS,对吗?我现在的情况是,X1和X2接VSSOSC的话程序烧写有error,但如果X1和X2接信号地的话,烧写没有错误。
如果使用内部晶振,那么X1连信号地,X2不连,引脚VSSOSC连信号地,引脚VDDOSC接3.3VS,这样烧写程序没有error。
虽然这两种方法下程序都能烧写,但是我测了DSP芯片的XCLKOUT引脚,发现此引脚无时钟信号(是一个近似50HZ的脉冲波形),又在程序中配置某个GPIO口置1,但实际测得的GPIO引脚没有置1,也是一个近似50HZ的脉冲波形,我也测了其他没有定义的引脚,都是一个近似50HZ的脉冲波形,这是怎么回事呢?
user5342636:
回复 dirtwillfly:
非常感谢,你说的很有帮助,只是我现在还有一点麻烦,我现在先使用内部晶振试了一下,在Sysctrl.c文件中把InitSysPll(XTAL_OSC,IMULT_20,FMULT_0,PLLCLK_BY_2)改成了InitSysPll(INT_OSC1,IMULT_20,FMULT_0,PLLCLK_BY_2);使其产生10M的内部时钟信号INTOSC1以及100M的PLLSYSCLKOUT。关于XCLKOUT引脚,也配置好了相关的寄存器,选择PLLSYSCLKOUT为时钟源,XCLKOUT=1/4SYSCLKOUT,但是发现程序一直在main()函数的while循环中,并没有触发中断。请问您觉得我还有什么漏配置的寄存器吗?如果没有的话,我可能需要去检查一下ADC中断有什么问题。
如果使用外接晶振,那么X1和X2之间接一个无源晶振,且X1和X2通过电容接到引脚VSSOSC上,引脚VDDOSC接3.3VS,对吗?我现在的情况是,X1和X2接VSSOSC的话程序烧写有error,但如果X1和X2接信号地的话,烧写没有错误。
如果使用内部晶振,那么X1连信号地,X2不连,引脚VSSOSC连信号地,引脚VDDOSC接3.3VS,这样烧写程序没有error。
虽然这两种方法下程序都能烧写,但是我测了DSP芯片的XCLKOUT引脚,发现此引脚无时钟信号(是一个近似50HZ的脉冲波形),又在程序中配置某个GPIO口置1,但实际测得的GPIO引脚没有置1,也是一个近似50HZ的脉冲波形,我也测了其他没有定义的引脚,都是一个近似50HZ的脉冲波形,这是怎么回事呢?
Green Deng:
回复 user5342636:
你好,硬件上除了VDDOSC需要接一个去耦电容外,其他应该没什么问题。
软件上,可以这么修改,但是应该是用的INTOSC2而不是INTOSC1。详细信息你可以参考芯片手册108页开始的内容。