Interconectar circuitos de tecnologías diferentes puede constituirse en un problema serio para los proyectistas de equipos electrónicos o incluso para aquellos que desean interconectar equipos distintos. Las diversas tecnologías (CMOS, TTL, NMOS, etc.) requieren ajustes específicos para el paso de señales de un circuito a otro, y la no observancia de este hecho puede traer serios problemas de funcionamiento a los equipos. En este artículo, en este artículo, cómo conectar circuitos de diversas tecnologías.

   Los circuitos lógicos digitales tienen características de entrada y salida que permiten su matrimonio con otros elementos de la misma familia.

   Sin embargo, si queremos interconectar circuitos de familias diferentes, estas las características ya no se casan y los problemas de transferencia de las señales pueden ocurrir.

   Aunque esta situación no ha sido prevista en los proyectos, puede ocurrir exigiendo que, en el paso de las señales de un circuito a otro, cuando de tecnologías diferentes, se utilicen bloques específicos.

   En este artículo vamos a abordar algunos de estos bloques, facilitando así a los lectores que desean hacer proyectos de circuitos empleando diferentes tecnologías.

 

a) TTL para CMOS (tensiones iguales)

   En la figura 1 tenemos el modo de hacer el correcto acoplamiento de una señal de un circuito TTL pasando a un CMOS.

   Esta técnica es válida para cualquier tipo de puerta o función de las dos familias. El circuito utiliza sólo un resistor para garantizar una carga para la salida TTL drenando una corriente apropiada de la fuente, ya que la entrada CMOS es de altísima impedancia.

Fig. 1 - TTL para CMOS (misma tensión).
Fig. 1 - TTL para CMOS (misma tensión).

 

   Observe además que este circuito es válido para el caso en que tanto los circuitos TTL como los CMOS que deben ser interconectados son alimentados con la misma tensión de 5 V.

 

b) TTL para CMOS (tensiones diferentes)

   El circuito de la figura 2 es válido para el caso en que los circuitos TTL que deben suministrar las señales se alimentan con 5 V y los circuitos CMOS que deben recibir las señales se alimentan con una tensión mayor de 5 V (por ejemplo 12 V) .

   Como podemos ver, tenemos un paso amplificador de tensión con un transistor 2N2222 en la configuración de emisor común.

   Este circuito es válido para cualquier función TTL y cualquier función CMOS.

 

Figura 2 -TTL Para CMOS con diferentes tensiones
Figura 2 -TTL Para CMOS con diferentes tensiones

 

 

c) TTL open-Collector para CMOS

   El circuito mostrado en la figura 3 es válido para el acoplamiento de salidas TTL en colector abierto (open Collector) para bloques CMOS con tensiones mayores que 5 V (diferentes del circuito TTL, por lo tanto).

   El resistor de 10 k ohms (pull-up) garantiza la polarización de los transistores de salida de la puerta en colector abierto, ya que no existe este elemento interno al circuito.

   Este circuito es válido para las funciones TTL como las de los 7406, 7407, 7416, 7417 y otras de colector abierto.

   Para el circuito CMOS cualquier función es compatible.

 

Figura 3 - TTL Open-Collector para CMOS
Figura 3 - TTL Open-Collector para CMOS

 

 

d) CMOS para TTL (misma tensión)

   El circuito de la figura 4 es válido para cualquier elemento TTL o CMOS, Entrada cuando ambos se alimentan con 6 V.

   El resistor sirve de carga para la salida CMOS drenando la corriente necesaria para su funcionamiento normal.

 

   Figura 4 - CMOS para TTL misma tensión
   Figura 4 - CMOS para TTL misma tensión

 

 

e) CMOS para TTL con diferentes tensiones

  Si el circuito CMOS que debe excitar la entrada TTL se alimenta con una tensión mayor que 5 V (12 V, por ejemplo), se debe utilizar el bloque de la figura 5.

 

Figura 5 - CMOS para TTL con tensiones diferentes
Figura 5 - CMOS para TTL con tensiones diferentes

 

   

En este circuito tenemos un transistor 2N2222 en la configuración de emisor común funcionando como un adaptador, produciendo en su colector un nivel compatible con la excitación del bloque de la familia TTL.

 

f) CMOS para TTL (tensiones diferentes) (2)

Otra opción para transferir señales de bloques CMOS a bloques TTL usando ahora uno de los seis búfer-inversores de un 4049 se presenta en la figura 6.

 

Figura 6 - CMOS para TTL (tensiones diferentes) – 2
Figura 6 - CMOS para TTL (tensiones diferentes) – 2

 

 

En este caso, el buffer se utiliza para hacer la adaptación de la señal, siendo alimentado por una tensión de 5 V.

 

g) Amplificador Operativo para CMOS (tensiones iguales)

   En la figura 7 mostramos el modo de transferir la señal de salida de un amplificador operacional (o de un comparador de tensión) a una entrada CMOS.

 

    Figura 7 - Amplificador operacional para CMOS - tensiones iguales
    Figura 7 - Amplificador operacional para CMOS - tensiones iguales

 

   

Este circuito es válido para el caso de que las dos tensiones de alimentación sean iguales.

 

h) Amplificador Operacional para CMOS (tensiones diferentes)

   Para el caso de amplificadores operacionales o comparadores de tensión alimentados con tensiones diferentes de la usada en el bloque CMOS, tenemos el circuito indicado para la transferencia de señales mostrado en la figura 8.

 

    Figura 8 - Amplificador operacional para CMOS - Tensiones diferentes
    Figura 8 - Amplificador operacional para CMOS - Tensiones diferentes

 

   

Observe que este circuito es válido para el caso del amplificador operacional no utilizar la fuente simétrica.

 

i) Amplificador Operacional para TTL

   Deseando acoplar un amplificador operacional o un comparador de tensión a una entrada TTL, el circuito indicado se proporciona en la figura 9.

 

 Figura 9 - Operacional para TTL - misma tensión
 Figura 9 - Operacional para TTL - misma tensión

 

   

Los resistores R, y R2 dependen de la familia lógica, según la siguiente tabla:

 

Família R1(ohms) R2(ohms)
TTL 4k7 1k5
  TTL-LS 33k 47k

 

   Observe que este circuito es válido para el caso de que las tensiones de alimentación de los dos bloques sean iguales.

 

j) Opto-Aislador CMOS

   En la figura 10 tenemos el uso de un opto-aislador para transferir señales entre dos bloques CMOS.

 

Figura 10 - Opto-aislador para CMOS
Figura 10 - Opto-aislador para CMOS

 

   

El resistor R, tiene su valor determinado por la tensión de alimentación, conforme a la siguiente tabla:

 

Tensão de alimentação R1(ohms)
3 V 56
6V 100
9 V 150
12 V 220
15 V 330

 

k) Opto-Aislador TTL

   Para transferir por opto-aislador señales de dos bloques TTL tenemos el circuito ilustrado en la figura 11.

 

    Figura 11 - Opto-aislador para TTL
    Figura 11 - Opto-aislador para TTL

 

   Observe que tenemos bloques inversores y que, por lo tanto, deben ser considerados a fases de las señales.

 

l) Opto-Aislador TTL para CMOS

    Para transferir señales TTL a bloques CMOS usando un aislador óptico tenemos el circuito indicado en la figura 12.

 

    Figura 12 - opto-aislador TTL para CMOS
    Figura 12 - opto-aislador TTL para CMOS

 

   En este caso, los circuitos se alimentan con tensiones diferentes, siendo el TTL con 5 V y el CMOS con otra tensión como, por ejemplo, 12 V.

 

CONCLUSIÓN

   Dependiendo de las subfamilias TTL consideradas, pueden ser necesarios cambios en los valores de los componentes usados.

   De la misma forma, la correcta transferencia de señales cuando los acopladores ópticos se utilizan puede depender de la sensibilidad de su elemento sensor interno.

   Se pueden producir casos en que los LEDs necesitan una corriente mayor para poder excitar estos elementos, cuando entonces los resistores conectados en serie deberán tener sus valores reducidos.

   Por supuesto, siempre debe tenerse en cuenta la mayor corriente que las salidas de las familias lógicas utilizadas pueden proporcionar.

 

 

18.924MBMemory Usage42.03msRequest Duration
Joomla! Version5.2.3
PHP Version8.3.20
Identityguest
Response200
Templatecassiopeia
Database
Server
mysql
Version
10.5.22-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:49 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "PATH_TRANSLATED" => "redirect:/ind...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1750558409 "last" => 1750558409...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.41KB) (342μs)
  • afterInitialise (1.14MB) (3.95ms)
  • afterRoute (179.16KB) (936μs)
  • beforeRenderComponent com_content (100.7KB) (459μs)
  • Before Access::preloadComponents (all components) (33.45KB) (216μs)
  • After Access::preloadComponents (all components) (107.06KB) (368μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (10μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (20.38ms)
  • Before Access::getAssetRules (id:10654 name:com_content.article.14701) (514.65KB) (941μs)
  • After Access::getAssetRules (id:10654 name:com_content.article.14701) (7.38KB) (45μs)
  • afterRenderComponent com_content (406.24KB) (6.63ms)
  • afterDispatch (2.25KB) (55μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.53KB) (1.65ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (349μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (93μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.9KB) (1.18ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (558μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (70μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (192μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (49μs)
  • afterRender (265.75KB) (3.42ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (48.49%)
    20.38ms
    1 x afterRenderComponent com_content (406.24KB) (15.78%)
    6.63ms
    1 x afterInitialise (1.14MB) (9.39%)
    3.95ms
    1 x afterRender (265.75KB) (8.14%)
    3.42ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.53KB) (3.92%)
    1.65ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.9KB) (2.81%)
    1.18ms
    1 x Before Access::getAssetRules (id:10654 name:com_content.article.14701) (514.65KB) (2.24%)
    941μs
    1 x afterRoute (179.16KB) (2.23%)
    936μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (1.33%)
    558μs
    1 x beforeRenderComponent com_content (100.7KB) (1.09%)
    459μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.88%)
    368μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.83%)
    349μs
    1 x afterLoad (85.41KB) (0.81%)
    342μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.51%)
    216μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (0.46%)
    192μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.22%)
    93μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (0.17%)
    70μs
    1 x afterDispatch (2.25KB) (0.13%)
    55μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.12%)
    49μs
    1 x After Access::getAssetRules (id:10654 name:com_content.article.14701) (7.38KB) (0.11%)
    45μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    10μs
21 statements were executed, 5 of which were duplicates, 16 unique11.19ms1.58MB
  • SELECT @@SESSION.sql_mode;33μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 178μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `incbmx_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)157μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`45μs656B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `incbmx_usergroups` AS `a` LEFT JOIN `incbmx_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest68μs1.64KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`237μs20.2KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39)218μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 07.87ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`374μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '14701'179μs48B/libraries/src/Table/Table.php:1348Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)165μs22.13KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`201μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `incbmx_contentitem_tag_map` AS `m` INNER JOIN `incbmx_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)243μs3.98KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`168μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM incbmx_fields AS a LEFT JOIN `incbmx_languages` AS l ON l.lang_code = a.language LEFT JOIN incbmx_users AS uc ON uc.id=a.checked_out LEFT JOIN incbmx_viewlevels AS ag ON ag.id = a.access LEFT JOIN incbmx_users AS ua ON ua.id = a.created_user_id LEFT JOIN incbmx_fields_groups AS g ON g.id = a.group_id LEFT JOIN `incbmx_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC387μs4.81KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`170μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1158μs1.89KB/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `incbmx_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)97μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context66μs1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:403Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)197μs22.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `incbmx_scheduler_tasks` AS `a` WHERE `a`.`state` = 174μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy