主题中讨论的其他器件: ADC1175
大家好、
以下是客户提出的问题、可能需要您的帮助:
场景:将启用了 TM4C1294KCPDT 的 EPI 配置为 hostbus16、将 EPI0S0至 EPI0S15配置为连接到缓冲器16t245 (245的另一侧为 ADC 的 D0-D8)的数据线路。 EPI0S30配置为 CS 并直接连接到 ADC1175时钟。(硬件连接问题:客户可以找到与 ADC 相对应的要求时序)
问题:245输出被一些脉冲拉低。 如果 ADC 只输出一个高电平信号(例如、0xff)、可以看出245的输出高电平被下拉至2.7V (与测试波形中高电平的幅度相同)、此时单片正在加热。
如果 EPI 模块保持开启状态、则不会发生这种情况、只不过上皮0s0到 spi0s15已全部取消并配置为 GPIO 输入。 客户认为这可能 与 EPI 的配置有关、但是否有其他可能的原因?
注:数据已正确接收、且相应数据正确。
EPI 模块初始化代码如下:
//Initialize the EPI interface static inline void ADCInterfaceInit() { //The IO is configured as the corresponding signal function is already in the pinmux //The interface here is the EPI MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_EPI0); while(!SysCtlPeripheralReady(SYSCTL_PERIPH_EPI0)); //EPIDividerSet(EPI0_BASE, 10);// EPIModeSet(EPI0_BASE,EPI_MODE_HB16); //Configure the host bus: Address is not muxed EPIConfigHB16Set(EPI0_BASE,EPI_HB16_MODE_ADDEMUX|EPI_HB16_CSCFG_CS,0); EPIAddressMapSet(EPI0_BASE,EPI_ADDR_PER_BASE_A|EPI_ADDR_PER_SIZE_256B);//Set up the address map (it seems like it's not working here), follow the instructions in the manual to set up a baseA of size 256B, and once the address is set, you can access external memory or peripherals through the map set here. while(HWREG(EPI0_BASE + EPI_O_STAT) & EPI_STAT_INITSEQ);//Wait for the configuration to complete }
下图显示了配置为 epi0s0-s15的数据线上的信号:红色是芯片选择(连接到 ADCCLK)、黄色是在单片引脚上测量的数据线信号:
您可以帮助检查此案例吗? 谢谢。
此致、
樱桃