Para quien no posee un frecuencímetro o un osciloscopio, descubrir si en un circuito digital existe una frecuencia por encima de lo que podemos oír puede significar un buen problema a ser resuelto. Lo que proponemos en este artículo es un investigador que divide la frecuencia de las señales de su entrada de modo que incluso señales de varios megahercios caen faja audible, permitiendo así su detección de oído

 

Nota: Una aplicación interesante para el circuito es como un estetoscopio electrónico para PWM, incluso de microcontroladores.

 

No podemos oír señales por encima de 15 000 Hz, y la mayoría de los circuitos digitales operan en frecuencias muy superiores a ésta. De esta forma, un seguidor de señales de audio es inútil en los circuitos de este tipo, incluso porque, si consideramos el rango de RF, no hay modulación a ser extraída y aplicada a un altavoz.

Sin embargo, con un simple artificio podemos hacer un seguidor o un investigador de señales digitales de frecuencias altas.

El principio de operación del aparato es simple: dividimos la frecuencia elevada de la señal por valores hasta 16384, de modo que incluso una señal de 16 MHz caiga en la banda audible, un poco menos de 1 kHz, y con eso pueda ser escuchado en un alto- en la forma de un silbato.

El circuito propuesto posee diversos valores de división, de modo que podemos detectar, en los circuitos digitales, señales que van desde algunos hertz hasta el límite del integrado CMOS, que en el caso es del orden de 7 MHz con 10 V de alimentación y 2,5 MHz con 5 V de alimentación.

El aparato podrá ser alimentado por fuente propia o, preferiblemente, por la propia fuente del aparato que esté siendo analizado.

 

Características:

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

Consumo sin señal: 0,5 mA (tip.)

Consumo con señal: 20 a 100 mA (ver texto)

Rango de frecuencias de operación: 5 a 7 MHz (10 V) 5 a 2,5 MHz (5 V)

Divisiones posibles de la frecuencia: 16, 64, 256, 1024, 4096, y 16 384.

 

La división de frecuencia se realiza sobre la base de un único circuito integrado CMOS del tipo 4020, que tiene los pinos mostrados en la figura 1.

 

Figura 1- Pinos del 4020
Figura 1- Pinos del 4020 | Haga click en la imagen para ampliar |

 

Este circuito integrado consiste en un contador binario de 14 etapas y que, por lo tanto, puede dividir la frecuencia de una señal por hasta 214, es decir, 16 384.

Como vemos por el envoltorio, tramos salidas accesibles en diversas etapas y, por lo tanto, diversos valores para la división.

Así, en la salida 8 (pino 13) tenemos la disponibilidad de una señal cuya frecuencia corresponde a la de la entrada dividida por 28 = 256.

En nuestro proyecto, por medio de una llave selectora elegimos 7 cocientes para la división de la señal, que corresponden a divisiones por 16, 64, 256, 1024, 4096 y 16 384.

Por supuesto, si desea utilizar una clave de más posiciones puede aprovechar los otros valores disponibles.

Dependiendo entonces de la salida seleccionada por la clave S1 tenemos señales que corresponden a la entrada dividida por un cierto valor

Elegir apropiadamente este valor hacemos que la señal caiga en la pista de audio, y con eso pueda ser amplificado y aplicado a un altavoz.

La amplificación es hecha por un solo transistor Darlington de potencia, que tiene como carga en su colector un altavoz.

Como la ampliación y grande, puede reducir su volumen con la conexión en serie de un potenciómetro de 100 k ohms, como se muestra en la figura 2.

 

Figura 2 - Añadiendo un control de volumen
Figura 2 - Añadiendo un control de volumen | Haga click en la imagen para ampliar |

 

 

Es importante observar que la tensión de las señales de entrada debe ser igual a la usada en la alimentación.

Así, no podemos alimentar el circuito con 12 V cuando estamos investigando alimentado por S V o por 15 V.

Por este motivo, recomendamos que se utilice la misma alimentación del aparato investigado.

El diagrama completo del investigador se muestra en la figura 3.

 

Figura 3 - Diagrama del aparato
Figura 3 - Diagrama del aparato | Haga click en la imagen para ampliar |

 

La disposición de los componentes en una placa de circuito impreso se muestra en la figura 4.

 

Figura 4 - Placa de circuito impreso
Figura 4 - Placa de circuito impreso | Haga click en la imagen para ampliar |

 

Es conveniente montar el circuito integrado en un zócalo DIL, y dotar al transistor de un pequeño radiador de calor.

Si no desea utilizar una llave rotativa de 1 polo x 6 posiciones, podrá hacer conexiones por el sistema enchufable x borne, como muestra la figura 5.

 

Figura 5 - Selección por bornes
Figura 5 - Selección por bornes

 

De esta forma, la división de frecuencia será seleccionada encajando el enchufe en el poste correspondiente.

La punta de prueba es común, y los diodos admite equivalentes, como los 1N914.

Todo el conjunto cabe fácilmente en una cajita plástica, y para conexión al equipo en prueba, usando su alimentación, podemos usar hilos con garras jacaré.

 

Cl1 - 4020 - circuito integrado CMOS.

Q1 - T1P12O o TlP121 - transistor Darlington

D1, D2 - 1N4148 - diodos de uso general.

R1 - 10 K ohms - resistor de 1/8 W, 5%.

C1 - 100 uF - capacitor electrolítico 16 V

FTE - altavoz común.

S1 - Llave de 1 polo x 6 posiciones (ver texto).

PP1 - Punta de prueba.

 

Varios:

Placa de circuito impreso, zócalo para el circuito integrado, radiador de

calor para el transistor, hilos, botón para la llave, garras de caucho negro y rojo, caja para montaje, tíos, soldadura, etc.

 

18.932MBMemory Usage46.69msRequest 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" => 1744562682 "last" => 1744562682...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.73KB) (1.15ms)
  • afterInitialise (1.14MB) (5.84ms)
  • afterRoute (179.16KB) (1.34ms)
  • beforeRenderComponent com_content (100.65KB) (494μs)
  • Before Access::preloadComponents (all components) (33.45KB) (367μs)
  • After Access::preloadComponents (all components) (107.06KB) (494μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (8μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (20.42ms)
  • Before Access::getAssetRules (id:145 name:com_content.article.9842) (514.65KB) (658μs)
  • After Access::getAssetRules (id:145 name:com_content.article.9842) (7.38KB) (89μs)
  • afterRenderComponent com_content (392.56KB) (7.89ms)
  • afterDispatch (2.25KB) (40μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (1.64ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (443μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (100μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (1.25ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (593μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (84μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (194μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (53μs)
  • afterRender (265.73KB) (3.44ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (43.73%)
    20.42ms
    1 x afterRenderComponent com_content (392.56KB) (16.9%)
    7.89ms
    1 x afterInitialise (1.14MB) (12.51%)
    5.84ms
    1 x afterRender (265.73KB) (7.36%)
    3.44ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (3.51%)
    1.64ms
    1 x afterRoute (179.16KB) (2.87%)
    1.34ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (2.68%)
    1.25ms
    1 x afterLoad (85.73KB) (2.45%)
    1.15ms
    1 x Before Access::getAssetRules (id:145 name:com_content.article.9842) (514.65KB) (1.41%)
    658μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.27%)
    593μs
    1 x beforeRenderComponent com_content (100.65KB) (1.06%)
    494μs
    1 x After Access::preloadComponents (all components) (107.06KB) (1.06%)
    494μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.95%)
    443μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.79%)
    367μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.42%)
    194μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.21%)
    100μs
    1 x After Access::getAssetRules (id:145 name:com_content.article.9842) (7.38KB) (0.19%)
    89μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (0.18%)
    84μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.11%)
    53μs
    1 x afterDispatch (2.25KB) (0.09%)
    40μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    8μs
21 statements were executed, 5 of which were duplicates, 16 unique11.52ms1.58MB
  • SELECT @@SESSION.sql_mode;34μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 183μ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)163μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`60μ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` = :guest79μ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)339μ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.89ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`377μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '9842'232μ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)193μ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`203μ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)276μs4KBParams/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`174μ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 ASC409μ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`221μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1153μ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)89μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context64μ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)170μ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` = 170μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy