0
\$\begingroup\$

In many 74xx chips the high impedance state of pins is controlled by a OE pin. I want a similar functionality for my PIC device.

I understand that I could use code to flip the config bits to make the output hi-z or not but the use case is that the outputs need to react within 100ns and I think that's not possible on a PIC as a single instruction takes > 100ns.

I understand that there is a CLC feature that allows one to do certain functions without using code, but I don't know much more about it.

Is there any way to achieve what I'm looking for or do I need to put a 74245 in front of my PIC?

\$\endgroup\$
1
  • \$\begingroup\$ Why do you want to do this? \$\endgroup\$ Aug 6 at 21:39
1
\$\begingroup\$

Well, unfortunately Microchip doesn't publishes timings & propagation delays for the CLC logic afaik. But luckily I've found this article on the Internet where someone named KRYZYS has tested this.

As you can see the results are pretty good & CLC logic gate could drive the output state within <38 ns. But... it was tested on the PIC18F running @ 64 Mhz. While PIC16F18446 can run @ 32 Mhz it doesn't really means that it's CLC will operate in <76ns as it's the different family MCU.

So I guess you have to either to do your own tests for your MCU or add an external gate to get a guaranteed behavior.

\$\endgroup\$
2
  • \$\begingroup\$ So I want to connect several devices to an 8 bit bus. The MCU of each device will be used to continuously calculate an 8 bit value and put it into 8 of the CLC registers. And to get multiple devices on one bus I'd contect the register bits to the output pins via an OR gate in the CLC where they are or'd with an active high input pin we will call OE , and all the output pins will need to be set to open drain?? \$\endgroup\$
    – johnlon
    Aug 4 at 23:03
  • \$\begingroup\$ Hmm the pics don't have many CLC. In would need 8 probably \$\endgroup\$
    – johnlon
    Aug 4 at 23:31
0
\$\begingroup\$

Looks like the answer is yes but the problem for me is that the PIC's have few CLC elements and I need 8 outputs.

I want to connect several devices to the 8 bit bus so they need to play nicely with using tristate or open collector/drain output. The PIC has open drain which is great and I'd need to force the logic levels high to take the device off the bus. My OE input would be using the CLC logic to force the output high but there are only 4 logic element so I'd need 8 or 9 probably.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.