- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模/数转换器的寄存器 控制寄存器(ADCR) 数据寄存器(ADDR) 时钟分频寄存器(ADCDR) 时钟控制寄存器(ADCCR) 模/数转换控制寄存器ADCR 模/数转换数据寄存器ADDR 模/数转换时钟分频寄存器ADCDR 模/数转换时钟控制寄存器ADCCR 一个设置模/数转换器的例子,在该例子中DSP系统主时钟为144MHz (1)首先对系统主时钟分频,产生模/数转换器时钟,该时钟应尽量运行在较低频率下,以降低功率消耗,在本例中模/数转换器时钟是通过对系统主时钟36分频产生的,则此时模/数转换时钟=144MHz/36=4MHz,根据公式 ADC Clock = (System Clock) / (SystemClkDiv + 1) 得出SystemClkDiv=35; (2)对模/数转换器时钟分频产生模/数转换时钟,该时钟最大值为2MHz,为了获得2MHz的模/数转换时钟,则需要对模/数转换器时钟2分频,由 ADC 转换时钟 = (ADC Clock) / (2 ×(ConvRateDiv + 1)) 得出ConvRateDiv=0 ADC 转换时间 = 13 ×(1 / ADC Conversion Clock) ADC 转换时间 = 13 × (1 / (2 MHz)) = 6.5μs; (3)对采样和保持时间进行设置,这个值必须大于40μs ADC采样和保持时间= (1 / (ADC Clock)) / (2 ×(ConvRateDiv + 1 + SampTimeDiv)) = (1 / (4 MHz)) / (2 ×(0 + 1 + SampTimeDiv)) = 250 ns× (2 ×(0 + 1 + 79)) = 40μs SampTimeDiv=79; (4)整个转换时间为40μs的采样和保持时间加上6.5μs的转换时间等于46.5μs,采样率=1/46.5μs =21.5 KHz。 使用方法及实例 用片支持库配置模/数转换器有两种方式 以寄存器为基础的配置 ADC_Config Config = { 0x0000, /* ADCR ,对0通道采样*/ 0x0023, /* ADCCR ,SystemClkDiv=35 */ 0x4F00 /* ADCDR ,SampTimeDiv=79,ConvRateDiv=0*/ } 接下来运行配置函数: ADC_config(Config); 以参数为基础的配置方式 void ADC_setFreq( int cpuclkdiv, //数值范围0-255 int convratediv, //数值范围0-16 int sampletimediv); //数值范围0-255 接着给出调用的例子: int i=35,j=0,k=79; ADC_setFreq(i,j,k); 配置好模/数转换器后就可以用ADC_read函数完成采样过程,下面给出例子: int channel=0,samplenumber=3; Uint16 samplestorage[3]={0,0,0}; ADC_read(channel,samplestorage,samplenumber); /* 对模拟输入0通道进行3次采样, */ /* 采样的结果放在samplestorage数组中 */ 实时时钟(RTC) TMS320VC5509实时时钟的功能: 可以到2099年的长达100年的日历; 同DSP内部CPU连接的外设总线; 32位配置/状态寄存器; 独立的秒、分钟、小时、星期、天、月和带闰年补偿的计数器; 支持12小时和24小时模式; 可以按秒、分、小时或天输出报警中断; 周期更新中断; 可以连接外部32.768KHz振荡器; 独立的电源供应。 实时时钟基本结构 实时时钟的内部寄存器 时钟寄存器 报警寄存器 实时时钟中断寄存器 实时时钟中断使能寄存器 实时时钟中断标志寄存器 实时时钟的应用 实时时钟配置结构用来配置实时时钟的各个寄存器的例子: RTC_Config myConfig = { 0x0, /* 秒 */ 0x10, /* 秒报警 */ 0x18, /* 分钟 */ 0x10, /* 分钟报警 */ 0x10, /* 小时 */ 0x13, /* 小时报警 */ 0x06, /* 星期以及星期报警*/ 0x11, /* 日期 */ 0x05, /* 月 */ 0x01, /* 年 */ 0x10, /* 周期中断选择寄存器 */ 0x02, /* 中断使能寄存器 */ }; 配置函数是用配置结构初始化实时时钟: RTC_config(myConfig); 实时时钟的中断可以通过实时时钟中断事件禁止和使能函数来进行设置,三种
文档评论(0)