I am upgrading a design from using the Cy8C4246AZI to the Cy8C4248LQI-BL573 or BL583. In my Cy8C4246 design I have an IR receiver module connected to...
I am upgrading a design from using the Cy8C4246AZI to the Cy8C4248LQI-BL573 or BL583. In my Cy8C4246 design I have an IR receiver module connected to the wakeup pin P0.7. Internally this pin is configured as an interrupt (IR_Input) and connected to the capture input of a Timer Counter. The interrupt is derived.
During normal operation, when I receive an interrupt on this pin I start the timer to measure the pulses so that I can decode the IR signal received. I also have a storage mode for this device where I use Hibernate and the IR signal is used to wakeup from Hibernate. I maintained the same external hardware but now I am using the Cy8C4248LQI-BL573 and want to also be able to use the -BL583. I connected the IR input to the wakeup pin P2.2 but I am not able to compile. I receive routing errors and if I delete the connection from the pin to the Timer Counter capture input it will compile without errors.
I can't attach my project as it is because it is code for my customer. I am using PSoC Creator 4.3 with PDL 3.1.1. Both devices are from the PSoC 4 family so why does it work on the 4200M devices and not on the BLE devices?
I do not have BLE active yet. I am just getting the existing project running and will incorporate BLE later. We are upgrading the hardware first because we couldn't buy the Cy8C4246.
I am trying to create a Monostable of 300mS than is triggered every second. It was easy enough when I worked with a 16 bit counter because a PWM count...
I am trying to create a Monostable of 300mS than is triggered every second. It was easy enough when I worked with a 16 bit counter because a PWM counter (ms_Counter) with a period of 10000 (with a clock of 10KHz) and a Compare setting of 3000 was the perfect solution. Unfortunately I needed greater resolution for the period and since the component can only be configured for 16 bits, I went to a 24bit counter with a clock of 1MHz and a Period of 1000000 (OneSecCounter)which generated 1 Hz. I tried to get it to trigger (using the reload pin) a PWM counter with a period of 65000 and the Compare remained at 3000. I tried to get the TC of the 24 bit counter to reload the PWM counter as you can see in the attached drawing, but the monostable pulse occurred at a far longer period, perhaps the 65000 which would suggest that the reload does not work the way I think. I also tried the period at 4000 and the output was much faster than the desired 1 second.
According to the datasheet "For all devices, except PSoC 4000, PSoC 4100, PSoC 4200, it should only be used when the counter is not running.", so it seems that I can activate the Reload when it is running. I found the following in the data sheet a little confusing "In up and up/down counting modes, the counter is initialized with “0” (for PSoC 4000, PSoC 4100, PSoC 4200 devices).". Does that mean the reload should be active low? I tried both ways but it made no difference .
In the schematic you can see a divide by 2 D-FF to prove that the OneSecCounter is working. I also include the register settings
Does anyone have any idea what I can do generate the monostable pulse? Any help would be much appreciated!
I'm picking up a project and haven't used the Cypress PSOC parts before. I have two board variants with two different PSOC 4 BLE parts in them: CYBLE...
I'm picking up a project and haven't used the Cypress PSOC parts before. I have two board variants with two different PSOC 4 BLE parts in them: CYBLE-224116-01 and CYBLE-224110-00. I have an iOS app I need to update to make FW upgrades to these units and it needs to be able to determine which part is being targeted.
My first round of research hasn't turned up how to retrieve a hardware version string from the unit. I suspect that it is stored as a default characteristic on FW images generated by PSOC creator...but I'm still very new. What's an easy what to do this?