External Oscillator for WCO of PSoC® 4/ PRoC™ BLE - KBA200299
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
Version: *A
Translation - Japanese: PSoC 4 / PRoC BLE WCO 用外部発振器 - KBA200299 - Community Translated (JA)
Question:
Can I use an external oscillator for the watch crystal oscillator (WCO) of PSoC 4/PRoC BLE?
Answer:
Yes, you can use an external oscillator for the WCO.
Make the following settings in the hardware:
- Connect the external clock source to the XTAL32O pin.
- Leave the XTAL32I pad floating. If floating is not desirable, ensure to have an impedance of at least 500 kW between the XTAL32I pad and ground.
- Provide an external clock source that toggles from 0 V to a minimum of 1.0 V, or 0 V to a maximum of 1.6 V.
- Ensure that the duty cycle of the external clock is between 20 and 80 percent.
To use an external clock in firmware, do the following:
- Disable WCO and select ILO for LFCLK in the Low Frequency Clocks tab of the Configure System Clock window in the .cydwr file.
- Set the EXT_INPUT_EN (bit 2) bit to ‘1’ in the BLE_BLESS_WCO_CONFIG register in firmware before enabling the WCO.
- Start WCO by calling the CySysClkWcoStart(); API.
- Select WCO as the LFCLK source by calling the CySysClkSetLfclkSource(CY_SYS_CLK_LFCLK_SRC_WCO); API.
- Stop ILO by calling the CySysClkIloStop(); API.
A sample code for using the external clock source for WCO is given below:
int main()
{
/*Enable External Clock*/
CY_SYS_CLK_WCO_CONFIG_REG |= CY_SYS_CLK_WCO_EXT_INPUT_EN;
/*Start WCO */
CySysClkWcoStart();
/*Select WCO as the clock source*/
CySysClkSetLfclkSource(CY_SYS_CLK_LFCLK_SRC_WCO);
/*Stop ILO*/
CySysClkIloStop();
CyGlobalIntEnable;
/* Stack Initialization */
CyBle_Start(EventCallback);
for(;;)
{
CyBle_ProcessEvents();
}
}
-
This widget could not be displayed.Anonymous