This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LC4357:无法将 N2HET[12]用作 GIO 引脚配置寄存器

Guru**** 2034120 points
Other Parts Discussed in Thread: HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1029970/tms570lc4357-failed-to-use-n2het-12-as-gio-pin-configuration-register

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

客户打算将 N2HET 用作普通 IO 引脚、因为客户4357芯片的 GIO 引脚几乎全部占用、并且 IO 引脚作为输入不容易进行电线焊接。 但他在配置过程中遇到了以下问题:
1.客户打算将 N2HET2引脚配置为 IO 输入、将其下拉、并且没有开漏。 一旦检测到外部输入的高电压、它将被运行。
2.客户使用的芯片封装为 TMS5704357BZWTQ1R、物理引脚为"D3"、相应的 PINMUX 功能为"N2HET2[12]/MIBSPI2NENA"。 客户在数据表中"I/O 复用和控制模块(IOMM)"的功能选择中找到"复用输入的控制"、然后找到"PINMMR97[0]"并将其设置为输入。 有关详细信息、请参阅下图。

Fullscreen
1
pinMuxReg->PINMUX[97] = SIGNAL_N2HET2_12_D3 | SIGNAL_N2HET2_13_D2 | SIGNAL_N2HET2_14_D1 | SIGNAL_N2HET2_15_K4; // n2het2[12]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

然后、客户使用 HALCON 工具在 N2HET2寄存器中配置 N2HET2[12]、并生成了以下代码:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
hetREG2->GCR = ( 0x00000001U | (uint32)((uint32)1U << 24U)| (uint32)((uint32)1U << 16U)| (0x00020000U));
hetREG2->INTENAC = 0xFFFFFFFFU;
hetREG2->INTENAS = 0x00000000U;
hetREG2->PFR = (uint32)((uint32) 6U << 8U)| ((uint32) 0U);
// Enable/Disable Parity check
hetREG2->PCR = (uint32) 0x00000005U;
/** - Fill HET RAM with opcodes and Data */
(void)memcpy((void *)hetRAM2, (const void *)het2PROGRAM, sizeof(het2PROGRAM));
//Setup prescaler values
hetREG2->PFR = (uint32)((uint32) 6U << 8U)| ((uint32) 0U);
// Set the default value of pin
hetREG2->DOUT = (U32)((U32)0U << FORCED_UPDATE_PIN);
// Set the N2HET2[3] pin as input
hetREG2->DIR = (U32)((U32)0U << FORCED_UPDATE_PIN);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

代码的 N2HET 部分由 HALCON 生成、并且引脚复用部分也根据 HALCON 被修改。 完成上述设置后、客户向 D3引脚输入3.3V 电压、但实际上没有影响。 客户想知道是否有部件缺失或错误?

此致、

樱桃周

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Cherry、

    如果只使用 N2HET 引脚作为 GIO,则不必运行 hetInit(),其中 NHET 汇编代码被复制到 NHET RAM 并被执行。 在 HALCoGen 生成的 NHET 汇编代码中、N2HET2[12]用于边沿检测。

    下面是使用 N2HET 引脚作为 GIO 的示例:

    #include "het.h"

    #include "Gio.h"

    main(){

       gioInit();

       gioSetDirection (hetPORT2、0xFFFFFFF);//N2HET2[12]作为输入、其他为输出

       如果((gioGetBit (hetPORT2、12)==1)
       {

           CPUPDATE=1;
       }

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    N2HET2[12]:pinMuxReg ->PINMUX[97]= SIGNAL_N2HET2_12_D3 | SIGNAL_N2HET2_13_D2 | SIGNAL_N2HET2_14_D1 | SIGNAL_N2HET2_15_K4;

    N2HET2[12]的这个引脚多路复用配置被用作输入是正确的。