|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
DSPIC寻求帮助 |
作者:rockingstone 栏目:单片机 |
请用DSPIC30F的朋友给我一下段定时器启动AD的程序 我看资料PDF也看不明白它们间的关系,时钟要中断吗?AD要中断吗? 我一直搞不通它,也不想再浪费太多时间了 谢大侠了 |
2楼: | >>参与讨论 |
作者: jimmy shi 于 2005/9/15 15:55:00 发布:
很专业的问题!!这个功能我太喜欢了! A/D特殊事件触发信号: 1/. 在16位和32位模式下,当发生周期匹配时,C类时基都能够产生 A/D转换触发信号。该定时计数器模块为A/D采样逻辑电路提供转换启动信号(SAMPLE.html">SAMPLE)。 2/. 如果T32 = 0,当16位定时计数器寄存器(TMRx)与各自相应的16位周期寄存器(PRx)之 间发生匹配时,会产生A/D特殊事件触发信号。 3/. 如果T32 = 1,当32位定时计数器寄存器(TMRx:TMRy)与对应的32位组合的周期寄存器 (PRx:PRy)之间发生匹配时,会产生A/D特殊事件触发信号。 特殊事件触发信号总是由定时计数器产生。 4/. 必须在A/D转换器控制寄存器中选择触发源。ADCON1 中的 Bit7~5 也就是SSRC<2:0>:转换触发源选择位: 111 = 通过内部计数器结束采样并开始转换(自动转换) 011 = 通过电机控制PWM间隔结束采样并开始转换 010 = 通用Timer3比较结束采样并开始转换 001 = 通过INT0引脚的有效转变结束采样并开始转换 000 = 通过清除SAMP位结束采样并开始转换 |
3楼: | >>参与讨论 |
作者: jimmy shi 于 2005/9/15 16:06:00 发布:
补充一下... 我们可以看到, 通过将SSRC<2:0> 置为 010,可将A/D设为定时器匹配触发模式。如果32位定时器TMR3/TMR2和32 位组合周期寄存器PR3/PR2之间匹配,则Timer3会产生一个特殊的ADC触发时间信号。 注意: TMR5/TMR4定时器对不具备此功能! |
4楼: | >>参与讨论 |
作者: rockingstone 于 2005/9/16 9:32:00 发布:
呵呵 谢谢朋友你的热心了 我照你说的去试试 我做过的单片机种类很多了 说实话dsPIC的PDF不好看明白 不过还好单片机开发就那么个过程,有机会我们一起探讨 |
5楼: | >>参与讨论 |
作者: jimmy shi 于 2005/9/16 11:27:00 发布:
MICROCHIP的资料还是比较完善的:) 本人做过10几年的设计,从Z80开始(那时候MICROCHIP刚诞生),我认为MICROCHIP的资料是写的最详细和完善的.和处对象一样,看习惯就好了,呵~ |
6楼: | >>参与讨论 |
作者: rockingstone 于 2005/9/16 14:12:00 发布:
hehe jimmy shi: 谢谢你指点,我做通了 但是我有疑问:我是在时钟中断里进行AD采样,AD触发也是用的时钟,那么我时钟记数满后,马上跳进时钟中断服务程序,需要延迟来读AD buffer吗(我认为中断里做延迟不是什么好事)??不延迟读到的值估计有问题(跳转肯定比AD转换快) 我的邮件:rockyzhaihui@hotmail.com 有什么联系一下好了 |
7楼: | >>参与讨论 |
作者: jimmy shi 于 2005/9/16 15:02:00 发布:
最好用AD中断 1/. DSPIC有个最好的特性是可以确定几次采样后中断. 你可以设置每次中断的采样次数.最多可以16次采样后中断. 2/. 中断程序尽量短. |
8楼: | >>参与讨论 |
作者: xinzhou 于 2005/9/21 18:16:00 发布:
DSPIC寻求帮助 rockingstone,jimmy兄: 说的好. 几点补充: 1.A/D特殊事件触发功能只是针对于转换,与A/D的其他子进程(采样/保持)无关. 2.使能A/D特殊事件触发功能时,通常A/D处于长采状态. 3.使能A/D特殊事件触发功能时,A/D数据在何处处理不重要,视具体应用而定. 4.放在中断中处理时,注意中断优先级之间的关系. 5.注意特殊事件中断处理时间. |
9楼: | >>参与讨论 |
作者: rockingstone 于 2005/9/22 22:03:00 发布:
呵呵 多谢这么多朋友的交流 我已经把这件事做通了,我是改了的:时钟触发AD中断,在AD中断里读的数值,只是我一时没有那么多工夫去看资料做同一通道多次采样然后平均,不过也够了 PIC开发过程,也许我才摆弄PIC几天吧,很多没有细致了解,我有一些不太满意的 1/ IDE 7.20不太好用,甚至出现程序跑飞都找不到飞哪里了,也就是指示运行到哪里的箭头居然不在了 2/ 有时候简单调用子程序后居然无法返回 3/ ICD2数只能打一个断点,我比较喜欢打很多短点,那样比较准确的看运行。 ICD2为什么不采用JTAG呢?? 4/ ,PIC公司给的头文件和定位文件有其方便之处,但是也让开发经验不足的 人带来困绕,对有开发经验的人来说则就死板了 5/ 我接触时间没几天,不知道ram,rom空间是否可以人为的去规划 相对来说TI的东西好用。 算了,不多扯了,摆弄出来也就完了 不想去追究人家了,估计是自己不了解人家东西, 皮毛之见,望大家不要耻笑 |
10楼: | >>参与讨论 |
作者: jimmy shi 于 2005/9/23 8:10:00 发布:
事情就是这样,你摆弄出来了,你就是专家! 只有一个建议,多用用软件模拟,帮助你解决很多问题,在11月的MASTERs精英年会上会有一门专门的课程讲述软件模拟。你会得到惊喜。。。比如你现在可以不用硬件,在屏幕上监视管脚上的输出波形。参加MASTERs的赶快报名,过几天就多收200块了!机会难得! |
11楼: | >>参与讨论 |
作者: rockingstone 于 2005/9/23 12:34:00 发布:
呵呵 jimmy:哪里报这个MASTERs的名呀,麻烦吗? 其他也不图,就想软仿真 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |