当前位置: 首页 > news >正文

月嫂云商城网站建设合肥网站制作

月嫂云商城网站建设,合肥网站制作,旅游电子商务网站的建设包括哪些步骤?网站建设中有哪些常用技术?,网络规划设计师2017至2021年试题分析与解答 pdf前言 DSP各种模块的使用#xff0c;基本上就是 GPIO复用配置、相关控制寄存器的配置、中断的配置。本文主要记录本人对ADC模块的学习笔记。TMS320F28377D上面有24路ADC专用IO#xff0c;这意味着不需要进行GPIO复用配置。 只需要考虑相关控制寄存器和中断的配置。看代码请直…前言 DSP各种模块的使用基本上就是 GPIO复用配置、相关控制寄存器的配置、中断的配置。本文主要记录本人对ADC模块的学习笔记。TMS320F28377D上面有24路ADC专用IO这意味着不需要进行GPIO复用配置。 只需要考虑相关控制寄存器和中断的配置。看代码请直接跳到最后。 正文 单端模式/差分模式 在放代码之前先谈谈TMS320F28377D的ADC里面非常容易搞蒙的一点单端模式/差分模式 根据TMS320F28377D 的reference的介绍(pg:1554)ADC模块有以下特性 差分信号转换 仅限16位模式 单端信号转换 仅限12位模式 单端的话就能有16通道12位|  差分的话就能有8通道16位。 很多人都对差分模式下DSP的代码应该如何编写还不够理解相信看了下面这个帖子会有启发。TMS320F28388D: 16位差分采样 - C2000™︎ 微控制器论坛 - C2000 微控制器 - E2E™ 设计支持 (ti.com) 我怕帖子被删除了还是复述点关键的东西吧。 下表不仅给出了单端/差分在16位模式下的解算方式也间接说明了单端也并非是 12-bit mode only单端也是可以用16位的。 而下面两条评论则清晰的解释了差分模式下如何得到ADC的采集结果  最后结合一张硬件原理图基本上已经一目了然了  代码理解 下面给出ADC控制寄存器的相关配置代码并进行解释。 EALLOW;AdcaRegs.ADCCTL2.bit.PRESCALE 6; // Set ADCCLK divider to /4AdcSetMode(ADC_ADCA, ADC_RESOLUTION_16BIT, ADC_SIGNALMODE_SINGLE);AdcaRegs.ADCCTL1.bit.INTPULSEPOS 1;AdcaRegs.ADCCTL1.bit.ADCPWDNZ 1;DELAY_US(1000);EDIS; AdcaRegs.ADCCTL2.bit.PRESCALE       6; 本行代码是ADC的时钟预分频参考手册pg1597可以看到6表示4分频此行代码是参考Ti的官方例程里面的代码。 AdcSetMode(ADC_ADCA, ADC_RESOLUTION_16BIT, ADC_SIGNALMODE_SINGLE); 此行代码是设置ADC模块的A组ADCA还有ADCB、ADCC、ADCD的分辨率和单端/差分模式。正文开篇也提到了单端模式也是可以使用16位的分辨率的。 当然我们也可以把ADCA配置成差分模式然后使用16位的分辨率 AdcSetMode(ADC_ADCA, ADC_RESOLUTION_16BIT, ADC_SIGNALMODE_DIFFERENTIAL); 但后续对ADC转换结果的解算需要做相应的修改参考前面放的解算表。 关于下面三行代码 AdcaRegs.ADCCTL1.bit.INTPULSEPOS 1; AdcaRegs.ADCCTL1.bit.ADCPWDNZ 1; DELAY_US(1000);也是参考Ti的官方例程里面的代码。 第一行AdcaRegs.ADCCTL1.bit.INTPULSEPOS    1;是配置 ADC中断脉冲位置。Pg1596 0采集窗口结束时产生中断脉冲 | 1在转换结束时产生中断脉冲。结果将在1个或多个周期后锁定。 不纠结抄就完了。 第二行AdcaRegs.ADCCTL1.bit.ADCPWDNZ       1;是打开ADC的电源 第三行DELAY_US(1000);是延迟1ms等待ADC上电成功。  下面给出ADC的SOC及中断相关寄存器的配置代码并给出解释。 EALLOW;AdcaRegs.ADCSOC0CTL.bit.CHSEL 0; // SOC0 will convert internal connection A0AdcaRegs.ADCSOC0CTL.bit.ACQPS 63; // Sample window is 64 SYSCLK cyclesAdcaRegs.ADCSOC0CTL.bit.TRIGSEL 0x5; // Trigger on ePWM1 ADCSOCA 触发源的选择AdcaRegs.ADCSOC1CTL.bit.CHSEL 2; // SOC1 will convert internal connection A2AdcaRegs.ADCSOC1CTL.bit.ACQPS 63; // Sample window is 65 SYSCLK cyclesAdcaRegs.ADCSOC1CTL.bit.TRIGSEL 0x5; // Trigger on ePWM1 ADCSOCA 触发源的选择AdcaRegs.ADCINTSEL1N2.bit.INT1SEL 1; // End of SOC1 will set INT1 flagAdcaRegs.ADCINTSEL1N2.bit.INT1E 1; // Enable INT1 flagAdcaRegs.ADCINTFLGCLR.bit.ADCINT1 1; // Make sure INT1 flag is clearedEDIS; 首先我们来解释这三行 AdcaRegs.ADCSOC0CTL.bit.CHSEL 0; // SOC0 will convert internal connection A0 AdcaRegs.ADCSOC0CTL.bit.ACQPS 63; // Sample window is 64 SYSCLK cycles AdcaRegs.ADCSOC0CTL.bit.TRIGSEL 0x5; // Trigger on ePWM1 ADCSOCA 触发源的选择第一行AdcaRegs.ADCSOC0CTL.bit.CHSEL       0; 表示ADCa的SOC0信道的选择是ADCIN0单端模式或者 ADCIN0和ADCIN1组合的差分模式。 SOCstart of conversion相当于【ADCIN0单端模式】 或【ADCIN0与ADCIN1组合的差分模式】的转换结果将会保存到 AdcaResultRegs.ADCRESULT0中。 第二行AdcaRegs.ADCSOC0CTL.bit.ACQPS       63;表示SOC0的捕获预分频设置成了64个周期主要控制该SOC的采样和保持窗口的时长。此行也是参考Ti官方例程里面的程序。 官方推荐12位分辨率ACQPS14// 75 ns。16位分辨率ACQPS63// 320 ns 第三行AdcaRegs.ADCSOC0CTL.bit.TRIGSEL     0x5; 表示SOC0触发源的选择。 我们的系统要用PWM去控制电机的所以配置了用PWM去作为SOC0的触发源。也可以直接写某个寄存器ADCSOCFRC1触发写用定时器触发。这些方式可以参考Ti的官方例程。 下面我们来解释中断相关的这三行代码 AdcaRegs.ADCINTSEL1N2.bit.INT1SEL 1; // End of SOC1 will set INT1 flag AdcaRegs.ADCINTSEL1N2.bit.INT1E 1; // Enable INT1 flag AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 1; // Make sure INT1 flag is cleared第一行AdcaRegs.ADCINTSEL1N2.bit.INT1SEL   1;表示当SOC1转换结束后才给出ADCa INT1的中断信号然后产生中断 如果配置成 7; 那就得等SOC7转换结束后才给ADCa INT1的中断信号。 第二行AdcaRegs.ADCINTSEL1N2.bit.INT1E     1;  使能ADCa的INT1中断。 第三行AdcaRegs.ADCINTFLGCLR.bit.ADCINT1   1; 清空中断标志 代码整理 下面将所有代码整理到一起一便借鉴其中也包含ADC的中断配置以及中断处理函数的定义。 void adcinterruptinit(void){// ADCEALLOW; // 设置中断入口函数PieVectTable.ADCA1_INT ADCaHandler;EDIS;PieCtrlRegs.PIEIER1.bit.INTx1 1; // 使能PIE中断 ADCaIER | M_INT1; }interrupt void ADCaHandler(void){// AdcaResultRegs.ADCRESULT0 // AdcaResultRegs.ADCRESULT1AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 1; // Clear INT1 flagPieCtrlRegs.PIEACK.all PIEACK_GROUP1; }void adc_register_init(void){EALLOW;AdcaRegs.ADCCTL2.bit.PRESCALE 6; // Set ADCCLK divider to /4AdcSetMode(ADC_ADCA, ADC_RESOLUTION_16BIT, ADC_SIGNALMODE_SINGLE);AdcaRegs.ADCCTL1.bit.INTPULSEPOS 1;AdcaRegs.ADCCTL1.bit.ADCPWDNZ 1;DELAY_US(1000);EDIS;EALLOW;AdcaRegs.ADCSOC0CTL.bit.CHSEL 0; // SOC0 will convert internal connection A0AdcaRegs.ADCSOC0CTL.bit.ACQPS 63; // Sample window is 64 SYSCLK cyclesAdcaRegs.ADCSOC0CTL.bit.TRIGSEL 0x5; // Trigger on ePWM1 ADCSOCA 触发源的选择AdcaRegs.ADCSOC1CTL.bit.CHSEL 2; // SOC1 will convert internal connection A2AdcaRegs.ADCSOC1CTL.bit.ACQPS 63; // Sample window is 65 SYSCLK cyclesAdcaRegs.ADCSOC1CTL.bit.TRIGSEL 0x5; // Trigger on ePWM1 ADCSOCA 触发源的选择AdcaRegs.ADCINTSEL1N2.bit.INT1SEL 1; // End of SOC1 will set INT1 flagAdcaRegs.ADCINTSEL1N2.bit.INT1E 1; // Enable INT1 flagAdcaRegs.ADCINTFLGCLR.bit.ADCINT1 1; // Make sure INT1 flag is clearedEDIS; } 感谢您的阅读欢迎留言讨论、收藏、点赞、分享。
http://www.w-s-a.com/news/164400/

相关文章:

  • 网站设计简单讲解小店怎么做网站
  • 校园网站的意义wordpress去除更新
  • 网站开发用python吗常用的网页开发工具有哪些
  • 北京市住房建设投资建设网站做商城网站要哪些流程
  • seo网站改版杭州建设局官网
  • 物流网站建设策划书泰然建设网站
  • 百度做网站的费用采集发布wordpress
  • 网站运维公司有哪些防录屏网站怎么做
  • 昆明做网站seo的网站制作专业
  • 聊城制作手机网站公司wordpress 头条
  • 商城微网站模板一般电商网站做集群
  • winserver2008上用iis发布网站嵊州网站制作
  • 网站内页权重怎么查辽宁建设工程信息网怎么上传业绩
  • 丰都网站建设价格镇江网站制作费用
  • app手机网站建设黄网站建设定制开发服务
  • 百度网盘app下载徐州优化网站建设
  • 附近网站电脑培训班展台设计方案介绍
  • 河南便宜网站建设价格低上海高端室内设计
  • 保险网站有哪些平台wordpress会员vip购买扩展
  • 网站怎么做图片转换广州车陂网站建设公司
  • 下载flash网站网站设计书的结构
  • 水利建设公共服务平台网站放心网络营销定制
  • 设计网站过程wordpress+分页静态
  • 临海网站制作好了如何上线如果安装wordpress
  • 长沙 学校网站建设网站制作价格上海
  • 九江网站推广徽hyhyk1国家住房部和城乡建设部 网站首页
  • 阿克苏网站建设咨询动漫设计与制作属于什么大类
  • 网站编辑做多久可以升职wordpress版权修改
  • 网站开发维护成本计算国外外贸平台
  • 简单的招聘网站怎么做购物网站功能报价