




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章第四章 TMS320LF240 x的片内外设的片内外设 4.3.14.3.1模数转换模块的特性模数转换模块的特性 1.1.带有采样保持功能的带有采样保持功能的1616个通道的个通道的1010位位ADCADC电路;电路; 2.2.各个通道的转换顺序可以由自动排序器决定,一次可以执各个通道的转换顺序可以由自动排序器决定,一次可以执行行1616个通道的自动转换,每次转换的具体通道由编程决定;个通道的自动转换,每次转换的具体通道由编程决定; 3.3.具有两个独立的具有两个独立的8 8通道的排序器通道的排序器(SEQ1(SEQ1和和SEQ2)SEQ2),可以独立工,可以独立工作在双排序模式,也可工
2、作在级连模式作在双排序模式,也可工作在级连模式( (可选择可选择1616通道的连续通道的连续工作模式工作模式) ); 4.4.在给定的排序模式下,通过在给定的排序模式下,通过4 4个排序控制器个排序控制器(CHSELSEQx)(CHSELSEQx)来来决定各个模拟通道的转换顺序决定各个模拟通道的转换顺序; ;5.5.可以独立访问用来存储结果的结果寄存器可以独立访问用来存储结果的结果寄存器(RESULT0-(RESULT0-RESULT15);RESULT15);第四章第四章 TMS320LF240 x的片内外设的片内外设4.3.2 4.3.2 自动排序器的工作原理自动排序器的工作原理 模数转换
3、模块模数转换模块ADCADC具有两个独立的最多可具有两个独立的最多可选择量为选择量为8 8个通道的排个通道的排序器序器(SEQ1(SEQ1和和SEQ2)SEQ2),这,这两个排序器既可独立工两个排序器既可独立工作,也可级连在一起构作,也可级连在一起构成成1616通道的排序器通道的排序器SEQSEQ。 ADC ADC模块可以对一个模块可以对一个序列转换进行自动排序。序列转换进行自动排序。对于每个通道,可通过对于每个通道,可通过多路选择器来选择。转多路选择器来选择。转换结果自动保存在与该换结果自动保存在与该通道对应的结果寄存器通道对应的结果寄存器(RESULTx)(RESULTx)中。中。 第四章
4、第四章 TMS320LF240 x的片内外设的片内外设 8 8通道的双排序和通道的双排序和1616通道的单排序的工作方式极为相似,为通道的单排序的工作方式极为相似,为描述方便,下表列出了描述方便,下表列出了SEQ1SEQ1、SEQ2SEQ2、SEQSEQ的区别。的区别。 特性参数特性参数SEQ1SEQ1SEQ2SEQ2SEQSEQ转换触发源转换触发源EVAEVA、软件、外引、软件、外引脚脚EVBEVB、软件、软件EVAEVA、EVBEVB、软件、软件、外引脚外引脚最多可选择通道最多可选择通道数数8 88 81616触发转换优先级触发转换优先级高高低低无无转换结果寄存器转换结果寄存器RESULT
5、0RESULT07 7RESULT8RESULT81515RESULT0RESULT01515通道号通道号CONV00CONV000707CONV08CONV081515CONV00CONV001515第四章第四章 TMS320LF240 x的片内外设的片内外设 使用时,将转换通道的个数存入最大转换通道寄存器使用时,将转换通道的个数存入最大转换通道寄存器MAXCONVMAXCONV。MAXCONVMAXCONV中的值在自动排序开始时被装载到自动排中的值在自动排序开始时被装载到自动排序状态寄存器序状态寄存器AUTO_SEQ_SRAUTO_SEQ_SR中的排序计数器中的排序计数器SEQ CNTR3
6、:0SEQ CNTR3:0中。中。转换时,排序器从转换时,排序器从CONV00CONV00开始,排序计数器从被装载的值开开始,排序计数器从被装载的值开始减计数操作,直到计数器的值为始减计数操作,直到计数器的值为0 0,因此实际转换的通道个,因此实际转换的通道个数应为数应为MAXCONVMAXCONV的内容加的内容加1 1。SEQ1SEQ1的通道个数存入的通道个数存入MAXCONVMAXCONV的低的低3 3位;位;SEQ2SEQ2的通道个数存入的通道个数存入MAXCONVMAXCONV的的4 46 6位;级连位;级连SEQSEQ的通道的通道个数存入个数存入MAXCONVMAXCONV的低的低4
7、 4位。位。 还要将各工作方式中的通道号存入输入通道选择控制寄存还要将各工作方式中的通道号存入输入通道选择控制寄存器器CHSELSEQxCHSELSEQx。每个通道号由。每个通道号由4 4位组成,因此一个位组成,因此一个1616位的位的CHSELSEQxCHSELSEQx只能存放只能存放4 4个通道号,这样最多个通道号,这样最多1616个通道号就需要四个通道号就需要四个输入通道选择控制寄存器个输入通道选择控制寄存器CHSELSEQ1CHSELSEQ1CHSELSEQ4CHSELSEQ4,这,这1616个通个通道号的名称分别是道号的名称分别是CONV00-CONV15,CONV00-CONV15
8、,每一个是每一个是4 4位空间。位空间。第四章第四章 TMS320LF240 x的片内外设的片内外设 当触发源有效时,按照通道号在当触发源有效时,按照通道号在CHSELSEQxCHSELSEQx中的排列顺序,中的排列顺序,依次对其进行依次对其进行A/DA/D转换,直到转换完所设置的全部通道数目为止。转换,直到转换完所设置的全部通道数目为止。 当当A/DA/D转换正在进行时,新来的有效触发信号将被挂起,等转换正在进行时,新来的有效触发信号将被挂起,等待当前转换结束后再启动新的转换。如果在新来的触发信号之待当前转换结束后再启动新的转换。如果在新来的触发信号之前已经有触发信号被挂起,则后到的触发信号
9、会被丢弃。前已经有触发信号被挂起,则后到的触发信号会被丢弃。 1 1连续转换方式连续转换方式 当当ADCADC控制寄存器控制寄存器1(ADCTRL1)1(ADCTRL1)的的CONTRUNCONTRUN位为位为1 1时,就设置时,就设置成连续转换方式。成连续转换方式。 当触发信号触发转换时,排序器就根据设置的顺序对所选当触发信号触发转换时,排序器就根据设置的顺序对所选的通道进行转换。当最后一个通道转换完后,申请中断。如果的通道进行转换。当最后一个通道转换完后,申请中断。如果这时这时CONTRUNCONTRUN位仍为位仍为1 1,则排序器重新指向要转换的第一个通道,则排序器重新指向要转换的第一个
10、通道,自动进入新一轮的转换。因此用户必须想办法保证将前一轮的自动进入新一轮的转换。因此用户必须想办法保证将前一轮的转换结果及时取走,以避免被覆盖。转换结果及时取走,以避免被覆盖。 第四章第四章 TMS320LF240 x的片内外设的片内外设【例例4-44-4】 如果有如果有7 7个要转换的通道编入个要转换的通道编入SEQ1SEQ1,采用连续转换,采用连续转换方式,转换通道及转换顺序定义为方式,转换通道及转换顺序定义为2 2、3 3、2 2、3 3、6 6、7 7、1212,则,则MAXCONVMAXCONV应设置为应设置为6 6。通道选择寄存器。通道选择寄存器CHSELSEQxCHSELSEQ
11、x进行如下表设进行如下表设置。置。 地地 址址位位15-1215-12位位11-811-8位位7-47-4位位3-03-0CHSELSEQxCHSELSEQx70A3h70A3h3 32 23 32 2CHSELSEQ1CHSELSEQ170A4h70A4hx x12127 76 6CHSELSEQ2CHSELSEQ270A5h70A5hx xx xx xx xCHSELSEQ3CHSELSEQ370A6h70A6hx xx xx xx xCHSELSEQ4CHSELSEQ4第四章第四章 TMS320LF240 x的片内外设的片内外设 一旦排序器接受到转换一旦排序器接受到转换启动信号启动信号S
12、OCSOC,MAXCONVMAXCONV就对就对自动状态排序寄存器中的自动状态排序寄存器中的SEQCNTR3:0SEQCNTR3:0位进行装载,位进行装载,转换自动开始,按转换自动开始,按CHSELSEQxCHSELSEQx所指定的转换通道顺序进行所指定的转换通道顺序进行转换。每当转换完一个通道,转换。每当转换完一个通道,SEQCNTR3:0SEQCNTR3:0位就减一个位就减一个1 1,当其值为当其值为0 0时,如果时,如果CONTRUNCONTRUN位仍被置位,再次自动启动位仍被置位,再次自动启动排序器,在此情况下,必须排序器,在此情况下,必须保证在下次转换开始前读取保证在下次转换开始前读
13、取上次的转换结果。上次的转换结果。第四章第四章 TMS320LF240 x的片内外设的片内外设2 2启动启动/ /停止方式停止方式 当当ADCADC控制器控制器1(ADCTRL1)1(ADCTRL1)的的CONTRUNCONTRUN位为位为0 0时,就设置成启动时,就设置成启动/ /停止转换方式。停止转换方式。 与连续转换方式不同的是,在排序器按照与连续转换方式不同的是,在排序器按照MAXCONVMAXCONV所指定所指定的数目转换完最后一个通道后,停止转换,排序器仍然指向最的数目转换完最后一个通道后,停止转换,排序器仍然指向最后这个通道。只有当新的触发信号到来时,排序器才再次启动后这个通道。
14、只有当新的触发信号到来时,排序器才再次启动转换。也就是说,每来一个转换触发信号,排序器根据转换。也就是说,每来一个转换触发信号,排序器根据MAXCONVMAXCONV的数目对一组通道进行一次转换的数目对一组通道进行一次转换( (只有向只有向ADCTRL2ADCTRL2的的RSTSEQxRSTSEQx位写位写1 1,才能使排序器重新指向,才能使排序器重新指向CONV00)CONV00)。 第四章第四章 TMS320LF240 x的片内外设的片内外设【例例4-54-5】 如果有如果有6 6个要转换的通道编入个要转换的通道编入SEQ1SEQ1排序器,它们排序器,它们是是6 6、7 7、8 8、121
15、2、0 0、1 1,采用启动,采用启动/ /停止方式。如果将停止方式。如果将2 2写入写入MAXCONVMAXCONV的第的第0-20-2位,将通道号按位,将通道号按6 6、7 7、8 8、1212、0 0、1 1顺序写顺序写入入CHSELSEQxCHSELSEQx中。中。 地地 址址位位15-1215-12位位11-811-8位位7-47-4位位3-03-0CHSELSEQxCHSELSEQx70A3h70A3h12128 87 76 6CHSELSEQ1CHSELSEQ170A4h70A4hx xx x1 10 0CHSELSEQ2CHSELSEQ270A5h70A5hx xx xx xx
16、 xCHSELSEQ3CHSELSEQ370A6h70A6hx xx xx xx xCHSELSEQ4CHSELSEQ4 当第一个转换触发信号有效后当第一个转换触发信号有效后SEQ1SEQ1排序器将对排序器将对6 6、7 7、8 8通道通道进行转换。当第二个转换触发信号有效后,进行转换。当第二个转换触发信号有效后,SEQ1SEQ1排序器将对排序器将对1212、0 0、1 1通道进行转换,即每次转换通道进行转换,即每次转换2 21 1个通道。在第三个转换触个通道。在第三个转换触发信号来到之前,必须利用中断子程序向控制器寄存器发信号来到之前,必须利用中断子程序向控制器寄存器2(ADCTRL2)2(
17、ADCTRL2)的的RSTSEQ1RSTSEQ1位写位写1 1,才能使,才能使SEQ1SEQ1重新指向重新指向CONV00CONV00,开,开始新一轮的转换。始新一轮的转换。 第四章第四章 TMS320LF240 x的片内外设的片内外设4.3.34.3.3模数转换模块的寄存器模数转换模块的寄存器 1 1ADCADC控制寄存器控制寄存器1(ADCTRL1)1(ADCTRL1) :地址地址70A0h70A0h 1515141413131212111110109 98 8- -RESETRESETSOFTSOFTFREEFREEACQ_PS3ACQ_PS3ACQ_PS2ACQ_PS2ACQ_PS1A
18、CQ_PS1ACQ_PS0ACQ_PS07 76 65 54 43 32 21 10 0CPSCPSCONT RUNCONT RUNINT PR1INT PR1SEQ CASESEQ CASECAL ENACAL ENABRG ENABRG ENAHI/LOHI/LOSTEST ENASTEST ENA位位14:14:为复位位。为为复位位。为0 0时对时对ADCADC模块无影响模块无影响; ;为为1 1时复位时复位ADCADC模块模块位位13-1213-12: :决定仿真悬挂时决定仿真悬挂时ADCADC的工作情况。的工作情况。 位位11-811-8: :采样时间选择位。该采样时间选择位。该4
19、4位的取值越大,则采样时间窗口位的取值越大,则采样时间窗口就越大。就越大。 位位7 7: :为转换时钟预定标位,决定了为转换时钟预定标位,决定了ADCADC转换逻辑时钟的预定标。转换逻辑时钟的预定标。为为0 0时,对时,对CPUCPU时钟时钟1 1分频;为分频;为1 1时,对时,对CPUCPU时钟时钟2 2分频。分频。 位位5 5: :为为ADCADC中断请求优先级位。为中断请求优先级位。为0 0为高优先级;为为高优先级;为1 1为低优先为低优先级。级。 位位4:4:为级连排序器工作方式位。为为级连排序器工作方式位。为0 0时是双排序模式;为时是双排序模式;为1 1时是时是级连模式。级连模式。
20、 位位6:6:转换方式控制位。决定排序器处于连续转换模式还是启动转换方式控制位。决定排序器处于连续转换模式还是启动/ /停止模式。为停止模式。为0 0时为启动时为启动/ /停止模式停止模式; ;为为1 1时为连续转换模式。时为连续转换模式。 位位3 3:为偏差校准使能位。为:为偏差校准使能位。为0 0禁止校准模式;为禁止校准模式;为1 1使能校准模使能校准模式式 位位2 2:为参考电压选择位。为:为参考电压选择位。为0 0时,满的参考电压接到时,满的参考电压接到ADCADC输入;输入;为为1 1时,参考电压的中点接到时,参考电压的中点接到ADCADC输入。输入。 位位1 1: :参考电压参考电
21、压V VREFHIREFHI和和V VREFLOREFLO选择位。为选择位。为0 0时,用时,用V VREFLOREFLO作为作为ADCADC的的输入;为输入;为1 1时,用时,用V VREFHIREFHI作为作为ADCADC的输入。的输入。 位位0 0: :是自动测试使能位。为是自动测试使能位。为0 0禁止自动测试;为禁止自动测试;为1 1允许自动测试。允许自动测试。 第四章第四章 TMS320LF240 x的片内外设的片内外设2 2ADCADC控制寄存器控制寄存器2(ADCTRL2) :2(ADCTRL2) :地址为地址为70A1h 70A1h 1515141413131212111110
22、109 98 8EVB SOCEVB SOCSEQSEQRST RST SEQ1/SEQ1/STRT CALSTRT CALSOC SEQ1SOC SEQ1SEQ1 BSYSEQ1 BSYINT ENAINT ENASEQ1(mode1)SEQ1(mode1)INT ENAINT ENASEQ1(mode0SEQ1(mode0) )INT FLAGINT FLAGSEQ1SEQ1EVA SOCEVA SOCSEQ1SEQ17 76 65 54 43 32 21 10 0EXT SOCEXT SOCSEQ1SEQ1RST SEQ2RST SEQ2SOC SEQ2SOC SEQ2SEQ2 BSYS
23、EQ2 BSYINT ENAINT ENASEQ2(mode1)SEQ2(mode1)INT ENAINT ENASEQ2(mode0SEQ2(mode0) )INT FLAGINT FLAGSEQ2SEQ2EVB SOCEVB SOCSEQ2SEQ2位位15:15:EVBEVB信号使能级连排序器的控制位。为信号使能级连排序器的控制位。为0 0时禁止;为时禁止;为1 1时,时,允许级连的排序器被允许级连的排序器被EVBEVB的信号启动。的信号启动。 位位1414: :复位排序器复位排序器1/1/启动校准转换的控制位。在校准方式被禁启动校准转换的控制位。在校准方式被禁止的情况下,若为止的情况下,
24、若为0 0不起作用;若为不起作用;若为1 1立即复位排序器,使其指立即复位排序器,使其指针指向针指向CONV00CONV00。位位1313: :用于启动用于启动SEQ1SEQ1转换位。向该位写转换位。向该位写0 0时清除一个悬挂的时清除一个悬挂的SOCSOC请求;写请求;写1 1时,触发时,触发SEQ1SEQ1转换。转换。位位1212: :是是SEQ1SEQ1工作状态位。为工作状态位。为0 0时,时,SEQ1SEQ1处于空闲状态;为处于空闲状态;为1 1时,时,SEQ1SEQ1处于忙状态。处于忙状态。 位位11-1011-10为为SEQ1SEQ1中断允许位。为中断允许位。为0000禁止禁止;
25、;为为0101时时, ,在中断标志置在中断标志置1 1时立即申请中断时立即申请中断; ;为为1010时时, ,只有在中断标志已经置只有在中断标志已经置1 1时时, ,再来中断再来中断触发才能申请中断触发才能申请中断, ,也就是每也就是每2 2次中断触发才能有一次中断申请次中断触发才能有一次中断申请, ,这种方式适合于排序器工作在启动这种方式适合于排序器工作在启动/ /停止方式时。停止方式时。位位9 9为为SEQ1SEQ1中断标志位。为中断标志位。为0 0时无中断;为时无中断;为1 1时有中断。时有中断。 位位8 8是事件管理器是事件管理器A A对对SEQ1SEQ1触发控制位。为触发控制位。为0
26、 0禁止事件管理器禁止事件管理器A A触触发源;为发源;为1 1允许事件管理器允许事件管理器A A对对SEQ1/SEQSEQ1/SEQ的转换触发。的转换触发。 位位7 7为为ADCSOCADCSOC引脚对引脚对SEQ1SEQ1的启动转换位。为的启动转换位。为0 0不起作用;为不起作用;为1 1允允许许ADCSOCADCSOC引脚启动转换。引脚启动转换。 位位6 6是是SEQ2SEQ2的复位位。为的复位位。为0 0不复位;为不复位;为1 1复位复位SEQ2SEQ2。 位位5 5为启动为启动SEQ2SEQ2转换位转换位( (仅适用于双排序模式仅适用于双排序模式) )。向该位写。向该位写0 0,清,
27、清除一个挂起的除一个挂起的SOCSOC请求;写请求;写1 1时触发时触发SEQ2SEQ2转换。转换。 位位4 4是是SEQ2SEQ2工作状态位。为工作状态位。为0 0时,时,SEQ2SEQ2处于空闲状态;为处于空闲状态;为1 1时,时,SEQ2SEQ2处于忙状态。处于忙状态。 位位3-23-2为为SEQ2SEQ2中断允许位。为中断允许位。为0000时禁止;为时禁止;为0101时,在中断标志时,在中断标志置置1 1时立即申请中断;为时立即申请中断;为1010时,只有在中断标志已经置时,只有在中断标志已经置1 1时,再时,再来中断触发才能申请中断,也就是每来中断触发才能申请中断,也就是每2 2次中
28、断触发才能有一次次中断触发才能有一次中断申请;为中断申请;为1111时无意义。时无意义。 位位1 1为为SEQ2SEQ2中断标志位。为中断标志位。为0 0时无中断;为时无中断;为1 1时有中断。时有中断。 位位0 0是事件管理器是事件管理器B B对对SEQ2SEQ2触发控制位。为触发控制位。为0 0禁止事件管理器禁止事件管理器B B触触发源;为发源;为1 1允许事件管理器允许事件管理器B B对对SEQ2SEQ2的转换触发。的转换触发。 第四章第四章 TMS320LF240 x的片内外设的片内外设3 3最大转换通道寄存器最大转换通道寄存器(MAXCONV):(MAXCONV):地址地址70A2h
29、 70A2h 1576543210-MAXCONV2_2MAXCONV2_1MAXCONV2_0MAXCONV1_3MAXCONV1_2MAXCONV1_1MAXCONV1_0 位位6-06-0决定了一次可自动转换的最多通道数。其中位决定了一次可自动转换的最多通道数。其中位4-64-6对应对应SEQ2SEQ2,位,位2-02-0对应对应SEQ1SEQ1,位,位3-03-0对应对应SEQSEQ。第四章第四章 TMS320LF240 x的片内外设的片内外设4 4自动状态排序寄存器自动状态排序寄存器(AUTO_SEQ_SR) :(AUTO_SEQ_SR) :地址为地址为70A7h70A7h 1512
30、11876430保留位SEQ CNTR3:0保留位SEQ2 state2:0SEQ1 state3:000000 位位11-811-8为排序计数状态位,实际转换的通道数应为该为排序计数状态位,实际转换的通道数应为该4 4位位的值加的值加1 1。 位位6-46-4为为SEQ2SEQ2排序器指针的状态。排序器指针的状态。 位位3-03-0为为SEQ1SEQ1排序器指针的状态。排序器指针的状态。 第四章第四章 TMS320LF240 x的片内外设的片内外设5 5ADCADC输入通道选择控制寄存器输入通道选择控制寄存器1(CHSELSEQ1):1(CHSELSEQ1):地址地址70A3h70A3h 位
31、位15-1215-1211-811-87-47-43-03-0名名 称称CONV03CONV03 CONV02CONV02 CONV01CONV01 CONV00CONV00复位值复位值x x0 00 00 06 6ADCADC输入通道选择控制寄存器输入通道选择控制寄存器2(CHSELSEQ2) :2(CHSELSEQ2) :地址地址70A4h70A4h 位位15-1215-1211-811-87-47-43-03-0名名 称称CONV07CONV07 CONV06CONV06 CONV05CONV05 CONV04CONV04复位值复位值x x0 00 00 0第四章第四章 TMS320LF
32、240 x的片内外设的片内外设7 7ADCADC输入通道选择控制寄存器输入通道选择控制寄存器3(CHSELSEQ3) :3(CHSELSEQ3) :地址为地址为70A5h 70A5h 位位15-1215-1211-811-87-47-43-03-0名名 称称CONV11CONV11 CONV10CONV10 CONV09CONV09 CONV08CONV08复位值复位值x x0 00 00 08 8ADCADC输入通道选择控制寄存器输入通道选择控制寄存器4(CHSELSEQ4) :4(CHSELSEQ4) :地址为地址为70A6h 70A6h 位位15-1215-1211-811-87-47-
33、43-03-0名名 称称CONV15CONV15 CONV14CONV14 CONV13CONV13 CONV12CONV12复位值复位值x x0 00 00 0第四章第四章 TMS320LF240 x的片内外设的片内外设9 9ADCADC转换结果寄存器转换结果寄存器(RESULTx) :(RESULTx) :地址为地址为70A8h-70B7h70A8h-70B7h 1515141413131212111110109 98 8D9D9D8D8D7D7D6D6D5D5D4D4D3D3D2D27 76 65 54 43 32 21 10 0D1D1D0D00 00 00 00 00 00 0第四章
34、第四章 TMS320LF240 x的片内外设的片内外设4.3.54.3.5模数转换模块的应用模数转换模块的应用 下面是下面是A/DA/D采样的一个例子,该程序采用采样的一个例子,该程序采用EVBEVB定时器定时器4 4的周期的周期中断触发中断触发A/DA/D采样的启动。采样时采用级连模式,一次作采样的启动。采样时采用级连模式,一次作1616个转个转换,转换通道分别是换,转换通道分别是0-150-15。转换完成后,在。转换完成后,在A/DA/D中断子程序中将中断子程序中将结果读出。该程序作一次结果读出。该程序作一次A/DA/D采样。采样。 .include “F2407REGS.H” ;.inc
35、lude “F2407REGS.H” ;引用头文件引用头文件 .def _c_int0 ; .def _c_int0 ;定义程序的入口地址定义程序的入口地址 ADCOUNT .usect “.data0”,1ADCOUNT .usect “.data0”,1;(1);(1)建立中断向量表建立中断向量表 .sect “.vectors” ;.sect “.vectors” ;定义主向量段定义主向量段 RSVECT B _c_int0 ; RSVECT B _c_int0 ;复位向量,地址复位向量,地址0000h0000h INT1 B GISR1 ; INT1 B GISR1 ;中断优先级中断优
36、先级1 1 第四章第四章 TMS320LF240 x的片内外设的片内外设 ; ;中断子向量入口中断子向量入口 .sect “.pvecs” ;.sect “.pvecs” ;定义子向量段定义子向量段PVECTORSPVECTORS B ADCINT_ISR ;ADC B ADCINT_ISR ;ADC中断,子向量地址偏移量中断,子向量地址偏移量0004h0004h ;(2);(2)主程序主程序 .text ;.text ;程序段开始程序段开始_c_int0: _c_int0: SETC INTM ; SETC INTM ;禁止中断禁止中断 CLRC SXM ;CLRC SXM ;抑制符号扩展抑
37、制符号扩展 CLRC OVM ;ACCCLRC OVM ;ACC结果正常溢出结果正常溢出 CLRC CNF ;B0CLRC CNF ;B0区被配置为数据空间区被配置为数据空间 LDP #0E0h ;LDP #0E0h ;指向指向7000h-707Fh7000h-707Fh SPLK #81FEh,SCSR1 ; SPLK #81FEh,SCSR1 ;时钟时钟4 4倍频,倍频,CLKIN=6MHzCLKIN=6MHz ; CLKOUT=24MHz; CLKOUT=24MHz第四章第四章 TMS320LF240 x的片内外设的片内外设 SPLK #0E8h,WDCR ;SPLK #0E8h,WDC
38、R ;不使能看门狗不使能看门狗 LDP #0 LDP #0 SPLK #0001h,IMR ; SPLK #0001h,IMR ;使能中断使能中断INT1INT1 SPLK #0FFFFh,IFR ; SPLK #0FFFFh,IFR ;清中断标志清中断标志 CALL ADINIT ;CALL ADINIT ;初始化初始化ADCADC程序程序 CLRC INTM ;CLRC INTM ;开总中断开总中断 CALL AD ;CALL AD ;启动模数转换程序启动模数转换程序WAIT: WAIT: NOP NOP B WAIT ; B WAIT ;等待中断等待中断;(3)ADC;(3)ADC初始化
39、程序初始化程序ADINIT: ADINIT: LDP #234 LDP #234 SPLK #0000h,T4CNT ; SPLK #0000h,T4CNT ;计数寄存器清零计数寄存器清零 第四章第四章 TMS320LF240 x的片内外设的片内外设 SPLK #170Ch,T4CON ;SPLK #170Ch,T4CON ;设置控制寄存器设置控制寄存器, ,连续增计数连续增计数, , ;TPS=111,;TPS=111,内部时钟内部时钟;TENABLE=0;TENABLE=0禁禁 ; ;止计数,禁止比较止计数,禁止比较 SPLK #075h,T4PR ;SPLK #075h,T4PR ;周期
40、寄存器装载周期寄存器装载 SPLK #0400h,GPTCONB ;SPLK #0400h,GPTCONB ;设置周期中断启动设置周期中断启动ADCADC SPLK #0FFFFh,EVBIFRB ; SPLK #0FFFFh,EVBIFRB ;清中断标志清中断标志 SPLK #0000h,EVBIMRB ;EVBSPLK #0000h,EVBIMRB ;EVB中断禁止中断禁止 LDP #225LDP #225 SPLK #0010h,ADCTRL1 ; SPLK #0010h,ADCTRL1 ;采样为级连模式采样为级连模式,ADC,ADC中断为高中断为高 ; ;优先级优先级, ,启动启动/
41、/停止模式停止模式 SPLK #0A404h,ADCTRL2 ;EVBSPLK #0A404h,ADCTRL2 ;EVB触发触发 SPLK #000Fh,MAXCONV ;16SPLK #000Fh,MAXCONV ;16通道通道 SPLK #3210h,CHSELSEQ1 ;SPLK #3210h,CHSELSEQ1 ;输入通道选择输入通道选择 SPLK #7654h,CHSELSEQ2SPLK #7654h,CHSELSEQ2 SPLK #0BA98h,CHSELSEQ3SPLK #0BA98h,CHSELSEQ3 SPLK #0FEDCh,CHSELSEQ4 SPLK #0FEDCh,C
42、HSELSEQ4第四章第四章 TMS320LF240 x的片内外设的片内外设 LDP #DP_SARAM2 ;LDP #DP_SARAM2 ;指向指向0A00h-0A80h0A00h-0A80h SPLK #ADRESULT,ADCOUNT ; ADRESULT SPLK #ADRESULT,ADCOUNT ; ADRESULT为第为第1 1存储单元地址存储单元地址 RETRET;(4) ;(4) 启动模数转换程序启动模数转换程序AD:AD: LDP #234 LDP #234 LACL T4CON LACL T4CON OR #40h ; OR #40h ;启动定时器启动定时器4 4操作操作
43、 SACL T4CONSACL T4CON RET RET ;(5);(5)中断程序中断程序GISR1: ;GISR1: ;优先级优先级INT1INT1中断子程序入口中断子程序入口 ; ;保护现场保护现场 LDP #0E0h ;LDP #0E0h ;指向指向7000h-707Fh7000h-707Fh LACC PIVR,1 ; LACC PIVR,1 ;读读PIVR,PIVR,并左移并左移1 1位位第四章第四章 TMS320LF240 x的片内外设的片内外设 ADD #PVECTORS ;ADD #PVECTORS ;加上外设中断入口地址加上外设中断入口地址 BACC ;BACC ;跳到相应
44、的中断服务子程序跳到相应的中断服务子程序ADCINT_ISR: ADCINT_ISR: CLRC SXM CLRC SXM LDP #DP_SARAM2 LDP #DP_SARAM2 LAR AR1,ADCOUNT LAR AR1,ADCOUNT LAR AR0,#15 LAR AR0,#15 LAR AR2,#RESULT0 LAR AR2,#RESULT0 MAR MAR * *,AR2,AR2ADC1: ADC1: LACC LACC * *+,10,AR1 ;+,10,AR1 ;结果寄存器装载结果寄存器装载ACCACC高高1616位,位,ARP=1ARP=1 SACH SACH * *
45、 ; ;存存AR1AR1指定地址中指定地址中 ADRK #1 ;ADRK #1 ;存储地址加存储地址加1 1 MAR MAR * *,AR0 ;ARP=1,AR0 ;ARP=1 BANZ ADC1,BANZ ADC1,* *-,AR2 ;-,AR2 ;采样不到采样不到1616次转次转ADC1,ADC1, ;AR0 ;AR0内容减内容减1,ARP=21,ARP=2 第四章第四章 TMS320LF240 x的片内外设的片内外设 LDP #225LDP #225 LACL ADCTRL2 LACL ADCTRL2 OR #4000h ; OR #4000h ;复位复位SEQ1SEQ1 AND #0F
46、DFFh ; AND #0FDFFh ;清清INT FLAG SEQ1INT FLAG SEQ1 SACL ADCTRL2 SACL ADCTRL2 GISR1_RET: ;GISR1_RET: ;中断返回出口中断返回出口 ; ;恢复现场恢复现场 CLRC INTM ;CLRC INTM ;开总中断开总中断 RETRET;(6);(6)假中断程序假中断程序PHANTOM:PHANTOM: LDP #DP_PF1 LDP #DP_PF1 SPLK #055h,WDKEY ; SPLK #055h,WDKEY ;复位看门狗复位看门狗 SPLK #0AAh,WDKEY SPLK #0AAh,WDKE
47、Y RET RET .END .END第四章第四章 TMS320LF240 x的片内外设的片内外设4.5.1 4.5.1 串行通信概述串行通信概述 计算机与外部系统进行通信的方式有串行通信和并行通计算机与外部系统进行通信的方式有串行通信和并行通信。并行通信方式的优点是控制简单、速度快,缺点是传输信。并行通信方式的优点是控制简单、速度快,缺点是传输线多、成本高,故一般应用于短距离、高速数据传输场合。线多、成本高,故一般应用于短距离、高速数据传输场合。当信号传输距离较远时,一般都采用串行通信模式,串行通当信号传输距离较远时,一般都采用串行通信模式,串行通信的优点是通信距离较长、成本低,缺点是要求数
48、据格式固信的优点是通信距离较长、成本低,缺点是要求数据格式固定,通信过程的控制相对复杂。定,通信过程的控制相对复杂。 对于串行通信来讲,由于数据是逐位发送和逐位接收的,对于串行通信来讲,由于数据是逐位发送和逐位接收的,因此必须要考虑到发送与接收的因此必须要考虑到发送与接收的“同步同步”问题。解决问题。解决“同步同步”问题的方法有两种,第一种是数据的发送和接收是在同一个问题的方法有两种,第一种是数据的发送和接收是在同一个时钟脉冲控制下进行,这样实现的同步称为完全同步,此时,时钟脉冲控制下进行,这样实现的同步称为完全同步,此时,须在发送和接收机之间连接一根时钟信号线,由发送或接收须在发送和接收机之
49、间连接一根时钟信号线,由发送或接收方提供同步时钟。另外一种串行同步通信方式是分别在方提供同步时钟。另外一种串行同步通信方式是分别在第四章第四章 TMS320LF240 x的片内外设的片内外设 主、从机内设置串行通信时钟,且这两个时钟的频率主、从机内设置串行通信时钟,且这两个时钟的频率( (波波特率特率) )必须相同,只有这样,才能在规定的数据格式下实现串必须相同,只有这样,才能在规定的数据格式下实现串行通信,严格地来讲,此种方式属于行通信,严格地来讲,此种方式属于“准同步准同步”通信。对于通信。对于“准同步准同步”通信方式,如果发送和接收的时钟相位或周期不通信方式,如果发送和接收的时钟相位或周
50、期不完全一致,可能会影响通信的正确性,为确保此种通信方式完全一致,可能会影响通信的正确性,为确保此种通信方式的正确性,就要在通信的信息块中增加起始位和长度不等的的正确性,就要在通信的信息块中增加起始位和长度不等的空闲位,这样必然会降低串行通信的效率。空闲位,这样必然会降低串行通信的效率。 串行外设接口模块串行外设接口模块(SPI)(SPI)是一种真正的同步通信,发送和是一种真正的同步通信,发送和接收机在同一时钟下工作,因此接收机在同一时钟下工作,因此SPISPI至少需要三根信号线至少需要三根信号线( (发发送、接受和同步时钟送、接受和同步时钟) )。由于。由于SPISPI是同步信息传输,故传输
51、速是同步信息传输,故传输速率远远高于率远远高于“准同步准同步”串行通信。串行通信。TMS320LF240 xTMS320LF240 x系列系列DSPDSP芯片芯片内集成了内集成了SPISPI模块。模块。 第四章第四章 TMS320LF240 x的片内外设的片内外设 4.5.24.5.2串行外设接口的基本结构串行外设接口的基本结构 第四章第四章 TMS320LF240 x的片内外设的片内外设1 14 4个输入个输入/ /输出外部引脚:输出外部引脚:SPISIMO(SPISPISIMO(SPI从动输入,主动输从动输入,主动输出出) )、SPISOMI(SPISPISOMI(SPI从动输出,主动输入
52、从动输出,主动输入) )、SPICLK(SPISPICLK(SPI时钟时钟) )和和 ( (从动发送使能从动发送使能) )。SPISTE2 2主动或从动两种工作方式。主动或从动两种工作方式。3 3SPISPI串行接受缓冲寄存器串行接受缓冲寄存器(SPIRXBUF)(SPIRXBUF)。此缓冲器存放从。此缓冲器存放从网络接受来的数据,网络接受来的数据,CPUCPU从此缓冲器中读取数据。从此缓冲器中读取数据。4 4SPISPI串行发送缓冲寄存器串行发送缓冲寄存器(SPITXBUF)(SPITXBUF)。此缓冲器装载即将。此缓冲器装载即将发送到网络上的数据。发送到网络上的数据。5 5SPISPI串行
53、数据寄存器串行数据寄存器(SPIDAT)(SPIDAT)。此寄存器作为发送和接。此寄存器作为发送和接受的移位寄存器。受的移位寄存器。6 6SPISPI配置控制寄存器配置控制寄存器(SPICCR)(SPICCR)。该寄存器包含。该寄存器包含SPISPI使能位、使能位、SPISPI时钟极性选择、数据长度选择位。时钟极性选择、数据长度选择位。 第四章第四章 TMS320LF240 x的片内外设的片内外设7 7SPISPI操作控制寄存器操作控制寄存器(SPICTL)(SPICTL)。该寄存器包含。该寄存器包含SPISPI中断使能中断使能位、位、SPICLKSPICLK相位选择、相位选择、SPISPI操
54、作主从模式选择、操作主从模式选择、SPISPI数据发送使数据发送使能。能。8 8SPISPI状态寄存器状态寄存器(SPISTS)(SPISTS)。该寄存器包含接受缓冲状态位。该寄存器包含接受缓冲状态位和发送缓冲状态位。和发送缓冲状态位。9 9SPISPI波特率寄存器波特率寄存器(SPIBRR)(SPIBRR)。该寄存器用于设置。该寄存器用于设置SPISPI数据传数据传送波特率。送波特率。1010SPISPI接受仿真缓冲寄存器接受仿真缓冲寄存器(SPIRXEMU)(SPIRXEMU)。该寄存器包含接受。该寄存器包含接受到的数据,只用于仿真。到的数据,只用于仿真。 1111SPISPI优先级控制寄
55、存器优先级控制寄存器(SPIPRI)(SPIPRI)。该寄存器用于指定中断。该寄存器用于指定中断的优先级和仿真悬挂的优先级和仿真悬挂XDSXDS仿真器的操作位。仿真器的操作位。第四章第四章 TMS320LF240 x的片内外设的片内外设4.5.3 4.5.3 串行外设接口的操作串行外设接口的操作 下面以两个下面以两个DSPDSP芯片之间的芯片之间的SPISPI通信为例来讨论通信为例来讨论SPISPI的基本的基本工作原理。工作原理。 第四章第四章 TMS320LF240 x的片内外设的片内外设 在主机发送数据时,将要发送的数据写入到主机的数据在主机发送数据时,将要发送的数据写入到主机的数据发送寄
56、存器发送寄存器SPIDAT(SPIDAT(或或SPITXBUF)SPITXBUF),这个写入操作就自动地启,这个写入操作就自动地启动了主机的发送过程,即在同步时钟动了主机的发送过程,即在同步时钟SPICLKSPICLK的节拍下将的节拍下将SPIDATSPIDAT的内容按位送到引脚的内容按位送到引脚SPISIMOSPISIMO上。当上。当SPIDATSPIDAT的内容移的内容移送完毕,硬件将置一个中断标志送完毕,硬件将置一个中断标志SPIINT FLAGSPIINT FLAG,通知主机这,通知主机这个数据块发送完毕。个数据块发送完毕。 对于从机,在同步时钟对于从机,在同步时钟SPICLKSPIC
57、LK的作用下,将引脚的作用下,将引脚SPISIMOSPISIMO上的数据按位接受到移位寄存器上的数据按位接受到移位寄存器SPIDATSPIDAT,当一个完整的数据,当一个完整的数据块接受完毕后,将置一个中断标志块接受完毕后,将置一个中断标志SPIINT FLAGSPIINT FLAG,通知从机这,通知从机这个数据块接受完毕,同时将这个数据块的内容复制到从机的个数据块接受完毕,同时将这个数据块的内容复制到从机的SPISPI数据接受寄存器数据接受寄存器SPIRXBUFSPIRXBUF中,并进行右对齐,供中,并进行右对齐,供CPUCPU读取。读取。 在发送数据块时,先发送最高有效位;同时,在接受数在
58、发送数据块时,先发送最高有效位;同时,在接受数据时,接受的数据移入据时,接受的数据移入SPIDATSPIDAT的最低有效位。的最低有效位。 第四章第四章 TMS320LF240 x的片内外设的片内外设 对于从机发送、主机接受数据的工作过程与上述相同。对于从机发送、主机接受数据的工作过程与上述相同。从机的从机的CPUCPU将要发送的数据写入将要发送的数据写入SPIDATSPIDAT,然后在主机时钟,然后在主机时钟SPICLKSPICLK的作用下,将数据逐位移到引脚的作用下,将数据逐位移到引脚SPISOMISPISOMI。同时,主。同时,主机也在同步时钟的作用下,从引脚机也在同步时钟的作用下,从引
59、脚SPISOMISPISOMI将数据逐位接受将数据逐位接受到主机的到主机的SPIDATSPIDAT。当接受完一个完整的数据块后,再将。当接受完一个完整的数据块后,再将SPIDATSPIDAT的内容复制到主机的接受数据寄存器的内容复制到主机的接受数据寄存器SPIRXBUFSPIRXBUF中。中。 用户编程时,只须注意在发送数据时写数据到用户编程时,只须注意在发送数据时写数据到SPISPI的发的发送数据寄存器送数据寄存器SPIDATSPIDAT;在接受数据时读;在接受数据时读SPISPI的接受数据寄存的接受数据寄存器器SPIRXBUFSPIRXBUF即可。至于其他操作如移位、同步、置收发标志即可。
60、至于其他操作如移位、同步、置收发标志等工作都是由等工作都是由DSPDSP内部硬件模块自动完成。内部硬件模块自动完成。 第四章第四章 TMS320LF240 x的片内外设的片内外设4.5.4 4.5.4 串行外设接口的中断控制串行外设接口的中断控制 SPISPI有有5 5个中断控制位可用来初始化个中断控制位可用来初始化SPISPI的中断。具体包的中断。具体包括:括: 1 1SPISPI中断使能位中断使能位(SPI INT ENA)(SPI INT ENA)。当该位置位时,将使能。当该位置位时,将使能SPISPI的中断。的中断。 2 2SPISPI中断标志位中断标志位(SPI INT FLAG)(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福利院新生儿喂养
- 社区居家养老优化策略
- 淄博旅游投资机会
- Salfredin-A7-生命科学试剂-MCE
- 机器人辅助手术在泌尿科的应用
- 2025年分级诊疗背景下远程医疗服务患者需求与偏好研究报告
- 2025年教育信息化基础设施在教育信息化项目中的创新与应用报告
- 食品饮料企业数字化营销与电商运营效果评估体系研究报告
- 餐饮行业供应链整合与2025年成本控制技术创新报告
- 互联网医疗2025年医药电商平台合规监管与市场布局分析报告
- 有限空间作业及应急物资清单
- DB13(J)∕T 8060-2019 城镇供热管道及设备安装工程施工质量验收标准
- 《国际商务》课程
- 压力容器设计管理制度
- 比亚迪员工手册54
- 国际经济学期末考试试题库含答案
- 应力波理论复习资料
- 基于PLC的音乐喷泉控制系统的设计-毕业设计
- 体育场地与设施
- 五年级部编版语文下学期修改病句专项强化练习题
- 民办非企业单位清算报告
评论
0/150
提交评论