Hello forum
I am new to the Rabbit SBC world. I have a very simple application, but high speed. I have a series of pulses coming into a single DI and I need time between the pulses. The time between pulses will vary randomly between 200 and 5000us. The pulses will come in groups of 4 to 10 pulses. The pulse width is around 50us.
I was planning to use the DI to generate a hardware interrupt and then simply read the system clock in the ISR. When all the pulses are read there is some other processing to be done which could be handled in a task outside of the ISR.
As I am new to the Rabbit I was hoping someone can advise me if this is doable. I’m planning to use a BL2600 series SBC. From the SBC specifications it seems pretty straight forward.
Thanks in advance for any help!
The RTC won’t have enough resolution for what you want to do – it’s a 48-bit counter with a resolution of 1/1024 second.
I’d recommend looking at the documentation for the BL4S100 or BL4S200 series SBCs. They’re newer products, using an updated compiler, and include an advanced I/O processing chip called “RIO”. I don’t know all of the capabilities of that chip, but the documentation should allow you to determine if it meets your requirements.
I know that it has pulse counting capabilities for sure, and I think it can measure pulse width as well. You might want to download and install Dynamic C 10.72A, then look at the files in Samples/BL4S1xx/DIO to learn about pulse capture capabilities.
If this is some serial protocol, like IrDA or HDLC, the Rabbit’s UARTs might be able to decode it for you.
Thanks for the info.
I researched the RIO on the BL4S series and you are correct. the RIO has pulse capture and timing capabilities. The function is timed off the multiples of the system clock, so micro-second resolution is possible.
I have purchased a BL4S120 & demo board to try this out.
The application is actually a very old (late 80’s era) pre-barcoding data entry technology. My client has a system with a custom h/w board running on a PC-AT ISA card. The system is obsolete and long since not supported, but they need to maintain the functionality.
Thanks again for your help.
If anyone has any experience with the RIO pulse width capture capabilities, I would be grateful of any advice.