Part Number: CC2640
Other Parts Discussed in Thread: CC2650
Hi all,
I am using CC2640 as my main processor with 24MHz crystal.
In my application, I need high-speed IO's for sending and receiving digital pattern. (The pattern might be 10101110011..., which is not regular.)
1. For output pin, I hope I can sending my pattern with 10MHz clock. (Every 100ns, I can change high/low state.)
I tried using PIN_setOutputValue() and direct register access method.PIN_setOutputValue() seems it needs 1us to send out 1 sample.(1MHz)
Direct register access is like:
*(uint32_t*)((void*)0x40022010) |= 0x01; *(uint32_t*)((void*)0x40022010) &= ~0x01;
which makes my output pin high or low. But speed of this method can only supply about 4-5MHz speed.
2. For input pin, I need sampling rate = 10MHz.
I tried PIN_getInputValue() function, but this function can only supply a little higher than 1MHz(sampling period is about 0.8us).
Is there any other method to increase IO rate? or...are these speed specifications is achievable?
I found in datasheet(page 2) the clock rate of main frequency is from RC oscillator(=48MHz), so I thought this level of clock rate should be achievable. (But not sure.)
"The CC2640 device contains a 32-bit ARM Cortex-M3 processor that runs at 48 MHz as the main processor and a rich peripheral feature set that includes a unique ultralow power sensor controller."
Does anyone know any method that can push maximum IO speed? Please give me some hints, Thanks!

