AY-MSE KIT_信号链

上传人:jiups****uk12 文档编号:38504185 上传时间:2018-05-03 格式:PDF 页数:76 大小:7.34MB
返回 下载 相关 举报
AY-MSE KIT_信号链_第1页
第1页 / 共76页
AY-MSE KIT_信号链_第2页
第2页 / 共76页
AY-MSE KIT_信号链_第3页
第3页 / 共76页
AY-MSE KIT_信号链_第4页
第4页 / 共76页
AY-MSE KIT_信号链_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《AY-MSE KIT_信号链》由会员分享,可在线阅读,更多相关《AY-MSE KIT_信号链(76页珍藏版)》请在金锄头文库上搜索。

1、 - 1 - 第第4 4章章 电阻电阻测量测量模模块块 杭州艾研信息技术有限公司 2014 年 11 月 - 2 - 申明 杭州艾研信息技术有限公司保留随时对其产品进行修正、改进和完善的权利,同时也保留在不作任何通告的情况下,终止其任何一款产品的供应的权利。用户在下订单前应及时获取相关信息的最新版本,并验证这些信息是当前的和完整的。 可通过如下方式获取最新信息、技术资料和技术支持: 技术支持电话:0571-86134572 技术支持邮箱: 产品 /使能SSI1使用的外设GPIOF ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); /SSI1端口功

2、能使能 /PF2复用功能配置为SSI1CLK,时钟线 ROM_GPIOPinConfigure(GPIO_PF2_SSI1CLK); /PF3复用功能配置为SSI1FSS,片选线 ROM_GPIOPinConfigure(GPIO_PF3_SSI1FSS); /PF1复用功能配置为SSI1TX,数据发送线 7 ROM_GPIOPinConfigure(GPIO_PF1_SSI1TX); /LDAC置高 ROM_GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_2); ROM_GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PI

3、N_2, GPIO_PIN_2); /RS置高 ROM_GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_3); ROM_GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_3, GPIO_PIN_3); /MSB置高 ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); ROM_GPIOPinTypeGPIOOutput(GPIO_PORTC_BASE, GPIO_PIN_4); ROM_GPIOPinWrite(GPIO_PORTC_BASE, GPIO_PIN_4, GPI

4、O_PIN_配置PF1,PF2,PF3供外设SSI1使用 ROM_GPIOPinTypeSSI(GPIO_PORTF_BASE, GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3); /端口模式:1M,16位数据 ROM_SSIConfigSetExpClk(SSI1_BASE, ROM_SysCtlClockGet(), SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 1000000, 16); /使能SSISSIEnable(SSI1_BASE); 程序还涉及到 DAC8802 另外三根线的配置:LDAC 置高,RS 置高,MSB 置高。

5、其中 LDAC 和 RS 都是低电平有效。LDAC 控制 DAC8802 的输出,RS和 MSB 信号线连接至 DAC8802 内部的上电复位模块,复位时若 MSB=0,则所有寄存器值为 0x0000,若 MSB=1,则所有寄存器值为 0x2000。 DAC8802 的时序图如下: 8 图 xx 时序图 根据时序图可以完成 DAC8802 跟 Tiva M4 之间的数据传输。在 SPI(SSI)配置程序中,时序图中的 SDI,CLK 以及 CS 线都配置成了 Tiva M4 中的SSI 功能,在数据传输过程中这三根信号线上的电平变化都由 Tiva M4 的 SSI 模块自行控制。而 LDAC

6、线配置成普通的 GPIO 功能,则改线上的电平变化需要自行控制。SPI(SSI)传输程序代码如下: /* * brief 向dac8802发送数据 * param unsigned long val,取值范围016384 * return 0, 参数不正确; * 1,传输成功; */ unsigned char ssi_send_2_dac8802(unsigned long val) val 16384) return 0; ROM_SSIDataPut(SSI1_BASE, DAC_AB + val); /发数据+ while(ROM_SSIBusy(SSI1_BASE); /等待发送完成

7、 /数据发送结束时,LDAC线需要一个电平的跳变(H-L-H) ROM_GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_2, 0); delay(); ROM_GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_2, GPIO_PIN_2); 9 delay(); return 1; 程序传输中使用 ROM_SSIDataPut 就可完成数据发送,发送的数据格式地址+数据即程序中的 DAC_AB+val,表示的是使能 DAC A 和 DAC B 同时使用两个 DAC 模块,val 即为需要发送的数据。此时同时完成放大和衰减,如果只要单独使

8、用放大或者衰减,则发送数据时自需要变成 DAC_A+val或 DAC_B+val。在数据发送完成后需要完成一个 LDAC 信号线的电平转变,完成 DAC8802 模块的输出。 10 11 12 13 14 - 1 - 第第9章章 宽带宽带压控增益模块压控增益模块 杭州艾研信息技术有限公司 2014 年 11 月 - 2 - 申明 杭州艾研信息技术有限公司保留随时对其产品进行修正、改进和完善的权利,同时也保留在不作任何通告的情况下,终止其任何一款产品的供应的权利。用户在下订单前应及时获取相关信息的最新版本,并验证这些信息是当前的和完整的。 可通过如下方式获取最新信息、技术资料和技术支持: 技术支

9、持电话:0571-86134572 技术支持邮箱: 产品 HWREG(GPIO_PORTD_BASE+GPIO_O_CR) |= (1 3) Key3_PressCount = 1; default: break; 8 SSI 通信功能 DAC7311 与 Tiva M4 之间通过 SSI(SPI)通信完成。DAC7311 是 12-bit 的 DAC,其内部有一个 16-bit 的寄存器。寄存器格式如下: Bit B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 Data PD1 PD2 D11 D10 D9 D8 D7 D6 D5

10、D4 D3 D2 D1 D0 X X 寄存器低两位为无效位,B2B13 为数据位,高两位 B14(PD2) ,B15(PD1)为控制选择位表示 DAC7311 不同的工作模式:一种正常工作模式,三种 power-down 工作模式。在实验程序只使用正常工作模式,这两位都配置为 0。 DAC7311 由 SYNC,SCLK,DIN 三线控制。SYNC 为信号选择线,相当于 Tiva M4的 SSIFss 信号线。SCLK 为时钟信号线,相当于 Tiva M4 的 SSIClk 信号线。DIN 为数据线,相当于 Tiva M4 的 SSITx 信号线。SSI(SPI)通信程序设置如下: /* *

11、brief SSI初始化设置 * param none * return none * * _ * | * PF2(SSI1Clk)|SPICLK 时钟信号端 * TIVA PF3(SSI1Fss)|SYNC 帧信号端 * PF1(SSI1Tx) |SDIN SSI数据发送端(LM4F120-DAC7811) * _| * */ void ssi_en() /使能SSI1外设 ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI1); /使能SSI1使用的GPIOF外设 ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPI

12、OF); /配置PF2复用功能为SSI1CLK,时钟线 9 ROM_GPIOPinConfigure(GPIO_PF2_SSI1CLK); /配置PF3复用功能为SSI1FSS,片选线 ROM_GPIOPinConfigure(GPIO_PF3_SSI1FSS); /配置PF1复用功能为SSI1TX,数据发送线 ROM_GPIOPinConfigure(GPIO_PF1_SSI1TX); /配置PF1,PF2,PF3供SSI1使用 ROM_GPIOPinTypeSSI(GPIO_PORTF_BASE, GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3); /端口模式:1

13、M,16位数据 ROM_SSIConfigSetExpClk(SSI1_BASE, ROM_SysCtlClockGet(), SSI_FRF_TI, SSI_MODE_MASTER, 1000000, 16); ROM_SSIEnable(SSI1_BASE); DAC7311 寄存器的低两位无效,所以在 SSI 通信程序实现中需要将发送的数据左移两位,然后再通过 SSI 进行传输。程序代码实现如下: /* * brief 发送数据到dac7311 * param val 取值范围04095 * return 0 参数不正确; * 1 传输成功; */ unsigned char ssi_s

14、end_2_dac7311(unsigned long val) if(val 4095) return 0; /判断参数正确与否 val = val 3300) show_val = VC_Value - 3300; else show_val = 3300 - VC_Value; 程序代码中的 VC_Value 即为计算公式中的V,show_val 计算得出的都是正值,而根据程序数据跟 VC 端真实电压的对应关系可知当 VC_Value3300(3.3V)时 VC 端电压为正值 LCD 上显示正值。程序代码如下: for(i = 0; i = 1) fre_temp_tick = CapTimer_Fre_Ori + (Fre_TimerOutCount - 1) = FRE

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号