简介
输入限定方案被设计得非常灵活。通过配置GPyQSEL1和GPyQSEL2寄存器,为每个GPIO引脚选择输入限定的类型。对于GPIO配置为输入的引脚,限定可以指定为仅同步到SYSCLKOUT或通过采样窗口限定。对于配置为外设输入的引脚,除了与SYSCLKOUT同步外,输入也可以是异步的,或者由采样窗口限定。本节的其余部分将描述可用的选项
异步输入
此模式用于不需要输入同步的外设或外设本身执行同步的外设。例如:通信端口McBSP、SCI、SPI、I2C。此外,可能需要ePWM跳闸区(TZn)信号函数独立于SYSCLKOUT的存在。
如果引脚被用作通用数字输入引脚(GPIO),则异步选项是无效的。如果引脚被配置为GPIO输入,并且选择了异步选项,则默认将限定同步到SYSCLKOUT。
同步到SYSCLKOUT
这是重置时所有引脚的默认限定模式。在该模式下,输入信号只同步到系统时钟SYSCLKOUT (system clock)。因为输入的信号是异步的,为改变到MCU的输入,它可以达到SYSCLKOUT的延迟时间。不再对信号执行进一步的限定。
使用采样窗口限定
在这种模式下,信号首先被同步到系统时钟(SYSCLKOUT),然后在允许更改输入之前被指定的周期数限定。图8-2和图8-3显示了如何执行输入确认以消除不必要的噪声。用户为这种类型的限定指定两个参数:
- 采样周期,或信号采样的频率,
- 采样的数量。
采样周期
为使信号符合条件,输入信号按一定周期采样。采样周期由用户指定,并确定两次采样之间的持续时间,或者相对于CPU时钟(SYSCLKOUT)对信号进行采样的频率。
采样周期由GPxCTRL寄存器中的限定周期(QUALPRDn)位指定。采样周期可按8个输入信号组进行配置。例如,GPIO0到GPIO7使用GPACTRL[QUALPRD0]设置和GPIO8到GPIO15使用GPACTRL[QUALPRD1]。采样周期或采样频率与GPxCTRL[QUALPRDn]设置的关系如表8-1和表8-2所示
从这些方程,采样信号之间的最大值和最小值可以计算给定SYSCLKOUT频率:
- Example: Maximum Sampling Frequency: If GPxCTRL[QUALPRDn] = 0 then the sampling frequency is fSYSCLKOUT If, for example, fSYSCLKOUT = 60MHz
- Example: Maximum Sampling Frequency: then the signal will be sampled at 60 MHz or one sample every 16.67 ns
- Example: Minimum Sampling Frequency: If GPxCTRL[QUALPRDn] = 0xFF(255) then the sampling frequency is fSYSCLKOUT × 1 ÷ (2 ×GPxCTRL[QUALPRDn]) If, for example, fSYSCLKOUT = 60 MHz then the signal will be sampled at 6 0 MHz × 1 ÷ (2 × 255) or one sample every 8.5 μs.
采样次数
信号的采样次数是3个采样或6个采样,是在确认选择寄存器中指定的(GPAQSEL1、GPAQSEL2、GPBQSEL1和GPBQSEL2)。当三个或六个连续周期是相同的时,输入的变化将会被传递到MCU。
总采样窗宽
采样窗口是对输入信号进行采样的时间,如图8-3所示。利用采样周期与采样次数的关系式,可以确定窗口的总宽度。
为了使输入限定符检测到输入的变化,信号的电平必须在采样窗宽或更长时间内保持稳定。
窗口内的采样周期数总是比采样的样本数少1。对于三采样窗口,采样窗宽为两个采样周期宽,采样周期定义如表8-1所示。同样,对于6个采样窗口,采样窗宽为5个采样周期宽。表8-3和表8-4给出了基于GPxCTRL[QUALPRDn]和采样次数确定总采样窗宽的计算方法。
窗口限定示例
以图8-3为例,输入限定条件配置如下:
For the example shown in Figure 8-3, the input qualification has been configured as follows:
- GPxQSEL1/2 = 1,0. This indicates a six-sample qualification.
- GPxCTRL[QUALPRDn] = 1. The sampling period is tw(SP) = 2 × GPxCTRL[QUALPRDn] × TSYSCLKOUT = 2 x TSYSCLKOUT.
This configuration results in the following:
- The width of the sampling window is: . tw(IQSW) = 5 × tw(SP) = 5 × 2 × GPxCTRL[QUALPRDn] × TSYSCLKOUT = 5 × 2 × TSYSCLKOUT
- If, for example, TSYSCLKOUT = 16.67 ns, then the duration of the sampling window is:
- Sampling period, tw(SP) = 2 x TSYSCLKOUT = 2 x 16.67 ns = 33.3 ns
- Sampling window, tw(IQSW) = 5 × tw(SP) = 5 × 33.3 ns =166.7 ns.
- To account for the asynchronous nature of the input relative to the sampling period and SYSCLKOUT, up to an additional sampling period and SYSCLK period may be required to detect a change in the input signal. For this example:
- tw(IQSW) + tw(SP) + TSYSCLKOUT = 166.7 ns + 33.3 ns + 16.67 ns = 216.7 ns
- In Figure 8-3, the glitch (A) is shorter then the qualification window and will be ignored by the input qualifier.
参考文献
1: TMS320F28004x Microcontrollers Technical Reference Manual (Rev. D).