
dsp-10章ad和11章spi.ppt
22页第10章 模数转换模块(ADC),一.功能 : 1.16路 10位的ADC 2.16路输入可通过编程自动排序,或选择两个8路的排序器 (SEQ1,SEQ2),通道转换顺序可编程,可双排序或级联 3.16个结果寄存器 4.多个启动源(软件EVA,EVB,外部引脚). 5.中断方式可选择每次结束中断或一个序列结束后中断. 6.内置16个采样/保持器(S/H),采样/保持获取时间窗口可调, (采样/保持窗口时间可以预定标控制) AD转换周期可调 7.具有校验和自测试模式 8.转换时间(S/H+转换) 500-ns,二.ADC的功能寄存器(25个) ADCTRL1/2:ADC控制寄存器1.2 MAXCONV:最大转换通道数寄存器 CHSELSEQ1-4:通道选择排序控制寄存器1-4 AUTO-SEQ-SR:自动排序状态寄存器 RESULT0-15:结果缓冲寄存器0-15 CALIBRATION:校准寄存器,控制寄存器2个 最大转换通道数寄存器1个 通道选择排序控制寄存器4个 自动排序状态寄存器1个 结果缓冲寄存器16个 校准结果寄存器1个,ADCTRL1:控制寄存器1 15:保留 14:reset复位位: 1:复位ADC。
13-12:SOFT、FREE : 仿真时的控制 11-8:PS3-PS0采样时间窗, S/H采样保持时间选择, 有16种(与CPU时钟和CPS有关) 7:CPS: 选择转换定标值 6.连续转换CONT.RVN位:. 0:启动/停止模式 复位后排序指针指向0 1:连续转换模式 5.INT PR1.优先级控制: 0:高优先级 1:低优先级 4.SEQ ACSC.排序器工作方式选择: 0:双序工作模式 2个8通道排序器 1:级连模式 1个16位通道排序器 3.CALENA:校准模式选择: 0:禁止校准模式 1:使能校准模式 2 .BRGNEA:电桥选择: 0:ADC对数电压为满电压 1:ADC参数电压为一半电压 1.Vrefh1/vrefl0选择: 0:V refl0作为ADC输入值 1:V reflh1作为ADC输入值 0:STEST END 自测试: 0:禁止自测 1:使能自测试,三.ADC的功能寄存器分析,ADCTRL2:排序器控制方式: 15:仅在级联方式下使用, 1=启动级联排序器 0=不起作用 14:排序器复位位 13:排序器1 启动触发位 12:排序器1 忙状态位 11-10:排序器1 中断方式控制位 9:排序器1 中断标志位 8:EVA启动A/D允许位 7:外部信号启动A/D允许位 6:排序器2 复位位 5:排序器2 启动触发位 4:排序器2 忙状态位 3-2:排序器2 中断方式控制位 1:排序器2 中断标志位 0: EVB启动A/D允许位 RESULTn(n=0—15):转换结果寄存器 10位转换结果存放在高10位,既15-6位对应D9—D0,MAXCONV:最大转换通道数选择: 15-7:保留 6-0 :选择使用的通道数(每次连续 转换的个数) 其中:排序器1使用2-0位 排序器2使用6-4位 排序器 使用3-0位 AUTO-SEQ-SR:自动排序状况寄存器 11-8:SEQ 排序器计数状态 6-4:SEQ2. 排序器1指针状态 3-0:SEQ1. 排序器2指针状态 CHSELSEQn(N=1、2、3、4):通道转换顺序排序控制寄存器 每个寄存器16位,每4位对应一路通道 转换的顺序CONV0最先转换 CONV15最后转换 CHSELSEQ1. CONV3 CONV2 CONV1 CONV0 2 7 6 5 4 3 11 10 9 8 4 15 14 13 12,1.自动排序器 具有2个独立的最多可选择8路通道的排序器(SEQ1和SEQ2)级联构成一个可选16路的排序器(SEQ),结构如下:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,模拟MUX,ADCIN00,IN15,S/H+A/D 10位,SOC,EOC,MAXCONV1,通道选择,0 1 2,15,4,4,,指针 状态,结果MUX,result0,result15,通道选择,自动排序器状态机,触发,软件,EVA,EVB,ADCSOC(引脚),. . .,. . . .,四.ADC的功能结构分析,级联方式自动排序框图,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ADCIN00,IN15,S/H+A/D,MUX,MUX,,,,,,,,,,,,,,,,10,10,10,,,,,,,,,,,,,,MAXCONV2,通道,SEQ1,SEQ2,软件,EVA,EVB,SOC,+,0,7,8,15,MAXCONV1,通道,+,软件,result0,result7,result8,result15,,,SOC1 EOC1,SOC2 EOC2,双排序器方式自动排序框图,通道选择0-15可选择IN00-IN15且可多次选择同一通道进行多次采样(过采样) 处理完正在A/D的排序器后才处理下一个排序器 双排序,SEQ1采样00-07. SEQ2采样08-15,2. 工作方式有: 1.连续的自动排序模式(转换个数由MAXCONV1/2控制) 2.启动/停止模式:CONT RUN=0 .不重复.CONT RUN=1重复连续转换 在不重复情况下,排序指针指向最后状态,计数器为0 用ADCTRL2(控制寄存器)的RST位可复位,使指针指向0 提供多个信号源的启动。
实现在时间上的同步 即在CONT RUN=0时,执行完SEQCNTR1/2的值后等待新的启动信号, 再继续转换后边的通道 3.中断方式 (由ADC控制寄存器ADCTRL2的中断模式位决定) 1)每次EOS到来时才能中断(即SEQCNTR到0时,产生中断) 2)每隔一个EOS信号,产生一次中断 3.ADC时钟预定标:结构如下:,,,,,,,,,,,,,,,,,,,,,,,,,CPU clock,*/2,1,*1~16,A/d 11.ACLK,PS,ACQPS3~ACQPS0,S/H (2.PS),一次APC转换时间,S/H时间+AD转换时间,若CPS=0,PS=CLK(fclk=fc) CPS=1,PS=2CLK(fCLK=fc/2),4.校准模式 通过设置可测参考电压的最大最小值及中间值,可计算出零,中点,最大值点的偏移误差,并以二进制补码形式保存在补偿值寄存器中(校准寄存器),ADC能自动将偏差加到转换值上 5.自测试模式 检测输入短路和开路时的状态,在开路和短路时的测量结果送结果寄存器自测式模式只能单独使用,不能与正常工作模式同时使用五.ADC转换应用举例: 本节介绍一个A/D采样的例程,该程序用事件管理器B的定时器4定时时间到来触发A/D采样的启动。
采样时采用级连模式,一次作16个转换,转换通道分别是0-15转换完成后,在A/D中断服务子程序中将转换结果读出该程序只考虑了作一次A/D采样 .include “F2407REGS.H” .def _c_int0 (1)建立中断向量表 .sect “.vectors” RSVECT B _c_int0 INT1 B GISR1 INT2 B PHANTOM INT3 B PHANTOM INT4 B PHANTOM INT5 B PHANTOM INT6 B PHANTOM RESERVED B PHANTOM SW_INT8 B PHANTOM : SWINT31 B PHANTOM,中断子向量入口定义pvecs .sect “.pvecs” PVECTORS B PHANTOM B PHANTOM B PHANTOM B PHANTOM B PHANTOM B PHANTOM B PHANTOM : B PHANTOM,(2)主程序: .text _c_int0 SETC INTM CLRC SXM CLRC OVM CLRC CNF LDP #0E0H SPLK #81FEH,SCSR1 SPLK #0E8h,WDCR LDP #0 SPLK #0001h,IMR SPLK #0FFFFh,IFR CALL ADINIT CLRC INTM CALL AD WAIT: NOP B WAIT,,(3)ADC初始化程序: ADINIT:LDP #225 SPLK #0000H,T4CNT SPLK #170CH,T4CON SPLK #075H,T4PER SPLK #0400H,GPTCONB SPLK #0FFFFH,EVBIFRB SPLK #0000H,EVBIMRB LDP #DP_PF2 SPLK #0010H,ADCTRL1 SPLK #8404H,ADCTRL2 SPLK #000FH,MAXCONV SPLK #3210H,CHSELSEQ1 SPLK #7654H,CHSELSEQ2 SPLK #0BA98H,CHSELSEQ3 SPLK #0FEDCH,CHSELSEQ4 LDP #DP_SARAM2 SPLK #ADRESULT,ADCOUNT RET,(4)启动模数转换程序: AD: LDP #225 LACL T4CON OR #40H SACL T4CON RET,(5)中断程序 GISR1: 保护现场 LDP #0E0H LACC PIVR,1 ADD #PVECTORS BACC ADCINT_ISR: CLRC SXM LDP #DP_SARAM2 LAR AR1,ADCOUNT LAR AR0,#15 LAR AR2,#RESULT0 MAR *,AR2 ADC1: LACC *+,10,AR1 : :,,SACH * ADRK #32 MAR *,AR0 BANZ ADC1,*-,AR2 LDP #DP_PF2 LACL ADCTRL2 OR #4000H AND #0FFDFH SACL ADCTRL2 LDP #DP_SARAM2 LACL ADCOUNT SUB #ADRESULT+31 BCND ADC2,GEQ ADD #ADRESULT+32 SACL ADCOUNT B GISR1_RET,ADC2: SPLK #ADRESULT,ADCOUNT LACL T4CON AND #0FFBFH SACL T4CON B GISR1_RET GISR1_RET: CLRC INTM RET (6)假中断程序 PHANTOM KICK_DOG RET END,第11章 SPI事件外设接口 高速,同步串行I/O. 串行位流1--16位 4个引脚: SPISOM1 主动输入/从动输出 SPISIM0 主动输出/从动输入 SPICLK 主动发送时钟 SPITE 从动使能 两种工作方式: 主动/从动 波特率: 125种 4种时钟方案: 下降沿 延时下降沿 上升沿 延时上升沿 (发送) (发送提前。












