Con base en circuitos integrados CMOS describimos el montaje de un sintetizador de señales senoidales de hasta 400 kHz. El circuito se puede utilizar en forma auto-oscilante o aún sincronizado por señales CMOS externas. Una amplia gama de aplicaciones en la bancada del proyectista que necesita este tipo de señal con buena precisión se espera para este aparato.

Los circuitos integrados de la familia CMOS digital generan señales rectangulares o sólo admiten este tipo de señal en sus entradas.

Sin embargo, con algunos artificios podemos generar señales de otras formas de onda, incluso utilizando circuitos lógicos de esta familia. Este artículo es un ejemplo de ello, y con aplicaciones prácticas bastante interesantes.

Utilizando un 4093 con buffer y oscilador rectangular en un 4015 para conformar la señal rectangular transformándolo en senoidal, este circuito puede operar con entradas de hasta 5 MHz, lo que producirá en su salida una señal senoidal de hasta 400 kHz aproximadamente.

 

Nota: con modificaciones se puede utilizar este circuito como shield capaz de producir señales senoidais a partir de un microcontrolador.

 

Con el uso adicional de un filtro paso-bajo podemos suavizar los contornos de la señal generada, lo que permite su utilización en las aplicaciones más críticas, como por ejemplo, en la prueba de equipos de audio.

La alimentación se puede realizar con pilas o incluso una batería de 9 V, ya que el consumo de la unidad es bastante bajo. Con la calibración de la escala del oscilador local, las señales se pueden producir con precisión, lo que hará que este circuito sea de gran utilidad como instrumento de calibración.

 

Características:

Tensión de alimentación: 3 a 15 V

Consumo típico (6 V): 1 mA

Frecuencia máxima de entrada: 5 MHz (6 V)

Frecuencia máxima de salida: 400 kHz (6 V)

Número de segmentos de la sinusoide sintetizada: 8 por ciclo

 

COMO FUNCIONA

En la figura 1 tenemos un diagrama de bloques que representa este sintetizador.

 

Fig. 1 - Diagrama de bloques del aparato.
Fig. 1 - Diagrama de bloques del aparato. | Haga click en la imagen para ampliar |

 

 

El primer bloque tiene por base un 4093B que opera en dos modalidades, determinadas por la posición de S2.

Con S2 conectada al pin 10 del 4093, las señales generadas por CI1-b, un oscilador rectangular, se aplican a la entrada del circuito integrado 4015.

La frecuencia de las señales producidas se ajusta de modo fino en P1, y su rango es dada por la selección de los capacitores de C1 a C3 por la llave S1

El rango de funcionamiento de este oscilador va de aproximadamente 100 Hz a 100 kHz, pero puede ser cambiado con el cambio de los capacitores siempre debiendo ser respetado el límite de operación del 4093, que depende también de la tensión de alimentación.

En la posición que S2 conecta el pin 4 del Cl-1, el puerto CI1a se utiliza para bufferizar señales externas que deben ser transformadas en senoidales.

La frecuencia máxima de entrada para una alimentación de 5 V está en torno a 5 MHz, y las señales deben ser rectangulares.

Las señales, tanto externas como del oscilador interno, se aplican al pin 1 de entrada del Cl1-a, que consiste en un shift-register doble de 4 etapas.

En la figura 2 tenemos las funciones de los pines de este circuito integrado del CMOS.

 

Figura 2 - Pinos del 4015
Figura 2 - Pinos del 4015 | Haga click en la imagen para ampliar |

 

 

El 4015 puede ser utilizado en dos modos de operación: serIal-in / serial-out o seriaI-in / paraIIeI-out.

En nuestro caso, usamos la segunda modalidad y en cascada, para obtener un registrador de desplazamiento de 8 etapas.

Cuando conectamos el aparato, no hay información en las salidas del shift-register, lo que significa un nivel cero, este se utiliza para obtener un nivel alto a través del convertidor Cl1-d, que entonces aplica a la primera celda un nivel 1 de información que se desplazará por el registrador.

Tan pronto como este bit pase a la celda siguiente, la información de entrada vuelve al nivel 0 y sólo tenemos un nivel alto desplazándose a cada pulso de reloj por el registrador, hasta completar el ciclo, cuando entonces el proceso se repite.

Como en cada salida tenemos un resistor de valor diferente, hay el escalonamiento de la tensión de salida a cada pulso, de modo a obtener una síntesis senoidal, como muestra la figura 3.

 

Figura 3 - Señal sintetizada
Figura 3 - Señal sintetizada

 

 

Vea que con la elección apropiada de los resistores podemos generar otras formas de onda. Sin embargo, como tenemos la producción de la senoide por segmentos, siendo uno a cada pulso de reloj, la frecuencia obtenida en la salida es menor que la de la señal usada en la entrada.

 

MONTAJE

El diagrama del aparato se muestra en la figura 4.

 

Figura 4 - Diagrama del sintetizador
Figura 4 - Diagrama del sintetizador | Haga click en la imagen para ampliar |

 

 

El circuito, sin la fuente de alimentación, puede montarse en una placa de circuito impreso, como se muestra en la figura 5.

 

Figura 5 - Placa para el montaje
Figura 5 - Placa para el montaje | Haga click en la imagen para ampliar |

 

 

Los circuitos integrados preferentemente deben instalarse en sockets DIL. Los capacitores C1, C2 y C3 pueden ser cerámicos o de poliéster. C4 y C5 son electrolíticos con tensión de trabajo mayor que la usada en la alimentación.

El potenciómetro P1 es lineal, y las teclas S, y S2 son deslizantes o rotativas, como se indica en la relación de materiales. Para S1 existe la opción de una clave de teclas, en cuyo caso podemos usar más capacitores.

En la figura 6 tenemos un circuito de filtro pasa-bandas que se puede utilizar para "suavizar" la señal generada.

 

Figura 6 - Filtro pasa-bajas
Figura 6 - Filtro pasa-bajas | Haga click en la imagen para ampliar |

 

 

Observe que los capacitores son A seleccionados de acuerdo con la banda de modo que será conveniente conjugar esta llave de selección a la llave S1 del circuito principal.

 

PRUEBA Y USO

Para la prueba de funcionamiento el mejor recurso es el osciloscopio.

Conecte la salida del sintetizador a la entrada vertical del osciloscopio y ajuste la base de tiempo de acuerdo con el rango de frecuencias que se va a generar. La señal correspondiente debe observarse en el osciloscopio.

Para una señal de mayor intensidad, se puede utilizar el circuito de la figura 7.

 

Figura 7 - Un amplificador de salida
Figura 7 - Un amplificador de salida

 

 

Semiconductores:

CI1 - 40938 - circuito integrado CMOS

Cl2 - 4015 - circuito integrado CMOS

 

Resistores (1/8 W, 5%):

R1 - 10 k ohms

R2 - 100 k ohms

R3, R10 - 120 k ohms

R4, R9 - 47 k ohms

R5, R8 - 33 k ohms

R3, R7 - 27 k ohms

P1 - potenciómetro lineal de 100 k ohms

 

Capacitores:

C1 - 1 nF - cerámico o poliéster

C2 - 10 nF - cerámico o poliéster

C3 - 100 nF - cerámico o poliéster

C4 - 4,7 uF - electrolítico

C5 - 100 uF - electrolítico

 

Varios:

S1 - llave de 1 polo x 3 posiciones rotativas

S2 - llave de 1 polo x 2 posiciones deslizante

Placa de circuito impreso, sockets para los circuitos integrados, caja para montaje, hilos, soldadura, bornes de salida, borne de entrada, botones para el potenciómetro y llave S1, etc.

 

18.932MBMemory Usage42.39msRequest 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" => 1744555745 "last" => 1744555745...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.67KB) (213μs)
  • afterInitialise (1.14MB) (3.7ms)
  • afterRoute (179.16KB) (1.35ms)
  • beforeRenderComponent com_content (100.65KB) (493μs)
  • Before Access::preloadComponents (all components) (33.45KB) (362μs)
  • After Access::preloadComponents (all components) (107.06KB) (470μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (9μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (19.53ms)
  • Before Access::getAssetRules (id:139 name:com_content.article.9839) (514.65KB) (792μs)
  • After Access::getAssetRules (id:139 name:com_content.article.9839) (7.38KB) (79μs)
  • afterRenderComponent com_content (398.08KB) (7.29ms)
  • afterDispatch (2.25KB) (41μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (1.68ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (453μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (100μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (1.27ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (14.7KB) (650μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (94μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (188μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (52μs)
  • afterRender (265.73KB) (3.48ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (46.08%)
    19.53ms
    1 x afterRenderComponent com_content (398.08KB) (17.19%)
    7.29ms
    1 x afterInitialise (1.14MB) (8.73%)
    3.70ms
    1 x afterRender (265.73KB) (8.21%)
    3.48ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (3.95%)
    1.68ms
    1 x afterRoute (179.16KB) (3.18%)
    1.35ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (3.01%)
    1.27ms
    1 x Before Access::getAssetRules (id:139 name:com_content.article.9839) (514.65KB) (1.87%)
    792μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (14.7KB) (1.53%)
    650μs
    1 x beforeRenderComponent com_content (100.65KB) (1.16%)
    493μs
    1 x After Access::preloadComponents (all components) (107.06KB) (1.11%)
    470μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (1.07%)
    453μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.85%)
    362μs
    1 x afterLoad (85.67KB) (0.5%)
    213μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.44%)
    188μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.24%)
    100μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (0.22%)
    94μs
    1 x After Access::getAssetRules (id:139 name:com_content.article.9839) (7.38KB) (0.19%)
    79μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.12%)
    52μs
    1 x afterDispatch (2.25KB) (0.1%)
    41μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    9μs
21 statements were executed, 5 of which were duplicates, 16 unique11.09ms1.58MB
  • SELECT @@SESSION.sql_mode;29μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 174μ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)140μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`52μ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` = :guest66μ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`240μ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)322μ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.64ms1.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` = '9839'188μ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)178μ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`190μ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)254μ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`170μ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 ASC403μ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`199μ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)93μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context68μ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)168μ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` = 175μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy