Los MUX y DEMUX o aún Multiplexores y Demultiplexadores son sistemas digitales que pueden procesar informaciones de diversas formas, funcionando como convertidores serie / paralelo y viceversa. En este artículo analizaremos el principio de funcionamiento de estos circuitos de gran importancia en la electrónica digital, dando continuación a nuestra serie que debe ser acompañada por todos que pretenden entender un poco del principio de funcionamiento de los circuitos de las computadoras y de muchos otros equipamientos modernos.

 

 

MULTIPLEXORES

   Un multiplexor o abreviadamente MUX es un sistema digital que tiene varias entradas de diferencia donde aparecen informaciones en la forma digital, una salida de datos y entradas de control, como muestra la figura 1.

 

Figura 1
Figura 1

 

   

Las señales aplicadas a las entradas de control determinan qué entrada va a ser conectada a la salida, transfiriendo así sus señales. En otras palabras, con un MUX es posible seleccionar qué entrada va a ser conectada a la salida, eso simplemente por medio de comandos lógicos.

   Una tabla verdad puede ser asociada al multiplexor que demos como ejemplo en que tenemos 4 entradas y una salida:

 


 

 

 

    Entonces, cuando deseamos que la entrada E2 sea la conectada a la salida, transfiriendo sus señales, todo lo que tenemos que hacer es llevar la entrada de control C0 al nivel bajo y la entrada C1 al nivel alto.

   Se percibe también que la cantidad de líneas de control depende justamente de la cantidad de entradas que deben seleccionarse. Para un MUX de 4 entradas necesitamos 2 entradas de control, pues con dos dígitos cubrimos las 4 combinaciones posibles de estados de control.

   Para un MUX de 8 entradas, como el mostrado en la figura 2, necesitamos 3 entradas de control, para obtener las 8 combinaciones de estados que definen qué entradas será la activada.

 


 

 

 

   Una tabla verdad para un MUX de 8 entradas, como el mostrado en la figura 2 sería la siguiente:

 


 

 

 

       La implementación de un multiplexor con puertas lógicas puede realizarse con relativa facilidad. En el caso del multiplexor de 4 entradas y una salida que tomamos como ejemplo inicial podemos usar puertos AND y OR además de inversores como muestra la figura 3.

 

 


| Clique na imagem para ampliar |

 

 

   La función de multiplexor se puede encontrar tanto en circuitos integrados de tecnología CMOS como TTL y en estos componentes todavía tenemos la posibilidad de encontrar una entrada adicional de inhibición INHIBIT que sirve para desactivar el circuito en caso de necesidad, apagando así su salida de cualquier de las entradas.

   En el caso de que se trate de una combinación de niveles lógicos de la entrada de control, siempre tendremos una entrada conectada a la salida y puede ser necesaria en algún tipo de aplicación que ninguna entrada sea conectada a la salida en determinado instante.

   En la figura 4 tenemos el circuito lógico de un multiplexor de 8 entradas con 3 entradas de control y una entrada de INHIBIT.

 


| Clique na imagem para ampliar |

 

 

   Este circuito utiliza inversores, puertos AND y puertos OR.

 

 

Demultiplexores

   Un circuito demultiplexador o DEMUX tiene una entrada de datos y un cierto número de salidas, además de entradas de control, como muestra el diagrama simplificado de la figura 5.

 


 

 

 

   Por la aplicación de niveles lógicos apropiados en las entradas de control podemos transferir la señal de la entrada a una de las salidas.

   La salida recibirá la señal depende de los niveles en la entrada de control según la tabla de verdad dada a continuación, para el ejemplo de la figura 5.

 


 

 

 

      Observe que en este caso también necesitamos dos entradas de control para seleccionar una de 4 salidas. Si tenemos 8 salidas, como en el DEMUX de la figura 6, serán necesarias 3 entradas de control y la tabla verdad será la siguiente:

 


 

 

 


 

 

      

Un circuito demultiplexador puede ser elaborado a partir de funciones lógicas comunes. Para un demultiplexador de 4 salidas, como el tomado como ejemplo inicial de nuestro artículo tenemos la posibilidad de elaborarlo con sólo dos inversores y 3 puertas AND de 3 entradas, como muestra la figura 7.

 


 

 

 

 

MUX / DEMUX INTEGRADOS

 

   Conforme explicamos las funciones de multiplexores y demultiplexadores digitales se pueden encontrar en forma de circuitos integrados tanto de la familia CMOS como TTL.

   Damos a continuación algunos circuitos integrados comunes de estas dos familias que pueden ser usados ​​en proyectos.

   

 

74150 - selector de datos 1 de 16

 

   Este es un multiplexor TTL en envoltorio de 24 pines, mostrado en la figura 8.

 


 

 

 

    En la operación normal, la entrada de habilitación EN debe colocarse en el nivel bajo. Si la entrada EN se lleva al nivel bajo el circuito es inhibido y la salida se queda en el nivel alto independientemente de lo que ocurre en cualquier entrada o en las líneas de selección.

   Este circuito también tiene una característica inversora: esto significa que el nivel de la señal de la entrada seleccionada aparece invertido en la salida.

   

 

74151 - selector de datos 1 de 8

 

   Este circuito TTL tiene 8 entradas de datos, tres líneas de selección y dos salidas, siendo una que presenta la señal de la entrada en la forma original y la otra que lo presenta invertido.

   En la operación normal la entrada EN de habilitación debe quedar en el nivel bajo. Si esta entrada se lleva al nivel alto la salida Y se mantiene en el nivel bajo y la salida Y / en el nivel alto independientemente de lo que ocurre en las líneas de datos o de control.

   El 74151 se presenta en envoltorio DIL de 16 pines con la disposición de terminales mostrada en la figura 9.

 


 

 

 

 

74152 - Doble selector de datos 1 de 4

   Este circuito integrado TTL contiene dos multiplexores de 4 entradas de datos, con dos líneas de control que actúan al mismo tiempo sobre los dos circuitos. En la figura 10 tenemos la pinza de este componente que se presenta en envoltorio DIL de 16 pines.

 


 

 

   En la operación normal, la entrada EN debe mantenerse en el nivel bajo. Con esta entrada en el nivel alto, la salida del multiplexor correspondiente se mantiene en el nivel bajo independientemente de la entrada seleccionada.

   

 

74154 - Demultiplexador 1 de 16

Este circuito integrado TTL se presenta en envoltorio DIL de 24 pines con la pinza mostrada en la figura 11.

 


 

 

 

    Este tipo de circuito también se conoce como distribuidor de datos y en la operación normal la entrada EN debe mantenerse en el nivel bajo. Con esta entrada en el nivel alto, todas las salidas quedarán en el nivel alto, independientemente de lo que ocurre en la entrada de datos y en las entradas de control.

    

 

74155 - Doble Demultiplexador 1 de 4

      Este circuito integrado TTL se presenta en envoltorio DIL de 16 pines, como muestra la figura 12.

 


 

 

      

En la operación normal, la entrada EN debe estar en el nivel bajo. Con la entrada EN en el nivel alto, todas las salidas de los selectores quedan en el nivel alto, independientemente de la selección y de los datos de la entrada.

     

 

4051 - Selector 1 de 8 (MUX / DEMUX)

      Este circuito integrado CMOS se presenta en envoltorio DIL de 16 pines y puede trabajar tanto con señales analógicas como digitales, dependiendo sólo de la polarización del pin 7, como muestra la figura 13 en la que tenemos su pinza.

 


 

 

 

   Es interesante observar que este circuito puede funcionar tanto como multiplexor como demultiplexador ya que las llaves usadas son bilaterales.

  Cuando se utiliza en circuitos digitales, la tensión de alimentación puede oscilar entre 5 y 15 volts y el pasador 7 se conecta a tierra. Si el circuito se utiliza para operar con señales analógicas (audio, por ejemplo), el pasador de alimentación positiva Vdd debe quedar en 5 V y el pino 7 en -5 V. Las señales conmutadas deben tener amplitudes que no sobrepasen esta banda.

   Con la entrada EN en el nivel alto todas las llaves quedan abiertas y ninguna señal puede pasar. Si EN está en el nivel bajo, el canal seleccionado por las entradas de control está conectado a la salida. La señal puede fluir de uno de los canales de entrada (X1, X2, X3 o X4) a la salida (X) como viceversa ya que la operación es tanto como MUX como DEMUX, como se explica.

   Las llaves abiertas para este circuito tienen una resistencia muy alta de cientos de megohms y en la condición de cerradas tienen una resistencia del orden de 120 ohms. La corriente en cada llave no puede ser mayor que 25 mA.

     

4052 - Doble Selector 1 de 4 (MUX / DEMUX)

   Este circuito CMOS funciona exactamente como el 4051 con la diferencia que en el caso tenemos dos selectores (MUX / DEMUX) en un mismo circuito integrado en envoltorio de 16 pines, que se muestra en la figura 14.

 


 

 

 

  Como en el caso anterior, el circuito puede operar en los dos sentidos, es decir, tanto como multiplexor como demultiplexador y dependiendo de la alimentación puede operar con señales analógicas o digitales.

   

 

4053 - Triple Selector 1 de 3 (MUX / DEMUX)

   Tenemos finalmente un circuito CMOS que funciona como los anteriores, y que puede ser utilizado tanto como MUX como DEMUX tanto para señales analógicas como digitales.

   La pinza de este circuito integrado se muestra en la figura 15.

 


 

 

 

   Las líneas de selección de salidas / entradas de los tres selectores (MUX / DEMUX) de este circuito integrado son independientes, pero para la inhibición del funcionamiento existe una entrada común.

Esta entrada deve ficar no nível baixo para o funcionamento normal.

 

 

18.903MBMemory Usage38.32msRequest Duration
Joomla! Version5.2.3
PHP Version8.3.16
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:51 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "SCRIPT_NAME" => "/index.php" "RE...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1741900081 "last" => 1741900081...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.86KB) (321μs)
  • afterInitialise (1.14MB) (3.55ms)
  • afterRoute (179.16KB) (864μs)
  • beforeRenderComponent com_content (100.65KB) (424μs)
  • Before Access::preloadComponents (all components) (33.5KB) (196μs)
  • After Access::preloadComponents (all components) (107.06KB) (363μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (8μs)
  • After Access::preloadPermissions (com_content) (16.19MB) (18.7ms)
  • Before Access::getAssetRules (id:27189 name:com_content.article.30823) (514.65KB) (585μs)
  • After Access::getAssetRules (id:27189 name:com_content.article.30823) (7.38KB) (31μs)
  • afterRenderComponent com_content (414.44KB) (5.98ms)
  • afterDispatch (2.25KB) (46μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (1.56ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (324μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (92μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (1.1ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (554μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (65μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.14KB) (197μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (47μs)
  • afterRender (273.73KB) (3.21ms)
  • 1 x After Access::preloadPermissions (com_content) (16.19MB) (48.79%)
    18.70ms
    1 x afterRenderComponent com_content (414.44KB) (15.6%)
    5.98ms
    1 x afterInitialise (1.14MB) (9.26%)
    3.55ms
    1 x afterRender (273.73KB) (8.37%)
    3.21ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (4.06%)
    1.56ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (2.87%)
    1.10ms
    1 x afterRoute (179.16KB) (2.25%)
    864μs
    1 x Before Access::getAssetRules (id:27189 name:com_content.article.30823) (514.65KB) (1.53%)
    585μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.45%)
    554μs
    1 x beforeRenderComponent com_content (100.65KB) (1.11%)
    424μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.95%)
    363μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.85%)
    324μs
    1 x afterLoad (85.86KB) (0.84%)
    321μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.14KB) (0.51%)
    197μs
    1 x Before Access::preloadComponents (all components) (33.5KB) (0.51%)
    196μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.24%)
    92μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (0.17%)
    65μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.12%)
    47μs
    1 x afterDispatch (2.25KB) (0.12%)
    46μs
    1 x After Access::getAssetRules (id:27189 name:com_content.article.30823) (7.38KB) (0.08%)
    31μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    8μs
21 statements were executed, 5 of which were duplicates, 16 unique10.59ms1.6MB
  • SELECT @@SESSION.sql_mode;30μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 169μ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)212μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`50μ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` = :guest78μ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`233μ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)211μ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.36ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`336μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '30823'166μ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)157μs38.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`183μ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)233μ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 ASC385μ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`172μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1157μ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)94μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context58μ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)162μs38.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